Organisationsrichtlinien analysieren

Diese Seite enthält Informationen zum Analysieren der Einstellungen Ihrer Organisationsrichtlinien um zu sehen, welche Ressourcen von welcher Organisationsrichtlinie abgedeckt werden. Mit Policy Analyzer für Organisationsrichtlinien, können Sie eine Analyse 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 festgelegt werden soll. Alle Organisationen Richtlinien mit der angegebenen Einschränkung, die in diesem Bereich definiert ist, sind enthalten in die Analyse durchführen.

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

Erforderliche Rollen und Berechtigungen

Um die Berechtigungen zu erhalten, die Sie zum Ausführen einer Analyse der Organisationsrichtlinie benötigen, bitten Sie Ihren Administrator, Ihnen folgenden IAM-Rollen für die Organisationsressource, in der Sie die Analyse durchführen möchten:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

Diese vordefinierten Rollen enthalten Berechtigungen, die zum Ausführen einer Analyse der Organisationsrichtlinie erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind zum Ausführen einer Analyse einer Organisationsrichtlinie erforderlich:

  • So führen Sie die Analyse durch: <ph type="x-smartling-placeholder">
      </ph>
    • cloudasset.assets.analyzeOrgPolicy
    • cloudasset.assets.searchAllResources
    • cloudasset.assets.searchAllIamPolicies
  • So rufen Sie benutzerdefinierte Einschränkungen auf: orgpolicy.customConstraints.get

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Preise und Kontingente

Policy Analyzer für Organisationsrichtlinie im großen Maßstab (mehr als 20 Abfragen pro Organisation und Tag) und Visualisierungen zur Übernahme sind nur für Kunden mit Aktivierungen von Security Command Center auf Organisationsebene.

Kontingent für Policy Analyzer für Organisationsrichtlinie wird von allen gemeinsam genutzt Policy Analyzer-Tools Weitere Informationen finden Sie unter Fragen zur Abrechnung:

Konfigurierte Richtlinien analysieren

Eine Organisationsrichtlinie basiert auf einer Einschränkung und optionalen Bedingungen unter der diese Einschränkung erzwungen wird. Sie können Policy Analyzer, um eine Liste von Organisationsrichtlinien mit einer und die Ressourcen, an die diese Richtlinien angehängt sind.

Für jede im Bereich der Abfrage erkannte Organisationsrichtlinie Policy Analyzer gibt einen Ergebniseintrag zurück. Ein Ergebniseintrag enthält folgenden Feldern hinzu:

  • consolidatedPolicy: die Ressource, für die die Organisationsrichtlinie eingerichtet ist und die geltende Richtlinienerzwingung für diese Ressource in Bezug auf Hierarchische Bewertungsregeln.

  • project: die ID der Projektressource, zu der diese Richtlinie konsolidiert wird gehört.

  • 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 von Die Ressource, mit der die Organisationsrichtlinie verknüpft ist.

  • policyBundle: die vollständig konfigurierte Organisationsrichtlinie, die oben angehängt ist und die Organisationsrichtlinien, die für ihre Ancestors im Ressourcenhierarchie.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Policy Analyzer auf.

    <ph type="x-smartling-placeholder"></ph> Zu Policy Analyzer

  2. Suchen Sie im Abschnitt Organisationsrichtlinie analysieren den Bereich mit der Bezeichnung Wo werden bestimmte Organisationsrichtlinien konfiguriert? und klicken Sie auf Erstellen. Abfrage angezeigt.

  3. Wählen Sie im Feld Organisation der Abfrage auswählen die Organisation aus, für die möchten Sie Organisationsrichtlinien analysieren.

  4. Wählen Sie den Einschränkungstyp aus, den Sie analysieren möchten. Für eine vordefinierte die Option Integrierte Einschränkung aus. Wählen Sie für eine benutzerdefinierte Einschränkung Benutzerdefinierte Einschränkung:

  5. Geben Sie den Namen der Einschränkung ein, die Sie analysieren möchten. Das Präfix für den Der Einschränkungstyp, den Sie analysieren, ist bereits enthalten. Beispiel: für die vordefinierte Domaineinschränkung: Geben Sie iam.allowedPolicyMemberDomains. Geben Sie für eine benutzerdefinierte Einschränkung deren Name, z. B. disableGkeAutoUpgrade.

  6. Klicken Sie auf Analysieren und dann auf Abfrage ausführen. Auf der Berichtsseite wird die Abfrage Parameter, die Sie eingegeben haben, und eine Ergebnistabelle mit allen Ressourcen, auf die diese Einschränkung direkt angewendet wird.

  7. Sie können die Abfrage speichern, um sie sich später noch einmal anzusehen. Klicken Sie dazu auf Abfrage-URL kopieren. Rufen Sie die generierte URL auf, um diese Abfrage anzusehen.

  8. Sie können die Übernahme der von Ihnen analysierten Einschränkung visualisieren, indem Sie Wählen Sie mindestens eine Ressource aus der Liste aus und klicken Sie Übernahme ansehen Sie können auch direkt die Visualisierung aufrufen, wenn Sie Ihre Analyseabfrage erstellen, indem Sie auf Analysieren klicken. Visualisieren: Siehe Übernahme visualisieren .

