Esamina gli approfondimenti sulle norme dell'organizzazione per progetti, cartelle e organizzazioni

Questa pagina mostra come gestire gli approfondimenti sulle policy dell'organizzazione, ovvero i risultati relativi alla configurazione e all'utilizzo delle risorse. Gli approfondimenti sui criteri dell'organizzazione possono aiutarti a identificare le risorse non protette dai criteri dell'organizzazione.

A volte, gli approfondimenti sulle policy dell'organizzazione sono collegati ai suggerimenti per le policy dell'organizzazione. I consigli sui criteri dell'organizzazione suggeriscono azioni che puoi intraprendere per risolvere i problemi identificati dagli approfondimenti sui criteri dell'organizzazione.

Prima di iniziare

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per visualizzare e modificare gli approfondimenti sulle policy dell'organizzazione, chiedi all'amministratore di concederti il ruolo IAM Org Policy Recommender Admin (roles/recommender.orgPolicyAdmin) sulla risorsa per cui vuoi gestire gli approfondimenti (progetto, cartella o organizzazione). Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene le autorizzazioni necessarie per visualizzare e modificare gli approfondimenti sulle policy dell'organizzazione. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per visualizzare e modificare gli approfondimenti sulle policy dell'organizzazione sono necessarie le seguenti autorizzazioni:

  • recommender.orgPolicyInsights.get
  • recommender.orgPolicyInsights.list
  • recommender.orgPolicyInsights.update

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Elenca gli approfondimenti sui criteri dell'organizzazione

Per elencare tutti gli approfondimenti sulle policy dell'organizzazione per il tuo progetto, la tua cartella o la tua organizzazione, utilizza uno dei seguenti metodi:

gcloud

Utilizza il comando gcloud recommender insights list per visualizzare tutti gli approfondimenti sui criteri dell'organizzazione per il tuo progetto, cartella, o organizzazione.

Prima di eseguire il comando, sostituisci i seguenti valori:

  • RESOURCE_TYPE: Il tipo di risorsa per cui vuoi elencare gli approfondimenti. Utilizza il valore project, folder, o organization.
  • RESOURCE_ID: L'ID del progetto, della cartella o dell'organizzazione per cui vuoi elencare gli approfondimenti.
gcloud recommender insights list --insight-type=google.orgpolicy.policy.Insight \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=global

L'output elenca tutti gli approfondimenti sui criteri dell'organizzazione per il tuo progetto, cartella o organizzazione. Ad esempio:

INSIGHT_ID                            CATEGORY  INSIGHT_STATE  LAST_REFRESH_TIME     SEVERITY  INSIGHT_SUBTYPE                                          DESCRIPTION
66d543f3-845d-49d6-a26b-80d84804d8a8  SECURITY  ACTIVE         2024-12-10T08:00:00Z  HIGH      RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION  Scanned 3 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.

REST

Il metodo insights.list dell'API Recommender elenca tutti gli approfondimenti sui criteri dell'organizzazione per il tuo progetto, la tua cartella o la tua organizzazione.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • RESOURCE_TYPE: Il tipo di risorsa per cui vuoi elencare gli approfondimenti. Utilizza il valore projects, folders, o organizations.
  • RESOURCE_ID: L'ID del progetto, della cartella o dell'organizzazione per cui vuoi elencare gli approfondimenti.
  • PROJECT_ID: il tuo ID progetto Google Cloud . Gli ID progetto sono stringhe alfanumeriche, come my-project.

Metodo HTTP e URL:

GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights

Per inviare la richiesta, espandi una di queste opzioni:

La risposta elenca tutti gli approfondimenti sui criteri dell'organizzazione per il tuo progetto, cartella o organizzazione. Ad esempio:

