In questa pagina viene descritto come impostare i criteri di Identity and Access Management (IAM) su cartelle gestite, per avere un controllo granulare degli accessi gruppi di oggetti all'interno di un bucket.
Se stai cercando altri metodi di controllo dell'accesso, consulta quanto segue di risorse:
Per scoprire come controllare l'accesso a interi bucket e agli oggetti al loro interno, consulta Impostare e gestire i criteri IAM nei bucket.
Un modo alternativo per controllare l'accesso ai singoli oggetti nei bucket, consulta Elenchi di controllo dell'accesso.
Per saperne di più sul controllo dell'accesso alle risorse di Cloud Storage, consulta la Panoramica del controllo dell'accesso.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per impostare e gestire IAM
criteri per le cartelle gestite, rivolgiti all'amministratore
per concederti l'autorizzazione di amministratore delle cartelle di archiviazione (roles/storage.folderAdmin
)
Ruolo IAM per il bucket che contiene le cartelle gestite.
Questo ruolo contiene le seguenti autorizzazioni, necessarie per impostare e gestire i criteri IAM per le cartelle gestite:
storage.managedfolders.getIamPolicy
storage.managedfolders.setIamPolicy
Puoi ottenere queste autorizzazioni anche con i ruoli personalizzati.
Per informazioni sulla concessione dei ruoli per i bucket, consulta Impostare e gestire i criteri IAM sui bucket.
Imposta un criterio IAM su una cartella gestita
Console
- Nella console Google Cloud, vai alla pagina Bucket di Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket contenente la cartella gestita per cui vuoi impostare un criterio IAM.
Nella pagina Dettagli bucket, fai clic sull'icona Altre opzioni
nel Browser delle cartelle accanto alla cartella gestita per la quale vuoi impostare un criterio IAM.Se vuoi controllare l'accesso all'interno di una cartella o di una cartella simulata, segui la procedura descritta in Creare una cartella gestita per attivare la gestione della cartella o della cartella simulata.
Fai clic su Modifica accesso.
Nella sezione Autorizzazioni per
MANAGED_FOLDER_NAME
fai clic su Aggiungi entità .Nel campo Nuove entità, inserisci l'entità per cui vuoi concedere l'accesso. Per ulteriori informazioni sulle entità che puoi includere, consulta la sezione Identificatori entità.
Nella sezione Assegna ruoli, utilizza il menu a discesa Seleziona un ruolo per specificare il livello di accesso da concedere all'entità.
Fai clic su Salva.
Riga di comando
Crea un file JSON contenente le seguenti informazioni:
{ "bindings":[ { "role": "IAM_ROLE", "members":[ "PRINCIPAL_IDENTIFIER" ] } ] }
Dove:
IAM_ROLE
è il ruolo IAM che concedi. Ad esempio:roles/storage.objectViewer
.PRINCIPAL_IDENTIFIER
identifica chi sei concedere l'accesso alle cartelle gestite. Ad esempio,user:jane@gmail.com
. Per un elenco dei formati degli identificatori principali, consulta Identificatori entità.
Utilizza la Comando
gcloud storage managed-folders set-iam-policy
:gcloud storage managed-folders set-iam-policy gs://BUCKET_NAME/MANAGED_FOLDER_NAME POLICY_FILE
Dove:
BUCKET_NAME
è il nome del bucket che contiene la cartella gestita a cui vuoi applicare il criterio IAM. Ad esempio,my-bucket
.MANAGED_FOLDER_NAME
è il nome della cartella gestita a cui vuoi applicare il criterio IAM. Ad esempio,my-managed-folder/
.POLICY_FILE
è il percorso del file JSON che hai creato nel passaggio 1.
API REST
JSON
Avere installato e inizializzato l'interfaccia a riga di comando gcloud, che consente di generare un token di accesso per l'intestazione
Authorization
.Crea un file JSON contenente le seguenti informazioni:
{ "bindings":[ { "role": "IAM_ROLE", "members":[ "PRINCIPAL_IDENTIFIER" ] } ] }
Dove:
IAM_ROLE
è il ruolo IAM che stai concedendo. Ad esempio,roles/storage.objectViewer
.PRINCIPAL_IDENTIFIER
identifica chi sei concedere l'accesso alle cartelle gestite. Ad esempio,user:jane@gmail.com
. Per un elenco dei formati degli identificatori delle entità, consulta la sezione Identificatori entità.
Utilizza
cURL
per chiamare l'API JSON con una richiestaPUT setIamPolicy
:curl -X PUT --data-binary @POLICY_FILE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"
Dove:
POLICY_FILE
è il percorso del criterio JSON creato nel passaggio precedente.BUCKET_NAME
è il nome del bucket contiene la cartella gestita a cui vuoi applicare criterio IAM. Ad esempio,my-bucket
.MANAGED_FOLDER_NAME
è il nome del cartella gestita a cui vuoi concedere l'accesso all'entità. Ad esempio,my-managed-folder/
.
Visualizza il criterio IAM per una cartella gestita
Console
- Nella console Google Cloud, vai alla pagina Bucket in Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket che contiene cartella gestita per la quale vuoi visualizzare i criteri IAM.
Nella pagina Dettagli bucket, fai clic sull'icona Altre opzioni
nel Riquadro Browser cartelle accanto alla cartella gestita per la quale vuoi per visualizzare il criterio IAM.Fai clic su Modifica accesso.
Il riquadro Autorizzazioni per FOLDER_NAME
mostra le autorizzazioni per la cartella gestita, tra cui l'entità, il ruolo, i ruoli ereditati e le condizioni IAM.
Riga di comando
Utilizza il
comando gcloud storage managed-folder get-iam-policy
:
gcloud storage managed-folders get-iam-policy gs://BUCKET_NAME/MANAGED_FOLDER_NAME
Dove:
BUCKET_NAME
è il nome del bucket che contiene la cartella gestita per il quale si trova il criterio IAM che vuoi visualizzare. Ad esempio,my-bucket
.MANAGED_FOLDER_NAME
è il nome dell'account gestito cartella di cui vuoi visualizzare il criterio IAM. Ad esempio,my-managed-folder/
.
API REST
JSON
Avere installato e inizializzato l'interfaccia a riga di comando gcloud, che consente di generare un token di accesso per l'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con una richiestaGET getIamPolicy
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"
Dove:
BUCKET_NAME
è il nome del bucket contiene la cartella gestita il cui criterio IAM si trova che vuoi visualizzare. Ad esempio,my-bucket
.MANAGED_FOLDER_NAME
è il nome del cartella gestita di cui vuoi visualizzare il criterio IAM. Ad esempio,my-managed-folder/
.
Rimuovere un'entità da un criterio per le cartelle gestite
Console
- Nella console Google Cloud, vai alla pagina Bucket di Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket che contiene cartella gestita per la quale vuoi visualizzare i criteri IAM.
Nella pagina Dettagli bucket, fai clic sull'icona Altre opzioni
nel Riquadro Browser cartelle accanto alla cartella gestita per la quale vuoi rimuovi un'entità.Fai clic su Modifica accesso.
Nel riquadro Autorizzazioni per
FOLDER_NAME
, inserisci il nome del principale nel campo Filtra.Fai clic sull'icona Elimina
per eliminare il principale.
Cloud Storage elimina il principale dalla cartella gestita.
Riga di comando
Utilizza la
Comando gcloud storage managed-folder remove-iam-policy-binding
:
gcloud storage managed-folders remove-iam-policy-binding gs://BUCKET_NAME/MANAGED_FOLDER_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE
Dove:
BUCKET_NAME
è il nome del bucket che contiene la cartella gestita a cui stai revocando l'accesso. Ad esempio,my-bucket
.MANAGED_FOLDER_NAME
è il nome della cartella gestita di cui vuoi rimuovere il criterio IAM. Ad esempio,my-managed-folder/
.PRINCIPAL_IDENTIFIER
identifica chi sta revocando l'accesso. Ad esempio,user:jane@gmail.com
. Per un elenco di formati di identificatori principali, consulta Identificatori principali.IAM_ROLE
è il ruolo IAM che stai revocando. Ad esempio:roles/storage.objectViewer
.
API REST
JSON
Avere installato e inizializzato l'interfaccia a riga di comando gcloud, che consente di generare un token di accesso per l'intestazione
Authorization
.Applica il criterio esistente alla cartella gestita. A tale scopo, utilizza
cURL
per chiamare l'API JSON con unaGET getIamPolicy
richiesta:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"
Dove:
BUCKET_NAME
è il nome del bucket che contiene la cartella gestita a cui stai revocando l'accesso. Ad esempio,my-bucket
.MANAGED_FOLDER_NAME
è il nome dell'account gestito cartella di cui vuoi rimuovere il criterio IAM. Ad esempio,my-managed-folder/
.
Crea un file JSON contenente il criterio recuperato nel passaggio precedente.
Modifica il file JSON per rimuovere il principale dal criterio.
Utilizza
cURL
per chiamare l'API JSON con una richiestaPUT setIamPolicy
:curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"
Dove:
JSON_FILE_NAME
è il percorso del file che hai creato nel passaggio 3.BUCKET_NAME
è il nome del bucket contiene la cartella gestita alla quale stai revocando l'accesso. Ad esempio,my-bucket
.MANAGED_FOLDER_NAME
è il nome del cartella gestita di cui vuoi rimuovere il criterio IAM. Ad esempio,my-managed-folder/
.
Utilizzare le condizioni IAM nelle cartelle gestite
Le sezioni seguenti mostrano come aggiungere e rimuovere le condizioni IAM nelle cartelle gestite. Per visualizzare Condizioni IAM per le cartelle gestite, consulta Visualizzazione del criterio IAM per una cartella gestita. Per ulteriori informazioni sull'utilizzo delle condizioni IAM con Cloud Storage, consulta Condizioni.
Devi abilitare l'accesso uniforme a livello di bucket nel bucket prima di aggiungere condizioni alle cartelle gestite.
Imposta una nuova condizione su una cartella gestita
Riga di comando
Crea un file JSON o YAML che definisce la condizione, inclusi il
title
della condizione, la logica basata sugli attributiexpression
per la condizione e, facoltativamente, undescription
per la condizione.Tieni presente che Cloud Storage supporta solo i valori di data/ora, gli attributi tipo di risorsa e nome risorsa nel
expression
.Utilizza la Comando
gcloud storage managed-folders add-iam-policy-binding
con il flag--condition-from-file
:
gcloud storage managed-folders add-iam-policy-binding gs://BUCKET_NAME/MANAGED_FOLDER_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE --condition-from-file=CONDITION_FILE
Dove:
BUCKET_NAME
è il nome del bucket che contiene la cartella gestita a cui stai concedendo l'accesso all'entità. Ad esempio,my-bucket
.MANAGED_FOLDER_NAME
è il nome dell'account gestito cartella a cui concedi l'accesso all'entità. Ad esempio:my-managed-folder/
.PRINCIPAL_IDENTIFIER
identifica a chi si applica la condizione. Ad esempio,user:jane@gmail.com
. Per un dei formati degli identificatori delle entità, consulta la sezione Identificatori entità.IAM_ROLE
è il ruolo IAM che concedi all'entità. Ad esempio,roles/storage.objectViewer
.CONDITION_FILE
è il file che hai creato nell' passaggio precedente.
In alternativa, puoi includere la condizione direttamente nel comando
con il flag --condition
anziché il flag --condition-from-file
.
API REST
JSON
Avere gcloud CLI installato e inizializzato, che consente generi un token di accesso per l'intestazione
Authorization
.Utilizza una richiesta
GET getIamPolicy
per salvare il file Criterio IAM a un file JSON temporaneo:curl \ 'https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAMEiam' \ --header 'Authorization: Bearer $(gcloud auth print-access-token)' > tmp-policy.json
Dove:
BUCKET_NAME
è il nome del bucket che contiene la cartella gestita per la quale vuoi impostare una condizione IAM.MANAGED_FOLDER_NAME
è il nome della cartella gestita per la quale vuoi impostare una condizione IAM.
Modifica il file
tmp-policy.json
in un editor di testo per aggiungere nuove condizioni alle associazioni nel criterio IAM:{ "version": VERSION, "bindings": [ { "role": "IAM_ROLE", "members": [ "PRINCIPAL_IDENTIFIER" ], "condition": { "title": "TITLE", "description": "DESCRIPTION", "expression": "EXPRESSION" } } ], "etag": "ETAG" }
Dove:
VERSION
è la versione del criterio IAM, che deve essere 3 per le cartelle gestite con condizioni IAM.IAM_ROLE
è il ruolo a cui si applica la condizione. Ad esempio,roles/storage.objectViewer
.PRINCIPAL_IDENTIFIER
identifica a chi si applica la condizione. Ad esempio,user:jane@gmail.com
. Per un elenco dei formati degli identificatori principali, consulta Identificatori principali.TITLE
è il titolo della condizione. Ad esempio,expires in 2019
.DESCRIPTION
è una descrizione facoltativa di la condizione. Ad esempio,Permission revoked on New Year's
.EXPRESSION
è un metodo basato su attributi espressione logica. Ad esempio:request.time < timestamp(\"2019-01-01T00:00:00Z\")
. Per maggiori informazioni esempi di espressioni, vedi Riferimento per gli attributi Condizioni. Cloud Storage supporta solo data/ora, tipo di risorsa e nome della risorsa attributi.
Non modificare
ETAG
.Utilizza una richiesta
PUT setIamPolicy
per impostare il criterio IAM modificato sul bucket:curl -X PUT --data-binary @tmp-policy.json \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFoldersMANAGED_FOLDER_NAME/iam"
Dove:
BUCKET_NAME
è il nome del bucket che contiene la cartella gestita per la quale vuoi impostare una condizione IAM.MANAGED_FOLDER_NAME
è il nome del cartella gestita su cui vuoi impostare una condizione IAM.
Rimuovere una condizione da una cartella gestita
Riga di comando
Utilizza la Comando
gcloud storage managed-folders get-iam-policy
per salvare il criterio IAM della cartella gestita file JSON temporaneo.gcloud storage managed-folders get-iam-policy gs://BUCKET_NAME/MANAGED_FOLDER_NAME > tmp-policy.json
Modifica il file
tmp-policy.json
in un editor di testo da rimuovere le condizioni del criterio IAM.Usa il comando
gcloud storage managed-folders set-iam-policy
per impostare il criterio IAM modificato sulla cartella gestita.gcloud storage managed-folders set-iam-policy gs://BUCKET_NAME/MANAGED_FOLDER_NAME tmp-policy.json
API REST
JSON
Avere installato e inizializzato l'interfaccia a riga di comando gcloud, che consente di generare un token di accesso per l'intestazione
Authorization
.Utilizza una richiesta
GET getIamPolicy
per salvare il criterio IAM della cartella gestita in un file JSON temporaneo:curl \ 'https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAMEiam' \ --header 'Authorization: Bearer $(gcloud auth print-access-token)' > tmp-policy.json
Dove:
BUCKET_NAME
è il nome del bucket che contiene la cartella gestita a cui stai modificando l'accesso. Ad esempio,my-bucket
.MANAGED_FOLDER_NAME
è il nome della cartella gestita a cui stai modificando l'accesso. Ad esempio,my-managed-folder/
.
Per rimuovere le condizioni, modifica il file
tmp-policy.json
in un editor di testo dal criterio IAM.Utilizza una richiesta
PUT setIamPolicy
per impostare l'elemento modificato Criterio IAM sulla cartella gestita:curl -X PUT --data-binary @tmp-policy.json \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAMEiam"
Dove:
BUCKET_NAME
è il nome del bucket che contiene la cartella gestita a cui stai modificando l'accesso. Ad esempio,my-bucket
.MANAGED_FOLDER_NAME
è il nome del cartella gestita per la quale stai modificando l'accesso. Ad esempio,my-managed-folder/
.
Utilizzare IAM con i progetti
Consulta Gestire l'accesso a progetti, cartelle gestite e organizzazioni per consultare le guide sulla concessione e la revoca dei ruoli IAM a livello di progetto e superiore.
Best practice
Devi impostare il ruolo minimo possibile che assegni all'entità principale
l'accesso richiesto. Ad esempio, se un membro del team deve solo visualizzare
le cartelle gestite in un bucket, assegnagli il ruolo Amministratore oggetti Storage
(roles/storage.objectAdmin
) anziché il ruolo Amministratore cartelle Storage
(roles/storage.folderAdmin
).
Analogamente, se il membro del team ha bisogno del controllo completo delle cartelle gestite
in un bucket, assegnagli il ruolo Amministratore cartelle dello spazio di archiviazione (roles/storage.folderAdmin
) instead of the Storage Admin (roles/storage.admin
) role.
Passaggi successivi
Scopri come condividere pubblicamente i dati.
Scopri le best practice per l'utilizzo di IAM.
Per risolvere i problemi relativi alle operazioni non riuscite relative ai ruoli e alle autorizzazioni IAM, consulta la sezione Risoluzione dei problemi.