Controllo dell'accesso con IAM

Questa pagina descrive i ruoli IAM (Identity and Access Management) che puoi utilizzare per configurare Secret Manager. I ruoli limitano la capacità di un'entità di accedere alle risorse. Concedi sempre l'insieme minimo di autorizzazioni richiesto a eseguire una determinata attività.

Ruoli di Secret Manager

Di seguito sono riportati i ruoli IAM associati a Secret Manager. Per scoprire come concedere, modificare o revocare l'accesso alle risorse utilizzando i ruoli IAM, consulta Concessione, modifica e revoca dell'accesso alle risorse.

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

Principio del privilegio minimo

Quando segui il principio del privilegio minimo, concedi il livello minimo di accesso alle risorse necessarie per eseguire una determinata attività. Ad esempio, se un L'entità deve accedere a un singolo secret, non concedere l'accesso all'entità tutti gli altri secret o tutti i secret nel progetto o nell'organizzazione. Se solo un'entità deve leggere un secret, non concedere a quell'entità la possibilità di modificare il secret.

Puoi utilizzare IAM per concedere IAM ruoli e autorizzazioni a livello di secret, progetto cartella o organizzazione. Applica sempre le autorizzazioni al livello più basso gerarchia delle risorse.

La tabella seguente mostra le funzionalità effettive di un account di servizio, in base al livello della gerarchia delle risorse in cui il ruolo Funzione di accesso ai secret di Secret Manager L'utente (roles/secretmanager.secretAccessor) è stato concesso.

Gerarchia delle risorse Capacità
Secret Accedi solo a quel secret
Progetto Accedi a tutti i secret nel progetto
Cartella Accedi a tutti i secret in tutti i progetti nella cartella
Organizzazione Accedi a tutti i secret in tutti i progetti dell'organizzazione

Il ruolo roles/owner include l'autorizzazione `secretmanager.versions.access`, ma roles/editor e roles/viewer no.

Se un'entità deve accedere solo al valore di un singolo secret, non concedere questo l'entità consente di accedere a tutti i secret. Ad esempio, puoi concedere una account di servizio il ruolo Funzione di accesso ai secret di Secret Manager (roles/secretmanager.secretAccessor) su un singolo secret.

Se un'entità deve gestire un solo segreto, non concederle la possibilità di gestire tutti i secret. Ad esempio, puoi concedere a un account di servizio il ruolo Amministratore Secret Manager (roles/secretmanager.admin) per un singolo secret.

Condizioni IAM

Condizioni IAM di definire e applicare forzatamente il controllo dell'accesso condizionale basato su attributi alcune risorse Google Cloud, tra cui Secret Manager Google Cloud.

In Secret Manager, puoi applicare l'accesso condizionale in base ai seguenti attributi:

  • Attributi data/ora: Usa questa opzione per impostare la durata scadenza, programmata o limitata alle risorse di Secret Manager. Ad esempio, potresti consentire a un utente di accedere a un segreto fino a una data specificata.
  • Attributi delle risorse: Utilizzalo per configurare l'accesso condizionale in base a nome, tipo di risorsa o attributi del servizio di risorse. In Secret Manager, puoi utilizzare gli attributi dei secret e delle versioni dei secret per configurare l'accesso condizionale. Per Ad esempio, puoi consentire a un utente di gestire le versioni dei secret solo sui secret iniziare con un prefisso specifico o consentire a un utente di accedere solo a un secret specifico completamente gestita.

Per ulteriori informazioni sulle condizioni IAM, consulta la Panoramica delle condizioni.

Passaggi successivi