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. Assegna sempre l'insieme minimo di autorizzazioni necessarie per 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 Per 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 amministratore deve accedere a un singolo segreto, non concedergli l'accesso ad altri segreti o a tutti i segreti del progetto o dell'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 i ruoli e le autorizzazioni IAM a livello di segreto, progetto, cartella o organizzazione Google Cloud. 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 è concesso il ruolo Accesso ai secret di Secret Manager (roles/secretmanager.secretAccessor).

Gerarchia delle risorse Capacità
Secret Accedi solo a quel secret
Progetto Accedere a tutti i secret del progetto
Cartella Accedi a tutti i secret in tutti i progetti nella cartella
Organizzazione Accedere 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 a un account di servizio il ruolo Accesso ai secret di Secret Manager (roles/secretmanager.secretAccessor) su un singolo secret.

Se un'entità deve gestire solo un singolo secret, non concederla 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

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

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 dei secret e delle versioni dei secret per configurare l'accesso condizionale. Ad esempio, puoi consentire a un utente di gestire le versioni dei secret solo per i secret che iniziano con un prefisso specifico o consentire a un utente di accedere solo a una versione specifica del secret.

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

Passaggi successivi