Create and manage policies
Policies define a set of allowed actions. After a policy is defined, it’s added to roles giving users with those roles the corresponding privileges.
Create a policy
Create a new policy by defining the policy settings in a JSON string or file.
In the following policy example, read access is allowed on all Chef Courier actions.
chef-platform-auth-cli authz policy create-policy --body '{
    "version": "1.0",
    "name": "courier-tracker",
    "description": "Allows read access to read data from the courier jobs",
    "statements": [
    {
      "action": "Allow",
      "routes": [
        "/courier/*"
      ],
      "verbs": [
        "get"
      ]
    }
    ]
}' --profile <PROFILE_NAME>
Replace <PROFILE_NAME> with the profile associated with the organization you are querying.
The response is similar to the following:
{
  "item": {
    "id": "e12acd8a-da0c-4fee-bd9b-f31c9c280271",
    "definedBy": "user",
    "version": "1.0",
    "name": "courier-tracker",
    "description": "Allows read access to read data from the courier jobs",
    "status": "enabled",
    "statements": [
      {
        "action": "Allow",
        "routes": [
          "/courier/*"
        ],
        "verbs": [
          "get"
        ]
      }
    ]
  }
}
List Roles
You can list user-defined roles for an organization.
To list user-defined roles, use the
authz role find-rolesubcommand:chef-platform-auth-cli authz role find-role --definedBy user --profile <PROFILE_NAME>
Assign a policy to a role
You can assign policies to a role.
To assign a policy to a role, use the
authz role assign-policysubcommand:chef-platform-auth-cli authz role assign-policy --roleId <ROLE_ID> --body '{"policyId": "<POLICY_ID>"}' --profile <PROFILE_NAME>Replace:
<PROFILE_NAME>with the profile associated with the organization you are querying.<ROLE ID>with the ID of the role<POLICY ID>with the ID of the policy to be assigned to the role
The response is similar to the following:
{ "item": { "id": "c2933b24-16a5-4c1b-940f-51e29b8875ad", "level": "org", "definedBy": "user", "meantFor": "user", "version": "1.0", "name": "courier-tracker", "status": "enabled", "description": "Allows read access to read data from the courier jobs" } }
Get a list of policies associated with a role
You can get a list of all policies associated with a role using the role ID.
To get a list of all policies, use the
authz role list-policiessubcommand:chef-platform-auth-cli authz role list-policies --roleId <ROLE_ID> --profile <PROFILE_NAME>Replace:
<PROFILE_NAME>with the profile associated with the organization you are querying.<ROLE ID>with the ID of the role
The response is similar to the following:
{ "items": [ { "id": "c2933b24-16a5-4c1b-940f-51e29b8875ad", "definedBy": "user", "version": "1.0", "name": "courier-tracker", "status": "enabled", "description": "Allows read access to read data from the courier jobs" } ] }