Controle de acesso com o IAM

Nesta página, descrevemos os papéis do Identity and Access Management (IAM) que podem ser usados para configurar o Secret Manager. Os papéis limitam a capacidade de um principal acessar recursos. Sempre conceda o conjunto mínimo de permissões necessárias para executar uma determinada tarefa.

Papéis do Secret Manager

Confira a seguir os papéis do IAM associados ao Secret Manager. Para saber como conceder, alterar ou revogar o acesso a recursos usando papéis do IAM, consulte Como conceder, alterar e revogar o acesso a recursos.

Role Permissions

(roles/secretmanager.admin)

Full access to administer Secret Manager resources.

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.*

  • secretmanager.locations.get
  • secretmanager.locations.list
  • secretmanager.secrets.create
  • secretmanager.secrets.createTagBinding
  • secretmanager.secrets.delete
  • secretmanager.secrets.deleteTagBinding
  • secretmanager.secrets.get
  • secretmanager.secrets.getIamPolicy
  • secretmanager.secrets.list
  • secretmanager.secrets.listEffectiveTags
  • secretmanager.secrets.listTagBindings
  • secretmanager.secrets.setIamPolicy
  • secretmanager.secrets.update
  • secretmanager.versions.access
  • secretmanager.versions.add
  • secretmanager.versions.destroy
  • secretmanager.versions.disable
  • secretmanager.versions.enable
  • secretmanager.versions.get
  • secretmanager.versions.list

(roles/secretmanager.secretAccessor)

Allows accessing the payload of secrets.

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.versions.access

(roles/secretmanager.secretVersionAdder)

Allows adding versions to existing secrets.

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.versions.add

(roles/secretmanager.secretVersionManager)

Allows creating and managing versions of existing secrets.

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.versions.add

secretmanager.versions.destroy

secretmanager.versions.disable

secretmanager.versions.enable

secretmanager.versions.get

secretmanager.versions.list

(roles/secretmanager.viewer)

Allows viewing metadata of all Secret Manager resources

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.locations.*

  • secretmanager.locations.get
  • secretmanager.locations.list

secretmanager.secrets.get

secretmanager.secrets.getIamPolicy

secretmanager.secrets.list

secretmanager.secrets.listEffectiveTags

secretmanager.secrets.listTagBindings

secretmanager.versions.get

secretmanager.versions.list

Princípio de privilégio mínimo

Ao seguir o princípio de privilégio mínimo, você concede o nível mínimo de acesso a recursos necessários para executar uma determinada tarefa. Por exemplo, se um principal precisa de acesso a um único secret, não conceda o acesso principal ao de outros secrets ou de todos os secrets no projeto ou na organização. Se um principal só precisar ler um secret, não conceda a ele a capacidade de modificá-lo.

Use o IAM para conceder papéis e permissões do IAM no nível do secret, projeto, pasta ou organização do Google Cloud. Sempre aplique permissões no nível mais baixo na hierarquia de recursos.

A tabela a seguir mostra os recursos efetivos de uma conta de serviço, com base no nível da hierarquia de recursos em que o papel Acessador de Secrets do Secret Manager (roles/secretmanager.secretAccessor) foi concedida.

Hierarquia de recursos Capacidade
Secret Acessar apenas o secret
Projeto Acessar todos os secrets no projeto
Pasta Acessar todas as chaves secretas em todos os projetos na pasta
Organização Acessar todas as chaves secretas em todos os projetos da organização

A função roles/owner inclui a permissão `secretmanager.versions.access`, mas roles/editor e roles/viewer não.

Se um principal só precisar acessar o valor de um único secret, não conceda a ele o acesso a todos os secrets. Por exemplo, é possível conceder a uma conta de serviço o papel de "Acessador de secret do Secret Manager" (roles/secretmanager.secretAccessor) em um único secret.

Se um principal só precisar gerenciar um único secret, não conceda a ele a capacidade de gerenciar todos os secrets. Por exemplo, é possível conceder a um serviço conta o papel Administrador do Secret Manager (roles/secretmanager.admin) em um único Secret.

Condições do IAM

Condições do IAM permitem que você defina e aplique controle de acesso condicional baseado em atributos para alguns recursos do Google Cloud, como o Secret Manager do Google Cloud.

No Secret Manager, é possível impor o acesso condicional com base nos seguintes atributos:

  • Atributos de data/hora: Use para definir expirável, programado ou de duração limitada aos recursos do Secret Manager. Por exemplo, é possível permitem que um usuário acesse um secret até uma data especificada.
  • Atributos de recurso: Use para configurar o acesso condicional com base no nome, tipo e tipo de recurso ou atributos de serviço de recursos. No Secret Manager, use atributos de secrets e versões de secrets para configurar o acesso condicional. Por exemplo, é possível permitir que um usuário gerencie versões de secret somente em secrets que começam com um prefixo específico ou permitam que um usuário acesse apenas uma versão específica do secret.

Para mais informações sobre as condições do IAM, consulte a Visão geral das condições.

A seguir