Identitäten nach Domain einschränken

In Resource Manager steht eine Domaineinschränkung zur Verfügung, in Organisationsrichtlinien um die Ressourcenfreigabe auf Grundlage der Domain- oder Organisationsressource zu beschränken. Dieses können Sie die Gruppe von Identitäten einschränken, werden in den Richtlinien für die Identitäts- und Zugriffsverwaltung verwendet.

<ph type="x-smartling-placeholder">

Mit dieser Einschränkung können Organisationsrichtlinien die Ressourcenfreigabe auf Identitäten, die zu einer bestimmten Organisationsressource gehören. Alternativ können Sie können Sie eine oder mehrere Domains angeben. Ausnahmen können die pro Ordner oder Projekt gewährt werden. Weitere Informationen zum Hinzufügen Ausnahmen finden Sie unter Organisationsrichtlinie für ein Projekt überschreiben

Die Domaineinschränkung gilt nicht rückwirkend. Sobald eine Domaineinschränkung festgelegt wurde, gilt diese für Änderungen der IAM-Richtlinien, die ab diesem Zeitpunkt vorgenommen werden, und nicht für vorherige Änderungen. Die Domaineinschränkung gilt für alle IAM-Richtlinienänderungen, einschließlich Änderungen, die ein Dienst-Agent als Reaktion auf eine andere Aktion vornimmt. Wenn Sie beispielsweise einen automatisierten Dienst haben, der BigQuery-Datasets importiert, nimmt ein BigQuery-Dienst-Agent Änderungen an der IAM-Richtlinie für das neu erstellte Dataset vor. Diese Aktion würde durch die Domaineinschränkung eingeschränkt und blockiert werden.

Betrachten Sie zum Beispiel zwei ähnliche Organisationen: beispielstore.com und altostrat.com. Sie haben einer Identität aus beispielstore.com eine IAM-Rolle in altostrat.com gewährt. Später haben Sie sich dazu entschlossen, Identitäten nach Domain einzuschränken, und eine Organisationsrichtlinie mit Domaineinschränkung in altostrat.com implementiert. In diesem Fall würden die bereits vorhandenen Identitäten von beispielstore.com den Zugriff auf altostrat.com nicht verlieren. Sie könnten jedoch ab diesem Punkt IAM-Rollen nur noch Identitäten aus der Domain altostrat.com zuweisen.

Die Domaineinschränkung basiert auf der Listeneinschränkung iam.allowedPolicyMemberDomains.

Wenn diese Einschränkung für eine Google Cloud-Organisationsressource festgelegt ist, wirkt sich das auf Identitäten, die dieser Organisationsressource übergeordnet sind. Wenn diese für eine Google Workspace-Domain festgelegt ist, wirkt sich dies auf alle Identitäten aus. die zu dieser Domain gehören. Dazu gehören auch Nutzerkonten, die in der in der Google Workspace-Konsole und nicht in der Google Cloud Console.

Organisationsrichtlinie festlegen

Die Domaineinschränkung ist eine Art von Listeneinschränkung. Google Workspace-Kunden-IDs und Google Cloud-Ressourcen-IDs der Organisation können sein der Liste „allowed_values“ einer Domaineinschränkung hinzugefügt und daraus entfernt Einschränkung. Das Ablehnen von Werten wird von der Domaineinschränkung nicht unterstützt. und eine Organisationsrichtlinie kann nicht mit IDs in der denied_values-Liste gespeichert werden.

Alle Domains, die mit einem Google Workspace-Konto oder einer Organisationsressource verknüpft sind die in den allowed_values aufgeführt sind, werden von der Organisationsrichtlinie zugelassen. Alle andere Domains werden von der Organisationsrichtlinie abgelehnt.

Sie können eine Organisationsrichtlinie erstellen, die die Domaineinschränkung erzwingt. abhängig von den Ressourcen im Liste der unterstützten Ressourcen. Beispiele: Cloud Storage-Buckets, BigQuery-Datasets oder Compute Engine VMs