gcloud

Um eine Analyse dazu zu erhalten, wie eine Einschränkung einer Organisationsrichtlinie erzwungen wird innerhalb eines Unternehmens können Sie gcloud asset analyze-org-policies-Befehl:

gcloud 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 Organisationsrichtlinie Einschränkung, die Sie analysieren möchten. Eine Liste der Einschränkungen finden Sie unter Einschränkungen für Organisationsrichtlinien:

  • ORGANIZATION_ID: die ID Ihrer Organisation . Weitere Informationen zum Ermitteln Ihrer Organisations-ID finden Sie unter Organisationen erstellen und verwalten

  • LIMIT_POLICIES: die Anzahl der gewünschten Ergebniseinträge anzuzeigen. Wenn Sie eine unbegrenzte Anzahl an Einträgen sehen möchten, geben Sie unlimited ein.

  • FILTER_QUERY: eine Filterabfrage, mit der nur Richtlinien angezeigt werden die Ihrem Filterausdruck entsprechen. Das einzige verfügbare Feld für Filterung ist consolidated_policy.attached_resource. Beispiel: consolidated_policy.attached_resource="//cloudresourcemanager.googleapis.com/projects/1234567890" nur Rückgabebedingungen zurückgeben, die mit dem Projekt-ID 1234567890

Die YAML-Antwort sieht in etwa so aus:

Beispiel für eine 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

Um eine Analyse dazu zu erhalten, wie eine Einschränkung einer Organisationsrichtlinie erzwungen wird in einer Organisation können Sie das analyzeOrgPolicies-Methode.

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: die ID Ihrer Organisation . Weitere Informationen zum Ermitteln Ihrer Organisations-ID finden Sie unter Organisationen erstellen und verwalten

  • CONSTRAINT_NAME: der Name der Organisationsrichtlinie Einschränkung, 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 für Filterung ist consolidated_policy.attached_resource. Beispiel: consolidated_policy.attached_resource="//cloudresourcemanager.googleapis.com/projects/1234567890" nur Rückgabebedingungen zurückgeben, die mit dem Projekt-ID 1234567890

  • PAGE_SIZE: die Anzahl der Ergebniseinträge pro Seite, die Sie erhalten möchten anzuzeigen. Wenn Sie eine unbegrenzte Anzahl an Einträgen sehen möchten, geben Sie unlimited ein. Eine Anfrage mit gibt dieses Flag einen nextPageToken-Wert zurück, wenn die Gesamtzahl der Ergebniseinträge sind größer als PAGE_SIZE.

  • PAGE_TOKEN: wird nur für Anfragen nach der ersten festgelegt. -Anfrage, die das Flag page_size enthält. Sie können die nextPageToken Werte aus früheren Antworten erhalten, um einen einer bestimmten Ergebnisseite.

Die JSON-Antwort sieht in etwa so aus:

