Controlo de acesso com a IAM

Esta página descreve as funções de gestão de identidade e de acesso (IAM) que pode usar para configurar o Secret Manager. As funções limitam a capacidade de um principal de aceder a recursos. Conceda sempre o conjunto mínimo de autorizações necessárias para realizar uma determinada tarefa.

Funções do Secret Manager

Seguem-se as funções IAM associadas ao Secret Manager. Para saber como conceder, alterar ou revogar o acesso a recursos através de funções do IAM, consulte o artigo 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

cloudkms.keyHandles.*

  • cloudkms.keyHandles.create
  • cloudkms.keyHandles.get
  • cloudkms.keyHandles.list

cloudkms.operations.get

cloudkms.projects.showEffectiveAutokeyConfig

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 do menor privilégio

Quando segue o princípio do menor privilégio, concede o nível mínimo de acesso aos recursos necessários para realizar uma determinada tarefa. Por exemplo, se um principal precisar de acesso a um único segredo, não lhe conceda acesso a outros segredos nem a todos os segredos no projeto ou na organização. Se um principal só precisar de ler um segredo, não conceda a esse principal a capacidade de modificar o segredo.

Pode usar o IAM para conceder funções e autorizações do IAM ao nível do Google Cloud segredo, do projeto, da pasta ou da organização. Aplique sempre autorizações no nível mais baixo da hierarquia de recursos.

A tabela seguinte mostra as capacidades efetivas de uma conta de serviço, com base no nível da hierarquia de recursos onde a função Secret Accessor do Secret Manager (roles/secretmanager.secretAccessor) é concedida.

Hierarquia de recursos Capacidade
Secreto Aceder apenas a esse segredo
Projeto Aceder a todos os segredos no projeto
Pasta Aceder a todos os segredos em todos os projetos na pasta
Organização Aceder a todos os segredos em todos os projetos na organização

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

Se um principal só precisar de aceder ao valor de um único segredo, não conceda a esse principal a capacidade de aceder a todos os segredos. Por exemplo, pode conceder a uma conta de serviço a função Secret Accessor do Secret Manager (roles/secretmanager.secretAccessor) num único segredo.

Se um principal só precisar de gerir um único segredo, não conceda a esse principal a capacidade de gerir todos os segredos. Por exemplo, pode conceder à conta de serviço a função de administrador do Secret Manager (roles/secretmanager.admin) num único segredo.

Condições do IAM

As condições da IAM permitem definir e aplicar o controlo de acesso condicional baseado em atributos para alguns Google Cloud recursos, incluindo recursos do Gestor Secreto.

No Secret Manager, pode aplicar o acesso condicional com base nos seguintes atributos:

  • Atributos de data/hora: Use para definir o acesso expirável, agendado ou de duração limitada aos recursos do Secret Manager. Por exemplo, pode permitir que um utilizador aceda a um segredo até uma data especificada.
  • Atributos de recursos: Use para configurar o acesso condicional com base num nome de recurso, num tipo de recurso ou em atributos de serviço de recursos. No Secret Manager, pode usar atributos de Secrets e versões de Secrets para configurar o acesso condicional. Por exemplo, pode permitir que um utilizador faça a gestão de versões secretas apenas em segredos que comecem por um prefixo específico ou permitir que um utilizador aceda apenas a uma versão secreta específica.

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

O que se segue?