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 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.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.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 entità principale ha bisogno di accedere a un singolo secret, non concederle l'accesso ad altri secret o a tutti i secret del progetto o dell'organizzazione. Se un'entità deve solo leggere un secret, non concederle la possibilità di modificarlo.

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 della 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 Accedere solo a quel secret
Progetto Accedere a tutti i secret del progetto
Cartella Accedere a tutti i secret in tutti i progetti della 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 principale deve accedere solo al valore di un singolo segreto, non concedergli la possibilità di accedere a tutti i segreti. 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 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

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: da utilizzare per impostare l'accesso alle risorse Secret Manager con scadenza, pianificato o con durata limitata. Ad esempio, potresti consentire a un utente di accedere a un segreto fino a una data specificata.
  • Attributi della risorsa: da utilizzare per configurare l'accesso condizionale in base al nome, al tipo o agli attributi del servizio della risorsa. In Secret Manager, puoi utilizzare gli attributi 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