In diesem Dokument erfahren Sie, wie Sie den Zugriff auf die Google Cloud Console und Google Cloud APIs mithilfe der kontextbasierten Regeln sichern.
Der kontextsensitive Zugriff für die Google Cloud Console und die Google Cloud APIs schränkt den Zugriff auf die Google Cloud Console und die Google Cloud APIs mit kontextbasierten Regeln ein. Es ist Teil von BeyondCorp Enterprise. Damit wird dafür gesorgt, dass Personen und Gruppen in Ihrer Organisation, die die definierten Zugriffsanforderungen erfüllen, auf die Google Cloud Console und die Google Cloud APIs (einschließlich des Zugriffs über die Google Cloud CLI) zugreifen können.
Führen Sie die folgenden Schritte aus, um die Google Cloud Console und Google Cloud APIs zu sichern:
- [Optional] Stellen Sie Endpoint Verification auf Geräten in Ihrer Organisation bereit.
- Erstellen Sie eine Zugriffsebene in Access Context Manager.
- Erstellen Sie eine Gruppe von Nutzern, die kontextsensitive Einschränkungen unterliegen.
- Rufen Sie die erforderlichen Identity and Access Management-Berechtigungen ab.
- Erstellen Sie eine Zugriffsbindung, die kontextsensitive Regeln für die Google Cloud Console und die Google Cloud APIs erzwingt.
[Optional] Endpunktprüfung bereitstellen
Wenn Sie den Zugriff auf die Google Cloud Console und die Google Cloud APIs mithilfe der Geräteattribute absichern möchten, stellen Sie die Endpunktprüfung auf Geräten in Ihrer Organisation bereit.
Die Endpunktprüfung wird für Nutzer von macOS, Windows und Linux als Chrome-Erweiterung auf Computern und Laptops ausgeführt. Ein Administrator kann den Dienst über die Google Admin-Konsole auf den unternehmenseigenen Geräten der Organisation bereitstellen oder Mitglieder der Organisation können ihn selbst installieren.
Zugriffsebene erstellen
Sie müssen eine Zugriffsebene definieren, die verwendet werden kann, um den Zugriff auf die Google Cloud Console und die Google Cloud APIs zu bestimmen. Dazu müssen Sie in Access Context Manager eine einfache Zugriffsebene erstellen.
Gruppe von Nutzern erstellen
Erstellen Sie eine Nutzergruppe, die an kontextsensitive Einschränkungen gebunden sein soll. Alle Nutzer in dieser Gruppe, die auch Mitglieder Ihrer Organisation sind, müssen die zuvor erstellte Zugriffsebene haben, um auf die Google Cloud Console und die Google Cloud APIs zugreifen zu können.
Erforderliche IAM-Berechtigungen gewähren
Erteilen Sie die IAM-Berechtigungen auf Organisationsebene, die zum Erstellen von Access Context Manager-Zugriffsbindungen erforderlich sind.
Console
Rufen Sie in der Google Cloud Console die Seite IAM & Verwaltung auf.
Klicken Sie auf Hinzufügen und konfigurieren Sie Folgendes:
- Neue Mitglieder: Geben Sie Nutzer oder Gruppe an, um die Berechtigungen zu erteilen.
- Rolle auswählen: Wählen Sie Access Context Manager > Administrator für Cloud-Zugriffsbindungen aus.
Klicken Sie auf Speichern.
gcloud
Prüfen Sie, ob Sie über ausreichende Berechtigungen verfügen, um IAM-Berechtigungen auf Organisationsebene hinzuzufügen. Sie benötigen mindestens die Rolle Organisationsadministrator.
Nachdem Sie überprüft haben, ob Sie die richtigen Berechtigungen haben, melden Sie sich mit folgendem an:
gcloud auth login
Weisen Sie die Rolle
GcpAccessAdmin
mit folgendem Befehl zu:gcloud organizations add-iam-policy-binding ORG_ID \ --member=user:EMAIL \ --role=roles/accesscontextmanager.gcpAccessAdmin
ORG_ID
ist die ID Ihrer Organisation. Wenn Sie Ihre Organisations-ID noch nicht haben, können Sie sie mit dem folgenden Befehl ermitteln:gcloud organizations list
EMAIL
ist die E-Mail-Adresse der Person oder Gruppe, der Sie die Rolle zuweisen möchten.
Zugriffsbindung erstellen
Eine Zugriffsbindung ist eine Zuordnung zwischen der von Ihnen erstellten Gruppe von Nutzern und der Zugriffsebene für Access Context Manager, die Sie für den Zugriff auf die Google Cloud Console und Google Cloud APIs definiert haben.
Sie haben folgende Möglichkeiten, eine Zugriffsbindung zu erstellen:
- Zugriffsbindung zwischen einer Gruppe und einer Zugriffsebene.
- Zugriffsbindung zwischen einer Gruppe und einer Zugriffsebene mit Probelaufkonfiguration. Mit der Probelaufkonfiguration können Sie eine Zugriffsbindung zwischen einer Gruppe und einer Probelaufzugriffsebene oder zwischen einer Gruppe, einer Zugriffsebene und einer Probelaufzugriffsebene erstellen.
Zugriffsbindung mit einer Zugriffsebene erstellen
Console
Rufen Sie in der Google Cloud Console die Seite BeyondCorp Enterprise auf.
Wählen Sie eine Organisation aus und klicken Sie auf Auswählen.
Klicken Sie auf Zugriff verwalten, um zu bestimmen, welche Nutzergruppen Zugriff haben sollen.
Klicken Sie auf Hinzufügen und konfigurieren Sie Folgendes:
- Mitgliedergruppen: Geben Sie die Gruppe an, der Sie Zugriff gewähren möchten. Es können nur Gruppen ausgewählt werden, die nicht bereits an eine Zugriffsebene gebunden sind.
- Zugriffsebenen wählen: Wählen Sie die auf die Gruppe anzuwendende Zugriffsebene aus.
Klicken Sie auf Speichern.
gcloud
Weitere Informationen zu diesem und anderen gcloud access-context-manager cloud-bindings-Befehlen, einschließlich zusätzlicher Flag-Optionen, finden Sie in der Google Cloud CLI.
gcloud access-context-manager cloud-bindings create \
--group-key GROUP_ID \
--level ACCESS_LEVEL \
--organization ORG_ID
Wobei:
-
GROUP_ID
ist die Gruppen-ID der Nutzergruppe, die Sie zuvor erstellt haben.Wenn Sie die Gruppen-ID nicht haben, können Sie sie abrufen, indem Sie die Methode
get
für die RessourceGroups
aufrufen. -
ORG_ID
ist die ID für die Organisation, die Sie beim Erstellen der RolleGcpAccessAdmin
verwendet haben. Wenn das Attributaccess-context-manager/organization
nicht festgelegt wurde, ersetzen SieORG_ID
im optionalen Flag--organization
durch die ID der Organisation, die Sie beim Erstellen der RolleGcpAccessAdmin
verwendet haben. -
POLICY_ID
ist die ID der Zugriffsrichtlinie Ihrer Organisation. -
ACCESS_LEVEL
hat das FormataccessPolicies/
. Die Werte fürPOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
undACCESS_LEVEL_NAME
finden Sie in Access Context Manager ab dem Erstellen der Zugriffsebene.
API
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
-
ORG_ID
ist die ID für die Organisation, die Sie beim Erstellen der RolleGcpAccessAdmin
verwendet haben. -
GROUP_ID
ist die Gruppen-ID der Nutzergruppe, die Sie zuvor erstellt haben.Wenn Sie die Gruppen-ID nicht haben, können Sie sie abrufen, indem Sie die Methode
get
für die RessourceGroups
aufrufen. -
POLICY_ID
ist die ID der Zugriffsrichtlinie Ihrer Organisation. -
ACCESS_LEVEL
hat das FormataccessPolicies/
. Die Werte fürPOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
undACCESS_LEVEL_NAME
finden Sie in Access Context Manager ab dem Erstellen der Zugriffsebene.
HTTP-Methode und URL:
POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings
JSON-Text der Anfrage:
{ "groupKey": "GROUP_ID", "accessLevels": [ "ACCESS_LEVEL" ], }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l", "groupKey": "045jfvxd0ybeul8", "accessLevels": [ "accessPolicies/305009197125/accessLevels/device_lock" ] }
Zugriffsbindung mit Probelaufkonfiguration erstellen
Sie können eine Zugriffsbindung mit Probelaufkonfiguration erstellen, um die Auswirkungen der Zugriffsebenen in Ihrer Umgebung in den folgenden Szenarien zu verstehen:
- Um die Auswirkungen einer Zugriffsebene vor dem Erzwingen zu bewerten, erstellen Sie eine Zugriffsbindung mit einer Probelaufzugriffsebene.
- Wenn Sie eine Zugriffsebene erzwingen und gleichzeitig die Auswirkungen einer Zugriffsebene für einen Probelauf bewerten möchten, erstellen Sie eine Zugriffsbindung mit einer aktiven Zugriffsebene und einer Probelaufzugriffsebene.
Eine Zugriffsbindung mit einer Probelaufzugriffsebene verhindert den Zugriff nicht, sondern protokolliert Verstöße gegen die Probelaufzugriffsebene. Informationen zum Aufrufen der Logdetails finden Sie in den Ablehnungslogs.
Zugriffsbindung mit einer Zugriffsebene für Probelauf erstellen
gcloud
gcloud access-context-manager cloud-bindings create \
--group-key = GROUP_ID \
--dry-run-level = DRY_RUN_ACCESS_LEVEL \
--organization ORG_ID
Wobei:
-
GROUP_ID
ist die Gruppen-ID der Nutzergruppe, die Sie zuvor erstellt haben.Wenn Sie die Gruppen-ID nicht haben, können Sie sie abrufen, indem Sie die Methode
get
für die RessourceGroups
aufrufen. -
ORG_ID
ist die ID für die Organisation, die Sie beim Erstellen der RolleGcpAccessAdmin
verwendet haben. Wenn das Attributaccess-context-manager/organization
nicht festgelegt wurde, ersetzen SieORG_ID
im optionalen Flag--organization
durch die ID der Organisation, die Sie beim Erstellen der RolleGcpAccessAdmin
verwendet haben. -
POLICY_ID
ist die ID der Zugriffsrichtlinie Ihrer Organisation. -
DRY_RUN_ACCESS_LEVEL
ist dieACCESS_LEVEL
, deren Auswirkung Sie verstehen möchten.ACCESS_LEVEL
hat das FormataccessPolicies/
. Die Werte fürPOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
undACCESS_LEVEL_NAME
finden Sie in Access Context Manager ab dem Erstellen der Zugriffsebene.
API
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
-
ORG_ID
ist die ID für die Organisation, die Sie beim Erstellen der RolleGcpAccessAdmin
verwendet haben. -
GROUP_ID
ist die Gruppen-ID der Nutzergruppe, die Sie zuvor erstellt haben.Wenn Sie die Gruppen-ID nicht haben, können Sie sie abrufen, indem Sie die Methode
get
für die RessourceGroups
aufrufen. -
POLICY_ID
ist die ID der Zugriffsrichtlinie Ihrer Organisation. -
DRY_RUN_ACCESS_LEVEL
ist dieACCESS_LEVEL
, deren Auswirkung Sie verstehen möchten.ACCESS_LEVEL
hat das FormataccessPolicies/
. Die Werte fürPOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
undACCESS_LEVEL_NAME
finden Sie in Access Context Manager ab dem Erstellen der Zugriffsebene.
HTTP-Methode und URL:
POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings
JSON-Text der Anfrage:
{ "groupKey": "GROUP_ID", "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ] }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l", "groupKey": "045jfvxd0ybeul8", "dryRunAccessLevels": [ "accessPolicies/305009197125/accessLevels/another" ] }
Zugriffsbindung mit einer Zugriffsebene und einer Zugriffsebene für Probelauf erstellen
gcloud
gcloud access-context-manager cloud-bindings create \
--group-key = GROUP_ID \
--level = ACCESS_LEVEL \
--dry-run-level = DRY_RUN_ACCESS_LEVEL \
--organization ORG_ID
Wobei:
-
GROUP_ID
ist die Gruppen-ID der Nutzergruppe, die Sie zuvor erstellt haben.Wenn Sie die Gruppen-ID nicht haben, können Sie sie abrufen, indem Sie die Methode
get
für die RessourceGroups
aufrufen. -
ORG_ID
ist die ID für die Organisation, die Sie beim Erstellen der RolleGcpAccessAdmin
verwendet haben. Wenn das Attributaccess-context-manager/organization
nicht festgelegt wurde, ersetzen SieORG_ID
im optionalen Flag--organization
durch die ID der Organisation, die Sie beim Erstellen der RolleGcpAccessAdmin
verwendet haben. -
POLICY_ID
ist die ID der Zugriffsrichtlinie Ihrer Organisation. -
ACCESS_LEVEL
hat das FormataccessPolicies/
. Die Werte fürPOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
undACCESS_LEVEL_NAME
finden Sie in Access Context Manager ab dem Erstellen der Zugriffsebene. -
DRY_RUN_ACCESS_LEVEL
ist dieACCESS_LEVEL
, deren Auswirkung Sie verstehen möchten.ACCESS_LEVEL
hat das FormataccessPolicies/
. Die Werte fürPOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
undACCESS_LEVEL_NAME
finden Sie in Access Context Manager ab dem Erstellen der Zugriffsebene.
API
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
-
ORG_ID
ist die ID für die Organisation, die Sie beim Erstellen der RolleGcpAccessAdmin
verwendet haben. -
GROUP_ID
ist die Gruppen-ID der Nutzergruppe, die Sie zuvor erstellt haben.Wenn Sie die Gruppen-ID nicht haben, können Sie sie abrufen, indem Sie die Methode
get
für die RessourceGroups
aufrufen. -
POLICY_ID
ist die ID der Zugriffsrichtlinie Ihrer Organisation. -
ACCESS_LEVEL
hat das FormataccessPolicies/
. Die Werte fürPOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
undACCESS_LEVEL_NAME
finden Sie in Access Context Manager ab dem Erstellen der Zugriffsebene. -
DRY_RUN_ACCESS_LEVEL
ist dieACCESS_LEVEL
, deren Auswirkung Sie verstehen möchten.ACCESS_LEVEL
hat das FormataccessPolicies/
. Die Werte fürPOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
undACCESS_LEVEL_NAME
finden Sie in Access Context Manager ab dem Erstellen der Zugriffsebene.
HTTP-Methode und URL:
POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings
JSON-Text der Anfrage:
{ "groupKey": "GROUP_ID", "accessLevels": [ "ACCESS_LEVEL" ], "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ] }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l", "groupKey": "045jfvxd0ybeul8", "accessLevels": [ "accessPolicies/305009197125/accessLevels/device_lock" ], "dryRunAccessLevels": [ "accessPolicies/305009197125/accessLevels/another" ] }
Ablehnungslogs ansehen
Nachdem Sie eine Probelaufkonfiguration erstellt haben, können Sie anhand der Logs feststellen, wo die Probelaufkonfiguration den Zugriff verweigert.
In der folgenden Tabelle sind die Logfelder aufgeführt, mit denen Sie die Abfrage zum Abrufen der Logs erstellen und ausführen können:
Feldname | Beschreibung |
---|---|
protoPayload > authenticationInfo > principalEmail |
E-Mail-ID des Hauptkontos, für das der Zugriff verweigert wird. |
protoPayload > metadata > deniedApplications |
Name der Anwendung, für die der Zugriff verweigert wird. |
protoPayload > metadata > evaluationResult |
Das Bewertungsergebnis der aktiven Zugriffsrichtlinie. Mögliche Werte: GRANTED oder DENIED . |
protoPayload > metadata > appliedAccessLevels |
Die angewendeten Zugriffsebenen, die für die aktive Zugriffsrichtlinie erforderlich sind. |
protoPayload > metadata > appliedDryRunAccessLevels |
Die angewendeten Zugriffsebenen, die für die Probelaufzugriffsrichtlinie erforderlich sind. |
protoPayload > metadata > dryRunEvaluationResult |
Das Bewertungsergebnis der Probelauf-Zugriffsrichtlinie, die die beabsichtigte Aktion beim Erzwingen der Zugriffsrichtlinie angibt.
Mögliche Werte: GRANTED oder DENIED . |
Weitere Informationen zum Erstellen einer Abfrage für Logs finden Sie unter Logging-Abfragesprache.
Console
Klicken Sie im Navigationsmenü der Google Cloud Console auf Logging und dann auf Log-Explorer.
Geben Sie im Feld Abfrage einen Abfragefilter wie den folgenden ein und klicken Sie dann auf Abfrage ausführen.
severity="ERROR" AND (protoPayload.metadata.evaluationResult=DENIED OR protoPayload.metadata.dryRunEvaluationResult=DENIED) AND protoPayload.metadata.@type="type.googleapis.com/google.cloud.audit.ContextAwareAccessAuditMetadata" AND protoPayload.metadata.deniedApplications.name="CLOUD_PLATFORM"
Sehen Sie sich die Logs unter Abfrageergebnisse an.
gcloud
Führen Sie einen Befehl wie den folgenden aus, um Logs mit der gcloud CLI aufzurufen:
gcloud logging read 'severity="ERROR" AND
(protoPayload.metadata.evaluationResult=DENIED OR protoPayload.metadata.dryRunEvaluationResult=DENIED) AND
protoPayload.metadata.@type="type.googleapis.com/google.cloud.audit.ContextAwareAccessAuditMetadata" AND
protoPayload.metadata.deniedApplications.name="CLOUD_PLATFORM"'
Zugriffsbindungen verwalten
Nachdem die Zugriffsbindungen für eine Gruppe von Nutzern erstellt wurden, wird der Zugriff auf die Google Cloud Console und die Google Cloud APIs abhängig von der Zufriedenheit der gebundenen Zugriffsebene gesteuert.
Sie können die Details der von Ihnen erstellten Zugriffsbindung ansehen, sie bearbeiten oder löschen.
Zugriffsbindungen ansehen
Console
Sie können alle Zugriffsbindungen für die Organisation und die Details einer Zugriffsbindung aufrufen.
gcloud
Führen Sie den folgenden Befehl aus, um alle Zugriffsbindungen anzusehen:
gcloud access-context-manager cloud-bindings list \ --organization ORG_ID
Wobei:
ORG_ID
ist die ID für die Organisation, die Sie beim Erstellen der RolleGcpAccessAdmin
verwendet haben. Wenn das Attributaccess-context-manager/organization
nicht festgelegt wurde, ersetzen SieORG_ID
im optionalen Flag--organization
durch die ID der Organisation, die Sie beim Erstellen der RolleGcpAccessAdmin
verwendet haben.Führen Sie den folgenden Befehl aus, um die Details einer Zugriffsbindung anzusehen:
gcloud access-context-manager cloud-bindings describe \ --binding=BINDING_ID
Wobei:
BINDING_ID
ist die ID der Zugriffsbindung oder eine voll qualifizierte Kennung für die Zugriffsbindung.
API
Alle Zugriffsbindungen ansehen:
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
-
ORG_ID
ist die ID für die Organisation, die Sie beim Erstellen der RolleGcpAccessAdmin
verwendet haben. Wenn das Attributaccess-context-manager/organization
nicht festgelegt wurde, ersetzen SieORG_ID
im optionalen Flag--organization
durch die ID der Organisation, die Sie beim Erstellen der RolleGcpAccessAdmin
verwendet haben.
HTTP-Methode und URL:
GET https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"PowerShell
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand ContentSie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": string, "groupKey": string, "accessLevels": [ string ] "dryRunAccessLevels": [ string ] }
-
Sehen Sie sich die Details einer Zugriffsbindung an:
HTTP-Methode und URL:
GET https://accesscontextmanager.googleapis.com/v1/BINDING_ID
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://accesscontextmanager.googleapis.com/v1/BINDING_ID"PowerShell
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://accesscontextmanager.googleapis.com/v1/BINDING_ID" | Select-Object -Expand ContentSie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l", "groupKey": "045jfvxd0ybeul8", "accessLevels": [ "accessPolicies/305009197125/accessLevels/device_lock" ], "dryRunAccessLevels": [ "accessPolicies/305009197125/accessLevels/another" ] }
Zugriffsbindungen aktualisieren
Console
Sie können eine Zugriffsbindung bei Bedarf aktualisieren.
gcloud
Führen Sie den folgenden Befehl aus, um eine Zugriffsbindung zu aktualisieren, z. B. um die Zugriffsebene zu ändern:
gcloud access-context-manager cloud-bindings update \ --binding ACCESS_BINDING \ --level ACCESS_LEVEL
Wobei:
-
ACCESS_BINDING
hat das Formatorganizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME
. -
ORG_ID
ist die ID für die Organisation, die Sie beim Erstellen der RolleGcpAccessAdmin
verwendet haben. -
ACCESS_BINDING_NAME
ist der eindeutige String, der beim Erstellen der Zugriffsbindung für diename
-ID zurückgegeben wurde. - Ersetzen Sie den Wert für ACCESS_LEVEL bei Bedarf.
ACCESS_LEVEL
hat das FormataccessPolicies/
. Die Werte fürPOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
undACCESS_LEVEL_NAME
finden Sie in Access Context Manager ab dem Erstellen der Zugriffsebene.
-
Führen Sie den folgenden Befehl aus, um eine Zugriffsbindung mit einer Probelaufzugriffsebene zu aktualisieren:
gcloud access-context-manager cloud-bindings update --binding=ACCESS_BINDING --dry-run-level=DRY_RUN_ACCESS_LEVEL
Ersetzen Sie den Wert für
DRY_RUN_ACCESS_LEVEL
bei Bedarf. Es hat das FormataccessPolicies/
.POLICY_ID
/accessLevels/DRY_ACCESS_LEVEL_NAME
Führen Sie den folgenden Befehl aus, um eine Zugriffsbindung zu aktualisieren und sowohl die Zugriffsebene als auch die Zugriffsebene für den Probelauf zu ändern:
gcloud access-context-manager cloud-bindings update --binding=ACCESS_BINDING --level=`ACCESS_LEVEL` --dry-run-level=DRY_RUN_ACCESS_LEVEL
Ersetzen Sie den Wert für
ACCESS_LEVEL
undDRY_RUN_ACCESS_LEVEL
nach Bedarf.ACCESS_LEVEL
undDRY_RUN_ACCESS_LEVEL
haben das FormataccessPolicies/
undPOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
DRY_RUN_ACCESS_LEVEL
ist mitACCESS_LEVEL
identisch.Führen Sie den folgenden Befehl aus, um die Zugriffsebene eines Probelaufs aus einer Zugriffsbindung zu entfernen:
gcloud access-context-manager cloud-bindings update --binding=ACCESS_BINDING --dry-run-level=
API
Aktualisieren Sie eine Zugriffsbindung, z. B. um die Zugriffsebene zu ändern:
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
-
ACCESS_BINDING_NAME
ist der eindeutige String, der beim Erstellen der Zugriffsbindung für diename
-ID zurückgegeben wurde. -
ACCESS_LEVEL
hat das FormataccessPolicies/
. Die Werte fürPOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
undACCESS_LEVEL_NAME
finden Sie in Access Context Manager ab dem Erstellen der Zugriffsebene.
HTTP-Methode und URL:
PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels
JSON-Text der Anfrage:
{ "accessLevels": [ "ACCESS_LEVEL" ] }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
und führen Sie den folgenden Befehl aus:curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels"PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
und führen Sie den folgenden Befehl aus:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels" | Select-Object -Expand ContentSie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l", "groupKey": "045jfvxd0ybeul8", "accessLevels": [ "accessPolicies/305009197125/accessLevels/device_lock" ] }
-
Aktualisieren Sie eine Zugriffsbindung mit der Zugriffsebene für den Probelauf:
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
-
ACCESS_BINDING_NAME
ist der eindeutige String, der beim Erstellen der Zugriffsbindung für diename
-ID zurückgegeben wurde. -
DRY_RUN_ACCESS_LEVEL
ist dieACCESS_LEVEL
, deren Auswirkung Sie verstehen möchten.ACCESS_LEVEL
hat das FormataccessPolicies/
. Die Werte fürPOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
undACCESS_LEVEL_NAME
finden Sie in Access Context Manager ab dem Erstellen der Zugriffsebene.
HTTP-Methode und URL:
PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels
JSON-Text der Anfrage:
{ "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ] }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
und führen Sie den folgenden Befehl aus:curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels"PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
und führen Sie den folgenden Befehl aus:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels" | Select-Object -Expand ContentSie sollten in etwa folgende JSON-Antwort erhalten:
{ name: "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l", group_key: "045jfvxd0ybeul8", dry_run_access_levels: [ "accessPolicies/305009197125/accessLevels/another" ] }
-
Aktualisieren Sie eine Zugriffsbindung und ändern Sie sowohl die Zugriffsebene als auch die Zugriffsebene des Probelaufs:
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
-
ACCESS_BINDING_NAME
ist der eindeutige String, der beim Erstellen der Zugriffsbindung für diename
-ID zurückgegeben wurde. -
ACCESS_LEVEL
hat das FormataccessPolicies/
. Die Werte fürPOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
undACCESS_LEVEL_NAME
finden Sie in Access Context Manager ab dem Erstellen der Zugriffsebene. -
DRY_RUN_ACCESS_LEVEL
ist dieACCESS_LEVEL
, deren Auswirkung Sie verstehen möchten.ACCESS_LEVEL
hat das FormataccessPolicies/
. Die Werte fürPOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
undACCESS_LEVEL_NAME
finden Sie in Access Context Manager ab dem Erstellen der Zugriffsebene.
HTTP-Methode und URL:
PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels,dry_run_access_levels
JSON-Text der Anfrage:
{ "accessLevels": [ "ACCESS_LEVEL" ], "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ] }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
und führen Sie den folgenden Befehl aus:curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels,dry_run_access_levels"PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
und führen Sie den folgenden Befehl aus:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels,dry_run_access_levels" | Select-Object -Expand ContentSie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l", "groupKey": "045jfvxd0ybeul8", "accessLevels": [ "accessPolicies/305009197125/accessLevels/device_lock" ], "dryRunAccessLevels": [ "accessPolicies/305009197125/accessLevels/another" ] }
-
Zugriffsebene für Probelauf von einer Zugriffsbindung entfernen:
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
-
ACCESS_BINDING_NAME
ist der eindeutige String, der beim Erstellen der Zugriffsbindung für diename
-ID zurückgegeben wurde.
HTTP-Methode und URL:
PATCH PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels
JSON-Text der Anfrage:
{ "dryRunAccessLevels": [ ] }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
und führen Sie den folgenden Befehl aus:curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels"PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
und führen Sie den folgenden Befehl aus:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels" | Select-Object -Expand ContentSie sollten einen erfolgreichen Statuscode (2xx) und eine leere Antwort als Ausgabe erhalten.
-
Zugriffsbindungen löschen
Console
Sie können eine Zugriffsbindung bei Bedarf löschen.
gcloud
gcloud access-context-manager cloud-bindings delete \
--binding ACCESS_BINDING
Wobei:
-
ACCESS_BINDING
hat das Formatorganizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME
. -
ACCESS_BINDING_NAME
ist der eindeutige String, der beim Erstellen der Zugriffsbindung für diename
-ID zurückgegeben wurde.
API
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
-
ACCESS_BINDING_NAME
ist der eindeutige String, der beim Erstellen der Zugriffsbindung für diename
-ID zurückgegeben wurde.
HTTP-Methode und URL:
DELETE https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME"
PowerShell
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME" | Select-Object -Expand Content
Sie sollten einen erfolgreichen Statuscode (2xx) und eine leere Antwort als Ausgabe erhalten.
Häufig gestellte Fragen
Wie lange dauert es, bis eine neu erstellte Zugriffsbindung wirksam wird?
Dies kann bis zu 24 Stunden dauern.
Was passiert, wenn ich eine Gruppe mit Zugriffsbindung lösche?
Gruppe und Bindung werden gelöscht und alle Nutzer in der Gruppe erhalten Zugriff.
Was passiert, wenn ich die Zugriffsebene lösche, die in einer Zugriffsbindung verwendet wird?
Die Zugriffsebene kann nie erfüllt werden und alle Nutzer der gebundenen Gruppe kriegen den Zugriff verweigert.
Was passiert, wenn sich ein Nutzer in mehreren Gruppen mit Zugriffsbindungen befindet?
Der Nutzer muss nur der Zugriffsebene einer dieser Gruppen entsprechen, um Zugriff zu erhalten.
Was ist mit Nutzern, die nicht zu meiner Organisation gehören?
Personen, die nicht Ihrer Organisation angehören, unterliegen nicht der Zugriffsbindung, auch wenn Sie sie der Nutzergruppe hinzugefügt haben, die an kontextsensitive Einschränkungen gebunden sein soll.
Nächste Schritte
- Weitere Informationen zum Audit-Log für BeyondCorp Enterprise finden Sie unter Audit-Logging.
- Weitere Informationen zum Audit-Logging in Access Context Manager finden Sie unter Informationen zum Audit-Logging in Access Context Manager. Dort wird auch beschrieben, welche API-Vorgänge für Administratoraktionen protokolliert werden.