Controllo dell'accesso con IAM

Questo documento descrive le opzioni di controllo dell'accesso disponibili in Secret Manager.

Assegna ruoli IAM

Secret Manager utilizza Identity and Access Management (IAM) per controllo dell'accesso. Per creare, gestire, elencare o accedere a un secret, devono essere concesse le autorizzazioni IAM appropriate a livello di progetto e di singola risorsa. Puoi concedere uno o più ruoli predefiniti o creare e concedere ruoli personalizzati. Non è possibile concedere ruoli IAM su una versione del secret.

Per aggiungere un ruolo:

  1. Vai alla pagina IAM nella console Google Cloud.

    Vai a IAM

  2. Fai clic sull'elenco Selettore progetti nella parte superiore della pagina.

  3. Nella finestra di dialogo Seleziona da visualizzata, seleziona l'organizzazione per la quale vuoi abilitare Secret Manager.

  4. Nella pagina IAM, accanto al tuo nome utente, fai clic su Modifica.

  5. Nel riquadro Modifica autorizzazioni visualizzato, aggiungi i ruoli necessari.

    1. Fai clic su Aggiungi un altro ruolo. Seleziona un ruolo da aggiungere, ad esempio Accessore di secret di Secret Manager.

    2. Per aggiungere altri ruoli, ripeti il passaggio precedente. Fai clic su Salva.

I ruoli IAM (Identity and Access Management) definiscono l'utilizzo dell'API Secret Manager. La tabella seguente elenca ciascun ruolo IAM disponibile per Secret Manager e le funzionalità concesse a quel ruolo.

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.delete
  • secretmanager.secrets.get
  • secretmanager.secrets.getIamPolicy
  • secretmanager.secrets.list
  • 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.versions.get

secretmanager.versions.list

Principio del privilegio minimo

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

Puoi utilizzare IAM per concedere ruoli e autorizzazioni IAM a livello di secret, progetto, cartella o organizzazione Google Cloud. Applica sempre le autorizzazioni al livello più basso nella 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 viene concesso il ruolo roles/secretmanager.secretAccessor dell'accessore dei secret di Secret Manager.

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 nell'organizzazione

Se un'entità deve accedere solo al valore di un singolo secret, non concedere all'entità la possibilità di accedere a tutti i secret. Ad esempio, puoi concedere a un account di servizio il ruolo di accesso ai secret di Secret Manager (roles/secretmanager.secretAccessor) in un singolo secret.

Se un'entità deve gestire solo un singolo secret, non concedere a quell'entità la possibilità di gestire tutti i secret. Ad esempio, puoi concedere a un account di servizio il ruolo Amministratore di Secret Manager (roles/secretmanager.admin) su 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, incluse le risorse di Secret Manager.

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

  • Attributi data/ora: utilizzali per impostare l'accesso scadibile, pianificato o di durata limitata alle risorse di Secret Manager. Ad esempio, puoi consentire a un utente di accedere a un secret fino a una data specificata.
  • Attributi delle risorse: consentono di configurare l'accesso condizionale in base al nome, al tipo di risorsa o agli attributi del servizio della risorsa. In Secret Manager, puoi utilizzare gli attributi delle versioni dei secret e dei secret per configurare l'accesso condizionale. Ad esempio, puoi consentire a un utente di gestire le versioni dei secret solo sui secret che iniziano con un prefisso specifico o consentire a un utente di accedere solo a una specifica versione del secret.

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

Passaggi successivi