Sie müssen die Berechtigung haben, die Organisationsrichtlinien zu ändern, um diese Einschränkung festzulegen. Die Rolle orgpolicy.policyAdmin hat beispielsweise die Berechtigung zum Festlegen von Einschränkungen für Organisationsrichtlinien. Die Rolle resourcemanager.organizationAdmin ist berechtigt, einen Nutzer als Organisationsrichtlinienadministrator hinzuzufügen. Lesen Sie unter Einschränkungen verwenden, wie Richtlinien auf Organisationsebene verwaltet werden.

Console

So legen Sie eine Organisationsrichtlinie mit Domaineinschränkung fest: Folgendes:

  1. Wechseln Sie in der Google Cloud Console zur Seite Organisationsrichtlinien.

    Zu den Organisationsrichtlinien

  2. Wählen Sie in der Projektauswahl die Organisationsressource aus, für die Sie die Organisationsrichtlinie festlegen möchten.

  3. Wählen Sie auf der Seite Organisationsrichtlinien Domaineingeschränkte Freigabe aus der Liste der Einschränkungen.

  4. Klicken Sie auf der Seite Richtliniendetails auf Richtlinie verwalten.

  5. Wählen Sie unter Gilt für die Option Richtlinie der übergeordneten Ressource überschreiben aus.

  6. Klicken Sie auf Regel hinzufügen.

  7. Wählen Sie unter Richtlinienwerte die Option „Benutzerdefiniert“ aus. Hinweis: Die Domaineinschränkung Deny All wird nicht unterstützt.

  8. Wählen Sie unter Richtlinientyp Zulassen aus. Hinweis: Die Domaineinschränkung unterstützt keine Werte vom Typ Deny.

  9. Geben Sie unter Benutzerdefinierte Werte eine Ressourcen-ID der Organisation oder Google Workspace-Kundennummer in das ein.

  10. Wenn Sie mehrere IDs hinzufügen möchten, klicken Sie auf Neuer Richtlinienwert. um ein zusätzliches Feld zu erstellen.

  11. Klicken Sie auf Fertig.

  12. Optional: Um die Domaineinschränkung an eine auf Bedingung hinzufügen.

    1. Geben Sie im Feld Titel einen Namen für die Bedingung ein.

    2. Geben Sie im Feld Beschreibung eine Beschreibung für die Bedingung ein. Die Beschreibung enthält Kontext zu den erforderlichen Tags und deren Auswirkungen auf Ressourcen.

    3. Sie können den Builder für IAM-Bedingungen verwenden, um eine Bedingung zu erstellen, für die ein bestimmtes Tag erforderlich ist, damit die Einschränkung wirksam wird.

      1. Wählen Sie im Drop-down-Menü Bedingungstyp Tool zur Bedingungserstellung die Option Tag aus.

      2. Wählen Sie den Operator für Ihre Bedingung aus. Um ein ganzes Tag abzugleichen, verwenden Sie den Operator Matches. Verwenden Sie zum Abgleich eines Tag-Schlüssels und eines Tag-Werts den Operator Matches ID

      3. Wenn Sie den Operator Übereinstimmungen ausgewählt haben, geben Sie den Namen des Tags mit dem Wert ein. Wenn Sie den Operator Übereinstimmungs-ID ausgewählt haben, geben Sie die Schlüssel- und Wert-IDs ein.

      4. Sie können mehrere Bedingungen erstellen, indem Sie auf Hinzufügen klicken. Wenn Sie eine weitere Bedingung hinzufügen, können Sie die bedingte Logik so einstellen, dass sie alle erfordert, indem Sie auf Und umschalten. Sie können die bedingte Logik festlegen, dass nur eine der Bedingungen erfüllt sein muss, indem Sie auf Oder umschalten.

      5. Sie können einen Ausdruck löschen, indem Sie auf das große X rechts neben den Bedingungsfeldern klicken.

      6. Wenn Sie mit der Bearbeitung der Bedingungen fertig sind, klicken Sie auf Speichern.

  13. Klicken Sie auf Richtlinie festlegen, um die Richtlinie zu erzwingen.

