La condivisione limitata per i domini consente di limitare la condivisione delle risorse in base a un dominio o a una risorsa dell'organizzazione. Quando la condivisione limitata per i domini è attiva, solo alle entità che appartengono a domini o organizzazioni consentiti possono essere concessi ruoli IAM nella tua organizzazione Google Cloud .
Esistono tre tipi di policy dell'organizzazione che puoi utilizzare per limitare le identità in base al dominio:
- Il vincolo gestito
iam.managed.allowedPolicyMembers - Policy dell'organizzazione personalizzate che fanno riferimento alla risorsa
iam.googleapis.com/AllowPolicy - Il vincolo gestito legacy
iam.allowedPolicyMemberDomains
Prima di iniziare
Scegli il metodo che utilizzerai per implementare la condivisione limitata per i domini. Per scoprire di più su vantaggi e svantaggi di ciascun metodo, consulta Metodi per limitare la condivisione per dominio.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per applicare la condivisione limitata al dominio, chiedi all'amministratore di concederti il ruolo IAM Amministratore policy dell'organizzazione (roles/orgpolicy.policyAdmin) sull'organizzazione.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Utilizza il vincolo iam.managed.allowedPolicyMembers per implementare la condivisione limitata per i domini
Console
Nella console Google Cloud , vai alla pagina Policy dell'organizzazione.
Nel selettore di progetti, seleziona il progetto, la cartella o l'organizzazione per cui vuoi modificare la policy dell'organizzazione. La pagina Policy dell'organizzazione che viene visualizzata mostra un elenco filtrabile dei vincoli delle policy dell'organizzazione disponibili per questa risorsa.
Dall'elenco, seleziona il vincolo gestito Limita i membri delle policy consentiti nelle policy di autorizzazione IAM.
Nella pagina Dettagli policy, fai clic su Gestisci policy.
Nella pagina Modifica policy, seleziona Esegui override della policy dell'unità organizzativa principale.
Seleziona Aggiungi una regola e poi aggiorna la regola della policy dell'organizzazione.
In Applicazione forzata, seleziona On.
Facoltativamente, per rendere la policy dell'organizzazione condizionale su un tag, fai clic su Aggiungi condizione. Se aggiungi una regola condizionale a una policy dell'organizzazione, devi aggiungere almeno una regola non condizionale, altrimenti la policy non può essere salvata. Per maggiori dettagli, consulta Definisci l'ambito delle policy dell'organizzazione con i tag.
Nella sezione Parametri, configura i membri e i set di entità a cui vuoi concedere i ruoli nella tua organizzazione, quindi fai clic su Salva.
Facoltativamente, per visualizzare l'anteprima dell'effetto della modifica della policy dell'organizzazione prima che venga applicata, fai clic su Testa modifiche. Per saperne di più sul test delle modifiche alle policy dell'organizzazione, consulta Testa le modifiche alle policy dell'organizzazione con Policy Simulator.
Per applicare la policy dell'organizzazione in modalità dry run, fai clic su Imposta policy dry run. Per saperne di più, consulta Testa le policy dell'organizzazione.
Dopo aver verificato che la policy dell'organizzazione in modalità dry run funziona come previsto, imposta la policy attiva facendo clic su Imposta policy.
gcloud
Crea un file YAML per definire la policy dell'organizzazione:
name: organizations/ORG_ID/policies/iam.managed.allowedPolicyMembers spec: rules: - enforce: true parameters: allowedMemberSubjects: - ALLOWED_MEMBER_1 - ALLOWED_MEMBER_2 allowedPrincipalSets: - ALLOWED_PRINCIPAL_SET_1 - ALLOWED_PRINCIPAL_SET_2Sostituisci quanto segue:
ORG_ID: l'ID numerico della tua organizzazione Google Cloud.ALLOWED_MEMBER_1,ALLOWED_MEMBER_2: i membri a cui vuoi concedere i ruoli nella tua organizzazione, ad esempiouser:example-user@example.com.ALLOWED_PRINCIPAL_SET_1,ALLOWED_PRINCIPAL_SET_2: i set di entità a cui vuoi concedere i ruoli nella tua organizzazione. Ad esempio//cloudresourcemanager.googleapis.com/organizations/0123456789012.
Facoltativamente, per rendere la policy dell'organizzazione condizionale su un tag, aggiungi un blocco
conditionarules. Se aggiungi una regola condizionale a una policy dell'organizzazione, devi aggiungere almeno una regola non condizionale, altrimenti la policy non può essere salvata. Per maggiori dettagli, consulta Definisci l'ambito delle policy dell'organizzazione con i tag.Imposta la policy con il comando
org-policies set-policye il flagspec:gcloud org-policies set-policy POLICY_PATH \ --update-mask=specSostituisci
POLICY_PATHcon il percorso completo del file YAML della policy dell'organizzazione.
Per scoprire come testare la policy in modalità dry run prima di applicarla, consulta Testa le policy dell'organizzazione.
Per scoprire come simulare la policy prima di applicarla, consulta Testa le modifiche alla policy dell'organizzazione con Policy Simulator.
REST
Per impostare la policy dell'organizzazione, utilizza il metodo organizations.policies.create.
POST https://orgpolicy.googleapis.com/v2/{parent=organizations/ORGANIZATION_ID}/policies
Il corpo JSON della richiesta contiene la definizione di una policy dell'organizzazione.
Se questo vincolo non supporta i parametri, ometti il blocco parameters in rules.
{
"name": "organizations/ORG_ID/policies/CONSTRAINT_NAME",
"spec": {
"rules": [
{
"enforce": true,
"parameters": {
"allowedMemberSubjects": [
"ALLOWED_MEMBER_1",
"ALLOWED_MEMBER_2"
],
"allowedPrincipalSets": [
"ALLOWED_PRINCIPAL_SET_1",
"ALLOWED_PRINCIPAL_SET_2"
]
}
}
]
}
}
Sostituisci quanto segue:
ORG_ID: l'ID numerico della tua organizzazione Google Cloud.CONSTRAINT_NAME: il nome del vincolo che vuoi impostare.ALLOWED_MEMBER_1,ALLOWED_MEMBER_2: i membri a cui vuoi concedere i ruoli nella tua organizzazione, ad esempiouser:example-user@example.com.ALLOWED_PRINCIPAL_SET_1,ALLOWED_PRINCIPAL_SET_2: i set di entità a cui vuoi concedere i ruoli nella tua organizzazione. Ad esempio//cloudresourcemanager.googleapis.com/organizations/0123456789012.
Facoltativamente, per rendere la policy dell'organizzazione condizionale su un tag, aggiungi un blocco condition a rules. Se aggiungi una regola condizionale a una policy dell'organizzazione, devi aggiungere almeno una regola non condizionale, altrimenti la policy non può essere salvata. Per maggiori dettagli, consulta Definisci l'ambito delle policy dell'organizzazione con i tag.
Per scoprire come testare la policy in modalità dry run prima di applicarla, consulta Testa le policy dell'organizzazione.
Per scoprire come simulare la policy prima di applicarla, consulta Testa le modifiche alla policy dell'organizzazione con Policy Simulator.
Utilizza le policy dell'organizzazione personalizzate per implementare la condivisione limitata per i domini
Crea un vincolo personalizzato che limita le entità a cui possono essere concessi ruoli nella tua organizzazione:
Utilizza la funzione CEL
memberInPrincipalSetcon l'entità della tua organizzazione impostata per limitare le concessioni dei ruoli ai membri della tua organizzazione. Per scoprire come trovare l'ID organizzazione, consulta Recupero di un set di entità dell'organizzazione.Ad esempio, il seguente vincolo limita le concessioni dei ruoli ai membri della tua organizzazione:
name: organizations/ORG_ID/customConstraints/custom.allowInternalIdentitiesOnly resourceTypes: iam.googleapis.com/AllowPolicy methodTypes: - CREATE - UPDATE condition: "resource.bindings.all( binding, binding.members.all(member, MemberInPrincipalSet(member, ['//cloudresourcemanager.googleapis.com/organizations/ORG_ID']) ) )" actionType: ALLOW displayName: Only allow organization members to be granted rolesFacoltativamente, perfeziona il vincolo aggiungendo altre funzioni CEL, unite con operatori logici (
&&,||o!). Puoi aggiungere una delle seguenti funzioni:Ad esempio, il seguente vincolo limita le concessioni dei ruoli ai membri della tua organizzazione e a
admin@example.com:name: organizations/ORG_ID/customConstraints/custom.allowInternalIdentitiesOnly resourceTypes: iam.googleapis.com/AllowPolicy methodTypes: - CREATE - UPDATE condition: "resource.bindings.all( binding, binding.members.all(member, ( MemberInPrincipalSet(member, ['//cloudresourcemanager.googleapis.com/organizations/ORG_ID']) || MemberSubjectMatches(member, ['user:admin@example.com']) ) ) )" actionType: ALLOW displayName: Only allow organization members and service agents to be granted roles
Configura il vincolo personalizzato:
Console
Per creare un vincolo personalizzato:
- Nella console Google Cloud , vai alla pagina Policy dell'organizzazione.
- Nel selettore di progetti, seleziona il progetto per cui vuoi impostare la policy dell'organizzazione.
- Fai clic su Vincolo personalizzato.
- Nella casella Nome visualizzato, inserisci un nome leggibile per il vincolo. Questo nome viene utilizzato nei messaggi di errore e può essere impiegato per l'identificazione e il debug. Non utilizzare informazioni che consentono l'identificazione personale (PII) o dati sensibili nei nomi visualizzati perché potrebbero essere esposti nei messaggi di errore. Questo campo può contenere fino a 200 caratteri.
-
Nella casella ID vincolo, inserisci l'ID che vuoi assegnare al nuovo vincolo personalizzato. Un vincolo personalizzato può contenere solo lettere (maiuscole e minuscole) o numeri, ad esempio
custom.allowInternalIdentitiesOnly. Questo campo può contenere fino a 70 caratteri, senza contare il prefisso (custom.), ad esempioorganizations/123456789/customConstraints/custom. Non includere PII o dati sensibili nell'ID vincolo perché potrebbero essere esposti nei messaggi di errore. - Nella casella Descrizione, inserisci una descrizione leggibile del vincolo. Questa descrizione viene utilizzata come messaggio di errore in caso di violazione della policy. Includi dettagli sul motivo della violazione della policy e su come risolverla. Non includere PII o dati sensibili nella descrizione perché potrebbero essere esposti nei messaggi di errore. Questo campo può contenere fino a 2000 caratteri.
-
Nella casella Tipo di risorsa, seleziona il nome della risorsa REST Google Cloud contenente l'oggetto e il campo che vuoi limitare, ad esempio
container.googleapis.com/Cluster. La maggior parte dei tipi di risorse supporta fino a 20 vincoli personalizzati. Se tenti di creare altri vincoli personalizzati, l'operazione non riesce. -
Questo vincolo può essere applicato solo al metodo REST
CREATE. - Per definire una condizione, fai clic su Modifica condizione.
-
Nel riquadro Aggiungi condizione, crea una condizione CEL che fa riferimento a una risorsa di servizio supportata, ad esempio
resource.management.autoUpgrade == false. Questo campo può contenere fino a 1000 caratteri. Per informazioni dettagliate sull'utilizzo del CEL, consulta Common Expression Language. Per saperne di più sulle risorse di servizio che puoi utilizzare nei vincoli personalizzati, consulta Servizi supportati dai vincoli personalizzati. - Fai clic su Salva.
- In Azione, seleziona se consentire o negare il metodo valutato se la condizione viene soddisfatta.
- Fai clic su Crea vincolo.
Per visualizzare i metodi supportati per ogni servizio, individualo in Servizi che supportano i vincoli personalizzati.
L'azione per negare fa sì che l'operazione di creazione o aggiornamento della risorsa viene bloccata se la condizione restituisce il valore true.
L'azione per consentire fa sì che l'operazione di creazione o aggiornamento della risorsa è consentita solo se la condizione restituisce il valore true. Tutti gli altri casi, tranne quelli elencati esplicitamente nella condizione, vengono bloccati.
Dopo aver inserito un valore in ogni campo, a destra viene visualizzata la configurazione YAML equivalente per questo vincolo personalizzato.
gcloud
- Per creare un vincolo personalizzato, crea un file YAML utilizzando il seguente formato:
-
ORGANIZATION_ID: l'ID della tua organizzazione, ad esempio123456789. -
CONSTRAINT_NAME: il nome che vuoi assegnare al nuovo vincolo personalizzato. Un vincolo personalizzato può contenere solo lettere (maiuscole e minuscole) o numeri, ad esempiocustom.allowInternalIdentitiesOnly. Questo campo può contenere fino a 70 caratteri, senza contare il prefisso (custom.), ad esempioorganizations/123456789/customConstraints/custom. Non includere PII o dati sensibili nell'ID vincolo perché potrebbero essere esposti nei messaggi di errore. -
RESOURCE_NAME: il nome completo della risorsa Google Cloudcontenente l'oggetto e il campo che vuoi limitare. Ad esempio,iam.googleapis.com/AllowPolicy. La maggior parte dei tipi di risorse supporta fino a 20 vincoli personalizzati. Se tenti di creare altri vincoli personalizzati, l'operazione non riesce. -
methodTypes: i metodi REST su cui viene applicato il vincolo. Può essere soloCREATE. -
CONDITION: una condizione CEL scritta in base a una rappresentazione di una risorsa di servizio supportata. Questo campo può contenere fino a 1000 caratteri. Ad esempio,"resource.bindings.all( binding, binding.members.all(member, MemberInPrincipalSet(member, ['//cloudresourcemanager.googleapis.com/organizations/ORG_ID']) ) )". -
ACTION: l'azione da eseguire seconditionè soddisfatta. Può essere soloALLOW. -
DISPLAY_NAME: un nome leggibile per il vincolo. Questo nome viene utilizzato nei messaggi di errore e può essere impiegato per l'identificazione e il debug. Non utilizzare PII o dati sensibili nei nomi visualizzati perché potrebbero essere esposti nei messaggi di errore. Questo campo può contenere fino a 200 caratteri. -
DESCRIPTION: una descrizione chiara del vincolo da visualizzare come messaggio di errore in caso di violazione della policy. Questo campo può contenere fino a 2000 caratteri. -
Dopo aver creato il file YAML per un nuovo vincolo personalizzato, devi configurarlo per renderlo disponibile per le policy dell'organizzazione. Per impostare un vincolo personalizzato, utilizza il comando
gcloud org-policies set-custom-constraint: -
Per verificare che il vincolo personalizzato esista, utilizza il comando
gcloud org-policies list-custom-constraints:
name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME resourceTypes: RESOURCE_NAME methodTypes: - CREATE condition: "CONDITION" actionType: ACTION displayName: DISPLAY_NAME description: DESCRIPTION
Sostituisci quanto segue:
Per visualizzare i metodi supportati per ogni servizio, individualo in Servizi che supportano i vincoli personalizzati.
Per saperne di più sulle risorse disponibili in base alle quali scrivere condizioni, consulta Risorse supportate.
L'azione ALLOW (Consenti) indica che, se la condizione restituisce il valore true, l'operazione di creazione o aggiornamento della risorsa è consentita. Ciò significa anche che tutti gli altri casi, tranne quello elencato esplicitamente nella condizione, sono bloccati.
gcloud org-policies set-custom-constraint CONSTRAINT_PATH
Sostituisci
CONSTRAINT_PATHcon il percorso completo del file del vincolo personalizzato. Ad esempio,/home/user/customconstraint.yaml.Al termine di questa operazione, i vincoli personalizzati sono disponibili come policy dell'organizzazione nel tuo elenco di policy dell'organizzazione Google Cloud .
gcloud org-policies list-custom-constraints --organization=ORGANIZATION_ID
Sostituisci
ORGANIZATION_IDcon l'ID della risorsa della tua organizzazione.Per saperne di più, consulta Visualizzazione delle policy dell'organizzazione.
Applica la policy dell'organizzazione personalizzata:
Puoi applicare un vincolo creando una policy dell'organizzazione che lo richiami e poi applicando questa policy dell'organizzazione a una risorsa Google Cloud .Console
- Nella console Google Cloud , vai alla pagina Policy dell'organizzazione.
- Nel selettore di progetti, seleziona il progetto per cui vuoi impostare la policy dell'organizzazione.
- Nell'elenco della pagina Policy dell'organizzazione, seleziona il vincolo per visualizzare la pagina Dettagli policy relativa al vincolo in questione.
- Per configurare la policy dell'organizzazione per questa risorsa, fai clic su Gestisci policy.
- Nella pagina Modifica policy, seleziona Esegui override della policy dell'unità organizzativa principale.
- Fai clic su Aggiungi una regola.
- Nella sezione Applicazione, seleziona se questa policy dell'organizzazione viene applicata o meno.
- (Facoltativo) Per rendere la policy dell'organizzazione condizionale su un tag, fai clic su Aggiungi condizione. Tieni presente che se aggiungi una regola condizionale a una policy dell'organizzazione, devi aggiungere almeno una regola non condizionale, altrimenti la policy non può essere salvata. Per saperne di più, consulta Definisci l'ambito delle policy dell'organizzazione con i tag.
- Fai clic su Testa modifiche per simulare l'effetto della policy dell'organizzazione. Per saperne di più, consulta Testa le modifiche alla policy dell'organizzazione con Policy Simulator.
- Per applicare la policy dell'organizzazione in modalità dry run, fai clic su Imposta policy dry run. Per saperne di più, consulta Testa le policy dell'organizzazione.
- Dopo aver verificato che la policy dell'organizzazione in modalità dry run funziona come previsto, imposta la policy attiva facendo clic su Imposta policy.
gcloud
- Per creare una policy dell'organizzazione con regole booleane, crea un file YAML della policy che faccia riferimento al vincolo:
-
PROJECT_ID: il progetto in cui vuoi applicare il vincolo. -
CONSTRAINT_NAME: il nome definito per il vincolo personalizzato. Ad esempio:custom.allowInternalIdentitiesOnly. -
Per applicare la policy dell'organizzazione in modalità dry run, esegui il seguente comando con il flag
dryRunSpec: -
Dopo aver verificato che la policy dell'organizzazione in modalità dry run funziona come previsto, imposta la policy attiva con il comando
org-policies set-policye il flagspec:
name: projects/PROJECT_ID/policies/CONSTRAINT_NAME spec: rules: - enforce: true dryRunSpec: rules: - enforce: true
Sostituisci quanto segue:
gcloud org-policies set-policy POLICY_PATH --update-mask=dryRunSpec
Sostituisci
POLICY_PATHcon il percorso completo del file YAML della policy dell'organizzazione. L'applicazione della policy può richiedere fino a 15 minuti.gcloud org-policies set-policy POLICY_PATH --update-mask=spec
Sostituisci
POLICY_PATHcon il percorso completo del file YAML della policy dell'organizzazione. L'applicazione della policy può richiedere fino a 15 minuti.
Utilizza il vincolo iam.allowedPolicyMemberDomains per implementare la condivisione limitata per i domini
Il vincolo di limitazione del dominio è un vincolo gestito legacy con l'elenco constraint_type.
Puoi specificare un set di entità dell'organizzazione o un ID cliente Google Workspace nell'elenco allowed_values di un vincolo di limitazione del dominio. Per saperne di più, consulta Set di entità dell'organizzazione rispetto all'ID cliente Google Workspace.
Il set di entità della tua organizzazione e l'ID Google Workspace non sono consentiti automaticamente. Per consentire alle entità della tua organizzazione di accedere alle risorse al suo interno, il set di entità della tua organizzazione o l'ID Google Workspace deve essere incluso come set di entità consentite.
Il vincolo di limitazione del dominio non supporta i valori negati e una policy dell'organizzazione non può essere salvata con gli ID nell'elenco denied_values.
Puoi creare una policy dell'organizzazione che applica il vincolo di limitazione del dominio condizionale su qualsiasi risorsa inclusa nell'elenco delle risorse supportate. Ad esempio, bucket Cloud Storage, set di dati BigQuery o VM di Compute Engine.
Console
Per impostare una policy dell'organizzazione che includa un vincolo di limitazione del dominio, segui questi passaggi:
Nella console Google Cloud , vai alla pagina Policy dell'organizzazione.
Nel selettore di progetti, seleziona la risorsa dell'organizzazione su cui vuoi impostare la policy dell'organizzazione.
Nella pagina Policy dell'organizzazione, seleziona Limitazione del dominio dall'elenco dei vincoli.
Nella pagina Dettagli policy, fai clic su Gestisci policy.
In Si applica a, seleziona Esegui override della policy dell'unità organizzativa principale.
Fai clic su Aggiungi una regola.
In Valori policy, seleziona Personalizzato.
In Tipo di policy, seleziona Consenti.
In Valori personalizzati, inserisci un set di entità dell'organizzazione o un ID cliente Google Workspace nel campo.
Se vuoi aggiungere più ID, fai clic su Nuovo valore della policy per creare un campo aggiuntivo.
Fai clic su Fine.
Facoltativamente, per rendere il vincolo di limitazione del dominio condizionale su un tag, fai clic su Aggiungi condizione.
Nel campo Titolo, inserisci un nome per la condizione.
Nel campo Descrizione, inserisci una descrizione per la condizione. La descrizione fornisce il contesto sui tag obbligatori e sul loro impatto sulle risorse.
Puoi utilizzare il generatore di condizioni per creare una condizione che richiede un tag specifico per l'applicazione del vincolo.
Nel menu Tipo di condizione della scheda Generatore di condizioni, seleziona Tag.
Seleziona l'operatore per la condizione. Per trovare una corrispondenza con un intero tag, utilizza l'operatore matches. Per trovare una corrispondenza tra una chiave tag e un valore tag, utilizza l'operatore ID corrispondenza.
Se hai selezionato l'operatore corrisponde, inserisci il nome con spazio dei nomi del tag. Se hai selezionato l'operatore ID corrispondenza, inserisci gli ID chiave e valore.
Puoi creare più condizioni facendo clic su Aggiungi. Se aggiungi un'altra condizione, puoi impostare la logica condizionale in modo che le richieda tutte attivando And. Puoi impostare la logica condizionale in modo che richieda che solo una delle condizioni sia vera attivando O.
Puoi eliminare un'espressione facendo clic sulla X grande a destra dei campi delle condizioni.
Al termine della modifica delle condizioni, fai clic su Salva.
Per applicare la policy, fai clic su Imposta policy.
gcloud
Le policy possono essere impostate tramite Google Cloud CLI. Per creare una policy che includa il vincolo di limitazione del dominio, esegui questo comando:
Per impostare una policy dell'organizzazione che includa il vincolo di limitazione del dominio, esegui il seguente comando:
gcloud org-policies set-policy POLICY_PATH
Dove POLICY_PATH è il percorso completo del file YAML della policy dell'organizzazione, che dovrebbe essere simile al seguente:
name: organizations/ORGANIZATION_ID/policies/iam.allowedPolicyMemberDomains
spec:
rules:
- condition: # This condition applies to the values block.
expression: "resource.matchTag('ORGANIZATION_ID/environment', 'dev')"
values:
allowedValues:
- PRINCIPAL_SET
- values:
allowedValues:
- PRINCIPAL_SET
Sostituisci quanto segue:
- ORGANIZATION_ID con l'ID della risorsa dell'organizzazione su cui impostare questa policy.
- PRINCIPAL_SET per gli identificatori delle entità che vuoi consentire.
Puoi includere insiemi di entità dell'organizzazione o ID cliente di Google Workspace. Ad esempio,
is:principalSet://cloudresourcemanager.googleapis.com/organizations/01234567890123ois:C03g5e3bc.
Solo le identità specificate nell'elenco di allowed_values saranno consentite nelle policy di autorizzazione dopo l'applicazione di questa policy dell'organizzazione. Per essere consentite, le entità devono far parte del set di entità dell'organizzazione specificato o di un dominio Google Workspace specificato.
Ad esempio, se hai creato una policy dell'organizzazione che consentiva solo l'ID cliente del dominio Google Workspace della tua azienda, da quel momento in poi solo le entità associate a quel dominio potevano essere aggiunte alla policy di autorizzazione.
Esempio di messaggio di errore
Se il vincolo gestito legacy iam.allowedPolicyMemberDomains viene violato tentando di aggiungere un'entità non inclusa nell'elenco allowed_values, l'operazione non andrà a buon fine e verrà visualizzato un messaggio di errore.
Console