Beispiel für eine 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 ein Projekt, ein Ordner oder eine Organisationsressource. Mit Policy Analyzer können Sie eine Liste aller Container zurückgeben für die Organisationsrichtlinien mit einer bestimmten Einschränkung gelten. Policy Analyzer gibt außerdem den vollständigen Namen jedes Containers, das übergeordnete Element des Containers in der Hierarchie und die vom Container übernommenen oder angehängten Tags zurück.

Policy Analyzer gibt für jeden im Abfragebereich erkannten Container einen Ergebniseintrag zurück. Ein Ergebniseintrag enthält folgenden Feldern hinzu:

  • consolidatedPolicy: der Container, in dem sich die Organisationsrichtlinie befindet sowie die geltende Richtlinienerzwingung für diesen Container in Bezug auf Hierarchische Bewertungsregeln.

  • conditionEvaluation: wenn die enthaltenen Bedingungen zur Erzwingung der Organisationsrichtlinie „evaluationValue“ ist „TRUE“. Wenn die Bedingungen dazu führt, dass die Organisationsrichtlinie nicht erzwungen wird, ist evaluationValue FALSE. Wenn die Bedingung von einer oder mehreren der Ressourcen auf nicht unterstützt wird die die Organisationsrichtlinie durchgesetzt wird, wird die Bedingung selbst zurückgegeben.

  • effectiveTags: alle Tags, die direkt an das Tag angehängt sind oder von ihm übernommen wurden. Container und die übergeordneten Elemente des Containers in der Hierarchie.

  • folders: die ID aller Ordnerressourcen, die den Container enthalten, für den die Organisationsrichtlinie angehängt ist.

  • fullResourceName: der vollständige Name des Containers.

  • organization: die ID der Organisationsressource, die der Ancestor von Container, an den die Organisationsrichtlinie angehängt ist.

  • parent: der vollständige Ressourcenname des übergeordneten Elements dieses Containers.

  • policyBundle: die direkt für den Container konfigurierte Organisationsrichtlinie und die Organisationsrichtlinien, die für die Ancestors der Container in der Ressourcenhierarchie.

  • project: die ID des Containers, zu dem die Organisationsrichtlinie gehört wenn es sich um eine Projektressource handelt.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Policy Analyzer auf.

    <ph type="x-smartling-placeholder"></ph> Zu Policy Analyzer

  2. Suchen Sie im Abschnitt Organisationsrichtlinie analysieren den Bereich mit der Bezeichnung Welche Projekte oder Ordner von einer Organisationsrichtlinie betroffen sind Einschränkung? und klicken Sie in diesem Bereich auf Abfrage erstellen.

  3. Wählen Sie im Feld Organisation der Abfrage auswählen die Organisation aus, für die möchten Sie Organisationsrichtlinien analysieren.

  4. Wählen Sie den Einschränkungstyp aus, den Sie analysieren möchten. Für eine vordefinierte die Option Integrierte Einschränkung aus. Wählen Sie für eine benutzerdefinierte Einschränkung Benutzerdefinierte Einschränkung:

  5. Geben Sie den Namen der Einschränkung ein, die Sie analysieren möchten. Das Präfix für den Der Einschränkungstyp, den Sie analysieren, ist bereits enthalten. Beispiel: für die vordefinierte Domaineinschränkung: Geben Sie iam.allowedPolicyMemberDomains. Geben Sie für eine benutzerdefinierte Einschränkung deren Name, z. B. disableGkeAutoUpgrade.

  6. Klicken Sie auf Abfrage ausführen. Auf der Berichtsseite werden die Suchparameter angezeigt, und eine Ergebnistabelle mit allen Containern, die diese Einschränkung ist, erzwungen oder übernommen von.

  7. Sie können die Abfrage speichern, um sie sich später noch einmal anzusehen. Klicken Sie dazu auf Abfrage-URL kopieren. Rufen Sie die generierte URL auf, um diese Abfrage anzusehen.

  8. Sie können die Übernahme der von Ihnen analysierten Einschränkung visualisieren, indem Sie Wählen Sie mindestens einen Container aus der Liste aus und klicken Sie Übernahme ansehen Sie können auch direkt die Visualisierung aufrufen, wenn Sie Ihre Analyseabfrage erstellen, indem Sie auf Analysieren klicken. Visualisieren: Siehe Übernahme visualisieren .