gcloud

Richtlinien können über die Google Cloud CLI festgelegt werden. Führen Sie folgenden Befehl aus, um eine Richtlinie mit Domaineinschränkung zu erstellen:

So legen Sie eine Organisationsrichtlinie fest, die die Domaineinschränkung enthält: führen Sie den folgenden Befehl aus:

gcloud org-policies set-policy POLICY_PATH

Dabei ist POLICY_PATH der vollständige Pfad zu Ihrem YAML-Datei für Organisationsrichtlinien, die so aussehen sollte:

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

Ersetzen Sie Folgendes:

  • ORGANIZATION_ID durch den ID der Organisationsressource, für die diese Richtlinie festgelegt werden soll.
  • PRINCIPAL_SET für Cloud Identity-Hauptkennungen, die Sie die Sie zulassen möchten, einschließlich Ressourcen-ID der Organisation. Beispiel: is:principalSet://iam.googleapis.com/organizations/01234567890123.

    Google Workspace-Kundennummern müssen verwendet werden für alle anderen Identitäten, die Sie zulassen möchten. Beispiel: is:C03g5e3bc.

Nur Identitäten, die zur Ressourcen-ID der Organisation oder Google Workspace-Domain aus der Liste der allowed_values wird zugelassen auf IAM-Richtlinien, sobald diese Organisationsrichtlinie angewendet wurde. Menschliche Google Workspace-Nutzer und ‐Gruppen müssen untergeordnete Elemente dieser Organisation sein Ressource oder Teil dieser Google Workspace-Domain und IAM-Dienst Konten müssen untergeordnete Elemente einer Organisationsressource sein, die mit dem Google Workspace-Domain.

Wenn Sie beispielsweise eine Organisationsrichtlinie erstellt haben, die nur die Google Workspace-Kundennummer Ihres Unternehmens enthält, können ab diesem Punkt nur Hauptkonten dieser Domain zur IAM-Richtlinie hinzugefügt werden.

Weitere Informationen zur Verwendung von Einschränkungen in Organisationsrichtlinien finden Sie unter Einschränkungen verwenden

Beispiel für Fehlermeldung

Bei Verstoß gegen die Domaineinschränkung, d. h., wenn versucht wird, ein Hauptkonto hinzuzufügen, das nicht in der Liste der allowed_values enthalten ist, schlägt der Vorgang fehl und eine Fehlermeldung wird angezeigt.

Console

Screenshot der 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.

Ressourcen-ID einer Organisation abrufen

Sie können die Ressourcen-ID Ihrer Organisation über die Google Cloud Console abrufen, über die gcloud CLI oder die Cloud Resource Manager API.

Console

So rufen Sie die Ressourcen-ID Ihrer Organisation über die Google Cloud Console ab: Folgendes:

  1. Öffnen Sie die Google Cloud Console:

    Weiter zur Google Cloud Console

  2. Wählen Sie in der Projektauswahl oben auf der Seite Ihre Organisation aus. .
  3. Klicken Sie auf der rechten Seite auf Mehr und dann auf Einstellungen.

Auf der Seite Einstellungen wird die Ressourcen-ID Ihrer Organisation angezeigt.

gcloud

Führen Sie den folgenden Befehl aus, um die Ressourcen-ID Ihrer Organisation zu ermitteln:

gcloud organizations list

Mit diesem Befehl werden alle Organisationsressourcen aufgelistet, zu denen Sie gehören, und der zugehörigen Ressourcen-IDs der Organisation.

API

Um die Ressourcen-ID Ihrer Organisation mithilfe der Cloud Resource Manager API zu ermitteln, verwenden Sie die organizations.search() -Methode einschließlich einer Abfrage für Ihre Domain. Beispiel:

GET https://cloudresourcemanager.googleapis.com/v3/organizations:search{query=domain:altostrat.com}

Die Antwort enthält die Metadaten der Organisationsressource, die gehört zu altostrat.com, einschließlich der Ressourcen-ID der Organisation.

Sobald Sie die Ressourcen-ID der Organisation haben, müssen Sie die richtige Kennung für die Gruppe der zugehörigen Hauptkonten. Beispiel:

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

Weitere Informationen zu IAM-Hauptkennungen finden Sie unter Haupt-IDs.

Google Workspace-Kundennummer abrufen

Die von der Domaineinschränkung verwendete Google Workspace-Kundennummer kann auf zwei Arten abgerufen werden:

gcloud

Mit dem Befehl gcloud orgations list können Sie alle Organisationen auflisten lassen, für die Sie die Berechtigung resourcemanager.organizations.get haben:

gcloud organizations list

Dieser Befehl gibt DISPLAY_NAME, ID (Organisations-ID) und DIRECTORY_CUSTOMER_ID zurück. Die Google Workspace-Kundennummer ist die DIRECTORY_CUSTOMER_ID.

API

Die Google Workspace Directory API kann zum Abrufen einer Google Workspace-Kundennummer verwendet werden.

Wenn Sie als Google Workspace-Administrator angemeldet sind, können Sie die Dokumentation zur Customers: get API-Methode aufrufen und auf Ausführen klicken. Nach der Autorisierung wird in der Antwort Ihre Kundennummer angezeigt.

Alternativ können Sie einen API-Client verwenden:

  1. Fordern Sie ein OAuth-Zugriffstoken für den Bereich https://www.googleapis.com/auth/admin.directory.customer.readonly an.
  2. Führen Sie den folgenden Befehl aus, um die Google Workspace Directory API abzufragen:

    curl -# -X GET "https://www.googleapis.com/admin/directory/v1/customers/customerKey" \
    -H "Authorization: Bearer $access_token" -H "Content-Type: application/json"
    

Dieser Befehl gibt eine JSON-Antwort mit den Kundeninformationen zurück. Die Google Workspace-Kundennummer ist die id.

Subdomains einschränken

Wenn Sie eine Google Cloud-Organisationsressource in einer Domaineinschränkung zulassen Zugriff auf alle Ressourcen gewährt, Organisationsressource und blockiert den Zugriff auf alle anderen.

Wenn Sie eine Google Workspace-Kundennummer in einer Domaineinschränkung zulassen, schränkt sie den Zugriff auf alle Domains ein, die mit diesem Google Workspace-Konto verknüpft sind. Kundennummer haben. Außerdem wird der Zugriff auf alle anderen blockiert. Jedes Google Workspace-Konto hat genau eine primäre Domain und null oder mehr sekundäre Domains haben. Alle Domains, die die mit der Google Workspace-Kundennummer verknüpft sind, unterliegen den Einschränkung.

Durch das Erzwingen der Domaineinschränkung für eine Ressource wird die primäre Domain und aller sekundären Domains, die auf diese Ressource und ihre Elemente in der Ressourcenhierarchie.

Beispiele für gängige Kombinationen aus Google Workspace-Domain und Subdomain finden Sie in der folgenden Tabelle:

Primäre Domain Subdomain Domaineinschränkung Ist user@sub.altostrat.com zugelassen?
altostrat.com keine Zulassen: altostrat.com Nein
altostrat.com sub.altostrat.com Zulassen: altostrat.com Ja
altostrat.com sub.altostrat.com Zulassen: sub.altostrat.com Ja
sub.altostrat.com altostrat.com Zulassen: sub.altostrat.com Ja
sub.altostrat.com keine Zulassen: sub.altostrat.com Ja

