IAM-Bedingungen für detaillierten Zugriff

Auf dieser Seite wird beschrieben, wie Sie den Zugriff auf Ihre Verbindungen mithilfe von IAM-Bedingungen einschränken.

Mit einer IAM-Bedingung können Sie Ihre Integration Connectors-Ressourcen genau steuern. Standardmäßig kann ein Integration Connectors-Nutzer oder eine Rolle alle unterstützten Vorgänge für eine Verbindung ausführen. Mit IAM-Bedingungen können Sie einen bestimmten Nutzer oder eine bestimmte Rolle so einschränken, dass nur ausgewählte Vorgänge für eine Verbindung ausgeführt werden können. Sie können einen Nutzer beispielsweise so einschränken, dass er nur die Verbindungen ändern kann, deren Name mit test-connection beginnt, und keine anderen Berechtigungen für die Verbindungen hat, z. B. das Abonnieren von Ereignissen oder das Aufrufen der Schemametadaten.

Hinweis

Integration Connectors verwendet die Identitäts- und Zugriffsverwaltung (IAM) von Google Cloud, um Rollen und Berechtigungen für Integration Connectors-Ressourcen zu verwalten. Machen Sie sich daher mit den folgenden IAM-Konzepten vertraut, bevor Sie Bedingungen in IAM für Ihre Integration Connectors-Ressourcen angeben oder ändern:

IAM-Bedingungen hinzufügen

Für das Hinzufügen einer IAM-Bedingung zu einer Integration Connectors-Ressource benötigen Sie die folgenden Informationen:

  • Benannter Ressourcen-URI: Jede Ressource in Integration Connectors hat einen eindeutigen Ressourcen-URI. Der URI für die Verbindungsressource ist beispielsweise projects/PROJECT_ID/locations/CONNECTION_LOCATION/connections/{connection_name}. Eine vollständige Liste aller verfügbaren URIs finden Sie unter Integration Connectors-REST-Ressourcen. Wenn Sie Zugriffsberechtigungen für eine Ressource detailliert steuern möchten, müssen Sie Ihre Ressource gemäß einer Namenskonvention benennen. Abhängig von Ihren Anforderungen können Sie entscheiden, welche Namenskonvention Sie verwenden möchten. Sie können beispielsweise dem Wort marketing- für alle Verbindungen, die dem Marketingteam gehören, das Präfix voranstellen. In diesem Beispiel beginnt der Ressourcen-URI für die Verbindungen des Marketingteams mit projects/PROJECT_ID/locations/CONNECTION_LOCATION/connections/marketing-.
  • Nur übergeordnete Berechtigungen: Mit dieser Option können Sie prüfen, ob eine Ressource oder eine ihrer untergeordneten Ressourcen die Berechtigung nur für übergeordnete Ressourcen erfordert. Weitere Informationen finden Sie unter Berechtigungen für übergeordnete Ressourcen.
  • Ressourcentyp: Sie können den Umfang der Ressourcen weiter einschränken, indem Sie in der Bedingung nach einem Ressourcentyp filtern. Integration Connectors unterstützt Bedingungen für die folgenden Ressourcen:
    Ressourcenname Ressourcentyp
    Verbindung connectors.googleapis.com/Connection
    ManagedZone connectors.googleapis.com/ManagedZone
    EndpointAttachment connectors.googleapis.com/EndpointAttachment
    EventSubscription connectors.googleapis.com/EventSubscription
    ConnectionSchemaMetadata connectors.googleapis.com/ConnectionSchemaMetadata

Beispiele

In der folgenden Tabelle sind die Beispielressourcenbedingungen aufgeführt, die Sie für einen Integration Connectors-Nutzer oder eine Rolle anwenden können.