gcloud

Um eine Analyse dazu zu erhalten, wie eine Einschränkung der Organisationsrichtlinie für Container in einer Organisation verwenden, verwenden Sie gcloud asset analyze-org-policy-governed-containers-Befehl:

gcloud 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 Organisationsrichtlinie Einschränkung, die Sie analysieren möchten. Eine Liste der Einschränkungen finden Sie unter Einschränkungen für Organisationsrichtlinien:

  • ORGANIZATION_ID: die ID Ihrer Organisation . Weitere Informationen zum Ermitteln Ihrer Organisations-ID finden Sie unter Organisationen erstellen und verwalten

  • LIMIT_CONTAINERS: die Anzahl der Ergebniseinträge, die Sie die Sie ansehen möchten. Wenn Sie eine unbegrenzte Anzahl an Einträgen sehen möchten, geben Sie unlimited ein.

  • FILTER_QUERY: eine Filterabfrage, mit der nur Container angezeigt werden die Ihrem Filterausdruck entsprechen. Das einzige verfügbare Feld für Filterung ist parent. Beispiel: parent="//cloudresourcemanager.googleapis.com/organizations/012345678901" nur Container zurückgegeben, die untergeordnete Elemente der Organisation mit Organisations-ID 012345678901

Die YAML-Antwort sieht in etwa so aus:

Beispiel für eine 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

Um eine Analyse dazu zu erhalten, wie eine Einschränkung der Organisationsrichtlinie für Container in einer Organisation verwenden, nutzen Sie die analyzeOrgPolicyGovernedContainers-Methode.

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: die ID Ihrer Organisation . Weitere Informationen zum Ermitteln Ihrer Organisations-ID finden Sie unter Organisationen erstellen und verwalten

  • CONSTRAINT_NAME: der Name der Organisationsrichtlinie Einschränkung, 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 für Filterung ist parent. Beispiel: parent="//cloudresourcemanager.googleapis.com/organizations/012345678901" würde werden nur Container zurückgegeben, die untergeordnete Elemente der Organisation mit der Organisations-ID 012345678901.

  • PAGE_SIZE: die Anzahl der Seiten mit den gewünschten Einträgen anzuzeigen. Wenn Sie eine unbegrenzte Anzahl an Einträgen sehen möchten, geben Sie unlimited ein. Eine Anfrage mit gibt dieses Flag einen nextPageToken-Wert zurück, wenn die Gesamtzahl der Ergebniseinträge sind größer als PAGE_SIZE.

  • PAGE_TOKEN: wird nur für Anfragen nach der ersten festgelegt. -Anfrage, die das Flag page_size enthält. Sie können die nextPageToken Werte aus früheren Antworten erhalten, um einen einer bestimmten Ergebnisseite.

Die JSON-Antwort sieht in etwa so aus:

Beispiel für eine 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 IAM-Zulassungsrichtlinie (Identity and Access Management) Sie können Policy Analyzer, um eine Liste aller Assets zurückzugeben, Organisationsrichtlinien mit einer bestimmten Einschränkung, die für sie erzwungen wird. Benutzerdefinierte Einschränkungen und die folgenden vordefinierten Einschränkungen werden unterstützt:

  • constraints/ainotebooks.accessMode
  • constraints/ainotebooks.disableFileDownloads
  • constraints/ainotebooks.disableRootAccess
  • constraints/ainotebooks.disableTerminal
  • constraints/ainotebooks.environmentOptions
  • constraints/ainotebooks.requireAutoUpgradeSchedule
  • constraints/ainotebooks.restrictVpcNetworks
  • constraints/compute.disableGuestAttributesAccess
  • constraints/compute.disableInstanceDataAccessApis
  • constraints/compute.disableNestedVirtualization
  • constraints/compute.disableSerialPortAccess
  • constraints/compute.disableSerialPortLogging
  • constraints/compute.disableVpcExternalIpv6
  • constraints/compute.requireOsLogin
  • constraints/compute.requireShieldedVm
  • constraints/compute.restrictLoadBalancerCreationForTypes
  • constraints/compute.restrictProtocolForwardingCreationForTypes
  • constraints/compute.restrictXpnProjectLienRemoval
  • constraints/compute.setNewProjectDefaultToZonalDNSOnly
  • constraints/compute.skipDefaultNetworkCreation
  • constraints/compute.trustedImageProjects
  • constraints/compute.vmCanIpForward
  • constraints/compute.vmExternalIpAccess
  • constraints/gcp.detailedAuditLoggingMode
  • constraints/gcp.resourceLocations
  • constraints/iam.allowedPolicyMemberDomains
  • constraints/iam.automaticIamGrantsForDefaultServiceAccounts
  • constraints/iam.disableServiceAccountCreation
  • constraints/iam.disableServiceAccountKeyCreation
  • constraints/iam.disableServiceAccountKeyUpload
  • constraints/iam.restrictCrossProjectServiceAccountLienRemoval
  • constraints/iam.serviceAccountKeyExpiryHours
  • constraints/resourcemanager.accessBoundaries
  • constraints/resourcemanager.allowedExportDestinations
  • constraints/sql.restrictAuthorizedNetworks
  • constraints/sql.restrictNoncompliantDiagnosticDataAccess
  • constraints/sql.restrictNoncompliantResourceCreation
  • constraints/sql.restrictPublicIp
  • constraints/storage.publicAccessPrevention
  • constraints/storage.restrictAuthTypes
  • constraints/storage.uniformBucketLevelAccess

Policy Analyzer gibt den vollständigen Namen jedes Assets zurück, in der Hierarchie und alle Vorgängerprojekte, Ordner und Organisationen Ressourcen oberhalb des Assets in der Hierarchie.

Für jedes Asset, das im Bereich der Abfrage erkannt wird, Policy Analyzer gibt einen Ergebniseintrag zurück.

Ein Ergebniseintrag für eine Ressource enthält die folgenden Felder:

  • consolidatedPolicy: die Ressource, für die die Organisationsrichtlinie verwendet wird und die geltende Richtlinienerzwingung für diese Ressource in Bezug auf Hierarchische Bewertungsregeln.

  • conditionEvaluation: wenn die enthaltenen Bedingungen zur Erzwingung der Organisationsrichtlinie „evaluationValue“ ist „TRUE“. Wenn die Bedingungen dazu führt, dass die Organisationsrichtlinie nicht erzwungen wird, ist evaluationValue FALSE. Wenn die Bedingung von einer oder mehreren der Ressourcen auf nicht unterstützt wird die die Organisationsrichtlinie durchgesetzt wird, wird die Bedingung selbst zurückgegeben.

  • assetType: Der Ressourcentyp des Assets.

  • effectiveTags: alle Tags, die direkt an das Tag angehängt sind oder von ihm übernommen wurden. Ressource, an die die Organisationsrichtlinie angehängt ist, sowie übergeordnete Elemente in der Hierarchie.

  • folders: die ID aller Ordnerressourcen, die die Ressource enthalten, für die die Organisationsrichtlinie angehängt ist.

  • fullResourceName: der vollständige Ressourcenname der Ressource.

  • organization: der relative Ressourcenname der Organisation, die enthält auf die Ressource zugreifen.

  • 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 oben angehängt ist und die Organisationsrichtlinien, die für ihre Ancestors im Ressourcenhierarchie.

