Questa pagina descrive come creare e gestire i ruoli personalizzati di Identity and Access Management (IAM). La gestione dei ruoli include la modifica, la disattivazione, l'elenco, l'eliminazione, e annullare l'eliminazione dei ruoli.
Prima di iniziare
Enable the IAM API.
Configurare l'autenticazione.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
C#
Per utilizzare gli .NET esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia alla gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Google Cloud.
C++
Per utilizzare gli C++ esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia alla gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Google Cloud.
Vai
Per utilizzare gli Go esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia alla gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Google Cloud.
Java
Per utilizzare gli Java esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia alla gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Google Cloud.
Python
Per utilizzare gli Python esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia alla gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Google Cloud.
REST
Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per saperne di più, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Comprendi la gerarchia delle risorse di Google Cloud.
Leggi l'articolo Informazioni sui ruoli IAM personalizzati.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare e gestire i ruoli personalizzati, chiedi all'amministratore di concederti seguenti ruoli IAM:
-
Per gestire i ruoli di un progetto:
Amministratore dei ruoli (
roles/iam.roleAdmin
) nel progetto per cui vuoi gestire i ruoli -
Per gestire i ruoli per un'organizzazione:
Amministratore ruoli organizzazione (
roles/iam.organizationRoleAdmin
) nell'organizzazione per cui vuoi gestire i ruoli
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Visualizzare le autorizzazioni disponibili per progetti, cartelle e organizzazioni
Puoi creare ruoli personalizzati per un'intera organizzazione o per un progetto specifico al suo interno. Le autorizzazioni disponibili per l'impostazione i ruoli dipendono da dove crei il ruolo. Ad esempio, se un'autorizzazione può essere utilizzata a livello di organizzazione, non puoi includere quell'autorizzazione un ruolo personalizzato a livello di progetto.
Per controllare quali autorizzazioni sono disponibili a livello di organizzazione e ruoli personalizzati a livello di progetto, puoi utilizzare gcloud CLI API Identity and Access Management per elencare le autorizzazioni disponibili in una specifica dell'organizzazione o del progetto. Ad esempio, puoi ottenere tutte le autorizzazioni disponibili per i ruoli personalizzati creati nel tuo progetto.
Alcune autorizzazioni potrebbero non essere visibili o utilizzabili in un ruolo personalizzato, anche se sono supportate nei ruoli personalizzati. Ad esempio, un'autorizzazione potrebbe non essere disponibile per l'uso nei ruoli personalizzati se Non hanno abilitato l'API per il servizio.
Per scoprire di più sulle autorizzazioni che puoi aggiungere ai ruoli personalizzati, vedi Autorizzazioni supportate.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Utilizza il comando
gcloud iam list-testable-permissions
per ottenere un elenco delle autorizzazioni disponibili per i ruoli personalizzati in un progetto o un'organizzazione specifici. La risposta elenca le autorizzazioni nei ruoli personalizzati per il progetto o l'organizzazione.Per elencare le autorizzazioni disponibili nei ruoli personalizzati per un progetto organizzazione, esegui questo comando:
gcloud iam list-testable-permissions FULL_RESOURCE_NAME \ --filter="customRolesSupportLevel!=NOT_SUPPORTED"
Sostituisci
FULL_RESOURCE_NAME
con uno dei seguenti valori:-
Progetto:
//cloudresourcemanager.googleapis.com/projects/PROJECT_ID
(ad esempio//cloudresourcemanager.googleapis.com/projects/my-project
) -
Organizzazione:
//cloudresourcemanager.googleapis.com/organizations/NUMERIC_ID
(ad es.//cloudresourcemanager.googleapis.com/organizations/123456789012
)
I risultati indicano se ogni autorizzazione è supportata nei ruoli personalizzati. Le autorizzazioni che non dispongono di un campo
customRolesSupportLevel
sono completamente supportate.Il comando
list-testable-permissions
potrebbe restituire centinaia di risultati. Questo esempio parziale mostra il formato di ogni risultato:--- name: appengine.applications.create stage: GA --- customRolesSupportLevel: TESTING name: appengine.applications.disable stage: GA --- name: appengine.applications.get stage: GA --- name: appengine.applications.update stage: GA --- name: appengine.instances.delete stage: GA --- name: appengine.instances.get stage: GA ---
-
C++
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta API IAM C++ documentazione di riferimento.
Per autenticarti in IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
C#
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM C#.
Per autenticarti in IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Prima di iniziare.
Go
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM Go.
Per eseguire l'autenticazione su IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Java
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta API IAM Java documentazione di riferimento.
Per autenticarti in IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Prima di iniziare.
Python
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM Python.
Per eseguire l'autenticazione su IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
REST
La
permissions.queryTestablePermissions
che elenca le autorizzazioni disponibili in un'organizzazione o in un progetto.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
FULL_RESOURCE_NAME
: un URI costituito dal nome del servizio e dal percorso della risorsa. Per alcuni esempi, vedi Nomi completi delle risorse.PAGE_SIZE
: facoltativo. Il numero di autorizzazioni da includere nel la risposta corretta. Il valore predefinito è 100 e il valore massimo è 1000. Se il numero di autorizzazioni è superiore alle dimensioni della pagina, la risposta contiene un token di paginazione che puoi utilizzare per recuperare la pagina di risultati successiva.NEXT_PAGE_TOKEN
: facoltativo. Il token di impaginazione restituito in una sessione la risposta desiderata con questo metodo. Se specificato, l'elenco delle autorizzazioni testabili inizierà dove è finita la risposta precedente.
Metodo HTTP e URL:
POST https://iam.googleapis.com/v1/permissions:queryTestablePermissions
Corpo JSON della richiesta:
{ "fullResourceName": "FULL_RESOURCE_NAME" "pageSize": PAGE_SIZE, "pageToken": "NEXT_PAGE_TOKEN" }
Per inviare la richiesta, espandi una di queste opzioni:
La risposta contiene l'elenco delle autorizzazioni.
{ "permissions": [ { "name": "iam.serviceAccountKeys.create", "stage": "GA" }, { "name": "iam.serviceAccountKeys.delete", "stage": "GA" }, { "name": "iam.serviceAccountKeys.get", "stage": "GA" } ], "nextPageToken": "CgoHBajEfjUDQyABEPaIv5vIiMDTVhgDIhtpYW0uc2VydmljZUFjY291bnRLZXlzLmxpc3Q" }
Recupera i metadati del ruolo
Prima di creare un ruolo personalizzato, ti consigliamo di recuperare i metadati sia per i ruoli predefiniti sia per quelli personalizzati. I metadati del ruolo includono l'ID ruolo e le autorizzazioni contenuti nel ruolo. Puoi visualizzare i metadati utilizzando la console Google Cloud o l'API IAM.
Per visualizzare i metadati del ruolo, utilizza uno dei seguenti metodi:
Console
Nella console Google Cloud, vai alla pagina Ruoli.
Seleziona l'organizzazione o il progetto dall'elenco a discesa nella parte superiore di della pagina.
Seleziona la casella di controllo relativa a uno o più ruoli per visualizzare le relative autorizzazioni. Il riquadro laterale a destra mostra le autorizzazioni contenute nei ruoli, se presenti.
Le icone nella colonna Tipo indicano se si tratta di un ruolo personalizzato
o di un ruolo predefinito .Se vuoi trovare tutti i ruoli che includono un'autorizzazione specifica, digita il nome dell'autorizzazione nella casella Filtra nella parte superiore dell'elenco dei ruoli.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Utilizza il comando
gcloud iam roles describe
per visualizzare i metadati dei ruoli predefiniti e personalizzati.Per visualizzare i metadati di un ruolo predefinito, esegui il seguente comando:
gcloud iam roles describe ROLE_ID
ROLE_ID
è l'ID del ruolo. I ruoli predefiniti includono il prefissorole
negli ID, ad esempioroles/iam.roleViewer
.L'esempio seguente mostra l'output del comando
describe
quando eseguita sul ruolo predefinitoroles/iam.roleViewer
:gcloud iam roles describe roles/iam.roleViewer
description: Read access to all custom roles in the project. etag: AA== includedPermissions: - iam.roles.get - iam.roles.list - resourcemanager.projects.get - resourcemanager.projects.getIamPolicy name: roles/iam.roleViewer stage: GA title: Role Viewer
Per visualizzare i metadati di un ruolo personalizzato, esegui uno dei seguenti comandi:
-
Per visualizzare i metadati di un ruolo personalizzato creato a livello di organizzazione, esegui il seguente comando:
gcloud iam roles describe --organization=ORGANIZATION_ID ROLE_ID
-
Per visualizzare i metadati per un ruolo personalizzato creato a livello di progetto, esegui questo comando:
gcloud iam roles describe --project=PROJECT_ID ROLE_ID
Ogni valore segnaposto è descritto di seguito:
-
ORGANIZATION_ID
è l'ID numerico dell'organizzazione, ad esempio123456789012
. -
PROJECT_ID
è il nome del progetto, ad esempiomy-project
. -
ROLE_ID
è l'ID del ruolo, esclusi eventuali prefissi comeprojects/
,organizations/
oroles/
. Ad esempio,myCompanyAdmin
.
Per saperne di più, consulta la documentazione di riferimento per
gcloud iam roles describe
. -
C++
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM C++.
Per autenticarti in IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
C#
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta API IAM C# documentazione di riferimento.
Per eseguire l'autenticazione su IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Go
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta API IAM Go documentazione di riferimento.
Per autenticarti in IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Java
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta API IAM Java documentazione di riferimento.
Per autenticarti in IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Prima di iniziare.
Python
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM Python.
Per eseguire l'autenticazione su IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
REST
Il metodo
roles.get
recupera la definizione di un ruolo.Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
ROLE_NAME
: il nome completo del ruolo, inclusi eventuali Prefissiorganizations/
,projects/
oroles/
. Ad esempio,organizations/123456789012/roles/myCompanyAdmin
.
Metodo HTTP e URL:
GET https://iam.googleapis.com/v1/ROLE_NAME
Per inviare la richiesta, espandi una di queste opzioni:
La risposta contiene la definizione del ruolo.
{ "name": "projects/my-project/roles/customRole", "title": "My Custom Role", "description": "My custom role description.", "includedPermissions": [ "storage.buckets.get", "storage.buckets.list" ], "etag": "BwWiPg2fmDE=" }
Creare un ruolo personalizzato
Puoi creare un ruolo personalizzato a livello di progetto o organizzazione.
Un ruolo personalizzato a livello di organizzazione può includere uno qualsiasi dei ruoli IAM di autorizzazioni supportate nelle impostazioni ruoli. Un ruolo personalizzato a livello di progetto può contenere qualsiasi autorizzazione supportata ad eccezione di quelle che possono essere utilizzate solo a livello di organizzazione o cartella, ad esempio
resourcemanager.organizations.get
. Se provi ad aggiungere queste autorizzazioni a un ruolo personalizzato a livello di progetto, viene visualizzato un messaggio di errore:Console
Viene visualizzato il seguente messaggio di avviso: "Non applicabile per i ruoli personalizzati a livello di progetto". L'autorizzazione verrà deselezionata automaticamente dall'elenco delle autorizzazioni incluse e potrai procedere con la creazione del ruolo.
gcloud
Il seguente messaggio di errore viene restituito:
INVALID_ARGUMENT: Permission PERMISSION is not valid
. Il ruolo personalizzato non verrà creato finché non rimuovi prima il autorizzazione dalla definizione del ruolo e prova l'operazione.API REST
Viene restituito il seguente messaggio di errore:
Permission PERMISSION is not valid
, insieme a un Codice di errore HTTP 400 e statoINVALID_ARGUMENT
. Il ruolo personalizzato non verrà creato finché non rimuovi prima l'autorizzazione dalla definizione del ruolo e riprovi l'operazione.Ciascun ruolo personalizzato può contenere fino a 3000 autorizzazioni aggiuntive. Inoltre, la dimensione totale massima di titolo, descrizione e nomi autorizzazione per un ruolo personalizzato è 64 KB. Se devi creare un ruolo personalizzato più grande, puoi suddividere le autorizzazioni in più ruoli personalizzati. Scegli titoli dei ruoli che mostrino la relazione tra i ruoli personalizzati, ad esempio
Custom Admin (1 of 2)
eCustom Admin (2 of 2)
.Ogni ruolo personalizzato può avere una fase di avvio. La maggior parte delle fasi di lancio è informativa, e aiutano a capire se ogni ruolo è pronto per un uso diffuso. Inoltre, la fase di lancio
DISABLED
ti consente di disattivare un ruolo personalizzato. Per ulteriori informazioni sulle fasi di lancio, consulta Test e implementazione.Console
Alcuni ruoli predefiniti contengono autorizzazioni deprecate o altrimenti non consentite nei ruoli personalizzati. Se provi a creare un ruolo personalizzato basato su uno di questi ruoli predefiniti, il ruolo personalizzato omette le autorizzazioni ritirate e limitate.
Per creare un nuovo ruolo personalizzato da zero:
Nella console Google Cloud, vai alla pagina Ruoli.
Utilizzando l'elenco a discesa nella parte superiore della pagina, seleziona l'organizzazione oppure progetto in cui vuoi creare un ruolo.
Fai clic su Crea ruolo.
Inserisci un Titolo, una Descrizione, un ID e una Fase di lancio del ruolo per il ruolo. L'ID ruolo non può essere modificato dopo la creazione del ruolo.
Fai clic su Aggiungi autorizzazioni.
Seleziona le autorizzazioni da includere nel ruolo e fai clic su Aggiungi autorizzazioni. Utilizza gli elenchi a discesa Tutti i servizi e Tutti i tipi per filtrare e selezionare le autorizzazioni in base a servizi e tipi.
Creare un ruolo personalizzato in base a un ruolo predefinito esistente:
- Nella console Google Cloud, vai alla pagina Ruoli.
- Seleziona l'organizzazione o il progetto in cui vuoi creare un ruolo.
- Seleziona i ruoli su cui vuoi basare il nuovo ruolo personalizzato.
- Fai clic su Crea ruolo dalla selezione.
- Inserisci un Titolo, una Descrizione, un ID e una Fase di lancio del ruolo per il ruolo. L'ID ruolo non può essere modificato dopo la creazione del ruolo.
- Deseleziona le autorizzazioni che vuoi escludere dal ruolo.
- Fai clic su Aggiungi autorizzazioni per includere le autorizzazioni.
- Fai clic su Crea.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Usa
gcloud iam roles create
per creare nuovi ruoli personalizzati. Puoi utilizzare questo comando in due modi:-
Fornendo un file YAML che contiene la definizione del ruolo
-
Utilizzando i flag per specificare la definizione del ruolo
Quando crei un ruolo personalizzato, devi specificare se si applica al a livello di organizzazione o di progetto utilizzando
--organization=ORGANIZATION_ID
o--project=PROJECT_ID
flag. Ogni esempio riportato di seguito crea un ruolo personalizzato a livello di progetto.Un ruolo personalizzato può contenere autorizzazioni supportate nei ruoli personalizzati. Se il ruolo personalizzato contiene altre autorizzazioni, il comando non va a buon fine.
Per creare un ruolo personalizzato utilizzando un file YAML:
Crea un file YAML che contiene la definizione del tuo ruolo personalizzato. Il file deve essere strutturato nel seguente modo:
title: ROLE_TITLE description: ROLE_DESCRIPTION stage: LAUNCH_STAGE includedPermissions: - PERMISSION_1 - PERMISSION_2
Ogni valore segnaposto è descritto di seguito:
-
ROLE_TITLE
è un titolo intuitivo per il ruolo, ad esempio:"My Company Admin"
. -
ROLE_DESCRIPTION
è una breve descrizione come"My custom role description"
. -
LAUNCH_STAGE
indica la fase di un ruolo nel ciclo di vita del lancio, ad esempioALPHA
,BETA
oGA
. -
PERMISSION_1
ePERMISSION_2
sono autorizzazioni da includere nel ruolo personalizzato, ad esempioiam.roles.get
. Tu non può utilizzare caratteri jolly (*
) nei nomi delle autorizzazioni.
Salva il file YAML, quindi esegui uno dei seguenti comandi:
-
Per creare un ruolo personalizzato a livello di organizzazione, esegui il seguente comando:
gcloud iam roles create ROLE_ID--organization=ORGANIZATION_ID \ --file=YAML_FILE_PATH
-
Per creare un ruolo personalizzato a livello di progetto, esegui questo comando:
gcloud iam roles create ROLE_ID --project=PROJECT_ID \ --file=YAML_FILE_PATH
Ogni valore segnaposto è descritto di seguito:
-
ROLE_ID
è il nome del ruolo, ad esempiomyCompanyAdmin
. -
ORGANIZATION_ID
è l'ID numerico dell'organizzazione, ad esempio123456789012
. -
PROJECT_ID
è il nome del progetto, ad esempiomy-project
. -
YAML_FILE_PATH
è il percorso della posizione del tuo file YAML che contiene la definizione del ruolo personalizzato.
Esempi
Il seguente file YAML di esempio mostra come creare una definizione di ruolo:
title: "My Company Admin" description: "My custom role description." stage: "ALPHA" includedPermissions: - iam.roles.get - iam.roles.list
L'esempio seguente mostra come creare un ruolo nell'organizzazione utilizzando il file YAML:
gcloud iam roles create myCompanyAdmin --organization=123456789012 \ --file=my-role-definition.yaml
Se il ruolo è stato creato correttamente, l'output del comando è simile al seguenti:
Created role [myCompanyAdmin]. description: My custom role description. etag: BwVkBX0sQD0= includedPermissions: - iam.roles.get - iam.roles.list name: organizations/123456789012/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
L'esempio seguente mostra come creare un ruolo a livello di progetto usando il file YAML:
gcloud iam roles create myCompanyAdmin --project=my-project \ --file=my-role-definition.yaml
Se il ruolo è stato creato correttamente, l'output del comando è simile al seguenti:
Created role [myCompanyAdmin]. description: My custom role description. etag: BwVkBX0sQD0= includedPermissions: - iam.roles.get - iam.roles.list name: projects/my-project/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
Per creare un ruolo personalizzato utilizzando i flag:
Esegui uno dei seguenti comandi:
-
Per creare un ruolo personalizzato a livello di organizzazione, esegui quanto segue :
gcloud iam roles create ROLE_ID--organization=ORGANIZATION_ID \ --title=ROLE_TITLE --description=ROLE_DESCRIPTION \ --permissions="PERMISSIONS_LIST" --stage=LAUNCH_STAGE
-
Per creare un ruolo personalizzato a livello di progetto, esegui questo comando:
gcloud iam roles create ROLE_ID --project=PROJECT_ID \ --title=ROLE_TITLE --description=ROLE_DESCRIPTION \ --permissions="PERMISSIONS_LIST" --stage=LAUNCH_STAGE
Ogni valore segnaposto è descritto di seguito:
-
ROLE_ID
è il nome del ruolo, ad esempiomyCompanyAdmin
. -
ORGANIZATION_ID
è l'ID numerico dell'organizzazione, ad esempio123456789012
. -
PROJECT_ID
è il nome del progetto, ad esempiomy-project
. -
ROLE_TITLE
è un titolo intuitivo per il ruolo, ad esempio:"My Company Admin"
. -
ROLE_DESCRIPTION
è una breve descrizione del ruolo, ad esempio"My custom role description."
. -
PERMISSIONS_LIST
contiene un elenco separato da virgole di le autorizzazioni che vuoi includere nel ruolo personalizzato. Ad esempio:iam.roles.get,iam.roles.list
. Non puoi utilizzare caratteri jolly (*
) nei nomi delle autorizzazioni. -
LAUNCH_STAGE
indica la fase di un ruolo in ciclo di vita dell'avvio, ad esempioALPHA
,BETA
oGA
.
Esempi
Il seguente esempio mostra come creare un ruolo a livello di organizzazione utilizzando i flag:
gcloud iam roles create myCompanyAdmin --organization=123456789012 \ --title="My Company Admin" --description="My custom role description." \ --permissions="iam.roles.get,iam.roles.list" --stage=ALPHA
Se il ruolo è stato creato correttamente, l'output del comando è simile al seguenti:
Created role [myCompanyAdmin]. description: My custom role description. etag: BwVkBX0sQD0= includedPermissions: - iam.roles.get - iam.roles.list name: organizations/123456789012/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
L'esempio seguente mostra come creare un ruolo a livello di progetto utilizzando i flag:
gcloud iam roles create myCompanyAdmin --project=my-project \ --title="My Company Admin" --description="My custom role description." \ --permissions="iam.roles.get,iam.roles.list" --stage=ALPHA
Se il ruolo è stato creato correttamente, l'output del comando è simile al seguente:
Created role [myCompanyAdmin]. description: My custom role description. etag: BwVkBX0sQD0= includedPermissions: - iam.roles.get - iam.roles.list name: projects/my-project/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
-
C++
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta API IAM C++ documentazione di riferimento.
Per autenticarti in IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
C#
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM C#.
Per autenticarti in IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Prima di iniziare.
Go
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta API IAM Go documentazione di riferimento.
Per eseguire l'autenticazione su IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Prima di iniziare.
Java
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta API IAM Java documentazione di riferimento.
Per autenticarti in IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Prima di iniziare.
Python
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta API IAM Python documentazione di riferimento.
Per eseguire l'autenticazione su IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
REST
Il metodo
roles.create
crea un ruolo personalizzato in un progetto o un'organizzazione.Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
RESOURCE_TYPE
: il tipo di risorsa di cui vuoi gestire i ruoli personalizzati. Utilizza il valoreprojects
oorganizations
.RESOURCE_ID
: l'ID progetto o organizzazione di cui vuoi gestire i ruoli personalizzati. Gli ID progetto sono stringhe alfanumeriche, comemy-project
. Gli ID organizzazione sono numerici, ad esempio123456789012
.ROLE_ID
: il nome del ruolo, ad esempiomyCompanyAdmin
.ROLE_TITLE
: il titolo leggibile del ruolo. Ad esempio,My Company Admin
.ROLE_DESCRIPTION
: una descrizione per ruolo. Ad esempio,"The company admin role allows company admins to access important resources"
.-
PERMISSION_1
ePERMISSION_2
: le autorizzazioni che vuoi includere nel ruolo. Ad esempio,storage.objects.update
. Non puoi utilizzare caratteri jolly (*
) nei nomi delle autorizzazioni.Un ruolo personalizzato può contenere di autorizzazioni supportate nelle impostazioni ruoli. Se il ruolo personalizzato contiene altre autorizzazioni, la richiesta non va a buon fine.
LAUNCH_STAGE
: l'attuale fase di lancio del ruolo. Questo campo può contenere uno dei seguenti valori:EAP
,ALPHA
,BETA
,GA
,DEPRECATED
oDISABLED
.
Metodo HTTP e URL:
POST https://iam.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/roles
Corpo JSON della richiesta:
{ "roleId": "ROLE_ID", "role": { "title": "ROLE_TITLE", "description": "ROLE_DESCRIPTION", "includedPermissions": [ "PERMISSION_1", "PERMISSION_2" ], "stage": "LAUNCH_STAGE" } }
Per inviare la richiesta, espandi una di queste opzioni:
La risposta contiene il ruolo che hai creato.
{ "name": "projects/myProject/roles/myCompanyAdmin", "title": "My Company Admin", "description": "My custom role description.", "includedPermissions": [ "iam.roles.get", "iam.roles.list" ], "etag": "BwWox/JbaZw=" }
Modificare un ruolo personalizzato esistente
Un pattern comune per l'aggiornamento dei metadati di una risorsa, ad esempio un ruolo personalizzato, è il pattern lettura, modifica e scrittura. Con questo pattern, leggi l'attuale aggiornare i dati localmente, quindi inviare i dati modificati per la scrittura.
Il pattern di lettura, modifica e scrittura può causare un conflitto se due o più processi indipendenti tentano la sequenza contemporaneamente. Ad esempio, se due proprietari di un progetto tentano di apportare contemporaneamente modifiche in conflitto a un ruolo, alcune modifiche potrebbero non andare a buon fine. IAM risolve questo problema utilizzando una proprietà
etag
nei ruoli personalizzati. Questa proprietà viene utilizzata per verificare se il ruolo personalizzato è cambiato dall'ultima richiesta. Quando effettui una richiesta a IAM con un etag, IAM confronta il valore etag nella richiesta con valore dell'etag esistente associato al ruolo personalizzato. Scrive solo la modifica se i valori dell'etag corrispondono.Quando aggiorni un ruolo, devi prima riceverlo utilizzando
roles.get()
, aggiornarlo. quindi scrivi il ruolo aggiornato utilizzandoroles.patch()
. Utilizza il valore etag quando impostando il ruolo solo se il ruolo corrispondente inroles.get()
contiene un etag.Console
Nella console Google Cloud, vai alla pagina Ruoli.
Utilizzando l'elenco a discesa nella parte superiore della pagina, seleziona il progetto o l'organizzazione contenente il ruolo da modificare.
Fai clic su un ruolo personalizzato.
Fai clic su Modifica ruolo.
Per aggiornare i metadati del ruolo, modifica le sezioni Titolo, Descrizione, o Fase di lancio del ruolo.
Per aggiornare le autorizzazioni del ruolo, svolgi i seguenti passaggi:
- Fai clic su Aggiungi autorizzazioni per aggiungere nuove autorizzazioni al ruolo.
- Deseleziona le autorizzazioni per rimuoverle dal ruolo.
Fai clic su Aggiorna per salvare il ruolo modificato.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Usa
gcloud iam roles update
per aggiornare i ruoli personalizzati. Puoi utilizzare questo comando in due modi:-
Fornendo un file YAML contenente la definizione del ruolo aggiornata
-
Utilizzando flag per specificare la definizione del ruolo aggiornata
Quando aggiorni un ruolo personalizzato, devi specificare se si applica a livello di organizzazione o di progetto utilizzando i flag
--organization=ORGANIZATION_ID
o--project=PROJECT_ID
. Ogni esempio riportato di seguito crea un ruolo personalizzato a livello di progetto.Per aggiornare un ruolo personalizzato utilizzando un file YAML:
Per ottenere la definizione corrente del ruolo, esegui uno dei seguenti comandi:
-
Per ottenere la definizione di un ruolo personalizzato a livello di organizzazione, esegui la seguente comando:
gcloud iam roles describe ROLE_ID --organization=ORGANIZATION_ID
-
Per ottenere la definizione di un ruolo personalizzato a livello di progetto, esegui questo comando:
gcloud iam roles describe ROLE_ID --project=PROJECT_ID
Ogni valore segnaposto è descritto di seguito:
-
ROLE_ID
è il nome del ruolo da aggiornare, ad esempiomyCompanyAdmin
. -
ORGANIZATION_ID
è l'ID numerico dell'organizzazione, ad esempio123456789012
. -
PROJECT_ID
è il nome del progetto, ad esempiomy-project
.
Il comando
describe
restituisce la definizione del ruolo e include un valoreetag
che identifica in modo univoco la versione corrente del ruolo. È necessario specificare il valoreetag
nella della definizione del ruolo per garantire che tutte le modifiche contemporanee non vengano sovrascritte.Il comando
describe
restituisce il seguente output:description: ROLE_DESCRIPTION etag: ETAG includedPermissions: - PERMISSION_1 - PERMISSION_2 name: ROLE_NAME stage: LAUNCH_STAGE title: ROLE_TITLE
Ogni valore segnaposto è descritto di seguito:
-
ROLE_DESCRIPTION
è una breve descrizione del ruolo, ad esempio"My custom role description"
. -
ETAG
è l'identificatore univoco dell'attuale del ruolo, ad esempioBwVkBkbfr70=
. -
PERMISSION_1
ePERMISSION_2
sono le autorizzazioni da includere nel ruolo personalizzato, ad esempioiam.roles.get
. Non puoi utilizzare caratteri jolly (*
) nei nomi delle autorizzazioni. -
ROLE_NAME
è il nome completo del ruolo, inclusi eventualiorganizations/
,projects/
oroles/
prefissi. Ad esempio,organizations/123456789012/roles/myCompanyAdmin.
-
LAUNCH_STAGE
indica la fase di un ruolo nel ciclo di vita del lancio, ad esempioALPHA
,BETA
oGA
. -
ROLE_TITLE
è un titolo intuitivo per il ruolo, ad esempio:"My Company Admin"
.
Per aggiornare il ruolo, includi la definizione del ruolo in un file YAML o aggiorna il file YAML originale con il valore
etag
visualizzato.Considera il seguente file YAML di esempio, che contiene l'output il comando
describe
per un ruolo a livello di progetto e aggiunge due Autorizzazioni per Cloud Storage:description: My custom role description. etag: BwVkBkbfr70= includedPermissions: - iam.roles.get - iam.roles.list - storage.buckets.get - storage.buckets.list name: projects/my-project/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
Salva il file YAML, quindi esegui uno dei seguenti comandi:
-
Per aggiornare un ruolo a livello di organizzazione, esegui questo comando:
gcloud iam roles update ROLE_ID--organization=ORGANIZATION_ID \ --file=YAML_FILE_PATH
-
Per aggiornare un ruolo a livello di progetto, esegui questo comando:
gcloud iam roles update ROLE_ID --project=PROJECT_ID \ --file=YAML_FILE_PATH
Ogni valore segnaposto è descritto di seguito:
-
ROLE_ID
è il nome del ruolo da aggiornare, ad esempiomyCompanyAdmin
. -
ORGANIZATION_ID
è l'ID numerico dell'organizzazione, ad esempio123456789012
. -
PROJECT_ID
è il nome del progetto, ad esempiomy-project-id
. -
YAML_FILE_PATH
è il percorso della posizione del tuo file YAML contenente la definizione del ruolo personalizzato aggiornata.
Esempi
L'esempio seguente mostra come aggiornare un ruolo a livello di organizzazione utilizzando un file YAML:
gcloud iam roles update ROLE_ID --organization=ORGANIZATION_ID \ --file=YAML_FILE_PATH
-
Per aggiornare un ruolo a livello di progetto, esegui questo comando:
gcloud iam roles update ROLE_ID --project=PROJECT_ID \ --file=YAML_FILE_PATH
Ogni valore segnaposto è descritto di seguito:
-
ROLE_ID
è il nome del ruolo da aggiornare, ad esempiomyCompanyAdmin
. -
ORGANIZATION_ID
è l'ID numerico dell'organizzazione, ad esempio123456789012
. -
PROJECT_ID
è il nome del progetto, ad esempiomy-project
. -
YAML_FILE_PATH
è il percorso della posizione del file YAML che contiene la definizione del ruolo personalizzato aggiornato.
Esempi
L'esempio seguente mostra come aggiornare un ruolo a livello di organizzazione utilizzando un file YAML:
gcloud iam roles update myCompanyAdmin --organization=123456789012 \ --file=my-role-definition.yaml
Se il ruolo è stato aggiornato correttamente, l'output del comando è simile al seguenti:
description: My custom role description. etag: BwVkBwDN0lg= includedPermissions: - iam.roles.get - iam.roles.list - storage.buckets.get - storage.buckets.list name: organizations/123456789012/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
L'esempio seguente mostra come aggiornare un ruolo a livello di progetto utilizzando un file YAML:
gcloud iam roles update myCompanyAdmin --project=my-project \ --file=my-role-definition.yaml
Se il ruolo è stato aggiornato correttamente, l'output del comando è simile al seguente:
description: My custom role description. etag: BwVkBwDN0lg= includedPermissions: - iam.roles.get - iam.roles.list - storage.buckets.get - storage.buckets.list name: projects/my-project/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
Per aggiornare un ruolo personalizzato utilizzando i flag:
Ogni parte della definizione di un ruolo può essere aggiornata utilizzando un flag corrispondente. Consulta l'argomento
gcloud iam roles update
per un elenco di tutti i possibili flag.Puoi utilizzare i seguenti flag per aggiungere o rimuovere le autorizzazioni:
-
--add-permissions=PERMISSIONS
: aggiunge al ruolo una o più autorizzazioni separate da virgola. Non puoi utilizzare caratteri jolly (*
) nei nomi delle autorizzazioni. -
--remove-permissions=PERMISSIONS
: rimuove uno o più con autorizzazioni separate da virgole. Non puoi utilizzare caratteri jolly (*
) nei nomi delle autorizzazioni.
In alternativa, puoi semplicemente specificare le nuove autorizzazioni utilizzando il flag
--permissions=PERMISSIONS
e fornendo un elenco di autorizzazioni separate da virgole per sostituire l'elenco esistente.Per aggiornare altre parti della definizione del ruolo, esegui una delle seguenti operazioni :
-
Per aggiornare un ruolo a livello di organizzazione, esegui il comando seguente:
gcloud iam roles update ROLE_ID--organization=ORGANIZATION_ID \ --title=ROLE_TITLE --description=ROLE_DESCRIPTION \ --stage=LAUNCH_STAGE
-
Per aggiornare un ruolo a livello di progetto, esegui questo comando:
gcloud iam roles update ROLE_ID --project=PROJECT_ID \ --title=ROLE_TITLE --description=ROLE_DESCRIPTION \ --stage=LAUNCH_STAGE
Ogni valore segnaposto è descritto di seguito:
-
ROLE_ID
è il nome del ruolo, ad esempiomyCompanyAdmin
. -
ORGANIZATION_ID
è l'ID numerico dell'organizzazione, ad esempio123456789012
. -
PROJECT_ID
è il nome del progetto, ad esempiomy-project
. -
ROLE_TITLE
è un titolo intuitivo per il ruolo, ad esempio:"My Company Admin"
. -
ROLE_DESCRIPTION
è una breve descrizione del ruolo, ad esempio"My custom role description."
. -
LAUNCH_STAGE
indica la fase di un ruolo nel ciclo di vita del lancio, ad esempioALPHA
,BETA
oGA
.
Esempi
L'esempio seguente mostra come aggiungere autorizzazioni a un ruolo a livello di organizzazione con l'utilizzo di flag:
gcloud iam roles update myCompanyAdmin --organization=123456789012 \ --add-permissions="storage.buckets.get,storage.buckets.list"
Se il ruolo è stato aggiornato correttamente, l'output del comando è simile al seguente:
description: My custom role description. etag: BwVkBwDN0lg= includedPermissions: - iam.roles.get - iam.roles.list - storage.buckets.get - storage.buckets.list name: organization/123456789012/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
L'esempio seguente mostra come aggiungere autorizzazioni a un ruolo a livello di progetto utilizzando i flag:
gcloud iam roles update myCompanyAdmin --project=my-project \ --add-permissions="storage.buckets.get,storage.buckets.list"
Se il ruolo è stato aggiornato correttamente, l'output del comando è simile al seguente:
description: My custom role description. etag: BwVkBwDN0lg= includedPermissions: - iam.roles.get - iam.roles.list - storage.buckets.get - storage.buckets.list name: projects/my-project/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
-
C++
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta API IAM C++ documentazione di riferimento.
Per autenticarti in IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
C#
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta API IAM C# documentazione di riferimento.
Per eseguire l'autenticazione su IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Go
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM Go.
Per autenticarti in IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Prima di iniziare.
Java
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta API IAM Java documentazione di riferimento.
Per eseguire l'autenticazione su IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Prima di iniziare.
Python
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM Python.
Per eseguire l'autenticazione su IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
REST
La
roles.patch
aggiorna un ruolo personalizzato in un progetto o in un'organizzazione.Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
Obbligatorio:
RESOURCE_TYPE
: il tipo di risorsa di cui vuoi gestire i ruoli personalizzati. Utilizza il valoreprojects
oorganizations
.RESOURCE_ID
: l'ID progetto o organizzazione di cui vuoi gestire i ruoli personalizzati. Gli ID progetto sono stringhe alfanumeriche, comemy-project
. Gli ID organizzazione sono numerici, ad esempio123456789012
.ROLE_NAME
: il nome completo del ruolo, inclusi eventuali Prefissiorganizations/
,projects/
oroles/
. Ad esempio:organizations/123456789012/roles/myCompanyAdmin
.
Consigliato:
ETAG
: un identificatore di una versione del ruolo. Includi questo campo per evitare di sovrascrivere altre modifiche ai ruoli.
Facoltativo (definisci uno o più dei seguenti valori):
ROLE_TITLE
: il titolo leggibile del ruolo. Ad esempio,My Company Admin
.ROLE_DESCRIPTION
: una descrizione per ruolo. Ad esempio,"The company admin role allows company admins to access important resources"
.PERMISSION_1
ePERMISSION_2
: le autorizzazioni da includere nel ruolo. Ad esempio,storage.objects.update
. Non puoi utilizzare caratteri jolly (*
) in i nomi delle autorizzazioni.LAUNCH_STAGE
: l'attuale fase di lancio del ruolo. Questo campo può contenere uno dei seguenti valori:EAP
,ALPHA
,BETA
,GA
,DEPRECATED
oDISABLED
.
Metodo HTTP e URL:
PATCH https://iam.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/roles
Corpo JSON della richiesta:
{ "roleId": "ROLE_NAME", "title": "ROLE_TITLE", "description": "ROLE_DESCRIPTION", "includedPermissions": [ "PERMISSION_1", "PERMISSION_2" ], "stage": "LAUNCH-STAGE", "etag": "ETAG" }
Per inviare la richiesta, espandi una di queste opzioni:
La risposta contiene una definizione del ruolo abbreviata che include il nome del ruolo, i campi che hai aggiornato e un etag che identifica la versione corrente del ruolo.
{ "name": "projects/test-project-1000092/roles/myCompanyAdmin", "title": "My Updated Company Admin", "includedPermissions": [ "storage.buckets.get", "storage.buckets.list" ], "stage": "BETA", "etag": "BwWoyDpAxBc=" }
Disattivare un ruolo personalizzato
Puoi disattivare un ruolo personalizzato modificando la fase di avvio in
DISABLED
. Quando un ruolo viene disattivato, tutte le associazioni di ruoli correlate vengono disattivate, il che significa che la concessione del ruolo a un utente non ha alcun effetto.Console
Nella console Google Cloud, vai alla pagina Ruoli.
Fai clic sull'elenco a discesa "Seleziona un progetto" nella parte superiore della pagina.
Seleziona la tua organizzazione o il tuo progetto.
Seleziona un ruolo personalizzato e fai clic su Disattiva.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Usa
gcloud iam roles update
per disabilitare un ruolo personalizzato impostando la fase di avvio suDISABLED
.Come descritto nella scheda gcloud del Modifica di un ruolo personalizzato esistente puoi aggiornare un ruolo personalizzato esistente nei seguenti due modi:
-
Fornendo un file YAML contenente la definizione del ruolo aggiornata
-
Utilizzando i flag per specificare la definizione del ruolo aggiornata
Il modo più semplice per disattivare un ruolo personalizzato esistente è utilizzare il flag
--stage
e impostarlo suDISABLED
. Esegui uno dei seguenti comandi:-
Per disattivare un ruolo a livello di organizzazione, esegui il seguente comando:
gcloud iam roles update ROLE_ID--organization=ORGANIZATION_ID \ --stage=DISABLED
-
Per disattivare un ruolo a livello di progetto, esegui il seguente comando:
gcloud iam roles update ROLE_ID --project=PROJECT_ID \ --stage=DISABLED
Ogni valore segnaposto è descritto di seguito:
-
ROLE_ID
è il nome del ruolo, ad esempiomyCompanyAdmin
. -
ORGANIZATION_ID
è l'ID numerico dell'organizzazione, ad esempio123456789012
. -
PROJECT_ID
è il nome del progetto, ad esempiomy-project
.
Esempi
L'esempio seguente mostra come disabilitare un ruolo a livello di organizzazione:
gcloud iam roles update myCompanyAdmin --organization=123456789012 \ --stage=DISABLED
Se il ruolo è stato aggiornato correttamente, l'output del comando è simile al seguente:
description: My custom role description. etag: BwVkB5NLIQw= includedPermissions: - iam.roles.get - iam.roles.list name: organization/123456789012/roles/myCompanyAdmin stage: DISABLED title: My Company Admin
L'esempio seguente mostra come disattivare un ruolo a livello di progetto:
gcloud iam roles update myCompanyAdmin --project=my-project \ --stage=DISABLED
Se il ruolo è stato aggiornato correttamente, l'output del comando è simile al seguente:
description: My custom role description. etag: BwVkB5NLIQw= includedPermissions: - iam.roles.get - iam.roles.list name: projects/my-project/roles/myCompanyAdmin stage: DISABLED title: My Company Admin
-
C++
Aggiorna il campo
stage
del ruolo inDISABLED
.C#
Aggiorna il campo
stage
del ruolo inDISABLED
.Go
Aggiorna il campo
stage
del ruolo aDISABLED
.Java
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM Java.
Per autenticarti in IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Python
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta API IAM Python documentazione di riferimento.
Per eseguire l'autenticazione su IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
REST
Il metodo
roles.patch
consente di impostare la fase di lancio di un ruolo personalizzato suDISABLED
, disattivando il ruolo.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
RESOURCE_TYPE
: il tipo di risorsa di cui vuoi gestire i ruoli personalizzati. Utilizza il valoreprojects
oorganizations
.RESOURCE_ID
: l'ID progetto o organizzazione di cui vuoi gestire i ruoli personalizzati. Gli ID progetto sono stringhe alfanumeriche, comemy-project
. Gli ID organizzazione sono numerici, ad esempio123456789012
.ROLE_NAME
: il nome completo del ruolo, inclusi eventuali preffissiorganizations/
,projects/
oroles/
. Ad esempio,organizations/123456789012/roles/myCompanyAdmin
.ETAG
: un identificatore di una versione del ruolo. Includi questo campo per evitare di sovrascrivere altre modifiche ai ruoli.
Metodo HTTP e URL:
PATCH https://iam.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/roles
Corpo JSON della richiesta:
{ "roleId": "ROLE_NAME", "stage": DISABLED, "etag": "ETAG" }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/test-project-1000092/roles/myCompanyAdmin", "stage": "DISABLED", "etag": "BwWoyDpAxBc=" }
Elenco dei ruoli
Puoi elencare tutti i ruoli personalizzati creati nel progetto o nell'organizzazione.
Console
Nella console Google Cloud, vai alla pagina Ruoli.
Nella pagina sono elencati tutti i ruoli personalizzati per l'organizzazione o il progetto selezionati.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Utilizza il comando
gcloud iam roles list
per elencare i ruoli personalizzati e predefiniti per un progetto o un'organizzazione:-
Per elencare i ruoli personalizzati a livello di organizzazione, esegui questo comando:
gcloud iam roles list --organization=ORGANIZATION_ID
-
Per elencare i ruoli personalizzati a livello di progetto, esegui il comando seguente:
gcloud iam roles list --project=PROJECT_ID
Ogni valore segnaposto è descritto di seguito:
-
ORGANIZATION_ID
è l'ID numerico dell'organizzazione, ad esempio123456789012
. -
PROJECT_ID
è il nome del progetto, ad esempiomy-project
.
Per elencare i ruoli eliminati, puoi anche specificare il flag
--show-deleted
.Esegui il comando seguente per elencare i ruoli predefiniti:
gcloud iam roles list
-
C++
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM C++.
Per eseguire l'autenticazione su IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
C#
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta API IAM C# documentazione di riferimento.
Per autenticarti in IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Go
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM Go.
Per eseguire l'autenticazione su IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Java
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM Java.
Per eseguire l'autenticazione su IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Prima di iniziare.
Python
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta API IAM Python documentazione di riferimento.
Per autenticarti in IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Prima di iniziare.
REST
La
roles.list
che elenca tutti i ruoli personalizzati in un progetto o in un'organizzazione.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
RESOURCE_TYPE
: il tipo di risorsa di cui vuoi gestire i ruoli personalizzati. Utilizza il valoreprojects
oorganizations
.RESOURCE_ID
: l'ID progetto o organizzazione di cui vuoi gestire i ruoli personalizzati. Gli ID progetto sono stringhe alfanumeriche, comemy-project
. Gli ID organizzazione sono numerici, ad esempio123456789012
.ROLE_VIEW
: facoltativo. Le informazioni da includere per i ruoli restituiti. Per includere le autorizzazioni dei ruoli, imposta questo campo suFULL
. Per escludere ruoli , imposta questo campo suBASIC
. Il valore predefinito èBASIC
.PAGE_SIZE
: facoltativo. Il numero di ruoli da includere nel la risposta corretta. Il valore predefinito è 300, mentre il valore massimo è 1000. Se il numero di ruoli rispetto alle dimensioni della pagina, la risposta contiene un token di impaginazione recupera la pagina successiva di risultati.NEXT_PAGE_TOKEN
: facoltativo. Il token di pagina restituito in una risposta precedente di questo metodo. Se specificato, l'elenco dei ruoli inizierà da dove è terminata la richiesta precedente.
Metodo HTTP e URL:
GET https://iam.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/roles?view=ROLE_VIEW&pageSize=PAGE_SIZE&pageToken=NEXT_PAGE_TOKEN
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "roles": [ { "name": "projects/my-project/roles/customRole1", "title": "First Custom Role", "description": "Created on: 2020-06-01", "etag": "BwWiPg2fmDE=" }, { "name": "projects/my-project/roles/customRole2", "title": "Second Custom Role", "description": "Created on: 2020-06-07", "etag": "BwWiuX53Wi0=" } ] }
Eliminazione di un ruolo personalizzato
Puoi eliminare qualsiasi ruolo personalizzato nel progetto o nell'organizzazione.
Console
Nella console Google Cloud, vai alla pagina Ruoli.
Seleziona il ruolo da eliminare e fai clic su delete Elimina nella parte superiore della pagina.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Usa il comando
gcloud iam roles delete
per eliminare un ruolo personalizzato:-
Per eliminare un ruolo personalizzato a livello di organizzazione, esegui questo comando:
gcloud iam roles delete ROLE_ID --organization=ORGANIZATION_ID
-
Per eliminare un ruolo personalizzato a livello di progetto, esegui questo comando:
gcloud iam roles delete ROLE_ID --project=PROJECT_ID
Ogni valore segnaposto è descritto di seguito:
-
ROLE_ID
è il nome del ruolo, ad esempiomyCompanyAdmin
. -
ORGANIZATION_ID
è l'ID numerico dell'organizzazione, ad esempio123456789012
. -
PROJECT_ID
è il nome del progetto, ad esempiomy-project
.
Il ruolo non verrà incluso in
gcloud iam roles list
, a meno che non sia incluso il flag--show-deleted
. I ruoli eliminati sono indicati dal bloccodeleted: true
in una rispostalist
, ad esempio:--- deleted: true description: My custom role description. etag: BwVkB5NLIQw= name: projects/my-project/roles/myCompanyAdmin title: My Company Admin ---
-
C++
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM C++.
Per autenticarti in IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
C#
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta API IAM C# documentazione di riferimento.
Per autenticarti in IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Prima di iniziare.
Go
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta API IAM Go documentazione di riferimento.
Per autenticarti in IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Java
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM Java.
Per eseguire l'autenticazione su IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Python
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM Python.
Per autenticarti in IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Prima di iniziare.
REST
Il metodo
roles.delete
elimina un ruolo personalizzato in un progetto o un'organizzazione.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
ROLE_NAME
: il nome completo del ruolo, inclusi eventuali Prefissiorganizations/
,projects/
oroles/
. Ad esempio,organizations/123456789012/roles/myCompanyAdmin
.
Metodo HTTP e URL:
DELETE https://iam.googleapis.com/v1/ROLE_NAME
Per inviare la richiesta, espandi una di queste opzioni:
La risposta contiene la definizione del ruolo eliminato.
{ "name": "projects/my-project/roles/myCompanyAdmin", "title": "My Company Admin", "description": "My custom role description.", "includedPermissions": [ "iam.roles.get", "iam.roles.list" ], "etag": "BwWiPg2fmDE=", "deleted": true }
Quando un ruolo viene eliminato, tutte le associazioni di ruoli che fanno riferimento al ruolo rimangono in di autorizzazione, ma non hanno alcun effetto. Puoi annullare l'eliminazione di un ruolo entro 7 giorni. Durante questo periodo di 7 giorni viene indicato che il ruolo è stato eliminato. Puoi anche elencare i ruoli eliminati in modo programmatico, ma vengono omessi per impostazione predefinita.
Dopo 7-14 giorni, è pianificata l'eliminazione definitiva del ruolo. A questo punto, il ruolo vengono conteggiati ai fini del limite di 300 ruoli personalizzati dell'organizzazione o di 300 ruoli personalizzati per progetto.
La procedura di eliminazione definitiva richiede 30 giorni. Durante la finestra di 30 giorni, il ruolo e tutti i associazioni vengono rimosse definitivamente e non puoi creare un nuovo ruolo con lo stesso l'ID ruolo.
Dopo l'eliminazione definitiva del ruolo, puoi creare un nuovo ruolo utilizzando lo stesso ID ruolo fino a 44 giorni dopo la richiesta di eliminazione iniziale.
Annullare l'eliminazione di un ruolo personalizzato
L'annullamento dell'eliminazione di un ruolo ripristina lo stato precedente.
L'annullamento dell'eliminazione dei ruoli è possibile solo entro 7 giorni. Dopo 7 giorni, il ruolo può essere eliminato definitivamente in qualsiasi momento e tutte le associazioni di ruolo che fanno riferimento al ruolo vengono rimosse.
Console
Nella console Google Cloud, vai alla pagina Ruoli.
Individua il ruolo di cui vuoi annullare l'eliminazione, fai clic sull'icona Altro alla fine della riga e poi su Annulla eliminazione.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Utilizza il comando
gcloud iam roles undelete
per annullare l'eliminazione di un ruolo personalizzato:-
Per annullare l'eliminazione di un ruolo personalizzato a livello di organizzazione, esegui il seguente comando:
gcloud iam roles undelete ROLE_ID --organization=ORGANIZATION_ID
-
Per annullare l'eliminazione di un ruolo personalizzato a livello di progetto, esegui il seguente comando:
gcloud iam roles undelete ROLE_ID --project=PROJECT_ID
Ogni valore segnaposto è descritto di seguito:
-
ROLE_ID
è il nome del ruolo, ad esempiomyCompanyAdmin
. -
ORGANIZATION_ID
è l'ID numerico dell'organizzazione, ad esempio123456789012
. -
PROJECT_ID
è il nome del progetto, ad esempiomy-project
.
Esempi
L'esempio seguente mostra come annullare l'eliminazione di un ruolo personalizzato a livello di organizzazione:
gcloud iam roles undelete myCompanyAdmin --organization=123456789012
Se l'annullamento dell'eliminazione del ruolo è andato a buon fine, l'output del comando è simile al seguente:
description: My custom role description. etag: BwVkCAx9W6w= includedPermissions: - iam.roles.get - iam.roles.list name: organization/123456789012/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
L'esempio seguente mostra come annullare l'eliminazione di un ruolo personalizzato a livello di progetto:
gcloud iam roles undelete myCompanyAdmin --project=my-project
Se l'eliminazione del ruolo è stata annullata correttamente, l'output del comando è simile al seguente:
description: My custom role description. etag: BwVkCAx9W6w= includedPermissions: - iam.roles.get - iam.roles.list name: projects/my-project/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
-
C++
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta API IAM C++ documentazione di riferimento.
Per eseguire l'autenticazione su IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
C#
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM C#.
Per eseguire l'autenticazione su IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Go
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM Go.
Per eseguire l'autenticazione su IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Java
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM Java.
Per eseguire l'autenticazione su IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Prima di iniziare.
Python
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta API IAM Python documentazione di riferimento.
Per autenticarti in IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Prima di iniziare.
REST
Il metodo
roles.undelete
annulla l'eliminazione di un ruolo personalizzato in un progetto o un'organizzazione.Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
ROLE_NAME
: il nome completo del ruolo, inclusi eventuali Prefissiorganizations/
,projects/
oroles/
. Ad esempio,organizations/123456789012/roles/myCompanyAdmin
.ETAG
: un identificatore di una versione del ruolo. Includi questo campo per evitare di sovrascrivere altre modifiche ai ruoli.
Metodo HTTP e URL:
POST https://iam.googleapis.com/v1/ROLE_NAME:undelete
Corpo JSON della richiesta:
{ "etag": "ETAG" }
Per inviare la richiesta, espandi una di queste opzioni:
La risposta contiene la definizione del ruolo di cui è stato annullato l'eliminazione.
{ "name": "projects/my-project/roles/myCompanyAdmin", "title": "My Company Admin", "description": "My custom role description.", "includedPermissions": [ "iam.roles.get", "iam.roles.list" ], "etag": "BwWiPg2fmDE=" }
Passaggi successivi
- Scopri come concedere ruoli alle entità.
- Scopri come puoi utilizzare i consigli sui ruoli per autorizzazioni downscope per le entità.
- Scopri di più sulle concessioni di ruoli condizionali, che concedono un ruolo solo se se vengono soddisfatte determinate condizioni.
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-11-23 UTC.