Managing IAM access for Secrets Manager
Access to IBM Cloud® Secrets Manager service instances for users in your account is controlled by IBM Cloud Identity and Access Management (IAM). Every user that accesses the Secrets Manager service in your account must be assigned an access policy with an IAM role. The policy determines which actions a user can perform within the context of Secrets Manager.
IAM access policies enable access to be granted at different levels. Some of the options include the following actions:
- Access across all Secrets Manager service instances in your account
- Access to an individual Secrets Manager instance in your account
- Access to a specific resource within a Secrets Manager instance, applicable type is
secret-group
IAM roles and actions for Secrets Manager
Review the following platform and service roles that you can use to assign access to Secrets Manager service instances. Each role maps to specific Secrets Manager actions that a user can complete within an account or an individual instance.
If a specific role and its actions don't fit the use case that you're looking to address, you can create a custom role and pick the actions to include.
Role | Description |
---|---|
Viewer | As a viewer, you can view Secrets Manager service instances, but you can't modify them. |
Operator | As an operator, you can complete platform actions that are required to configure and operate Secrets Manager service instances, such as the ability to view a Secrets Manager dashboard. |
Editor | As an editor, you can create, modify, and delete Secrets Manager service instances, but you can't assign access policies to other users. |
Administrator | As an administrator, you can complete all platform actions for Secrets Manager, including the ability to assign access policies to other users. |
Role | Description |
---|---|
Reader | As a reader, you can complete read-only actions within a Secrets Manager service instance, such as the ability to view secrets and secret groups. Readers can access only the metadata that is associated with a secret. |
SecretsReader | As a secrets reader, you can complete read-only actions, and you can also access the secret data that is associated with a secret. A secrets reader can't create secrets or modify the value of an existing secret. |
Writer | As a writer, you have permissions beyond the secrets reader role, including the ability to create and edit secrets. Writers can't create secret groups, or configure secrets engines. |
Manager | As a manager, you have permissions beyond the writer role to complete privileged actions, such as the ability to manage secret groups, and configure secrets engines. |
Action | Description | Roles |
---|---|---|
secrets-manager.dashboard.view |
View the Secrets Manager dashboard. | Operator, Editor, Administrator |
secrets-manager.secret-group.create |
Create secret groups. | Manager |
secrets-manager.secret-group.update |
Update a secret group. | Manager |
secrets-manager.secret-group.delete |
Delete a secret group. | Manager |
secrets-manager.secret-group.read |
View the details of a secret group. | Reader, SecretsReader, Writer, Manager |
secrets-manager.secret-groups.list |
List the secret groups in your instance. | Reader, SecretsReader, Writer, Manager |
secrets-manager.secret.create |
Create a secret. | Writer, Manager |
secrets-manager.secret.read |
Get the value of a secret. | SecretsReader, Writer, Manager |
secrets-manager.secret.delete |
Delete a secret. | Manager |
secrets-manager.secrets.list |
List the secrets in your instance. | Reader, SecretsReader, Writer, Manager |
secrets-manager.secret-locks.create |
Create secret locks. | Writer, Manager |
secrets-manager.secret-locks.delete |
Delete secret locks. | Manager |
secrets-manager.secrets-locks.list |
List secret locks. | Reader, SecretsReader, Writer, Manager |
secrets-manager.secret-version-locks.create |
Create secret version locks. | Manager, Writer |
secrets-manager.secret-version-locks.list |
List secret version locks. | Manager, Reader, Writer, SecretsReader |
secrets-manager.secret-version-locks.delete |
Delete secret version locks. | Manager |
secrets-manager.secret-metadata.update |
Update the metadata of a secret. | Writer, Manager |
secrets-manager.secret-metadata.read |
View the metadata of a secret. | Reader, SecretsReader, Writer, Manager |
secrets-manager.secret-action.create |
Create a secret action. | Manager, Writer |
secrets-manager.secret-version.create |
Create a new secret version. | Manager, Writer |
secrets-manager.secret-version.read |
View the details of a secret version. | Manager, Writer, SecretsReader |
secrets-manager.secret-version-metadata.read |
View the metadata of a secret version. | Manager, Reader, Writer, SecretsReader |
secrets-manager.secret-version-action.create |
Create a secret version action. | Manager, Writer |
secrets-manager.configuration.create |
Create a new configuration. | Manager |
secrets-manager.configuration-action.create |
Create a new configuration action. | Manager |
secrets-manager.configurations.list |
List configurations. | Manager, Reader, Writer |
secrets-manager.configuration.read |
View the details of a configuration. | Manager |
secrets-manager.configuration.update |
Update a configuration. | Manager |
secrets-manager.configuration.delete |
Delete a configuration. | Manager |
secrets-manager.secret-versions.list |
List secret versions. | Reader, SecretsReader, Writer, Manager |
secrets-manager.endpoints.view |
Get service instance endpoints. | Reader, SecretsReader, Writer, Manager |
secrets-manager.notifications-registration.create |
Create a registration with Event Notifications. | Manager |
secrets-manager.notifications-registration.read |
Get Event Notifications registration details. | Reader, SecretsReader, Writer, Manager |
secrets-manager.notifications-registration.delete |
Delete an Event Notifications registration. | Manager |
secrets-manager.notifications-registration.test |
Send a test event. | Reader, SecretsReader, Writer, Manager |
Assigning access to Secrets Manager
You can use the IBM Cloud console, CLI, or APIs to assign different levels of access to Secrets Manager resources in your account. You can assign access at the instance level, or you can narrow access to a secret group that contains one or more secrets. For more information, see Assigning access to Secrets Manager.
To learn about using the IBM Cloud CLI to assign access, check out the IBM Cloud CLI reference. When you create an access policy for Secrets Manager by using the IBM Cloud CLI or APIs,
use secrets-manager
for the service name in the CLI command or API call.