gcloud
ERROR: (gcloud.projects.set-iam-policy) FAILED_PRECONDITION: One or more users named in the policy do not belong to a permitted customer.
Recupero di un set di entità organizzazione
Puoi ottenere l'ID risorsa dell'organizzazione utilizzando la console Google Cloud , gcloud CLI o l'API Cloud Resource Manager.
console
Per ottenere l'ID risorsa dell'organizzazione utilizzando la console Google Cloud , segui questi passaggi:
- Vai alla console Google Cloud :
- Nel selettore di progetti nella parte superiore della pagina, seleziona la risorsa Organizzazione.
- Sul lato destro, fai clic su Altro, quindi su Impostazioni.

La pagina Impostazioni mostra l'ID risorsa dell'organizzazione.
gcloud
Per trovare l'ID risorsa della tua organizzazione, esegui questo comando:
gcloud organizations list
Questo comando elenca tutte le risorse dell'organizzazione a cui appartieni e i relativi ID risorsa dell'organizzazione.
API
Per trovare l'ID risorsa della tua organizzazione utilizzando l'API Cloud Resource Manager, utilizza il metodo organizations.search(), includendo una query per il tuo dominio. Ad esempio:
GET https://cloudresourcemanager.googleapis.com/v3/organizations:search{query=domain:altostrat.com}
La risposta contiene i metadati della risorsa organizzazione che appartiene a altostrat.com, incluso l'ID della risorsa organizzazione.
Una volta ottenuto l'ID risorsa dell'organizzazione, devi utilizzare l'identificatore corretto per l'insieme di entità che appartengono all'organizzazione. Ad esempio:
principalSet://iam.googleapis.com/organizations/01234567890123
L'inserimento del set di entità dell'organizzazione consente di concedere alle seguenti entità i ruoli nella tua organizzazione:
- Tutti i pool di identità della forza lavoro nella tua organizzazione
- Tutti i service account e i pool di identità del workload in qualsiasi progetto dell'organizzazione
- Tutti gli agenti di servizio associati alle risorse della tua organizzazione.
Per saperne di più sugli identificatori delle entità IAM, consulta Identificatori delle entità.
Recupero di un ID cliente Google Workspace
L'inserimento dell'ID cliente Google Workspace consente di concedere i ruoli alle seguenti entità nella tua organizzazione:
- Tutte le identità in tutti i domini associati al tuo ID cliente Google Workspace
- Tutti i pool di identità della forza lavoro nella tua organizzazione
- Tutti i service account e i pool di identità del workload in qualsiasi progetto dell'organizzazione
- Tutti gli agenti di servizio associati alle risorse della tua organizzazione.
L'ID cliente Google Workspace utilizzato dal vincolo di limitazione del dominio può essere ottenuto in due modi:
gcloud
Il comando gcloud organizations list può essere utilizzato per visualizzare tutte le organizzazioni per le quali disponi dell'autorizzazione resourcemanager.organizations.get:
gcloud organizations list
Questo comando restituirà DISPLAY_NAME, ID (ID organizzazione) e DIRECTORY_CUSTOMER_ID. L'ID cliente Google Workspace è
DIRECTORY_CUSTOMER_ID.
API
L'API Directory di Google Workspace può essere utilizzata per recuperare un ID cliente Google Workspace.
Dopo aver eseguito l'accesso come amministratore di Google Workspace, puoi visitare la documentazione del metodo API Clienti: get e fare clic su Esegui. Dopo l'autorizzazione, la risposta mostrerà il tuo ID cliente.
In alternativa, puoi utilizzare un client API:
- Ottieni un token di accesso OAuth per l'ambito
https://www.googleapis.com/auth/admin.directory.customer.readonly. Esegui questo comando per eseguire una query sull'API Directory di Google Workspace:
curl -# -X GET "https://www.googleapis.com/admin/directory/v1/customers/customerKey" \ -H "Authorization: Bearer $access_token" -H "Content-Type: application/json"
Questo comando restituirà una risposta JSON contenente le informazioni del cliente. L'ID cliente Google Workspace è id.
Configura le eccezioni per la condivisione limitata per i domini
Alcuni servizi Google Cloud utilizzano service account, agenti di servizio e altri account per eseguire azioni per tuo conto. La condivisione limitata per dominio può impedire che a questi account vengano concessi automaticamente i ruoli IAM di cui hanno bisogno, il che può causare l'errore di alcune azioni.
La tabella seguente elenca le azioni in Google Cloud che potrebbero essere interessate dalla condivisione limitata per dominio. Inoltre, elenca gli account a cui devono essere concessi automaticamente i ruoli per la corretta esecuzione di queste azioni.
Se utilizzi policy dell'organizzazione personalizzate o il vincolo gestito iam.managed.allowedPolicyMembers per implementare la limitazione del dominio, valuta la possibilità di aggiungere questi account come eccezioni al vincolo di limitazione del dominio. Per aggiungere un account come eccezione, aggiungi l'identificatore dell'entità per l'account all'elenco dei membri consentiti.
Se utilizzi il vincolo gestito legacy iam.allowedPolicyMemberDomains per implementare la condivisione con limitazione del dominio, potresti dover forzare l'accesso all'account per consentire a questi account di eseguire le azioni elencate.
| Azione | Identificatore entità |
|---|---|
| Abilita il sink di log BigQuery per un account di fatturazione | serviceAccount:bUNIQUE_ID@gcp-sa-logging.iam.gserviceaccount.com |
| Abilita il logging degli accessi allo spazio di archiviazione | serviceAccount:cloud-storage-analytics@google.com |
| Utilizza Pub/Sub come endpoint per un'app Google Chat | serviceAccount:chat-api-push@system.gserviceaccount.com |
| Utilizza Pub/Sub per ricevere notifiche in tempo reale per lo sviluppatore da Google Play | serviceAccount:google-play-developer-notifications@system.gserviceaccount.com |
| Utilizza Pub/Sub per ricevere avvisi relativi ai budget di fatturazione Cloud | serviceAccount:billing-budget-alert@system.gserviceaccount.com |
| Utilizza Pub/Sub per ricevere avvisi di anomalie dei costi fatturati di fatturazione Cloud | serviceAccount:cloud-billing-finops-alert@system.gserviceaccount.com |
| Utilizza un URL firmato con Cloud CDN | serviceAccount:service-PROJECT_NUMBER@cloud-cdn-fill.iam.gserviceaccount.com |
| Autenticazione dell'origine privata con Cloud CDN | serviceAccount:service-PROJECT_NUMBER@https-lb.iam.gserviceaccount.com |
Servizi pubblici Cloud Run
Cloud Run ti consente di rendere pubblici i servizi. Tuttavia, se implementi la condivisione limitata per i domini, gli utenti esterni alla tua organizzazione non potranno accedere ai servizi Cloud Run pubblici.
Per consentire agli utenti di accedere ai servizi Cloud Run pubblici, devi disattivare il controllo IAM di Cloud Run Invoker per i servizi Cloud Run. Per saperne di più, consulta Disabilita Cloud Run Invoker per i servizi.
Condividi altri dati pubblicamente
Se utilizzi policy dell'organizzazione personalizzate per implementare la condivisione limitata al dominio, puoi aggiungere un'eccezione alla policy dell'organizzazione per consentire la condivisione dei dati pubblici.
La condivisione pubblica dei dati coinvolge le entità speciali allUsers e
allAuthenticatedUsers. Se devi condividere dati pubblicamente mentre utilizzi la condivisione limitata per dominio, devi aggiungere un'eccezione per queste entità.
L'aggiunta di eccezioni è possibile solo se utilizzi policy dell'organizzazione personalizzate per implementare la limitazione del dominio.
Per aggiungere un'eccezione per allUsers e allAuthenticatedUsers, crea una policy dell'organizzazione personalizzata condizionale basata sui tag delle risorse.
Crea una chiave tag nella risorsa organizzazione.
gcloud resource-manager tags keys create allUsersIngress \ --parent=organizations/ORGANIZATION_IDSostituisci
ORGANIZATION_IDcon l'ID della tua organizzazione.Crea un valore tag per la chiave tag che hai creato.
gcloud resource-manager tags values create True \ --parent=ORGANIZATION_ID/allUsersIngress \ --description="Allow allUsers to access internal Cloud Run services"Collega il tag alle risorse che vuoi condividere pubblicamente.
Crea un vincolo personalizzato utilizzando la funzione CEL
memberSubjectMatchesnell'espressione di condizione del vincolo.Ad esempio, la seguente espressione di condizione limita le concessioni dei ruoli ai membri della tua organizzazione,
allUserseallAuthenticatedUsers:name: organizations/ORGANIZATION_ID/customConstraints/custom.allowInternalAndSpecialIdentitiesOnly resourceTypes: iam.googleapis.com/AllowPolicy methodTypes: - CREATE - UPDATE condition: "resource.bindings.all( binding, binding.members.all(member, ( MemberInPrincipalSet(member, ['//cloudresourcemanager.googleapis.com/organizations/ORG_ID']) || MemberSubjectMatches(member, ['allUsers', 'allAuthenticatedUsers']) ) ) )" actionType: ALLOW displayName: Only allow organization members, allusers, and allAuthenticatedUsers to be granted rolesCrea una policy dell'organizzazione che applichi il vincolo personalizzato.
name: organizations/ORGANIZATION_ID/policies/iam.allowedPolicyMemberDomains spec: rules: - allowAll: true condition: expression: resource.matchTag("ORGANIZATION_ID/allUsersIngress", "True") title: allowAllUsersIngressApplica la policy dell'organizzazione.
gcloud org-policies set-policy POLICY_PATHSostituisci
POLICY_PATHcon il percorso e il nome file della policy dell'organizzazione.
La policy dell'organizzazione condizionale ti consente di concedere le autorizzazioni all'identità allUsers sulle risorse con tag allUsersIngress: true.
Forzatura dell'accesso all'account
Se devi forzare l'accesso all'account per un progetto che viola le limitazioni del dominio:
Rimuovi la policy dell'organizzazione contenente il vincolo di limitazione del dominio.
Concedi l'accesso all'account per il progetto.
Implementa nuovamente la policy dell'organizzazione con il vincolo di limitazione del dominio.
In alternativa, puoi concedere l'accesso a un gruppo Google che contiene gli account di servizio pertinenti:
Crea un gruppo Google all'interno del dominio consentito.
Utilizza il pannello di amministratore di Google Workspace per disattivare la limitazione del dominio per quel gruppo.
Aggiungi il account di servizio al gruppo.
Concedi l'accesso al gruppo Google nella policy di autorizzazione.