Diese Seite enthält Informationen zum Analysieren der Einstellungen Ihrer Organisationsrichtlinien, um festzustellen, welche Ressourcen von welcher Organisationsrichtlinie abgedeckt werden. Mit Policy Analyzer für Organisationsrichtlinien können Sie eine Analyseabfrage erstellen, um Informationen zu benutzerdefinierten und vordefinierten Organisationsrichtlinien zu erhalten.
Eine Analyseabfrage besteht aus einem Bereich und einer Einschränkung.
- Einschränkung: Gibt den Ressourcennamen einer Einschränkung an.
- Umfang: gibt eine Organisation an, für die der Umfang der Analyse bestimmt werden soll. Alle Organisationsrichtlinien mit der in diesem Bereich definierten Einschränkung werden in die Analyse einbezogen.
Weitere Informationen zu Organisationsrichtlinien finden Sie in der Einführung in den Organisationsrichtliniendienst. Weitere Informationen zum Erstellen benutzerdefinierter Einschränkungen finden Sie unter Benutzerdefinierte Einschränkungen erstellen und verwalten.
Hinweise
Cloud Asset API aktivieren.
Sie müssen die API in dem Projekt oder der Organisation aktivieren, die Sie zum Senden der Abfrage verwenden. Dies muss nicht dieselbe Ressource sein, auf die Sie den Bereich Ihrer Abfrage beziehen.
Erforderliche Rollen und Berechtigungen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für die Organisationsressource zu gewähren, in der Sie die Analyse durchführen möchten, um die Berechtigungen zu erhalten, die Sie zum Ausführen einer Organisationsrichtlinienanalyse benötigen:
-
So führen Sie die Analyse durch:
Cloud Asset Viewer (
roles/cloudasset.viewer
) -
So rufen Sie benutzerdefinierte Einschränkungen auf:
Organisationsrichtlinien-Betrachter (
roles/orgpolicy.policyViewer
)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Ausführen einer Organisationsrichtlinienanalyse erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um eine Analyse der Organisationsrichtlinien auszuführen:
-
So führen Sie die Analyse durch:
-
cloudasset.assets.analyzeOrgPolicy
-
cloudasset.assets.searchAllResources
-
cloudasset.assets.searchAllIamPolicies
-
-
So rufen Sie benutzerdefinierte Einschränkungen auf:
orgpolicy.customConstraints.get
Möglicherweise können Sie diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Konfigurierte Richtlinien analysieren
Eine Organisationsrichtlinie wird aus einer Einschränkung und optionalen Bedingungen erstellt, unter denen diese Einschränkung erzwungen wird. Mit Policy Analyzer können Sie eine Liste von Organisationsrichtlinien mit einer bestimmten Einschränkung und den Ressourcen zurückgeben, mit denen diese Richtlinien verknüpft sind.
Für jede Organisationsrichtlinie, die im Bereich der Abfrage erkannt wird, gibt Policy Analyzer einen Ergebniseintrag zurück. Ein Ergebniseintrag enthält die folgenden Felder:
consolidatedPolicy
: die Ressource, mit der die Organisationsrichtlinie verknüpft ist, und die effektive Richtlinienerzwingung für diese Ressource in Bezug auf Hierarchieauswertungsregeln.folders
: die ID aller Ordnerressourcen, die Ancestors der Ressource sind, mit der die Organisationsrichtlinie verknüpft ist.organization
: die ID der Organisationsressource, die der Ancestor der Ressource ist, an die die Organisationsrichtlinie angehängt ist.policyBundle
: die vollständig konfigurierte Organisationsrichtlinie, die an die obige Ressource angehängt ist, und die Organisationsrichtlinien, die für ihre Ancestors in der Ressourcenhierarchie definiert sind.
Console
Rufen Sie in der Google Cloud Console die Seite Policy Analyzer auf.
Suchen Sie im Abschnitt Organisationsrichtlinie analysieren den Bereich Wie werden Organisationsrichtlinien für Ressourcen in meiner Organisation konfiguriert? und klicken Sie in diesem Bereich auf Abfrage erstellen.
Wählen Sie im Feld Abfrageorganisation auswählen die Organisation aus, deren Organisationsrichtlinien Sie analysieren möchten.
Wählen Sie die Art der Einschränkung aus, die Sie analysieren möchten. Wählen Sie für eine vordefinierte Einschränkung Integrierte Einschränkung aus. Wählen Sie für eine benutzerdefinierte Einschränkung Benutzerdefinierte Einschränkung aus.
Geben Sie den Namen der Einschränkung ein, die Sie analysieren möchten. Das Präfix für die Art der Einschränkung, die Sie analysieren, ist bereits enthalten. Geben Sie beispielsweise für die vordefinierte Domaineinschränkung
iam.allowedPolicyMemberDomains
und für eine benutzerdefinierte Einschränkung den Namen ein, z. B.disableGkeAutoUpgrade
.Klicken Sie auf Abfrage ausführen. Auf der Seite des Berichts werden die von Ihnen eingegebenen Abfrageparameter und eine Ergebnistabelle mit allen Ressourcen angezeigt, auf die diese Einschränkung direkt angewendet wird.
gcloud
Verwenden Sie den Befehl gcloud beta asset analyze-org-policies
, um zu erfahren, wie eine Einschränkung einer Organisationsrichtlinie in einer Organisation erzwungen wird:
gcloud beta asset analyze-org-policies \
--constraint=CONSTRAINT_NAME \
--scope=organizations/ORGANIZATION_ID \
--limit=LIMIT_POLICIES \
--filter=FILTER_QUERY
Ersetzen Sie Folgendes:
CONSTRAINT_NAME: der Name der Einschränkung der Organisationsrichtlinie, die Sie analysieren möchten. Eine Liste der Einschränkungen finden Sie unter Einschränkungen für Organisationsrichtlinien.
ORGANIZATION_ID: durch die ID Ihrer Organisationsressource Weitere Informationen zum Ermitteln Ihrer Organisations-ID finden Sie unter Organisationen erstellen und verwalten.
LIMIT_POLICIES: die Anzahl der Ergebniseinträge, die Sie ansehen möchten. Geben Sie
unlimited
ein, um unbegrenzt viele Einträge zu sehen.FILTER_QUERY: Eine Filterabfrage, mit der nur Richtlinien angezeigt werden, die Ihrem Filterausdruck entsprechen. Das einzige verfügbare Feld zum Filtern ist
consolidated_policy.attached_resource
. Durchconsolidated_policy.attached_resource="//cloudresourcemanager.googleapis.com/projects/1234567890"
werden beispielsweise nur Richtlinien zurückgegeben, die mit der Projekt-ID1234567890
an das Projekt angehängt wurden.
Die YAML-Antwort sieht in etwa so aus:
Beispiel-YAML-Antwort
--- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 attachedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 rules: - enforce: true policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 attachedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 reset: true - appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true --- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true
REST
Wenn Sie analysieren möchten, wie eine Einschränkung einer Organisationsrichtlinie in einer Organisation erzwungen wird, verwenden Sie die Methode analyzeOrgPolicies
der Cloud Asset API.
HTTP-Methode und URL:
GET https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_ID:analyzeOrgPolicies
JSON-Text anfordern:
JSON_REQUEST="{ 'constraint': 'CONSTRAINT_NAME', 'filter': 'FILTER_QUERY', 'page_size': PAGE_SIZE, 'page_token': PAGE_TOKEN }"
Ersetzen Sie Folgendes:
ORGANIZATION_ID: durch die ID Ihrer Organisationsressource Weitere Informationen zum Ermitteln Ihrer Organisations-ID finden Sie unter Organisationen erstellen und verwalten.
CONSTRAINT_NAME: der Name der Einschränkung der Organisationsrichtlinie, die Sie analysieren möchten. Eine Liste der Einschränkungen finden Sie unter Einschränkungen für Organisationsrichtlinien.
FILTER_QUERY: Eine Filterabfrage, mit der nur Richtlinien angezeigt werden, die Ihrem Filterausdruck entsprechen. Das einzige verfügbare Feld zum Filtern ist
consolidated_policy.attached_resource
. Durchconsolidated_policy.attached_resource="//cloudresourcemanager.googleapis.com/projects/1234567890"
werden beispielsweise nur Richtlinien zurückgegeben, die mit der Projekt-ID1234567890
an das Projekt angehängt wurden.PAGE_SIZE: die Anzahl der Ergebniseinträge pro Seite, die Sie ansehen möchten. Geben Sie
unlimited
ein, um unbegrenzt viele Einträge zu sehen. Eine Anfrage mit diesem Flag gibt einennextPageToken
-Wert zurück, wenn die Gesamtzahl der Ergebniseinträge größer als PAGE_SIZE ist.PAGE_TOKEN: wird nur für Anfragen nach der ersten Anfrage festgelegt, die das Flag
page_size
enthält. Sie können dienextPageToken
-Werte aus vorherigen Antworten verwenden, um eine bestimmte Ergebnisseite zurückzugeben.
Die JSON-Antwort sieht in etwa so aus:
Beispiel für JSON-Antwort
{ "orgPolicyResults": [ { "consolidatedPolicy": { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/123456789012", "rules": [ { "values": { "allowedValues": [ "C0265whk2" ] } }, { "values": { "allowedValues": [ "C03kd36xr" ] } } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/123456789012" }, "policyBundle": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/123456789012", "rules": [ { "values": { "allowedValues": [ "C03kd36xr" ] } } ], "inheritFromParent": true, "appliedResource": "//cloudresourcemanager.googleapis.com/folders/123456789012" }, { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/234567890123", "rules": [ { "values": { "allowedValues": [ "C0265whk2" ] } } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/234567890123" } ] }, { "consolidatedPolicy": { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/234567890123", "rules": [ { "values": { "allowedValues": [ "C0265whk2" ] } } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/234567890123" }, "policyBundle": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/234567890123", "rules": [ { "values": { "allowedValues": [ "C0265whk2" ] } } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/234567890123" } ] } ] "constraint": { "googleDefinedConstraint": { "name": "constraints/iam.allowedPolicyMemberDomains", "displayName": "Domain restricted sharing", "description": "This list constraint defines one or more Cloud Identity or Google Workspace customer IDs whose principals can be added to IAM policies. \u003cbr\u003eBy default, all user identities are allowed to be added to IAM policies. Only allowed values can be defined in this constraint, denied values are not supported. \u003cbr\u003eIf this constraint is active, only principals that belong to the allowed customer IDs can be added to IAM policies.", "constraintDefault": "ALLOW", "listConstraint": {} } } }
Container analysieren
Ein Container ist in diesem Kontext eine Projekt-, Ordner- oder Organisationsressource.
Mit Policy Analyzer können Sie eine Liste aller Container zurückgeben, die Organisationsrichtlinien mit einer bestimmten erzwungenen Einschränkung haben.
Policy Analyzer gibt außerdem den vollständigen Namen jedes Containers und
das übergeordnete Element des Containers in der Hierarchie zurück.
Für jeden Container, der im Bereich der Abfrage erkannt wird, gibt Policy Analyzer einen Ergebniseintrag zurück. Ein Ergebniseintrag enthält die folgenden Felder:
consolidatedPolicy
: der Container, mit dem die Organisationsrichtlinie verknüpft ist, und die effektive Richtlinienerzwingung für diesen Container in Bezug auf Hierarchieauswertungsregeln.fullResourceName
: der vollständige Name des Containers.parent
: der vollständige Ressourcenname des übergeordneten Elements dieses Containers.policyBundle
: die direkt für den Container konfigurierte Organisationsrichtlinie, sofern vorhanden, und die Organisationsrichtlinien, die für die Ancestors des Containers in der Ressourcenhierarchie definiert sind.
Console
Rufen Sie in der Google Cloud Console die Seite Policy Analyzer auf.
Suchen Sie im Abschnitt Organisationsrichtlinie analysieren den Bereich Bei welchen Containern wird eine Einschränkung der Organisationsrichtlinie erzwungen? und klicken Sie in diesem Bereich auf Abfrage erstellen.
Wählen Sie im Feld Abfrageorganisation auswählen die Organisation aus, deren Organisationsrichtlinien Sie analysieren möchten.
Wählen Sie die Art der Einschränkung aus, die Sie analysieren möchten. Wählen Sie für eine vordefinierte Einschränkung Integrierte Einschränkung aus. Wählen Sie für eine benutzerdefinierte Einschränkung Benutzerdefinierte Einschränkung aus.
Geben Sie den Namen der Einschränkung ein, die Sie analysieren möchten. Das Präfix für die Art der Einschränkung, die Sie analysieren, ist bereits enthalten. Geben Sie beispielsweise für die vordefinierte Domaineinschränkung
iam.allowedPolicyMemberDomains
und für eine benutzerdefinierte Einschränkung den Namen ein, z. B.disableGkeAutoUpgrade
.Klicken Sie auf Abfrage ausführen. Auf der Seite des Berichts werden die von Ihnen eingegebenen Abfrageparameter und eine Ergebnistabelle mit allen Containern angezeigt, für die diese Einschränkung erzwungen oder von denen sie übernommen wird.
gcloud
Wenn Sie analysieren möchten, wie eine Einschränkung der Organisationsrichtlinie für Container innerhalb einer Organisation erzwungen wird, verwenden Sie den Befehl gcloud beta asset analyze-org-policy-governed-containers
:
gcloud beta asset analyze-org-policy-governed-containers \
--constraint=CONSTRAINT_NAME \
--scope=organizations/ORGANIZATION_ID \
--limit=LIMIT_CONTAINERS \
--filter=FILTER_QUERY
Ersetzen Sie Folgendes:
CONSTRAINT_NAME: der Name der Einschränkung der Organisationsrichtlinie, die Sie analysieren möchten. Eine Liste der Einschränkungen finden Sie unter Einschränkungen für Organisationsrichtlinien.
ORGANIZATION_ID: durch die ID Ihrer Organisationsressource Weitere Informationen zum Ermitteln Ihrer Organisations-ID finden Sie unter Organisationen erstellen und verwalten.
LIMIT_CONTAINERS: die Anzahl der Ergebniseinträge, die Sie aufrufen möchten. Geben Sie
unlimited
ein, um unbegrenzt viele Einträge zu sehen.FILTER_QUERY: Eine Filterabfrage, mit der nur Container angezeigt werden, die Ihrem Filterausdruck entsprechen. Das einzige verfügbare Feld zum Filtern ist
parent
.parent="//cloudresourcemanager.googleapis.com/organizations/012345678901"
gibt beispielsweise nur Container zurück, die der Organisation mit der Organisations-ID012345678901
untergeordnet sind.
Die YAML-Antwort sieht in etwa so aus:
Beispiel-YAML-Antwort
--- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/projects/donghe-project1 attachedResource: //cloudresourcemanager.googleapis.com/projects/donghe-project1 rules: - values: allowedValues: - projects/donghe-project1/zones/us-central1-a/instances/instance-1 fullResourceName: //cloudresourcemanager.googleapis.com/projects/donghe-project1 parent: //cloudresourcemanager.googleapis.com/folders/86513245445 policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/projects/donghe-project1 attachedResource: //cloudresourcemanager.googleapis.com/projects/donghe-project1 inheritFromParent: true rules: - values: allowedValues: - projects/donghe-project1/zones/us-central1-a/instances/instance-1 --- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/projects/jeffreyai-prj01-on-ipa1 attachedResource: //cloudresourcemanager.googleapis.com/projects/jeffreyai-prj01-on-ipa1 rules: - denyAll: true fullResourceName: //cloudresourcemanager.googleapis.com/projects/jeffreyai-prj01-on-ipa1 parent: //cloudresourcemanager.googleapis.com/organizations/474566717491 policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/projects/jeffreyai-prj01-on-ipa1 attachedResource: //cloudresourcemanager.googleapis.com/projects/jeffreyai-prj01-on-ipa1 inheritFromParent: true rules: - denyAll: true --- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 attachedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 rules: - values: allowedValues: - projects/opa-test-project-1-364621/zones/us-central1-a/instances/instance-1 fullResourceName: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 parent: //cloudresourcemanager.googleapis.com/folders/666681422980 policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 attachedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 rules: - values: allowedValues: - projects/opa-test-project-1-364621/zones/us-central1-a/instances/instance-1
REST
Wenn Sie analysieren möchten, wie eine Einschränkung einer Organisationsrichtlinie für Container in einer Organisation erzwungen wird, verwenden Sie die Methode analyzeOrgPolicyGovernedContainers
der Cloud Asset API.
HTTP-Methode und URL:
GET https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_ID:analyzeOrgPolicyGovernedContainers
JSON-Text anfordern:
JSON_REQUEST="{ 'constraint': 'CONSTRAINT_NAME', 'filter': '"FILTER_QUERY"', 'page_size': PAGE_SIZE, 'page_token': PAGE_TOKEN }"
Ersetzen Sie Folgendes:
ORGANIZATION_ID: durch die ID Ihrer Organisationsressource Weitere Informationen zum Ermitteln Ihrer Organisations-ID finden Sie unter Organisationen erstellen und verwalten.
CONSTRAINT_NAME: der Name der Einschränkung der Organisationsrichtlinie, die Sie analysieren möchten. Eine Liste der Einschränkungen finden Sie unter Einschränkungen für Organisationsrichtlinien.
FILTER_QUERY: Eine Filterabfrage, mit der nur Container angezeigt werden, die Ihrem Filterausdruck entsprechen. Das einzige verfügbare Feld zum Filtern ist
parent
.parent="//cloudresourcemanager.googleapis.com/organizations/012345678901"
gibt beispielsweise nur Container zurück, die der Organisation mit der Organisations-ID012345678901
untergeordnet sind.PAGE_SIZE: die Anzahl der Seiten der Ergebniseinträge, die Sie ansehen möchten. Geben Sie
unlimited
ein, um unbegrenzt viele Einträge zu sehen. Eine Anfrage mit diesem Flag gibt einennextPageToken
-Wert zurück, wenn die Gesamtzahl der Ergebniseinträge größer als PAGE_SIZE ist.PAGE_TOKEN: wird nur für Anfragen nach der ersten Anfrage festgelegt, die das Flag
page_size
enthält. Sie können dienextPageToken
-Werte aus vorherigen Antworten verwenden, um eine bestimmte Ergebnisseite zurückzugeben.
Die JSON-Antwort sieht in etwa so aus:
Beispiel für JSON-Antwort
{ "governedContainers": [ { "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/opa-test-project-2", "parent": "//cloudresourcemanager.googleapis.com/folders/513502730678", "consolidatedPolicy": { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678" }, "policyBundle": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678" }, { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/666681422980", "rules": [ { "enforce": true } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/666681422980" } ] }, { "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/opa-test-project-1", "parent": "//cloudresourcemanager.googleapis.com/folders/513502730678", "consolidatedPolicy": { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678" }, "policyBundle": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678" }, { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/666681422980", "rules": [ { "enforce": true } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/666681422980" } ] } ] "constraint": { "googleDefinedConstraint": { "name": "constraints/compute.requireOsLogin", "displayName": "Require OS Login", "description": "This boolean constraint, when set to \u003ccode\u003etrue\u003c/code\u003e, enables OS Login on all newly created Projects. All VM instances created in new projects will have OS Login enabled. On new and existing projects, this constraint prevents metadata updates that disable OS Login at the project or instance level. \u003cbr\u003eBy default, the OS Login feature is disabled on Compute Engine projects.\u003cbr\u003eGKE instances in private clusters running node pool versions 1.20.5-gke.2000 and later support OS Login. GKE instances in public clusters do not currently support OS Login. If this constraint is applied to a Project running public clusters, GKE instances running in that Project may not function properly.", "constraintDefault": "ALLOW", "booleanConstraint": {} } } }
Assets analysieren
Ein Asset ist in diesem Kontext eine Google Cloud-Ressource oder eine Zulassungsrichtlinie für die Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM). Mit Policy Analyzer können Sie eine Liste aller Assets zurückgeben, für die Organisationsrichtlinien mit einer bestimmten erzwungenen Einschränkung gelten. Benutzerdefinierte Einschränkungen und die folgenden vordefinierten Einschränkungen werden unterstützt:
storage.uniformBucketLevelAccess
iam.disableServiceAccountKeyCreation
iam.allowedPolicyMemberDomains
compute.vmExternalIpAccess
appengine.enforceServiceAccountActAsCheck
gcp.resourceLocations
compute.trustedImageProjects
compute.skipDefaultNetworkCreation
compute.requireOsLogin
compute.disableNestedVirtualization
Policy Analyzer gibt den vollständigen Namen jedes Assets, das übergeordnete Asset in der Hierarchie sowie alle Ancestor-Projekt-, Ordner- und Organisationsressourcen über dem Asset in der Hierarchie zurück.
Für jedes im Bereich der Abfrage erkannte Asset gibt Policy Analyzer einen Ergebniseintrag zurück.
Ein Ergebniseintrag für eine Ressource enthält die folgenden Felder:
consolidatedPolicy
: die Ressource, mit der die Organisationsrichtlinie verknüpft ist, und die effektive Richtlinienerzwingung für diese Ressource in Bezug auf Hierarchieauswertungsregeln.folders
: die ID aller Ordnerressourcen, die die Ressource enthalten, an die die Organisationsrichtlinie angehängt ist.fullResourceName
: der vollständige Ressourcenname der Ressource.organization
: der relative Ressourcenname der Organisation, die die Ressource enthält.parent
: der vollständige Ressourcenname des übergeordneten Elements der Ressource.project
: die ID des Projekts, das die Ressource enthält.policyBundle
: die vollständig konfigurierte Organisationsrichtlinie, die an die obige Ressource angehängt ist, und die Organisationsrichtlinien, die für ihre Ancestors in der Ressourcenhierarchie definiert sind.
Ein Ergebniseintrag für eine Zulassungsrichtlinie enthält die folgenden Felder:
consolidatedPolicy
: die Ressource, mit der die Organisationsrichtlinie verknüpft ist, und die effektive Richtlinienerzwingung für diese Ressource in Bezug auf Hierarchieauswertungsregeln.attachedResource
: Der vollständige Name der Ressource, an die die Zulassungsrichtlinie angehängt ist.folders
: der relative Ressourcenname aller Ordner, die die Zulassungsrichtlinie enthalten.organization
: der relative Ressourcenname der Organisation, die die Zulassungsrichtlinie enthält.policy
: die Zulassungsrichtlinie.project
: der relative Ressourcenname des Projekts, das die Zulassungsrichtlinie enthält.policyBundle
: die vollständig konfigurierte Organisationsrichtlinie, die an die obige Ressource angehängt ist, und die Organisationsrichtlinien, die für ihre Ancestors in der Ressourcenhierarchie definiert sind.
Console
Rufen Sie in der Google Cloud Console die Seite Policy Analyzer auf.
Suchen Sie im Abschnitt Organisationsrichtlinie analysieren den Bereich Bei welchen Assets wird eine Einschränkung der Organisationsrichtlinie erzwungen? und klicken Sie in diesem Bereich auf Abfrage erstellen.
Wählen Sie im Feld Abfrageorganisation auswählen die Organisation aus, deren Organisationsrichtlinien Sie analysieren möchten.
Wählen Sie die Art der Einschränkung aus, die Sie analysieren möchten. Wählen Sie für eine vordefinierte Einschränkung Integrierte Einschränkung aus. Wählen Sie für eine benutzerdefinierte Einschränkung Benutzerdefinierte Einschränkung aus.
Geben Sie den Namen der Einschränkung ein, die Sie analysieren möchten. Das Präfix für die Art der Einschränkung, die Sie analysieren, ist bereits enthalten. Geben Sie beispielsweise für die vordefinierte Zugriffsbeschränkung auf Bucket-Ebene
storage.uniformBucketLevelAccess
und für eine benutzerdefinierte Einschränkung den Namen ein, z. B.disableGkeAccess
.Klicken Sie auf Abfrage ausführen. Auf der Seite des Berichts werden die von Ihnen eingegebenen Abfrageparameter und eine Ergebnistabelle mit allen Assets angezeigt, für die diese Einschränkung erzwungen oder von denen sie übernommen wird.
gcloud
Wenn Sie analysieren möchten, wie eine Einschränkung der Organisationsrichtlinie für Assets in einer Organisation erzwungen wird, verwenden Sie den Befehl gcloud beta asset analyze-org-policy-governed-assets
:
gcloud beta asset analyze-org-policy-governed-assets \
--constraint=CONSTRAINT_NAME \
--scope=organizations/ORGANIZATION_ID \
--limit=LIMIT_ASSETS \
--filter=FILTER_QUERY
Ersetzen Sie Folgendes:
CONSTRAINT_NAME: der Name der Einschränkung der Organisationsrichtlinie, die Sie analysieren möchten. Eine Liste der Einschränkungen finden Sie unter Einschränkungen für Organisationsrichtlinien.
ORGANIZATION_ID: durch die ID Ihrer Organisationsressource Weitere Informationen zum Ermitteln Ihrer Organisations-ID finden Sie unter Organisationen erstellen und verwalten.
LIMIT_ASSETS: die Anzahl der Ergebniseinträge, die Sie ansehen möchten. Geben Sie
unlimited
ein, um unbegrenzt viele Einträge zu sehen.FILTER_QUERY: Eine Filterabfrage, mit der nur Assets angezeigt werden, die Ihrem Filterausdruck entsprechen. Die zum Filtern verfügbaren Felder sind
governed_resource.folders
,governed_resource.project
,governed_iam_policy.folders
undgoverned_iam_policy.project
.governed_resource.project="projects/1234567890"
gibt beispielsweise nur Assets zurück, die mit der Projekt-ID1234567890
an das Projekt angehängt wurden.
Die YAML-Antwort sieht in etwa so aus:
Beispiel-YAML-Antwort
--- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-2 attachedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-2 rules: - enforce: false governedResource: folders: - folders/513502730678 - folders/666681422980 fullResourceName: //container.googleapis.com/projects/opa-test-project-2/zones/us-central1-c/clusters/opa-test-project-2-cluster-1/nodePools/default-pool organization: organizations/474566717491 parent: //container.googleapis.com/projects/opa-test-project-2/zones/us-central1-c/clusters/opa-test-project-2-cluster-1 project: projects/892625391619 policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-2 attachedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-2 reset: true - appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 attachedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true --- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/projects/project2-244918 attachedResource: //cloudresourcemanager.googleapis.com/projects/project2-244918 rules: - enforce: false governedResource: folders: - folders/800636178739 - folders/408342778736 fullResourceName: //container.googleapis.com/projects/project2-244918/zones/us-central1-c/clusters/cluster-1/nodePools/default-pool organization: organizations/474566717491 parent: //container.googleapis.com/projects/project2-244918/zones/us-central1-c/clusters/cluster-1 project: projects/761097189269 policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/projects/project2-244918 attachedResource: //cloudresourcemanager.googleapis.com/projects/project2-244918 rules: - enforce: false - appliedResource: //cloudresourcemanager.googleapis.com/folders/408342778736 attachedResource: //cloudresourcemanager.googleapis.com/folders/408342778736 rules: - condition: description: cond-desc1 expression: resource.matchTag("474566717491/env", "prod") title: cond-title1 enforce: false - enforce: true - appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 attachedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true --- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 attachedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true governedResource: fullResourceName: //container.googleapis.com/projects/probe-per-rt-project/zones/us-west1-a/clusters/test-cluster-for-backup/nodePools/default-pool organization: organizations/474566717491 parent: //container.googleapis.com/projects/probe-per-rt-project/zones/us-west1-a/clusters/test-cluster-for-backup project: projects/896190383908 policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 attachedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true
REST
Wenn Sie analysieren möchten, wie eine Einschränkung der Organisationsrichtlinie für Assets in einer Organisation erzwungen wird, verwenden Sie die Methode analyzeOrgPolicyGovernedAssets
der Cloud Asset API.
HTTP-Methode und URL:
GET https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_ID:analyzeOrgPolicyGovernedAssets
JSON-Text anfordern:
JSON_REQUEST="{ 'constraint': 'CONSTRAINT_NAME', 'filter': 'FILTER_QUERY', 'page_size': PAGE_SIZE, 'page_token': PAGE_TOKEN }"
Ersetzen Sie Folgendes:
ORGANIZATION_ID: durch die ID Ihrer Organisationsressource Weitere Informationen zum Ermitteln Ihrer Organisations-ID finden Sie unter Organisationen erstellen und verwalten.
CONSTRAINT_NAME: der Name der Einschränkung der Organisationsrichtlinie, die Sie analysieren möchten. Eine Liste der Einschränkungen finden Sie unter Einschränkungen für Organisationsrichtlinien.
FILTER_QUERY: Eine Filterabfrage, mit der nur Assets angezeigt werden, die Ihrem Filterausdruck entsprechen. Die zum Filtern verfügbaren Felder sind
governed_resource.folders
,governed_resource.project
,governed_iam_policy.folders
undgoverned_iam_policy.project
.governed_resource.project="projects/1234567890"
gibt beispielsweise nur Assets zurück, die mit der Projekt-ID1234567890
an das Projekt angehängt wurden.PAGE_SIZE: die Anzahl der Seiten der Ergebniseinträge, die Sie ansehen möchten. Geben Sie
unlimited
ein, um unbegrenzt viele Einträge zu sehen. Eine Anfrage mit diesem Flag gibt einennextPageToken
-Wert zurück, wenn die Gesamtzahl der Ergebniseinträge größer als PAGE_SIZE ist.PAGE_TOKEN: wird nur für Anfragen nach der ersten Anfrage festgelegt, die das Flag
page_size
enthält. Sie können dienextPageToken
-Werte aus vorherigen Antworten verwenden, um eine bestimmte Ergebnisseite zurückzugeben.
Die JSON-Antwort sieht in etwa so aus:
Beispiel für JSON-Antwort
{ "governedAssets": [ { "governedResource": { "fullResourceName": "//container.googleapis.com/projects/opa-test-project-2/zones/us-central1-c/clusters/opa-test-project-2-cluster-1/nodePools/default-pool", "parent": "//container.googleapis.com/projects/opa-test-project-2/zones/us-central1-c/clusters/opa-test-project-2-cluster-1", "project": "projects/892625391619", "folders": [ "folders/513502730678", "folders/666681422980" ], "organization": "organizations/474566717491" }, "consolidatedPolicy": { "attachedResource": "//cloudresourcemanager.googleapis.com/projects/opa-test-project-2", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/projects/opa-test-project-2" }, "policyBundle": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/projects/opa-test-project-2", "reset": true, "appliedResource": "//cloudresourcemanager.googleapis.com/projects/opa-test-project-2" }, { "attachedResource": "//cloudresourcemanager.googleapis.com/organizations/474566717491", "rules": [ { "enforce": true } ], "appliedResource": "//cloudresourcemanager.googleapis.com/organizations/474566717491" } ] }, { "governedResource": { "fullResourceName": "//container.googleapis.com/projects/project2-244918/zones/us-central1-c/clusters/cluster-1/nodePools/default-pool", "parent": "//container.googleapis.com/projects/project2-244918/zones/us-central1-c/clusters/cluster-1", "project": "projects/761097189269", "folders": [ "folders/800636178739", "folders/408342778736" ], "organization": "organizations/474566717491" }, "consolidatedPolicy": { "attachedResource": "//cloudresourcemanager.googleapis.com/projects/project2-244918", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/projects/project2-244918" }, "policyBundle": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/projects/project2-244918", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/projects/project2-244918" }, { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/408342778736", "rules": [ { "enforce": false, "condition": { "expression": "resource.matchTag(\"474566717491/env\", \"prod\")", "title": "cond-title1", "description": "cond-desc1" } }, { "enforce": true } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/408342778736" }, { "attachedResource": "//cloudresourcemanager.googleapis.com/organizations/474566717491", "rules": [ { "enforce": true } ], "appliedResource": "//cloudresourcemanager.googleapis.com/organizations/474566717491" } ] } ] "constraint": { "customConstraint": { "name": "organizations/474566717491/customConstraints/custom.disableGkeAutoUpgrade", "resourceTypes": [ "container.googleapis.com/NodePool" ], "methodTypes": [ "CREATE", "UPDATE" ], "condition": "resource.management.autoUpgrade == false", "actionType": "ALLOW", "displayName": "Disable GKE auto upgrade", "description": "Only allow GKE NodePool resource create or updates if AutoUpgrade is not enabled" } } }