[
  {
    "associatedRecommendations": [
      {
        "recommendation": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f"
      }
    ],
    "category": "SECURITY",
    "content": {
      "consolidatedPolicy": {
        "inheritFromParent": false,
        "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation",
        "policyRules": {
          "rules": [
            {
              "enforce": false
            }
          ]
        },
        "reset": false
      },
      "constraint": {
        "id": "constraints/iam.managed.disableServiceAccountKeyCreation",
        "name": "Disable service account key creation"
      },
      "evaluatedResources": [
        {
          "numOfResources": "2",
          "resourceType": "iam.googleapis.com/ServiceAccountKey"
        },
        {
          "numOfResources": "1",
          "resourceType": "cloudresourcemanager.googleapis.com/Project"
        }
      ],
      "violations": [
        {
          "numOfResources": "0",
          "resourceType": "iam.googleapis.com/ServiceAccountKey"
        },
        {
          "numOfResources": "0",
          "resourceType": "cloudresourcemanager.googleapis.com/Project"
        }
      ]
    },
    "description": "Scanned 3 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.",
    "etag": "\"9a1ad019022f9f56\"",
    "insightSubtype": "RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
    "lastRefreshTime": "2024-12-07T08:00:00Z",
    "name": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8",
    "observationPeriod": "86400s",
    "severity": "HIGH",
    "stateInfo": {
      "state": "ACTIVE",
      "stateMetadata": {
        "reviewedBy": "alice",
        "priority": "high"
      }
    },
    "targetResources": [
      "//cloudresourcemanager.googleapis.com/projects/123456789012"
    ]
  }
]

Per scoprire di più sui componenti di un approfondimento, consulta la sezione Esamina gli approfondimenti sulle policy dell'organizzazione in questa pagina.

Ottenere un approfondimento su una singola policy dell'organizzazione

Per ottenere maggiori informazioni su un singolo approfondimento, inclusi descrizione, stato e consigli associati, utilizza uno dei seguenti metodi:

gcloud

Utilizza il comando gcloud recommender insights describe con l'ID approfondimento per visualizzare le informazioni su un singolo approfondimento.

  • INSIGHT_ID: l'ID dell'insight che vuoi visualizzare. Per trovare l'ID, elenca gli approfondimenti per il tuo progetto, cartella o organizzazione.
  • RESOURCE_TYPE: Il tipo di risorsa per cui vuoi gestire gli insight. Utilizza il valore project, folder, o organization.
  • RESOURCE_ID: L'ID del progetto, della cartella o dell'organizzazione per cui vuoi gestire gli approfondimenti.
gcloud recommender insights describe INSIGHT_ID \
    --insight-type=google.orgpolicy.policy.Insight \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=global

L'output mostra in dettaglio l'approfondimento. Ad esempio, vengono analizzate due risorse per le chiavi degli account di servizio esterni e non vengono rilevate violazioni:

associatedRecommendations:
- recommendation: projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
category: SECURITY
content:
  consolidatedPolicy:
    inheritFromParent: false
    name: 'projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation'
    policyRules:
      rules: [
        "enforce": false
      ]
    reset: false
  constraint: {
    id: constraints/iam.managed.disableServiceAccountKeyCreation
    name: Disable service account key creation
  }
  evaluatedResources:
  - numOfResources: '1'
    resourceType: cloudresourcemanager.googleapis.com/Project
  - numOfResources: '2'
    resourceType: iam.googleapis.com/ServiceAccountKey
  violations:
  - numOfResources: '0'
    resourceType: iam.googleapis.com/ServiceAccountKey
  - numOfResources: '0'
    resourceType: cloudresourcemanager.googleapis.com/Project
description: Scanned 3 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.
etag: '"34ddfdcefd214fd7"'
insightSubtype: RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION
lastRefreshTime: '2024-12-10T08:00:00Z'
name: projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8
observationPeriod: 86400s
severity: HIGH
stateInfo:
  state: ACTIVE
targetResources:
- //cloudresourcemanager.googleapis.com/projects/123456789012

Per scoprire di più sui componenti di un approfondimento, consulta la sezione Esamina gli approfondimenti sulle policy dell'organizzazione in questa pagina.

REST