IAM-Ressourcenbedingung Beschreibung
(resource.name.startsWith
("projects/PROJECT_ID/locations/CONNECTION_LOCATION/
connections/marketing-") && resource.type == "connectors.googleapis.com/Connection")
|| (resource.type != "connectors.googleapis.com/Connection"
&& resource.name.extract("/operations/{operation}") == "")
Ein Nutzer oder eine Rolle, auf die Sie diese Bedingung anwenden, kann nur die folgenden Vorgänge ausführen:
  • Alle Verbindungen und Vorgänge mit langer Ausführungszeit auflisten.
  • Abrufen, Erstellen, Aktualisieren und Löschen von Verbindungen, deren Name mit marketing- beginnt.

Der Nutzer kann einzelne Vorgänge mit langer Ausführungszeit nicht ansehen, abbrechen oder löschen. Informationen dazu, wie Sie dem Nutzer erlauben, den Fortschritt von Vorgängen zu verfolgen, finden Sie unter Eingeschränkten Nutzern erlauben, Vorgänge zu verfolgen.

(resource.name.startsWith
("projects/PROJECT_ID/locations/CONNECTION_LOCATION/
connections/marketing-") && resource.type == "connectors.googleapis.com/Connection") ||
(resource.name.startsWith ("projects/PROJECT_ID/locations/CONNECTION_LOCATION/
connections/marketing-") && resource.type == "connectors.googleapis.com/ConnectionSchemaMetadata")
|| (resource.type != "connectors.googleapis.com/Connection"
&& resource.type != "connectors.googleapis.com/ConnectionSchemaMetadata"
&& resource.name.extract("/operations/{operation}") == "")
Ein Nutzer oder eine Rolle, auf die Sie diese Bedingung anwenden, kann nur die folgenden Vorgänge ausführen:
  • Alle Verbindungen und Vorgänge mit langer Ausführungszeit auflisten.
  • Abruf-, Erstellungs-, Aktualisierungs- und Löschvorgänge nur für Verbindungen ausführen, deren Name mit marketing- beginnt.
  • Rufen Sie Verbindungsschema-Metadaten nur für Verbindungen ab, deren Name mit marketing- beginnt.

Der Nutzer kann einzelne Vorgänge mit langer Ausführungszeit nicht ansehen, abbrechen oder löschen.

Eingeschränkten Nutzern das Verfolgen von Vorgängen erlauben

Wenn die Bedingungen in den vorherigen Beispielen Vorgänge ausschließen, kann ein eingeschränkter Nutzer weiterhin die Verbindungen erstellen, aktualisieren und löschen, die er verwalten darf. Er kann jedoch nicht den Status der resultierenden Vorgänge mit langer Ausführungszeit prüfen. Wenn ein eingeschränkter Nutzer Vorgänge verfolgen muss, weisen Sie ihm eine separate benutzerdefinierte Rolle ohne Bedingung zu, die nur die Berechtigung connectors.operations.get enthält.

Mit dieser Rolle kann der Nutzer alle Vorgänge im Projekt ansehen, einschließlich Vorgänge für Verbindungen, auf die er sonst keinen Zugriff hat. Dies sind dieselben Verbindungsinformationen, die der Nutzer bereits sehen kann, da er alle Verbindungen auflisten kann. Gewähren Sie Nutzern, deren Zugriff durch eine Bedingung eingeschränkt ist, nicht die Berechtigungen connectors.operations.cancel oder connectors.operations.delete, da sie mit diesen Berechtigungen Vorgänge für jede Verbindung im Projekt abbrechen oder löschen können.

IAM-Bedingungen für Application Integration-Dienstkonten hinzufügen

Sie können IAM-Bedingungen auf das Application Integration-Dienstkonto anwenden, um die Verbindungen einzuschränken, auf die das Dienstkonto während der Integrationsausführung zugreifen kann. Sie können ein Dienstkonto beispielsweise so einschränken, dass es nur auf Verbindungen zugreifen kann, deren Name mit marketing- beginnt. Weitere Informationen finden Sie unter IAM-Bedingungen auf ein Dienstkonto anwenden.

In der folgenden Tabelle sind die Beispielressourcenbedingungen aufgeführt, die Sie für ein Application Integration-Dienstkonto anwenden können.

IAM-Ressourcenbedingung Beschreibung
resource.name.startsWith
("projects/PROJECT_ID/locations/CONNECTION_LOCATION/
connections/marketing-")
Das Dienstkonto, auf das Sie diese Bedingung anwenden, kann nur Verbindungen ausführen, deren Name mit marketing- beginnt.

Nächste Schritte

Gehen Sie die folgenden Informationen in der IAM-Dokumentation durch: