Limitazione delle identità per dominio

Resource Manager offre un vincolo di limitazione dei domini che può essere utilizzato nei criteri dell'organizzazione per limitare la condivisione delle risorse in base al dominio o alle risorse dell'organizzazione. Questo vincolo consente di limitare l'insieme di identità che possono essere utilizzate nei criteri di Identity and Access Management.

I criteri dell'organizzazione possono utilizzare questo vincolo per limitare la condivisione delle risorse che appartengono a una determinata risorsa dell'organizzazione. In alternativa, puoi specificare un insieme di uno o più domini e le eccezioni possono essere concesse in base alla cartella o al progetto. Per ulteriori informazioni sull'aggiunta di eccezioni, consulta Sostituire il criterio dell'organizzazione per un progetto.

Il vincolo di limitazione del dominio non è retroattivo. Una volta che una restrizione di dominio è impostata, questa limitazione si applica alle modifiche ai criteri IAM apportate da quel momento in poi e non alle modifiche precedenti. La restrizione di dominio verrà applicato a qualsiasi modifica ai criteri IAM, tra cui le modifiche apportate da un agente di servizio in risposta alle un'altra azione. Ad esempio, se hai un servizio automatico che importa set di dati BigQuery, un agente di servizio BigQuery provvederà Modifiche ai criteri IAM sul set di dati appena creato. Questa azione sarebbe limitata dal vincolo di limitazione del dominio e bloccata.

Ad esempio, consideriamo due organizzazioni correlate: examplepetstore.com e altostrat.com. Hai concesso l'identità di un esempionegozioanimali.it un ruolo IAM in altostrat.com. In seguito, hai deciso di limitare identità per dominio e implementato un criterio dell'organizzazione con il dominio vincolo di limitazione in altostrat.com. In questo caso, l'istanza esistente Le identità examplepetstore.com non perderanno l'accesso ad altostrat.com. Da A quel punto, potresti concedere ruoli IAM solo alle identità il dominio altostrat.com.

Il vincolo di limitazione del dominio si basa sul vincolo di elenco iam.allowedPolicyMemberDomains.

Quando questo vincolo è impostato su una risorsa organizzazione Google Cloud, influisce su tutte le identità che hanno come organizzazione principale la risorsa organizzazione. Quando questo vincolo viene impostato su un dominio Google Workspace, interessa tutte le identità al suo interno. Sono inclusi gli account utente gestiti nella console Google Workspace e non nella console Google Cloud.

Impostazione del criterio dell'organizzazione

Il vincolo di limitazione del dominio è un tipo di vincolo di elenco. Gli ID cliente di Google Workspace e gli ID risorsa dell'organizzazione Google Cloud possono essere aggiunta e rimozione dall'elenco allowed_values di una limitazione di dominio di blocco. Il vincolo di limitazione dei domini non supporta il rifiuto dei valori, e non sarà possibile salvare un criterio dell'organizzazione con ID nell'elenco denied_values.

Tutti i domini associati a un account Google Workspace o a una risorsa dell'organizzazione elencati in allowed_values saranno consentiti dal criterio dell'organizzazione. Tutti altri domini saranno rifiutati dal criterio dell'organizzazione.

Puoi creare un criterio dell'organizzazione che applichi il vincolo di limitazione dei domini condizionale a qualsiasi risorsa inclusa elenco delle risorse supportate. Ad esempio, bucket Cloud Storage, set di dati BigQuery o VM Compute Engine.

Devi disporre dell'autorizzazione per la modifica criteri dell'organizzazione. di blocco. Ad esempio, orgpolicy.policyAdmin dispone dell'autorizzazione per impostare vincoli dei criteri dell'organizzazione. La resourcemanager.organizationAdmin dispone dell'autorizzazione per aggiungere un utente come amministratore dei criteri dell'organizzazione. Leggi Utilizzo dei vincoli pagina per saperne di più sulla gestione dei criteri a livello di organizzazione.

Console