Ein Ergebniseintrag für eine Zulassungsrichtlinie enthält die folgenden Felder:

  • consolidatedPolicy: die Ressource, für die die Organisationsrichtlinie verwendet wird und die geltende Richtlinienerzwingung für diese Ressource in Bezug auf Hierarchische Bewertungsregeln.

  • assetType: der Ressourcentyp der Ressource, für die die Zulassungsrichtlinie gilt angehängt.

  • attachedResource: der vollständige Name der Ressource, für die die Zulassungsrichtlinie verwendet wird ist angehängt.

  • folders: der relative Ressourcenname aller Ordner, die das Zulassungszeichen enthalten .

  • organization: der relative Ressourcenname der Organisation, die enthält der Zulassungsrichtlinie.

  • policy: die Zulassungsrichtlinie.

  • project: der relative Ressourcenname des Projekts, das das Zulassung enthält .

  • policyBundle: die vollständig konfigurierte Organisationsrichtlinie, die oben angehängt ist und die Organisationsrichtlinien, die für ihre Ancestors im Ressourcenhierarchie.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Policy Analyzer auf.

    <ph type="x-smartling-placeholder"></ph> Zu Policy Analyzer

  2. Suchen Sie im Abschnitt Organisationsrichtlinie analysieren den Bereich mit der Bezeichnung Welche Ressourcen sind von einer Einschränkung der Organisationsrichtlinie betroffen? Klicken Sie in diesem Bereich auf Abfrage erstellen.

  3. Wählen Sie im Feld Organisation der Abfrage auswählen die Organisation aus, für die möchten Sie Organisationsrichtlinien analysieren.

  4. Wählen Sie den Einschränkungstyp aus, den Sie analysieren möchten. Für eine vordefinierte die Option Integrierte Einschränkung aus. Wählen Sie für eine benutzerdefinierte Einschränkung Benutzerdefinierte Einschränkung:

  5. Geben Sie den Namen der Einschränkung ein, die Sie analysieren möchten. Das Präfix für den Der Einschränkungstyp, den Sie analysieren, ist bereits enthalten. Beispiel: für die vordefinierte Zugriffsbeschränkung auf Bucket-Ebene geben Sie storage.uniformBucketLevelAccess. Geben Sie für eine benutzerdefinierte Einschränkung deren Name, z. B. disableGkeAccess.

  6. Klicken Sie auf Abfrage ausführen. Auf der Berichtsseite werden die Suchparameter angezeigt, eingegeben und eine Ergebnistabelle mit allen Assets, die diese Einschränkung ist, erzwungen oder übernommen von.

  7. Sie können die Abfrage speichern, um sie sich später noch einmal anzusehen. Klicken Sie dazu auf Abfrage-URL kopieren. Rufen Sie die generierte URL auf, um diese Abfrage anzusehen.

  8. Sie können die Übernahme der von Ihnen analysierten Einschränkung visualisieren, indem Sie Wählt mindestens ein Asset aus der Liste aus und klickt dann auf Übernahme ansehen Sie können auch direkt die Visualisierung aufrufen, wenn Sie Ihre Analyseabfrage erstellen, indem Sie auf Analysieren klicken. Visualisieren: Siehe Übernahme visualisieren .

gcloud

Um eine Analyse dazu zu erhalten, wie eine Einschränkung der Organisationsrichtlinie für in einer Organisation verwenden möchten, gcloud asset analyze-org-policy-governed-assets-Befehl:

gcloud 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 Organisationsrichtlinie Einschränkung, die Sie analysieren möchten. Eine Liste der Einschränkungen finden Sie unter Einschränkungen für Organisationsrichtlinien:

  • ORGANIZATION_ID: die ID Ihrer Organisation . Weitere Informationen zum Ermitteln Ihrer Organisations-ID finden Sie unter Organisationen erstellen und verwalten

  • LIMIT_ASSETS: die Anzahl der gewünschten Ergebniseinträge anzuzeigen. Wenn Sie eine unbegrenzte Anzahl an Einträgen sehen möchten, geben Sie unlimited ein.

  • FILTER_QUERY: eine Filterabfrage, um nur Assets zu sehen die Ihrem Filterausdruck entsprechen. Die verfügbaren Felder für Filter sind governed_resource.folders, governed_resource.project, governed_iam_policy.folders und governed_iam_policy.project. Für Beispiel: governed_resource.project="projects/1234567890" gibt nur eine Assets, die mit der Projekt-ID 1234567890 an das Projekt angehängt wurden

Die YAML-Antwort sieht in etwa so aus:

Beispiel für eine 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