Il metodo insights.get dell'API Recommender recupera un singolo approfondimento.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • RESOURCE_TYPE: Il tipo di risorsa per cui vuoi gestire gli insight. Utilizza il valore projects, folders, o organizations.
  • RESOURCE_ID: L'ID del progetto, della cartella o dell'organizzazione per cui vuoi gestire gli approfondimenti.
  • INSIGHT_ID: l'ID dell'insight che vuoi visualizzare. Se non conosci l'ID approfondimento, puoi trovarlo elencando gli approfondimenti nel tuo progetto, nella tua cartella o nella tua organizzazione. L'ID di un insight è tutto ciò che segue insights/ nel campo name dell'insight.
  • PROJECT_ID: il tuo ID progetto Google Cloud . Gli ID progetto sono stringhe alfanumeriche, come my-project.

Metodo HTTP e URL:

GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/INSIGHT_ID

Per inviare la richiesta, espandi una di queste opzioni:

La risposta contiene l'approfondimento. Ad esempio, vengono analizzate due risorse per le chiavi degli account di servizio esterni e non vengono rilevate violazioni:

[
  {
    "associatedRecommendations": [
      {
        "recommendation": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f"
      }
    ],
    "category": "SECURITY",
    "content": {
      "consolidatedPolicy": {
        "inheritFromParent": false,
        "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation",
        "policyRules": {
          "rules": [
            {
              "enforce": false
            }
          ]
        },
        "reset": false
      },
      "constraint": {
        "id": "constraints/iam.managed.disableServiceAccountKeyCreation",
        "name": "Disable service account key creation"
      },
      "evaluatedResources": [
        {
          "numOfResources": "1",
          "resourceType": "cloudresourcemanager.googleapis.com/Project"
        },
        {
          "numOfResources": "2",
          "resourceType": "iam.googleapis.com/ServiceAccountKey"
        }
      ],
      "violations": [
        {
          "numOfResources": "0",
          "resourceType": "iam.googleapis.com/ServiceAccountKey"
        },
        {
          "numOfResources": "0",
          "resourceType": "cloudresourcemanager.googleapis.com/Project"
        }
      ]
    },
    "description": "Scanned 2 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.",
    "etag": "\"9a1ad019022f9f56\"",
    "insightSubtype": "RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
    "lastRefreshTime": "2024-12-03T08:00:00Z",
    "name": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8",
    "observationPeriod": "86400s",
    "severity": "HIGH",
    "stateInfo": {
      "state": "ACTIVE",
      "stateMetadata": {
        "reviewedBy": "alice",
        "priority": "high"
      }
    },
    "targetResources": [
      "//cloudresourcemanager.googleapis.com/projects/123456789012"
    ]
  }
]

Per scoprire di più sui componenti di un approfondimento, consulta la sezione Esamina gli approfondimenti sulle policy dell'organizzazione in questa pagina.

Esaminare gli approfondimenti sulle policy dell'organizzazione

Dopo aver ottenuto un singolo approfondimento, puoi esaminarne i contenuti per comprendere la configurazione del criterio dell'organizzazione sulle tue risorse, incluse eventuali violazioni.

