Identitäten nach Domain einschränken

In Resource Manager steht eine Domaineinschränkung zur Verfügung, mit der Sie in Organisationsrichtlinien die Ressourcenfreigabe auf Basis von Domains beschränken können. Mithilfe dieser Einschränkung können Sie die Gruppe von Identitäten begrenzen, die gemäß den Richtlinien von Identity and Access Management verwendet werden dürfen.

In Organisationsrichtlinien lässt sich mit dieser Einschränkung die Ressourcenfreigabe auf eine bestimmte Domain oder einen angegebenen Satz von G Suite-Domains beschränken, wobei Ausnahmen auf Ordner- oder Projektebene gewährt werden können. Weitere Informationen zum Hinzufügen von Ausnahmen finden Sie unter Organisationsrichtlinie für ein Projekt überschreiben.

Die Domaineinschränkung gilt nicht rückwirkend. Sobald eine Domainbeschränkung festgelegt wurde, gilt diese Einschränkung für IAM-Richtlinienänderungen, die ab diesem Zeitpunkt vorgenommen werden, und nicht für frühere Änderungen.

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.

Wird diese Einschränkung für eine G Suite-Domain festgelegt, wirkt sie sich auf alle Identitäten unter dieser Domain aus. Dies gilt auch für Nutzerkonten, die in der G Suite-Konsole und nicht in der Google Cloud Console verwaltet werden.

Organisationsrichtlinie festlegen

Die Domaineinschränkung ist eine Art von Listeneinschränkung. G Suite-Kunden-IDs können der Liste allowed_values einer Domaineinschränkung hinzugefügt und daraus entfernt werden. Alle mit diesem G Suite-Konto verknüpften Domains sind von der Organisationsrichtlinie betroffen.

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 einer Domaineinschränkung fest:

  1. Öffnen Sie in der Cloud Console die Seite Organisationsrichtlinien.
    Zur Seite "Organisationsrichtlinien"
  2. Klicken Sie auf Auswählen.
  3. Wählen Sie die Organisation aus, für die Sie die Richtlinie festlegen möchten.
  4. Klicken Sie auf Domaineingeschränkte Freigabe.
  5. Klicken Sie auf Bearbeiten.
  6. Wählen Sie unter Gilt für die Option Anpassen aus.
  7. Wählen Sie unter Richtlinienwerte die Option Benutzerdefiniert aus.
  8. Geben Sie in das Textfeld Richtlinienwert eine G Suite-Kunden-ID ein und drücken Sie die Eingabetaste. Auf diese Weise können mehrere IDs eingegeben werden.
  9. Klicken Sie auf Speichern. Es wird eine Benachrichtigung angezeigt, in der die Aktualisierung der Richtlinie bestätigt wird.

gcloud

Richtlinien können über das gcloud-Befehlszeilentool festgelegt werden. Führen Sie folgenden Befehl aus, um eine Richtlinie mit Domaineinschränkung zu erstellen:

gcloud alpha resource-manager org-policies allow \
    --organization 'ORGANIZATION_ID' \
    iam.allowedPolicyMemberDomains 'DOMAIN_ID_1' \
    'DOMAIN_ID_2'

Dabei gilt:

  • ORGANIZATION_ID ist die ID des Organisationsknotens, für den diese Richtlinie festgelegt wird.
  • DOMAINID# ist/sind eine oder mehrere G Suite-Kunden-IDs, auf die Sie Zugriff gewähren möchten.

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

Beispiel für eine Organisationsrichtlinie

Das folgende Code-Snippet zeigt eine Organisationsrichtlinie mit Domaineinschränkung:

resource: "organizations/842463781240"
policy {
  constraint: "constraints/iam.allowedPolicyMemberDomains"
  etag: "\a\005L\252\122\321\946\334"
  list_policy {
  allowed_values: "C03xgje4y"
  allowed_values: "C03g5e3bc"
  allowed_values: "C03t213bc"
  }
}

Die allowed_values sind G Suite-Kunden-IDs, z. B. C03xgje4y. Nur Identitäten einer G Suite-Domain aus der Liste der allowed_values werden in IAM-Richtlinien zugelassen, sobald diese Organisationsrichtlinie angewendet wurde. Die G Suite-Nutzer und -Gruppen müssen zu dieser G Suite-Domain gehören und IAM-Dienstkonten müssen untergeordnete Elemente einer Organisationsressource sein, die mit der jeweiligen G Suite-Domain verknüpft ist.

Wenn Sie beispielsweise eine Organisationsrichtlinie erstellt haben, die nur die Kundennummer der G Suite Ihres Unternehmens enthält, können von diesem Punkt nur Mitglieder dieser Domain der IAM-Richtlinie hinzugefügt werden.

Beispiel für Fehlermeldung

Bei Verstoß gegen die Domaineinschränkung, d. h., wenn versucht wird, ein Mitglied 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 in the policy do not belong to a permitted customer.

G Suite-Kunden-ID abrufen

Die G Suite-Kunden-ID, die von der Domaineinschränkung verwendet wird, 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 alpha organizations list

Dieser Befehl gibt den DISPLAY_NAME, die ID (Organisations-ID) und die DIRECTORY_CUSTOMER_ID zurück. Die G Suite-Kunden-ID ist die DIRECTORY_CUSTOMER_ID.

API

Die G Suite Directory API kann zum Abrufen einer G Suite-Kunden-ID verwendet werden.

  1. Fordern Sie ein OAuth-Zugriffstoken für den Bereich https://www.googleapis.com/auth/admin.directory.customer.readonly an.
  2. Führen Sie folgenden Befehl aus, um die G Suite 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 G Suite-Kunden-ID lautet id.

Subdomains einschränken

Bei der Domaineinschränkung wird der Zugriff auf Domains begrenzt, die einer angegebenen G Suite-Kunden-ID zugeordnet sind. Jedes G Suite-Konto hat genau eine primäre Domain und keine oder mehrere sekundäre Domains. Alle Domains, die der G Suite-Kunden-ID zugeordnet sind, unterliegen der Einschränkung.

Durch das Anwenden der Domaineinschränkung auf eine Ressource können Sie die primäre Domain und alle sekundären Domains, die auf diese Ressource und alle ihre untergeordneten Elemente in der Ressourcenhierarchie zugreifen können, steuern.

Weitere Beispiele zu gängigen Kombinationen von G Suite-Domains und Subdomains finden Sie in der folgenden Tabelle:

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

Damit der eingeschränkte Zugriff von zwei verschiedenen Domains unterschieden werden kann, muss jede Domain mit einem anderen G Suite-Konto verknüpft sein. Jedes G Suite-Konto ist einem Organisationsknoten zugeordnet und es können eigene Organisationsrichtlinien angewendet werden. Dadurch können Sie domain.com mit einem G Suite-Konto und sub.domain.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.

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.

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

Cloud Composer

Die domaineingeschränkte Freigabe für Cloud Composer ist derzeit in der Betaphase. Wenn Sie diese Funktion beim Erstellen der Umgebung auswählen, wird die Cloud Composer Beta API automatisch aktiviert.

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 an einem Cloud Storage-Bucket ein, für den die Domaineinschränkung gilt:

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

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

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

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 G Suite-Administratorbereich können Sie die Domaineinschränkung für diese Gruppe deaktivieren.

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

  4. Mithilfe der IAM-Richtlinie Zugriff auf die Google-Gruppe gewähren