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ípios de menor privilégio

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 precisar acessar um único secret, não conceda a ele acesso a outros secrets ou a todos os secrets do projeto ou da 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 de acessador de secrets do Secret Manager (roles/secretmanager.secretAccessor) é concedido.

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 uma conta de serviço o papel de administrador do Secret Manager (roles/secretmanager.admin) em um único secret.

Condições do IAM

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

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

  • Atributos de data/hora: use para definir o acesso expirável, programado ou de duração limitada aos recursos do Secret Manager. Por exemplo, é possível permitir que um usuário acesse um secret até uma data especificada.
  • Atributos de recurso: use para configurar o acesso condicional com base em nome, tipo de recurso ou atributos de serviço de recurso. 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