Gli approfondimenti sulle policy dell'organizzazione (google.orgpolicy.policy.Insight) hanno i seguenti componenti, non necessariamente in questo ordine:

  • associatedRecommendations: Gli identificatori di eventuali suggerimenti associati all'insight. Se non sono presenti suggerimenti associati all'insight, questo campo è vuoto.
  • category: La categoria per gli approfondimenti sulle norme dell'organizzazione è sempre SECURITY.
  • content: fornisce dettagli sulle risorse e sulla policy dell'organizzazione analizzate. Questo campo contiene i seguenti componenti:
    • constraint: il vincolo analizzato.
    • consolidatedPolicy: La policy dell'organizzazione per la risorsa analizzata.
    • evaluatedResources: Le risorse che sono state valutate per generare l'insight.
    • violations: Il numero e i tipi di risorse che violano la policy dell'organizzazione.
  • description: un riepilogo dell'insight leggibile da una persona.
  • etag: un identificatore univoco per lo stato attuale di un insight. Ogni volta che l'insight cambia, viene assegnato un nuovo valore etag.

    Per modificare lo stato di un approfondimento, devi fornire etag dell'approfondimento esistente. L'utilizzo di etag consente di garantire che le operazioni vengano eseguite solo se l'insight non è cambiato dall'ultima volta che l'hai recuperato.

  • insightSubtype: Il sottotipo di insight.
  • lastRefreshTime: la data dell'ultimo aggiornamento dell'approfondimento, che indica l'aggiornamento dei dati utilizzati per generare l'approfondimento.
  • name: il nome dell'insight, nel seguente formato:

    RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/INSIGHT_ID

    I segnaposto hanno i seguenti valori:

    • RESOURCE_TYPE: Il tipo di risorsa per cui è stato generato l'insight.
    • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione in cui è stato generato l'approfondimento.
    • INSIGHT_ID: un ID univoco per l'insight.
  • observationPeriod: Il periodo di tempo che precede l'insight. I dati di origine utilizzati per generare l'insight terminano il giorno lastRefreshTime e iniziano il giorno lastRefreshTime meno observationPeriod.
  • severity: la gravità dell'insight. Gli approfondimenti per le policy dell'organizzazione hanno una gravità pari a HIGH.
  • stateInfo: gli approfondimenti passano attraverso più transizioni di stato dopo essere stati proposti:

    • ACTIVE: l'approfondimento è stato generato, ma non sono state intraprese azioni o è stata intrapresa un'azione senza aggiornare lo stato dell'approfondimento. Gli insight attivi vengono aggiornati quando cambiano i dati di base.
    • ACCEPTED: è stata intrapresa un'azione in base all'approfondimento. Gli approfondimenti vengono accettati quando un consiglio associato è stato contrassegnato come CLAIMED, SUCCEEDED o FAILED oppure quando l'approfondimento è stato accettato direttamente. Quando un approfondimento si trova nello stato ACCEPTED, il suo contenuto non può cambiare. Gli approfondimenti accettati vengono conservati per 90 giorni dopo l'accettazione.
  • targetResources: il nome completo della risorsa del progetto, della cartella o dell'organizzazione a cui si riferisce l'insight. Ad esempio, //cloudresourcemanager.googleapis.com/projects/1234567890.

Contrassegnare un approfondimento della policy dell'organizzazione come ACCEPTED

Se intraprendi un'azione in base a un approfondimento attivo, puoi contrassegnarlo come ACCEPTED. Lo stato ACCEPTED indica all'API Recommender che hai intrapreso un'azione in base a questo approfondimento, il che contribuisce a perfezionare i tuoi consigli.

Gli approfondimenti accettati vengono conservati per 90 giorni dopo essere stati contrassegnati come ACCEPTED.

gcloud

Utilizza il comando gcloud recommender insights mark-accepted con l'ID approfondimento per contrassegnare un approfondimento come ACCEPTED.

  • INSIGHT_ID: l'ID dell'insight che vuoi visualizzare. Per trovare l'ID, elenca gli approfondimenti per il tuo progetto, cartella o organizzazione.
  • RESOURCE_TYPE: Il tipo di risorsa per cui vuoi gestire gli insight. Utilizza il valore project, folder, o organization.
  • RESOURCE_ID: L'ID del progetto, della cartella o dell'organizzazione per cui vuoi gestire gli approfondimenti.
  • ETAG: un identificatore per una versione dell'insight. Per ottenere etag, segui questi passaggi:

    1. Ottieni l'approfondimento utilizzando il comando gcloud recommender insights describe.
    2. Trova e copia il valore etag dall'output, incluse le virgolette di chiusura. Ad esempio, "d3cdec23cc712bd0".
gcloud recommender insights mark-accepted INSIGHT_ID \
    --insight-type=google.orgpolicy.policy.Insight \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=global \
    --etag=ETAG

L'output mostra l'approfondimento, ora con lo stato ACCEPTED:

associatedRecommendations:
- recommendation: folders/234567890123/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
category: SECURITY
content:
  consolidatedPolicy:
    inheritFromParent: false
    name: 'projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation'
    policyRules:
      rules: [
        "enforce": false
      ]
    reset: false
  constraint: {
    id: constraints/iam.managed.disableServiceAccountKeyCreation
    name: Disable service account key creation
  }
  evaluatedResources:
  - numOfResources: '0'
    resourceType: iam.googleapis.com/ServiceAccountKey
  - numOfResources: '1'
    resourceType: cloudresourcemanager.googleapis.com/Folder
  - numOfResources: '1'
    resourceType: cloudresourcemanager.googleapis.com/Project
  violations:
  - numOfResources: '0'
    resourceType: iam.googleapis.com/ServiceAccountKey
  - numOfResources: '0'
    resourceType: cloudresourcemanager.googleapis.com/Folder
  - numOfResources: '0'
    resourceType: cloudresourcemanager.googleapis.com/Project
