In diesem Dokument wird erläutert, wie Sie den Zugriff auf die Google Cloud Console und die 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. Sie ist Teil von BeyondCorp Enterprise und sorgt dafür, dass Personen und Gruppen in Ihrer Organisation, die die definierten Zugriffsanforderungen erfüllen, auf die Google Cloud Console und die Google Cloud APIs zugreifen können (einschließlich des Zugriffs über die Google Cloud CLI).
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 an kontextsensitive Einschränkungen gebunden sind.
- 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 sichern möchten, stellen Sie die Endpunktprüfung für Geräte in Ihrer Organisation bereit.
Die Endpunktprüfung wird als Chrome-Erweiterung für Nutzer von macOS, Windows und Linux auf Computern und Laptops ausgeführt. Ein Administrator kann es über die Admin-Konsole auf den unternehmenseigenen Geräten der Organisation bereitstellen oder Mitglieder der Organisation können es selbst installieren.
Zugriffsebene erstellen
Sie müssen eine Zugriffsebene definieren, die beim Bestimmen des Zugriffs auf die Google Cloud Console und die Google Cloud APIs verwendet werden kann. Erstellen Sie dazu eine einfache Zugriffsebene in Access Context Manager.
Eine Nutzergruppe 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 Zugriffsebene erfüllen, die Sie zuvor für den Zugriff auf die Google Cloud Console und die Google Cloud APIs erstellt haben.
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 zuvor erstellten Nutzergruppe und der Zugriffsebene für Access Context Manager, die Sie für den Zugriff auf die Google Cloud Console und die 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 Probezugriffsebene oder zwischen einer Gruppe, einer Zugriffsebene und einer Probelaufzugriffsebene erstellen.
Zugriffsbindung mit 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-Befehlen vom Typ gcloud access-context-manager cloud-bindings, 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 für die Gruppe von Nutzern, die Sie zuvor erstellt haben.Wenn Sie die Gruppen-ID nicht haben, können Sie sie abrufen, indem Sie die
get
-Methode für die RessourceGroups
aufrufen. -
ORG_ID
ist die ID der Organisation, die Sie beim Erstellen der RolleGcpAccessAdmin
verwendet haben. Wenn die Propertyaccess-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 der Erstellung der Zugriffsebene.
API
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
-
ORG_ID
ist die ID der Organisation, die Sie beim Erstellen der RolleGcpAccessAdmin
verwendet haben. -
GROUP_ID
ist die Gruppen-ID für die Gruppe von Nutzern, die Sie zuvor erstellt haben.Wenn Sie die Gruppen-ID nicht haben, können Sie sie abrufen, indem Sie die
get
-Methode 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 der Erstellung 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 eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l", "groupKey": "045jfvxd0ybeul8", "accessLevels": [ "accessPolicies/305009197125/accessLevels/device_lock" ] }
Zugriffsbindung mit Probelaufkonfiguration erstellen
In den folgenden Szenarien können Sie eine Zugriffsbindung mit Probelaufkonfiguration erstellen, um die Auswirkungen der Zugriffsebenen in Ihrer Umgebung nachzuvollziehen:
- Damit Sie die Auswirkungen einer Zugriffsebene vor dem Erzwingen bewerten können, erstellen Sie eine Zugriffsbindung mit einer Probezugriffsebene.
- Um eine Zugriffsebene zu erzwingen und gleichzeitig die Auswirkungen einer Probezugriffsebene zu bewerten, erstellen Sie eine Zugriffsbindung mit einer aktiven Zugriffsebene und einer Probezugriffsebene.
Eine Zugriffsbindung mit einer Probezugriffsebene verhindert den Zugriff nicht, protokolliert jedoch die Verstöße gegen die Probelaufzugriffsebene. Informationen zu den Logdetails finden Sie in den Ablehnungslogs.
Zugriffsbindung mit einer Probelaufzugriffsebene 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 für die Gruppe von Nutzern, die Sie zuvor erstellt haben.Wenn Sie die Gruppen-ID nicht haben, können Sie sie abrufen, indem Sie die
get
-Methode für die RessourceGroups
aufrufen. -
ORG_ID
ist die ID der Organisation, die Sie beim Erstellen der RolleGcpAccessAdmin
verwendet haben. Wenn die Propertyaccess-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 derACCESS_LEVEL
, für den Sie die Auswirkungen nachvollziehen 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 der Erstellung der Zugriffsebene.
API
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
-
ORG_ID
ist die ID der Organisation, die Sie beim Erstellen der RolleGcpAccessAdmin
verwendet haben. -
GROUP_ID
ist die Gruppen-ID für die Gruppe von Nutzern, die Sie zuvor erstellt haben.Wenn Sie die Gruppen-ID nicht haben, können Sie sie abrufen, indem Sie die
get
-Methode für die RessourceGroups
aufrufen. -
POLICY_ID
ist die ID der Zugriffsrichtlinie Ihrer Organisation. -
DRY_RUN_ACCESS_LEVEL
ist derACCESS_LEVEL
, für den Sie die Auswirkungen nachvollziehen 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 der Erstellung 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 eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l", "groupKey": "045jfvxd0ybeul8", "dryRunAccessLevels": [ "accessPolicies/305009197125/accessLevels/another" ] }
Zugriffsbindung mit einer Zugriffsebene und einer Probezugriffsebene 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 für die Gruppe von Nutzern, die Sie zuvor erstellt haben.Wenn Sie die Gruppen-ID nicht haben, können Sie sie abrufen, indem Sie die
get
-Methode für die RessourceGroups
aufrufen. -
ORG_ID
ist die ID der Organisation, die Sie beim Erstellen der RolleGcpAccessAdmin
verwendet haben. Wenn die Propertyaccess-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 der Erstellung der Zugriffsebene. -
DRY_RUN_ACCESS_LEVEL
ist derACCESS_LEVEL
, für den Sie die Auswirkungen nachvollziehen 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 der Erstellung der Zugriffsebene.
API
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
-
ORG_ID
ist die ID der Organisation, die Sie beim Erstellen der RolleGcpAccessAdmin
verwendet haben. -
GROUP_ID
ist die Gruppen-ID für die Gruppe von Nutzern, die Sie zuvor erstellt haben.Wenn Sie die Gruppen-ID nicht haben, können Sie sie abrufen, indem Sie die
get
-Methode 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 der Erstellung der Zugriffsebene. -
DRY_RUN_ACCESS_LEVEL
ist derACCESS_LEVEL
, für den Sie die Auswirkungen nachvollziehen 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 der Erstellung 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 eine JSON-Antwort ähnlich wie diese 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 von Logs feststellen, wo die Probelaufkonfiguration den Zugriff verweigert.
In der folgenden Tabelle sind die Logfelder aufgeführt, mit denen Sie die Abfrage erstellen und ausführen können, um die Logs abzurufen:
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 gemäß der aktiven Zugriffsrichtlinie erforderlich sind. |
protoPayload > metadata > appliedDryRunAccessLevels |
Die angewendeten Zugriffsebenen, die gemäß der Probelaufrichtlinie erforderlich sind. |
protoPayload > metadata > dryRunEvaluationResult |
Das Bewertungsergebnis der Probelaufzugriffsrichtlinie, die die beabsichtigte Aktion angibt, wenn die Zugriffsrichtlinie erzwungen wird.
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 in das Feld Abfrage einen Abfragefilter wie den folgenden Filter 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 Protokolle unter Abfrageergebnisse an.
gcloud
Führen Sie den folgenden Befehl 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 anhand der Zufriedenheit der gebundenen Zugriffsebene gesteuert.
Sie können die Details der von Ihnen erstellten Zugriffsbindung ansehen, bearbeiten oder löschen.
Zugriffsbindungen ansehen
Console
Sie können sich alle Zugriffsbindungen für die Organisation und die Details einer Zugriffsbindung ansehen.
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 der Organisation, die Sie beim Erstellen der RolleGcpAccessAdmin
verwendet haben. . Wenn die Propertyaccess-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 einer voll qualifizierten Kennung für die Zugriffsbindung.
API
Alle Zugriffsbindungen ansehen:
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
-
ORG_ID
ist die ID der Organisation, die Sie beim Erstellen der RolleGcpAccessAdmin
verwendet haben. Wenn die Propertyaccess-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 eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": string, "groupKey": string, "accessLevels": [ string ] "dryRunAccessLevels": [ string ] }
-
Details zu einer Zugriffsbindung ansehen:
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 eine JSON-Antwort ähnlich wie diese 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 nach 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 der Organisation, die Sie beim Erstellen der RolleGcpAccessAdmin
verwendet haben. -
ACCESS_BINDING_NAME
ist der eindeutige String, der für die Kennungname
zurückgegeben wurde, als die Zugriffsbindung erstellt wurde. - Ersetzen Sie den Wert für ACCESS_LEVEL nach 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 der Erstellung der Zugriffsebene.
-
Führen Sie den folgenden Befehl aus, um eine Zugriffsbindung mit einer Probezugriffsebene 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
nach Bedarf. Sie 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 die FormaccessPolicies/
undPOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
DRY_RUN_ACCESS_LEVEL
sind mitACCESS_LEVEL
identisch.Führen Sie den folgenden Befehl aus, um eine Probezugriffsebene aus einer Zugriffsbindung zu entfernen:
gcloud access-context-manager cloud-bindings update --binding=ACCESS_BINDING --dry-run-level=
API
Aktualisieren Sie eine Zugriffsbindung, um beispielsweise die Zugriffsebene zu ändern:
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
-
ACCESS_BINDING_NAME
ist der eindeutige String, der für die Kennungname
zurückgegeben wurde, als die Zugriffsbindung erstellt 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 der Erstellung 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 eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l", "groupKey": "045jfvxd0ybeul8", "accessLevels": [ "accessPolicies/305009197125/accessLevels/device_lock" ] }
-
Aktualisieren Sie eine Zugriffsbindung mit der Probelaufzugriffsebene:
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
-
ACCESS_BINDING_NAME
ist der eindeutige String, der für die Kennungname
zurückgegeben wurde, als die Zugriffsbindung erstellt wurde. -
DRY_RUN_ACCESS_LEVEL
ist derACCESS_LEVEL
, für den Sie die Auswirkungen nachvollziehen 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 der Erstellung 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 eine JSON-Antwort ähnlich wie diese 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 für den Probelauf:
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
-
ACCESS_BINDING_NAME
ist der eindeutige String, der für die Kennungname
zurückgegeben wurde, als die Zugriffsbindung erstellt 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 der Erstellung der Zugriffsebene. -
DRY_RUN_ACCESS_LEVEL
ist derACCESS_LEVEL
, für den Sie die Auswirkungen nachvollziehen 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 der Erstellung 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 eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l", "groupKey": "045jfvxd0ybeul8", "accessLevels": [ "accessPolicies/305009197125/accessLevels/device_lock" ], "dryRunAccessLevels": [ "accessPolicies/305009197125/accessLevels/another" ] }
-
So entfernen Sie eine Probezugriffsebene aus einer Zugriffsbindung:
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
-
ACCESS_BINDING_NAME
ist der eindeutige String, der für die Kennungname
zurückgegeben wurde, als die Zugriffsbindung erstellt 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 jederzeit 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 für die Kennungname
zurückgegeben wurde, als die Zugriffsbindung erstellt wurde.
API
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
-
ACCESS_BINDING_NAME
ist der eindeutige String, der für die Kennungname
zurückgegeben wurde, als die Zugriffsbindung erstellt 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.