Auf dieser Seite wird beschrieben, wie Sie IAM-Rollen (Identity and Access Management) in Regeln für ein- und ausgehenden Traffic verwenden, um den Zugriff auf durch Dienstperimeter geschützte Ressourcen zuzulassen.
VPC Service Controls ermöglicht mithilfe von Regeln für ein- und ausgehenden Traffic den Zugriff auf die Ressourcen und Clients, die durch Dienstperimeter geschützt sind. Optional können Sie Ihre Regeln für eingehenden und ausgehenden Traffic mithilfe von IAM-Rollen einschränken. Wenn Sie in einer Regel eine IAM-Rolle angeben, sind nur Aktionen zulässig, die mit den Berechtigungen verknüpft sind, die Teil der IAM-Rolle sind.
Hinweise
Wenn Sie in den Ein- und Ausstiegsregeln eine benutzerdefinierte Rolle verwenden möchten, müssen Sie die erforderlichen Berechtigungen haben.
IAM-Rollen in Ingress-Regeln konfigurieren
Console
Wenn Sie über die Google Cloud Console eine Ingress-Richtlinie eines Dienstperimeters aktualisieren oder eine Ingress-Richtlinie beim Erstellen des Perimeters festlegen, können Sie die Ingress-Regel so konfigurieren, dass IAM-Rollen verwendet werden:
Wenn Sie in der Google Cloud Console einen Perimeter erstellen oder bearbeiten, wählen Sie Ingress-Richtlinie aus.
Wählen Sie im Bereich Regeln für eingehenden Traffic eine vorhandene Regel aus oder klicken Sie auf Regel für eingehenden Traffic hinzufügen.
Wählen Sie in der Ingress-Richtlinie im Abschnitt An in der Liste Vorgänge oder IAM-Rollen die Option IAM-Rollen auswählen (Vorabversion) aus.
Klicken Sie auf IAM-Rollen hinzufügen.
Wählen Sie im Bereich IAM-Rollen hinzufügen die IAM-Rollen aus, die Sie zulassen möchten.
Informationen zu den unterstützten Diensten und Rollen finden Sie unter Unterstützte Produkte.
Klicken Sie auf Ausgewählte IAM-Rollen hinzufügen.
Klicken Sie auf Fertig.
Informationen zu den anderen Attributen für Regeln für eingehenden Traffic finden Sie in der Referenz zu Regeln für eingehenden Traffic.
gcloud
Sie können eine Ingress-Regel so konfigurieren, dass IAM-Rollen verwendet werden. Dazu können Sie eine JSON-Datei oder eine YAML-Datei verwenden. Im folgenden Beispiel wird das YAML-Format verwendet:
- ingressFrom:
identityType: ANY_IDENTITY | ANY_USER_ACCOUNT | ANY_SERVICE_ACCOUNT
*OR*
identities:
- PRINCIPAL_IDENTIFIER
sources:
- resource: RESOURCE
*OR*
- accessLevel: ACCESS_LEVEL
ingressTo:
operations:
- serviceName: SERVICE_NAME
methodSelectors:
- method: METHOD_NAME
*OR*
roles:
- ROLE_NAME
resources:
- projects/PROJECT_NUMBER
Ersetzen Sie ROLE_NAME
durch die IAM-Rollen, die den Zugriffsbereich für die in der Regel angegebenen Dienste definieren.
Geben Sie eine einzelne Rolle oder eine Kombination von Rollen an, die alle Berechtigungen für den Zugriff auf die Dienste enthalten. Verwenden Sie zum Angeben einer Rolle die Formate für Rollennamen, die unter Rollenkomponenten aufgeführt sind, mit Ausnahme des folgenden Formats: projects/PROJECT_ID/roles/IDENTIFIER
.
Informationen zu den unterstützten Diensten und Rollen finden Sie unter Unterstützte Produkte.
Informationen zu den anderen Attributen für Regeln für eingehenden Traffic finden Sie in der Referenz zu Regeln für eingehenden Traffic.
Nachdem Sie eine vorhandene Ingress-Regel aktualisiert haben, um IAM-Rollen zu konfigurieren, müssen Sie die Regelrichtlinien des Dienstbereichs aktualisieren:
gcloud access-context-manager perimeters update PERIMETER_ID --set-ingress-policies=RULE_POLICY.yaml
Ersetzen Sie Folgendes:
PERIMETER_ID
: Die ID des Dienstperimeters, den Sie aktualisieren möchten.RULE_POLICY
: der Pfad zur geänderten Ingress-Regelndatei.
Weitere Informationen finden Sie unter Richtlinien für ein- und ausgehenden Traffic für einen Dienstperimeter aktualisieren.
IAM-Rollen in Regeln für ausgehenden Traffic konfigurieren
Console
Wenn Sie über die Google Cloud Console eine Ausstiegsrichtlinie eines Dienstperimeters aktualisieren oder beim Erstellen des Perimeters eine Ausstiegsrichtlinie festlegen, können Sie die Ausstiegsregel so konfigurieren, dass IAM-Rollen verwendet werden:
Wenn Sie einen Perimeter in der Google Cloud Console erstellen oder bearbeiten, wählen Sie Ausgangsrichtlinie aus.
Wählen Sie im Bereich Regeln für ausgehenden Traffic eine vorhandene Regel für ausgehenden Traffic aus oder klicken Sie auf Regel für ausgehenden Traffic hinzufügen.
Wählen Sie in der Richtlinie für den Datenexport im Abschnitt Zu in der Liste Vorgänge oder IAM-Rollen die Option IAM-Rollen auswählen (Vorabversion) aus.
Klicken Sie auf IAM-Rollen hinzufügen.
Wählen Sie im Bereich IAM-Rollen hinzufügen die IAM-Rollen aus, die Sie zulassen möchten.
Informationen zu den unterstützten Diensten und Rollen finden Sie unter Unterstützte Produkte.
Klicken Sie auf Ausgewählte IAM-Rollen hinzufügen.
Klicken Sie auf Fertig.
Informationen zu den anderen Attributen für Regeln für ausgehenden Traffic finden Sie in der Referenz zu Regeln für ausgehenden Traffic.
gcloud
Sie können eine Ausgangsregel so konfigurieren, dass IAM-Rollen verwendet werden. Dazu können Sie eine JSON-Datei oder eine YAML-Datei verwenden. Im folgenden Beispiel wird das YAML-Format verwendet:
- egressTo:
operations:
- serviceName: SERVICE_NAME
methodSelectors:
- method: METHOD_NAME
*OR*
roles:
- ROLE_NAME
resources:
- projects/PROJECT_NUMBER
egressFrom:
identityType: ANY_IDENTITY | ANY_USER_ACCOUNT | ANY_SERVICE_ACCOUNT
*OR*
identities:
- PRINCIPAL_IDENTIFIER
sources:
- resource: RESOURCE
*OR*
- accessLevel: ACCESS_LEVEL
sourceRestriction: RESTRICTION_STATUS
Ersetzen Sie ROLE_NAME
durch die IAM-Rollen, die den Zugriffsbereich für die in der Regel angegebenen Dienste definieren.
Geben Sie eine einzelne Rolle oder eine Kombination von Rollen an, die alle Berechtigungen für den Zugriff auf die Dienste enthalten. Verwenden Sie zum Angeben einer Rolle die Formate für Rollennamen, die unter Rollenkomponenten aufgeführt sind, mit Ausnahme des folgenden Formats: projects/PROJECT_ID/roles/IDENTIFIER
.
Informationen zu den unterstützten Diensten und Rollen finden Sie unter Unterstützte Produkte.
Informationen zu den anderen Attributen für Regeln für ausgehenden Traffic finden Sie in der Referenz zu Regeln für ausgehenden Traffic.
Nachdem Sie eine vorhandene Ausstiegsregel aktualisiert haben, um IAM-Rollen zu konfigurieren, müssen Sie die Regelrichtlinien des Dienstbereichs aktualisieren:
gcloud access-context-manager perimeters update PERIMETER_ID --set-egress-policies=RULE_POLICY.yaml
Ersetzen Sie Folgendes:
PERIMETER_ID
: Die ID des Dienstperimeters, den Sie aktualisieren möchten.RULE_POLICY
: der Pfad zur geänderten Datei mit der Ausstiegsregel.
Weitere Informationen finden Sie unter Richtlinien für ein- und ausgehenden Traffic für einen Dienstperimeter aktualisieren.
Unterstützte Produkte
Sie können die IAM-Rollen der folgenden Google Cloud Dienste in den Regeln für eingehenden und ausgehenden Traffic verwenden:
Produkt | Beschränkungen |
---|---|
Artifact Registryartifactregistry.googleapis.com |
|
BigQuerybigquery.googleapis.com |
|
BigQuery Data Transfer Servicebigquerydatatransfer.googleapis.com |
|
Bigtablebigtable.googleapis.com |
|
Binärautorisierungbinaryauthorization.googleapis.com |
|
Cloud Composercomposer.googleapis.com |
|
Cloud Key Management Servicecloudkms.googleapis.com |
|
Cloud Logginglogging.googleapis.com |
|
Cloud Monitoringmonitoring.googleapis.com |
|
Cloud Runrun.googleapis.com |
|
Cloud Run-Funktionencloudfunctions.googleapis.com |
|
Cloud SQLsqladmin.googleapis.com |
|
Cloud Storagestorage.googleapis.com |
|
Compute Enginecompute.googleapis.com |
|
Dataflowdataflow.googleapis.com |
|
Dataprocdataproc.googleapis.com |
|
Google Kubernetes Enginecontainer.googleapis.com |
|
Identitäts- und Zugriffsverwaltungiam.googleapis.com |
|
Pub/Subpubsub.googleapis.com |
|
Resource Managercloudresourcemanager.googleapis.com |
|
Secret Managersecretmanager.googleapis.com |
|
Spannerspanner.googleapis.com |
|
Eine Liste der vordefinierten IAM-Rollen dieser Dienste, die Sie in den Ein- und Ausstiegsregeln verwenden können, finden Sie unter Vordefinierte Rollen.
Es gibt jedoch einige IAM-Rollen in diesen Diensten, die entweder teilweise oder gar nicht für die Verwendung in den Regeln für den eingehenden und ausgehenden Traffic unterstützt werden, da einige oder alle zugrunde liegenden Berechtigungen nicht unterstützt werden:
Wenn Sie eine teilweise unterstützte IAM-Rolle in einer Eingangs- oder Ausgangsregel verwenden, ist die Regel für Anfragen oder Aktionen, die auf den zugrunde liegenden nicht unterstützten Berechtigungen basieren, nicht wirksam.
Eine Liste der teilweise unterstützten Rollen und der zugehörigen nicht unterstützten Berechtigungen finden Sie unter Teilweise unterstützte IAM-Rollen.
Wenn Sie eine nicht unterstützte IAM-Rolle in einer Regel für eingehenden oder ausgehenden Traffic verwenden, ist die Regel unwirksam.
Eine Liste der nicht unterstützten Rollen finden Sie unter Nicht unterstützte IAM-Rollen.
Wenn Sie in den Regeln für ein- und ausgehenden Traffic eine benutzerdefinierte Rolle verwenden möchten, muss diese nur die unterstützten Berechtigungen enthalten, die zu den unterstützten Diensten gehören. Eine Liste der nicht unterstützten Berechtigungen für die unterstützten Dienste finden Sie unter Teilweise unterstützte IAM-Rollen und Nicht unterstützte IAM-Rollen.
Sie können keine benutzerdefinierten Rollen verwenden, die Sie auf Projektebene erstellt haben. Mit anderen Worten: Sie können keine benutzerdefinierte Rolle mit folgendem Format verwenden: projects/PROJECT_ID/roles/IDENTIFIER
.
Teilweise unterstützte IAM-Rollen
In der folgenden Tabelle sind die teilweise unterstützten IAM-Rollen bestimmter Dienste aufgeführt:
Produkt | Teilweise unterstützte Rollen | Nicht unterstützte Berechtigungen |
---|---|---|
Cloud SQL |
|
|
|
|
|
Cloud Storage |
|
|
Identity and Access Management |
|
|
Resource Manager |
|
|
|
|
|
|
|
|
Spanner |
|
|
Andere teilweise unterstützte Rollen |
|
|
Nicht unterstützte IAM-Rollen
In der folgenden Tabelle sind die nicht unterstützten IAM-Rollen bestimmter Dienste aufgeführt:
Produkt | Nicht unterstützte Rollen |
---|---|
Identity and Access Management |
|
Beschränkungen
Sie können keine rollenbasierten Ein- oder Ausstiegsregeln verwenden, um Anfragen zuzulassen, die die IAM-Zulassungsrichtlinie eines Projekts über die Perimetergrenze hinweg festlegen.
Wenn Sie aufgrund von Einschränkungen durch VPC Service Controls Probleme beim Laden der Bearbeitungsseite für Dienste in der Google Cloud Console haben, lässt sich das Problem möglicherweise nicht durch die Verwendung von IAM-Rollen in Ingress-Regeln beheben. Diese Einschränkung gilt nicht für die Seite nur zum Ansehen dieser Dienste.
Wenn eine Anfrage mehrere Ressourcentypen aus verschiedenen Projekten umfasst, funktioniert die Ein- oder Ausstiegsregel, die IAM-Rollen verwendet, möglicherweise nicht. Das ist beispielsweise der Fall, wenn Sie eine Dataflow-Vorlage starten, die Text aus Cloud Storage in einem anderen Projekt liest.
Wenn Sie eine benutzerdefinierte Rolle löschen, nachdem Sie auf sie in der Ein- oder Ausstiegsregel eines Perimeter verwiesen haben, kann der Perimeter nicht mehr bearbeitet werden.