description: Scanned 2 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyUpload.
etag: '"2cbb89b22fe2dab7"'
insightSubtype: RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_UPLOAD
lastRefreshTime: '2024-12-10T08:00:00Z'
name: folders/234567890123/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8
observationPeriod: 86400s
severity: HIGH
stateInfo:
  state: ACCEPTED
targetResources:
- //cloudresourcemanager.googleapis.com/folders/234567890123

Per saperne di più sullo stato di un approfondimento, consulta Esaminare gli approfondimenti sulle policy dell'organizzazione in questa pagina.

REST

Il metodo insights.markAccepted dell'API Recommender contrassegna un approfondimento come ACCEPTED.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • RESOURCE_TYPE: Il tipo di risorsa per cui vuoi gestire gli insight. Utilizza il valore projects, folders, o organizations.
  • RESOURCE_ID: L'ID del progetto, della cartella o dell'organizzazione per cui vuoi gestire gli approfondimenti.
  • INSIGHT_ID: l'ID dell'insight che vuoi visualizzare. Se non conosci l'ID approfondimento, puoi trovarlo elencando gli approfondimenti nel tuo progetto, nella tua cartella o nella tua organizzazione. L'ID di un insight è tutto ciò che segue insights/ nel campo name dell'insight.
  • ETAG: un identificatore per una versione dell'insight. Per ottenere etag, segui questi passaggi:
    1. Ottieni l'approfondimento utilizzando il metodo insights.get.
    2. Trova e copia il valore di etag dalla risposta.
  • PROJECT_ID: il tuo ID progetto Google Cloud . Gli ID progetto sono stringhe alfanumeriche, come my-project.

Metodo HTTP e URL:

POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/INSIGHT_ID:markAccepted

Corpo JSON della richiesta:

{
  "etag": "ETAG"
}

Per inviare la richiesta, espandi una di queste opzioni:

La risposta contiene l'approfondimento, ora con lo stato ACCEPTED:

[
  {
    "associatedRecommendations": [
      {
        "recommendation": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f"
      }
    ],
    "category": "SECURITY",
    "content": {
      "consolidatedPolicy": {
        "inheritFromParent": false,
        "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation",
        "policyRules": {
          "rules": [
            {
              "enforce": false
            }
          ]
        },
        "reset": false
      },
      "constraint": {
        "id": "constraints/iam.managed.disableServiceAccountKeyCreation",
        "name": "Disable service account key creation"
      },
      "evaluatedResources": [
        {
          "numOfResources": "1",
          "resourceType": "cloudresourcemanager.googleapis.com/Project"
        },
        {
          "numOfResources": "2",
          "resourceType": "iam.googleapis.com/ServiceAccountKey"
        }
      ],
      "violations": [
        {
          "numOfResources": "0",
          "resourceType": "iam.googleapis.com/ServiceAccountKey"
        },
        {
          "numOfResources": "0",
          "resourceType": "cloudresourcemanager.googleapis.com/Project"
        }
      ]
    },
    "description": "Scanned 2 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.",
    "etag": "\"9a1ad019022f9f56\"",
    "insightSubtype": "RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
    "lastRefreshTime": "2024-12-03T08:00:00Z",
    "name": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8",
    "observationPeriod": "86400s",
    "severity": "HIGH",
    "stateInfo": {
      "state": "ACCEPTED",
      "stateMetadata": {
        "reviewedBy": "alice",
        "priority": "high"
      }
    },
    "targetResources": [
      "//cloudresourcemanager.googleapis.com/projects/123456789012"
    ]
  }
]

Per saperne di più sullo stato di un approfondimento, consulta Esaminare gli approfondimenti sulle policy dell'organizzazione in questa pagina.

Passaggi successivi