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 consente di limitare l'insieme di identità che possono essere utilizzata 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 a livello di cartella o di progetto. Per ulteriori informazioni sull'aggiunta di eccezioni, consulta Sostituire il criterio dell'organizzazione per un progetto.

Il vincolo di limitazione dei domini 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 verrebbero limitate dal vincolo di limitazione del dominio e bloccate.

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 dei domini si basa sul iam.allowedPolicyMemberDomains dell'elenco.

Quando questo vincolo viene impostato su una risorsa organizzazione Google Cloud, influisce a tutte le identità associate alla risorsa dell'organizzazione. Quando questo su un dominio Google Workspace, verrà applicato a tutte le identità che si trovano in quel dominio. Sono inclusi gli account utente gestiti nel dalla console Google Workspace, non dall'interno della console Google Cloud.

Impostazione del criterio dell'organizzazione

Il vincolo di limitazione dei domini è un tipo 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 Compute Engine delle VM in esecuzione.

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 dei domini: le seguenti:

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

    Vai a Criteri dell'organizzazione

  2. Dal selettore dei progetti, seleziona la risorsa dell'organizzazione sulla quale vuoi configurare 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 Si applica a, seleziona Sostituisci criterio della risorsa padre.

  6. Fai clic su Aggiungi una regola.

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

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

  9. In Valori personalizzati, inserisci ID risorsa dell'organizzazione oppure ID cliente Google Workspace nel .

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

  11. Fai clic su Fine.

  12. Facoltativamente, per rendere condizionale il vincolo di limitazione dei domini a una 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 la descrizione fornisce il contesto sui tag obbligatori e su come hanno un impatto sulle risorse.

    3. Puoi utilizzare il generatore di condizioni per creare una condizione richiede un determinato tag affinché il vincolo abbia effetto.

      1. Nel menu a discesa Tipo di condizione nella sezione Nella scheda Generatore di condizioni, seleziona Tag.

      2. Seleziona l'operatore per la tua 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 del tag con spazio dei nomi. 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 e richiederli tutti attivando l'opzione E. Puoi impostare la logica condizionale richiede che solo una delle condizioni sia vera attivando/disattivando Or.

      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 che includa il vincolo di limitazione dei domini, esegui questo :

Per impostare un criterio dell'organizzazione che includa la restrizione di dominio vincolo, esegui questo comando:

gcloud org-policies set-policy POLICY_PATH

Dove POLICY_PATH è il percorso completo il file YAML dei criteri dell'organizzazione, che dovrebbe 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 ID della risorsa dell'organizzazione su cui impostare questo criterio.
  • PRINCIPAL_SET per gli identificatori entità di Cloud Identity che vuoi consentire, ad esempio ID risorsa dell'organizzazione. Ad esempio: is:principalSet://iam.googleapis.com/organizations/01234567890123.

    È necessario utilizzare gli ID cliente Google Workspace per a tutte le altre identità. Ad esempio, is:C03g5e3bc.

Solo le identità che appartengono all'ID risorsa dell'organizzazione Il dominio Google Workspace dell'elenco di allowed_values sarà consentito il Criteri IAM dopo l'applicazione di questo criterio dell'organizzazione. Gli utenti e i gruppi umani di Google Workspace devono essere figli dell'organizzazione risorsa o parte di quel dominio Google Workspace e il servizio IAM devono essere figli di una risorsa dell'organizzazione associata dominio Google Workspace.

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 tentando 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 di 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 gli ID risorsa dell'organizzazione corrispondenti.

API

Per trovare l'ID risorsa dell'organizzazione mediante l'API Cloud Resource Manager, utilizza la classe organizations.search() inclusa 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, che include l'ID 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 saperne di più sugli identificatori entità IAM, consulta Identificatori entità.

Recupero di un ID cliente Google Workspace

L'ID cliente di Google Workspace utilizzato dal vincolo di limitazione di dominio può ottenerlo in due modi:

gcloud

L'elenco delle organizzazioni di gcloud questo comando può essere usato per vedere tutte le organizzazioni per cui hai 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 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à l'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 questo comando per eseguire una query sull'API Google Workspace Directory:

    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 di Google Workspace è id.

Limitazione dei sottodomini

Se consenti una risorsa organizzazione Google Cloud in una limitazione di dominio consente l'accesso a tutte le risorse associate risorsa dell'organizzazione e blocca l'accesso a tutti gli altri.

Se consenti l'utilizzo di un ID cliente Google Workspace in un vincolo di limitazione di dominio, limita l'accesso a tutti i domini associati a quel Google Workspace ID cliente e blocca 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 controlla il principale e tutti i domini secondari che possono accedere alla risorsa e ai relativi discendenti nella gerarchia delle risorse.

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

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 differenziare l'accesso ai vincoli di limitazione di dominio tra due domini, ognuno il dominio deve essere associato a un altro account Google Workspace. 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 controllo dell'accesso più granulare dell'accesso. Per ulteriori informazioni, vedi Gestione di 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 tenti di collegare Google Analytics 360 a BigQuery in cui viene applicato il vincolo di limitazione del dominio, l'azione non va a buon fine il messaggio di errore One or more users named in the policy do not belong to a permitted customer, anche se analytics-processing-dev@system.gserviceaccount.com account di servizio è già aggiunto come Editor a livello di progetto, direttamente o mediante Google Gruppi.

Per collegare Google Analytics 360 a BigQuery:

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

  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, Cloud Functions Cloud Run, Cloud Storage e Pub/Sub supportano i dati pubblici condivisione. 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 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 errore. 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 degli accessi allo spazio di archiviazione

Se abilitato, il vincolo di limitazione del dominio bloccherà tutti i domini non specificatamente consentiti nel criterio dell'organizzazione. Ciò impedirà la concessione accedono anche 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 dei domini.

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

  3. Applica il vincolo di limitazione del dominio.

Concessione dei ruoli di agente di servizio

I ruoli di agente di servizio sono concessi solo a account di servizio. Se devi concedere questo tipo di ruolo, segui questi passaggi:

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

  2. Concedi il ruolo di agente di servizio.

  3. Applica il vincolo di limitazione del dominio.

Abilita 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 il vincolo di limitazione del dominio.

Gruppi Google

Ai gruppi Google creati all'interno di un dominio consentito possono sempre essere concessi ruoli in: il criterio IAM quando viene applicato il vincolo di limitazione del dominio anche se il gruppo contiene membri esterni al dominio.

Per garantire che gli amministratori del progetto non possano ignorare la restrizione di dominio. vincolo, l'amministratore di Google Workspace deve assicurarsi che i proprietari dei gruppi non possono consentire i membri al di fuori del dominio nel nel riquadro di amministratore di Google Workspace.

Forzare l'accesso all'account

Se devi forzare l'accesso all'account per un progetto che viola il dominio restrizioni:

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

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

  3. Implementare il criterio dell'organizzazione con il vincolo di limitazione dei domini di nuovo.

In alternativa, puoi concedere l'accesso a un gruppo Google che contiene i dati pertinenti account di servizio:

  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.