Per impostare un criterio dell'organizzazione che includa un vincolo di limitazione del dominio, procedi come segue:

  1. Nella console Google Cloud, vai alla pagina Norme dell'organizzazione.

    Vai a Criteri dell'organizzazione

  2. Dal selettore di progetti, seleziona la risorsa dell'organizzazione sulla quale vuoi impostare il criterio dell'organizzazione.

  3. Nella pagina Criteri dell'organizzazione, seleziona Condivisione limitata per il dominio dall'elenco dei vincoli.

  4. Nella pagina Dettagli norme, fai clic su Gestisci norme.

  5. In Applicabile a, seleziona Ignora criterio della risorsa padre.

  6. Fai clic su Aggiungi una regola.

  7. In Valori criterio, seleziona Personalizzato. Nota: il vincolo di limitazione del dominio non supporta Nega tutti.

  8. In Tipo di criterio, seleziona Consenti. Nota: la limitazione del dominio non supporta i valori Deny.

  9. In Valori personalizzati, inserisci un ID risorsa organizzazione o un ID cliente Google Workspace nel campo.

  10. Se vuoi aggiungere più ID, fai clic su Nuovo valore criterio per creare un altro campo.

  11. Fai clic su Fine.

  12. Facoltativamente, per rendere il vincolo di limitazione del dominio condizionale su un tag, fai clic su Aggiungi condizione.

    1. Nel campo Titolo, inserisci un nome per la condizione.

    2. Nel campo Descrizione, inserisci una descrizione della condizione. La descrizione fornisce il contesto sui tag richiesti e sul loro impatto sulle risorse.

    3. Puoi utilizzare lo Strumento per la creazione di condizioni per creare una condizione che richiede un determinato tag per l'applicazione della limitazione.

      1. Nel menu a discesa Tipo di condizione della scheda Generatore di condizioni, seleziona Tag.

      2. Seleziona l'operatore per la condizione. Per associare un intero tag, utilizza l'operatore matches. Per far corrispondere una chiave tag a un valore tag, Utilizza l'operatore corrisponde all'ID.

      3. Se hai selezionato l'operatore corrisponde, inserisci il valore nome con spazio dei nomi del tag. Se hai selezionato l'ID corrispondenza inserisci gli ID chiave e valore.

      4. Puoi creare più condizioni facendo clic su Aggiungi. Se aggiungi un'altra condizione, puoi impostare la logica condizionale in modo che richieda tutte le condizioni attivando/disattivando E. Puoi impostare la logica condizionale in modo che richieda che solo una delle condizioni sia vera attivando/disattivando l'opzione O.

      5. Per eliminare un'espressione, fai clic sulla X grande a destra dei campi delle condizioni.

      6. Dopo aver modificato le condizioni, fai clic su Salva.

  13. Per applicare il criterio, fai clic su Imposta criterio.

gcloud

I criteri possono essere impostati tramite Google Cloud CLI. Per creare un criterio che includa la limitazione del dominio, esegui il seguente comando:

Per impostare un criterio 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 del criterio dell'organizzazione, che deve avere il seguente aspetto:

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 questo criterio.
  • PRINCIPAL_SET per gli identificatori principali di Cloud Identity che vuoi consentire, incluso l'ID risorsa dell'organizzazione. Ad esempio, is:principalSet://iam.googleapis.com/organizations/01234567890123.

    Gli ID cliente Google Workspace devono essere utilizzati per tutte le altre identità che vuoi consentire. Ad esempio, is:C03g5e3bc.

Una volta applicato questo criterio dell'organizzazione, nei criteri IAM saranno consentite solo le identità appartenenti all'ID risorsa dell'organizzazione o al dominio Google Workspace dell'elenco di allowed_values. Gli utenti e i gruppi di persone di Google Workspace devono essere elementi secondari della risorsa dell'organizzazione o parte del dominio Google Workspace e gli account di servizio IAM devono essere elementi secondari di una risorsa dell'organizzazione associata al dominio Google Workspace specificato.

Ad esempio, se hai creato un criterio dell'organizzazione con solo l'ID cliente di Google Workspace della tua azienda, possono essere aggiunte solo le entità di quel dominio al criterio IAM da quel momento in poi.

Per saperne di più sull'uso dei vincoli nei criteri dell'organizzazione, vedi Utilizzo dei vincoli.

Esempio di messaggio di errore

Quando il vincolo dell'organizzazione per la limitazione del dominio viene violato cercando di aggiungere a un'entità non inclusa nell'elenco allowed_values, l'operazione non riuscirà e verrà visualizzato un messaggio di errore.

Console

Screenshot della 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 ID risorsa dell'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, procedi nel seguente modo: le seguenti:

  1. Vai alla console Google Cloud:

    Vai alla console Google Cloud

  2. Dal selettore progetti nella parte superiore della pagina, seleziona la tua organizzazione. risorsa.
  3. Sul lato destro, fai clic su Altro e poi su Impostazioni.

La pagina Impostazioni mostra l'ID risorsa dell'organizzazione.

gcloud

Per trovare l'ID risorsa dell'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 dell'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 dell'organizzazione che appartiene a altostrat.com, inclusi l'ID della risorsa dell'organizzazione.

Una volta ottenuto l'ID risorsa dell'organizzazione, devi utilizzare quello corretto identificatore per l'insieme di entità che gli appartengono. Ad esempio:

principalSet://iam.googleapis.com/organizations/01234567890123

Per ulteriori informazioni sugli identificatori delle entità IAM, consulta Identificatori delle entità.

Recuperare un ID cliente Google Workspace

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'autorizzazioneresourcemanager.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 Google Workspace Directory può essere utilizzato per recuperare un ID cliente Google Workspace.

Dopo aver eseguito l'accesso come amministratore di Google Workspace, puoi consulta la documentazione sul metodo API Customers: get e fai clic su Esegui. Dopo l'autorizzazione, la risposta mostrerà il tuo ID cliente.

In alternativa, puoi utilizzare un client API:

  1. Ottieni un token di accesso OAuth per l'ambito https://www.googleapis.com/auth/admin.directory.customer.readonly.
  2. Esegui il comando seguente 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 che include informazioni. L'ID cliente Google Workspace è id.

Limitazione dei sottodomini

Se consenti una risorsa dell'organizzazione Google Cloud in un vincolo di limitazione del dominio, viene consentito l'accesso a tutte le risorse associate a quella risorsa dell'organizzazione e viene bloccato l'accesso a tutte le altre.

Se consenti un ID cliente Google Workspace in una limitazione del dominio, viene limitato l'accesso a tutti i domini associati a quell'ID cliente Google Workspace e viene bloccato l'accesso a tutti gli altri. Ogni account Google Workspace ha esattamente un dominio principale e zero o più domini secondari. Tutti i domini che associati all'ID cliente Google Workspace saranno soggetti ai di blocco.

L'applicazione del vincolo di limitazione del dominio a una risorsa consente di controllare e tutti i domini secondari che possono accedere alla risorsa e ai relativi discendenti nella gerarchia delle risorse.

Per esempi di combinazioni comuni di domini e sottodomini Google Workspace, consulta la tabella di seguito:

Dominio principale Sottodominio Vincolo di limitazione del dominio user@sub.altostrat.com è consentito?
altostrat.com nessuno Consenti: altostrat.com No
altostrat.com sub.altostrat.com Consenti: altostrat.com
altostrat.com sub.altostrat.com Consenti: sub.altostrat.com
sub.altostrat.com altostrat.com Consenti: sub.altostrat.com
sub.altostrat.com nessuno Consenti: sub.altostrat.com

Per distinguere l'accesso con limitazioni del dominio tra due domini, ogni dominio deve essere associato a un account Google Workspace diverso. Ciascuna L'account Google Workspace è associato a un nodo organizzazione e può avere i propri criteri dell'organizzazione. Ciò ti consente di associare altostrat.com con un account Google Workspace e sub.altostrat.com con un'altra per un controllo più granulare dell'accesso. Per saperne di più, consulta Gestire più organizzazioni.

Risoluzione dei problemi noti

I criteri dell'organizzazione non sono retroattivi. Per forzare una modifica al una gerarchia di risorse che violerebbe un vincolo applicato, puoi disabilitare il criterio dell'organizzazione, apportare la modifica e abilitare l'organizzazione norme.

Le seguenti sezioni descrivono i problemi noti relativi ai servizi che possono verificarsi quando viene applicato questo vincolo.

Collegamento di Google Analytics 360 a BigQuery

Se provi a collegare Google Analytics 360 a BigQuery dove è applicata la limitazione del dominio, l'azione non va a buon fine con il messaggio di errore One or more users named in the policy do not belong to a permitted customer, anche se l'account di servizio analytics-processing-dev@system.gserviceaccount.com è già aggiunto come Editor a livello di progetto, direttamente o utilizzando Google Gruppi.

Per collegare Google Analytics 360 a BigQuery:

  1. Disattiva il criterio dell'organizzazione contenente il vincolo di limitazione del dominio.

  2. Esegui la procedura di collegamento in Google Analytics 360.

  3. Applica il vincolo di limitazione del dominio.

Condivisione di dati pubblici

Alcuni prodotti Google Cloud, come BigQuery, le funzioni Cloud Run, Cloud Run, Cloud Storage e Pub/Sub, supportano la condivisione di dati pubblici. Applicazione del vincolo di condivisione limitata del dominio in un'organizzazione impediscono la condivisione pubblica dei dati.

Per condividere pubblicamente i dati, disattiva il dominio di condivisione limitata temporaneamente per la risorsa del progetto in cui dei dati che vuoi condividere. Dopo aver condiviso pubblicamente la risorsa, puoi quindi riattiva il vincolo di condivisione limitata del dominio.

Sink di log BigQuery per un account di fatturazione

L'account di servizio utilizzato dal sink di log BigQuery per gli account di fatturazione (formato: b*@*.iam.gserviceaccount.com) viene considerato come esterno e bloccato da al vincolo di condivisione limitata del dominio in un criterio dell'organizzazione. Per concedere a questo account di servizio un ruolo in un set di dati BigQuery in un progetto a cui è applicato il vincolo di limitazione dei domini:

  1. Disattiva il criterio dell'organizzazione contenente il vincolo di limitazione dei domini.

  2. Concedi l'account di servizio corrispondente (formato: b*@*.iam.gserviceaccount.com) il ruolo BigQuery indicato durante del processo di creazione del sink.

  3. Applica nuovamente il vincolo di limitazione del dominio.

Account di servizio di esportazione della fatturazione Cloud

È probabile che l'abilitazione dell'esportazione della fatturazione in un bucket con questo vincolo sia abilitato non riuscito. Non utilizzare questo vincolo sui bucket utilizzati per l'esportazione della fatturazione.

L'indirizzo email dell'account di servizio di esportazione della fatturazione Cloud è: 509219875288-kscf0cheafmf4f6tp1auij5me8qakbin@developer.gserviceaccount.com

Abilita il logging dell'accesso allo spazio di archiviazione

Se abilitato, il vincolo di restrizione dei domini bloccherà qualsiasi dominio non consentito specificamente nel criterio dell'organizzazione. In questo modo verrà impedita anche la concessione dell'accesso agli account di servizio Google. Per configurare logging degli accessi allo spazio di archiviazione su Cloud Storage bucket a cui è applicato il vincolo di limitazione del dominio, segui questi passaggi:

  1. Disattiva il criterio dell'organizzazione contenente il vincolo di limitazione del dominio.

  2. Concedi a cloud-storage-analytics@google.com WRITE l'accesso al bucket.

  3. Applica il vincolo di limitazione del dominio.

Assegnare i ruoli di agente di servizio

I ruoli agente di servizio vengono concessi solo agli account di servizio. Se devi concedere questo tipo di ruolo, procedi nel seguente modo:

  1. Disattiva il criterio dell'organizzazione contenente il vincolo di limitazione del dominio.

  2. Concedi il ruolo agente di servizio.

  3. Applica il vincolo di limitazione del dominio.

Abilita l'API Firebase

Se abilitato, il vincolo di limitazione del dominio bloccherà gli account di servizio che non sono consentite nel criterio dell'organizzazione. Ciò rende impossibile abilitare l'API Firebase, che richiede account di servizio esterni durante processo di abilitazione dell'API. Una volta abilitata l'API, puoi tranquillamente applicare il vincolo di limitazione dei domini senza interferire con la funzione dell'API Firebase. Per attivare l'API Firebase:

  1. Disattiva il criterio dell'organizzazione contenente il vincolo di limitazione dei domini.

  2. Attiva l'API Firebase Management.

  3. Applica nuovamente il vincolo di limitazione del dominio.

Gruppi Google

Se il vincolo di limitazione dei domini è applicato in modo forzato nella tua organizzazione, potrebbe non essere in grado di concedere ruoli ai gruppi Google appena creati, anche se I gruppi appartengono a un dominio consentito. Il motivo è che possono essere necessarie fino a 24 ore per propagare completamente tramite Google Cloud. Se non riesci a concedere un ruolo a un gruppo Google appena creato, attendi 24 ore e riprova.

Inoltre, nel valutare se un gruppo appartiene a un dominio consentito, IAM valuta solo il dominio del gruppo. Non valuta i domini di nessuno dei membri del gruppo. Di conseguenza, gli amministratori del progetto aggirare il vincolo di limitazione dei domini aggiungendo membri esterni a Google gruppi Google e la concessione di ruoli a questi gruppi Google.

Per assicurarsi che gli amministratori del progetto non possano aggirare il vincolo di limitazione del dominio, l'amministratore di Google Workspace deve assicurarsi che i proprietari di gruppi non possano autorizzare membri esterni al dominio nel pannello dell'amministratore di Google Workspace.

Forzare l'accesso all'account

Se devi forzare l'accesso all'account per un progetto in violazione delle limitazioni del dominio:

  1. Rimuovi il criterio dell'organizzazione contenente il vincolo di limitazione dei domini.

  2. Concedere all'account l'accesso al progetto.

  3. Implementa di nuovo il criterio dell'organizzazione con il vincolo di restrizione dei domini.

In alternativa, puoi concedere l'accesso a un gruppo Google contenente gli account di servizio pertinenti:

  1. Crea un gruppo Google all'interno del dominio consentito.

  2. Utilizza il riquadro di amministratore di Google Workspace per disattivare la limitazione di dominio per quel gruppo.

  3. Aggiungi l'account di servizio al gruppo.

  4. Concedi l'accesso al gruppo Google nel criterio IAM.

Utilizzare Pub/Sub come endpoint per un'app Google Chat.

Quando provi a concedere i diritti di pubblicazione sull'argomento all'account di servizio API Google Chat, potresti essere bloccato se il dominio limitato Il vincolo di condivisione è abilitato. Segui la procedura per forzare l'accesso all'account.