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:
- Ressource
- Ressourcenhierarchie
- Rollen
- Benutzerdefinierte Rollen
- Berechtigungen
- Nur für übergeordnete Ressourcen geltende Berechtigungen
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 Wortmarketing-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 mitprojects/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:
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:
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:
- Einer Richtlinie eine bedingte Rollenbindung hinzufügen
- Vorhandene bedingte Rollenbindung ändern
- Bedingte Rollenbindung entfernen