Damit der Zugriff von Domaineinschränkungen von zwei verschiedenen Domains unterschieden werden kann, muss jede Domain mit einem anderen Google Workspace-Konto verknüpft sein. Jedes Google Workspace-Konto ist einem Organisationsknoten zugeordnet und kann eigene Organisationsrichtlinien anwenden. Dadurch können Sie altostrat.com mit einem Google Workspace-Konto und sub.altostrat.com mit einem anderen verknüpfen, um die Zugriffssteuerung zu verfeinern. Weitere Informationen finden Sie unter Mehrere Organisationen verwalten.

Bekannte Fehler beheben

Organisationsrichtlinien sind nicht rückwirkend. Wenn Sie eine Änderung an Ihrer Ressourcenhierarchie erzwingen möchten, die gegen eine geltende Einschränkung verstößt, können Sie die Organisationsrichtlinie deaktivieren, die Änderung vornehmen und dann die Organisationsrichtlinie wieder aktivieren.

In den folgenden Abschnitten werden bekannte Probleme mit Diensten beschrieben, die auftreten können, wenn diese Einschränkung erzwungen wird.

Google Analytics 360 mit BigQuery verknüpfen

Wenn Sie versuchen, Google Analytics 360 mit BigQuery zu verknüpfen bei denen die Domaineinschränkung erzwungen wird, schlägt die Aktion mit One or more users named in the policy do not belong to a permitted customer-Fehlermeldung angezeigt, auch wenn die Dienstkonto analytics-processing-dev@system.gserviceaccount.com ist wurde bereits als Editor auf Projektebene hinzugefügt, entweder direkt oder über Google Groups.

So verknüpfen Sie Google Analytics 360 mit BigQuery:

  1. Deaktivieren Die Organisationsrichtlinie mit der Domaineinschränkung.

  2. Führen Sie die Verknüpfung in Google Analytics 360 durch.

  3. Erzwingen wieder die Domaineinschränkung.

Freigabe öffentlicher Daten

Einige Google Cloud-Produkte, wie BigQuery, Cloud Functions, Cloud Run, Cloud Storage und Pub/Sub, unterstützen die Freigabe öffentlicher Daten. Wird in einer Organisationsrichtlinie eine Freigabe mit Domaineinschränkung durchgesetzt, ist die Freigabe öffentlicher Daten nicht mehr möglich.

Wenn Sie Daten öffentlich freigeben möchten, deaktivieren Sie vorübergehend die Freigabe mit Domaineinschränkung der Projektressource, auf der sich die freizugebenden Daten befinden. Nachdem Sie die Ressource öffentlich freigegeben haben, können Sie die Domaineinschränkung wieder aktivieren.

BigQuery-Logsenke für ein Rechnungskonto

Das von der BigQuery-Logsenke für Rechnungskonten verwendete Dienstkonto (Format: b*@*.iam.gserviceaccount.com) wird als extern behandelt und von der auf die Domain beschränkten Freigabeeinschränkung in einer Organisationsrichtlinie blockiert. So weisen Sie diesem Dienstkonto eine Rolle für ein BigQuery-Dataset in einem Projekt zu, für das die Domaineinschränkung gilt:

  1. Deaktivieren Die Organisationsrichtlinie mit der Domaineinschränkung.

  2. Gewähren Sie dem entsprechenden Dienstkonto (Format: b*@*.iam.gserviceaccount.com) die BigQuery-Rolle, die während des Erstellens der Senke angegeben wird.

  3. Erzwingen wieder die Domaineinschränkung.

Dienstkonto für den Cloud-Abrechnungsexport

Die Aktivierung des Abrechnungsexports zu einem Bucket schlägt wahrscheinlich fehl, wenn diese Einschränkung aktiv ist. Verwenden Sie diese Einschränkung nicht für Buckets, die für den Abrechnungsexport genutzt werden.

Die E-Mail-Adresse des Dienstkontos für den Cloud-Abrechnungsexport lautet: 509219875288-kscf0cheafmf4f6tp1auij5me8qakbin@developer.gserviceaccount.com

Logging für Speicherzugriff aktivieren

Sofern sie aktiviert ist, sperrt die Domaineinschränkung alle Domains, die in der Organisationsrichtlinie nicht ausdrücklich zugelassen sind. Dadurch wird auch der Zugriff auf Google-Dienstkonten verhindert. So richten Sie das Logging für den Speicherzugriff für einen Cloud Storage-Bucket ein, für den die Domaineinschränkung gilt:

  1. Deaktivieren Die Organisationsrichtlinie mit der Domaineinschränkung.

  2. Gewähren Sie cloud-storage-analytics@google.com WRITE-Zugriff auf diesen Bucket.

  3. Erzwingen wieder die Domaineinschränkung.

Dienst-Agent-Rollen gewähren

Dienst-Agent-Rollen werden nur gewährt, Dienstkonten. Wenn Sie diese Art von Rolle gewähren müssen, gehen Sie so vor:

  1. Deaktivieren Die Organisationsrichtlinie mit der Domaineinschränkung.

  2. Gewähren Sie die Rolle „Dienst-Agent“.

  3. Erzwingen wieder die Domaineinschränkung.

Firebase API aktivieren

Wenn diese Option aktiviert ist, werden durch die Domaineinschränkung die Dienstkonten blockiert, die in der Organisationsrichtlinie nicht zulässig sind. Dadurch ist es nicht möglich, die Firebase API zu aktivieren. Dazu sind bei der Aktivierung der API externe Dienstkonten erforderlich. Nach dem Aktivieren der API können Sie die Domaineinschränkung sicher erzwingen, ohne die Funktion der Firebase API zu beeinträchtigen. So aktivieren Sie die Firebase API:

  1. Deaktivieren Die Organisationsrichtlinie mit der Domaineinschränkung.

  2. Aktivieren Sie die Firebase Management API.

  3. Erzwingen wieder die Domaineinschränkung.

Google-Gruppen

Google-Gruppen, die innerhalb einer zulässigen Domain erstellt wurden, können immer Rollen zugewiesen werden in die IAM-Richtlinie, wenn die Domaineinschränkung erzwungen wird auch wenn die Gruppe Mitglieder von außerhalb dieser Domain enthält.

Damit Projektadministratoren die Domaineinschränkung nicht umgehen können, sollte der Google Workspace-Administrator dafür sorgen, dass Gruppeninhaber Mitgliedern von außerhalb der Domain keinen Zugriff auf den Administratorbereich in Google Workspace gewähren können.

Kontozugriff erzwingen

Wenn Sie den Kontozugriff für ein Projekt unter Verletzung von Domaineinschränkungen erzwingen müssen, gehen Sie so vor:

  1. Entfernen Sie die Organisationsrichtlinie, die die Domaineinschränkung enthält.

  2. Gewähren Sie Kontozugriff auf das Projekt.

  3. Implementieren Sie die Organisationsrichtlinie mit der Domaineinschränkung noch einmal.

Alternativ können Sie einer Google-Gruppe, die die entsprechenden Dienstkonten enthält, Zugriff gewähren:

  1. Erstellen Sie eine Google-Gruppe innerhalb der zugelassenen Domain.

  2. Im Administratorbereich von Google Workspace können Sie die Domaineinschränkung für diese Gruppe deaktivieren.

  3. Fügen Sie der Gruppe das Dienstkonto hinzu.

  4. Gewähren Sie mithilfe der IAM-Richtlinie Zugriff auf die Google-Gruppe.

Verwenden Sie Pub/Sub als Endpunkt für eine Google Chat-App.

Wenn Sie versuchen, Veröffentlichungsrechte für dein Thema gewähren Google Chat API-Dienstkonto hinzugefügt haben, werden Sie möglicherweise blockiert, Freigabeeinschränkung ist aktiviert. Folgen Sie der Anleitung, um den Kontozugriff zu erzwingen.