Um eine Analyse dazu zu erhalten, wie eine Einschränkung der Organisationsrichtlinie für in einer Organisation verwenden, nutzen Sie die analyzeOrgPolicyGovernedAssets-Methode.

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: die ID Ihrer Organisation . Weitere Informationen zum Ermitteln Ihrer Organisations-ID finden Sie unter Organisationen erstellen und verwalten

  • CONSTRAINT_NAME: der Name der Organisationsrichtlinie Einschränkung, die Sie analysieren möchten. Eine Liste der Einschränkungen finden Sie unter Einschränkungen für Organisationsrichtlinien:

  • FILTER_QUERY: eine Filterabfrage, um nur Assets zu sehen die Ihrem Filterausdruck entsprechen. Die verfügbaren Felder für Filter sind governed_resource.folders, governed_resource.project, governed_iam_policy.folders und governed_iam_policy.project. Für Beispiel: governed_resource.project="projects/1234567890" gibt nur eine Assets, die mit der Projekt-ID 1234567890 an das Projekt angehängt wurden

  • PAGE_SIZE: die Anzahl der Seiten mit den gewünschten Einträgen anzuzeigen. Wenn Sie eine unbegrenzte Anzahl an Einträgen sehen möchten, geben Sie unlimited ein. Eine Anfrage mit gibt dieses Flag einen nextPageToken-Wert zurück, wenn die Gesamtzahl der Ergebniseinträge sind größer als PAGE_SIZE.

  • PAGE_TOKEN: wird nur für Anfragen nach der ersten festgelegt. -Anfrage, die das Flag page_size enthält. Sie können die nextPageToken Werte aus früheren Antworten erhalten, um einen einer bestimmten Ergebnisseite.

Die JSON-Antwort sieht in etwa so aus:

Beispiel für eine 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"
    }
  }
}

Übernahme visualisieren

Wenn Sie eine Aktivierung der Premium-Stufe auf Organisationsebene Security Command Center können Sie die Übernahme von Organisationsrichtlinien visualisieren, die Sie analysiert haben. mit der Google Cloud Console.

Wenn Sie die Visualisierung zur Übernahme ansehen möchten, erstellen Sie eine Analyse für Organisationsrichtlinien Abfrage von konfigurierten Richtlinien containers oder Assets. Am Abfrageanalyse ausführen auf Analysieren und wählen dann Visualisieren aus.

Sie können auch die URL einer gespeicherten Abfrage aufrufen, Sie markieren möchten, und klicken Sie dann auf Übernahme ansehen.

Auf der Seite Ressourcenübernahme wird eine Visualisierung der Ressource angezeigt. Hierarchie für die in Ihrer Analyseabfrage ausgewählten Ressourcen:

Visualisierung der Übernahme von Organisationsrichtlinien in einer Ressourcenhierarchie. Visualisierung einer nicht erzwungenen booleschen Richtlinie.

  1. Gibt an, ob die Ressource eine Organisation, ein Ordner oder ein Projekt ist.

  2. Ein blauer Punkt zeigt an, dass die Ressource in der Abfrage ausgewählt wurde.

  3. Gibt an, dass die Ressource die Richtlinie der übergeordneten Ressource überschreibt.

  4. Gibt an, dass die Ressource die Organisationsrichtlinie auf die von Google verwaltete Standardeinstellung für diese Richtlinie. Eine Ressource, die die Richtlinie auf die Standardeinstellung zurücksetzt, hat einen gestrichelte Linie, die es mit dem übergeordneten Element verbindet.

  5. Gibt die Richtlinie zum Zusammenführen von Ressourcen mit ihrem übergeordneten Element an.

  6. Gibt an, dass die Organisationsrichtlinie für diese Ressource entweder ein boolesche Einschränkung, die erzwungen wird, oder eine Listeneinschränkung mit zulässigem Werte.

  7. Gibt an, dass die Organisationsrichtlinie für diese Ressource eine Listeneinschränkung ist mit abgelehnten Werten.

  8. Gibt an, dass die Organisationsrichtlinie für diese Ressource ein boolescher Wert ist die nicht erzwungen wird.

Nächste Schritte