Esaminare e applicare i suggerimenti per le policy dell'organizzazione

Questa pagina spiega come visualizzare, comprendere e applicare i suggerimenti per le policy dell'organizzazione. I consigli per le policy dell'organizzazione ti aiutano a impostare le policy dell'organizzazione giuste senza interrompere i sistemi.

Prima di iniziare

  • Abilita le API Organization Policy e Recommender.

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin), che include l'autorizzazione serviceusage.services.enable. Scopri come concedere i ruoli.

    Abilita le API

  • Configurare l'autenticazione.

    Seleziona la scheda relativa a come prevedi di utilizzare i campioni in questa pagina:

    gcloud

    Nella console Google Cloud , attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.

    REST

    Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

      Installa Google Cloud CLI.

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

    Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Google Cloud .

  • Comprendere i suggerimenti per le policy dell'organizzazione.

Ruoli IAM richiesti

Questa sezione descrive i ruoli e le autorizzazioni IAM necessari per utilizzare i consigli per i criteri dell'organizzazione.

Per ottenere le autorizzazioni necessarie per gestire i suggerimenti per le policy dell'organizzazione, chiedi all'amministratore di concederti i seguenti ruoli IAM sulla risorsa per cui vuoi gestire i suggerimenti (progetto, cartella o organizzazione):

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per gestire i suggerimenti per le policy dell'organizzazione. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per gestire i suggerimenti per le policy dell'organizzazione sono necessarie le seguenti autorizzazioni:

  • Per visualizzare i consigli sulle policy dell'organizzazione:
    • recommender.orgPolicyRecommendations.get
    • recommender.orgPolicyRecommendations.list
  • Per applicare e ignorare i suggerimenti per le policy dell'organizzazione:
    • recommender.orgPolicyRecommendations.get
    • recommender.orgPolicyRecommendations.list
    • recommender.orgPolicyRecommendations.update
  • Per gestire le policy dell'organizzazione:
    • orgpolicy.policy.get
    • orgpolicy.policy.set
    • orgpolicy.constraints.list
    • orgpolicy.policies.create
    • orgpolicy.policies.delete
    • orgpolicy.policies.list
    • orgpolicy.policies.update

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

Limitazioni

L'anteprima di Organization Policy Recommender presenta le seguenti limitazioni:

  • Le statistiche sono disponibili solo per progetti, cartelle e organizzazioni che hanno consigli.

  • I consigli vengono forniti solo per i vincoli non configurati in una determinata risorsa o in una delle relative risorse secondarie.

Vincoli supportati

I consigli sono disponibili solo per i seguenti vincoli dei criteri dell'organizzazione:

Revisione e applicazione dei suggerimenti

Puoi esaminare e applicare i suggerimenti per le policy dell'organizzazione con Google Cloud CLI e l'API Recommender.

gcloud

Esamina i consigli:

Per elencare i tuoi consigli, esegui il comando gcloud recommender recommendations list:

gcloud recommender recommendations list \
    --location=global \
    --recommender=google.orgpolicy.policy.Recommender \
    --RESOURCE_TYPE=RESOURCE_ID \
    --filter="recommenderSubtype:RECOMMENDER_SUBTYPE" \
    --format=FORMAT

Sostituisci i seguenti valori:

  • RESOURCE_TYPE: il tipo di risorsa per cui vuoi elencare i suggerimenti. Utilizza il valore project, folder o organization.

  • RESOURCE_ID: l'ID del Google Cloud progetto, della cartella o dell'organizzazione per cui vuoi elencare i suggerimenti. Gli ID progetto sono stringhe alfanumeriche, come my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.

  • RECOMMENDER_SUBTYPE: (Facoltativo) L'ID del sottotipo per cui vuoi visualizzare i consigli. I sottotipi validi includono:

    • ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION fornisce consigli per il vincolo iam.managed.disableServiceAccountKeyCreation.
    • ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_UPLOAD fornisce consigli per il vincolo iam.managed.disableServiceAccountKeyUpload
  • FORMAT: il formato della risposta. Utilizza il valore json o yaml.

La risposta è simile all'esempio seguente. In questo esempio, vengono analizzate due risorse per le chiavi del account di servizio esterno e non vengono rilevate violazioni. Di conseguenza, il consiglio suggerisce di impostare iam.managed.disableServiceAccountKeyCreation per evitare violazioni future.

[
  {
    "associatedInsights": [
      {
        "insight": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/fb927dc1-9695-4436-0000-f0f285007c0f"
      }
    ],
    "content": {
      "operationGroups": [
        {
          "operations": [
            {
              "action": "add",
              "path": "/",
              "resource": "//orgpolicy.googleapis.com/projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation",
              "resourceType": "orgpolicy.googleapis.com/Policy",
              "value": {
                "etag": "",
                "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation",
                "spec": {
                  "etag": "",
                  "inheritFromParent": false,
                  "reset": false,
                  "rules": [
                    {
                      "enforce": true
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "overview": {
        "constraint": {
          "id": "constraints/iam.managed.disableServiceAccountKeyCreation",
          "name": "Disable service account key creation"
        },
        "enforcedResources": [
          {
            "numOfResources": "2",
            "resourceType": "iam.googleapis.com/ServiceAccountKey"
          },
          {
            "numOfResources": "1",
            "resourceType": "cloudresourcemanager.googleapis.com/Project"
          }
        ]
      }
    },
    "description": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.",
    "etag": "\"826e992a0f9793ff\"",
    "lastRefreshTime": "2024-12-07T08:00:00Z",
    "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
    "primaryImpact": {
      "category": "SECURITY"
    },
    "priority": "P1",
    "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
    "stateInfo": {
      "state": "ACTIVE",
      "stateMetadata": {
        "reviewedBy": "alice",
        "priority": "high"
      }
    },
    "targetResources": [
      "//cloudresourcemanager.googleapis.com/projects/123456789012"
    ]
  }
]

Per saperne di più sui componenti di un consiglio, vedi Informazioni sui consigli.

Per applicare un consiglio:

  1. Utilizza il comando gcloud recommender recommendations mark-claimed per impostare lo stato del consiglio su CLAIMED, in modo che non venga modificato mentre lo applichi:

    gcloud recommender recommendations mark-claimed \
        RECOMMENDATION_ID \
        --location=global \
        --recommender=google.orgpolicy.policy.Recommender \
        --RESOURCE_TYPE=RESOURCE_ID \
        --format=FORMAT \
        --etag=ETAG \
        --state-metadata=STATE_METADATA
    

    Sostituisci i seguenti valori:

    • RECOMMENDATION_ID: l'identificatore univoco del suggerimento. Questo valore viene visualizzato alla fine del campo name nel suggerimento. Nell'esempio precedente, l'identificatore è fb927dc1-9695-4436-0000-f0f285007c0f.
    • RESOURCE_TYPE: Il tipo di risorsa per cui vuoi gestire i suggerimenti. Utilizza il valore project, folder o organization.
    • RESOURCE_ID: l'ID del Google Cloud progetto, della cartella o dell'organizzazione per cui vuoi elencare i suggerimenti. Gli ID progetto sono stringhe alfanumeriche, come my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
    • FORMAT: il formato della risposta. Utilizza il valore json o yaml.
    • ETAG: un identificatore per una versione del suggerimento, ad esempio "7caf4103d7669e12". Tieni presente che questo valore può includere virgolette.
    • STATE_METADATA: (Facoltativo) Coppie chiave-valore separate da virgole che contengono i metadati che hai scelto per il consiglio. Ad esempio, --state-metadata=reviewedBy=alice,priority=high. I metadati sostituiscono il campo stateInfo.stateMetadata nel suggerimento.

    Se il comando ha esito positivo, la risposta mostra il suggerimento nello stato CLAIMED, come mostrato nell'esempio seguente. Per chiarezza, l'esempio omette la maggior parte dei campi:

    
      {
        "description": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.",
        "etag": "\"826e992a0f9793ff\"",
        "lastRefreshTime": "2024-12-07T08:00:00Z",
        "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
        "primaryImpact": {
          "category": "SECURITY"
        },
        "priority": "P1",
        "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
        "stateInfo": {
          "state": "CLAIMED",
          "stateMetadata": {\
            "reviewedBy": "alice",
            "priority": "high"
          }
        },
        "targetResources": [
          "//cloudresourcemanager.googleapis.com/projects/123456789012"
        ]
      }
    
  2. Aggiorna e applica il criterio dell'organizzazione per il progetto, la cartella o l'organizzazione specificati da RESOURCE_TYPE e RESOURCE_ID in modo che rifletta il consiglio.

  3. Aggiorna lo stato del suggerimento a SUCCEEDED se sei riuscito ad applicarlo o a FAILED se non sei riuscito ad applicarlo:

    gcloud recommender recommendations COMMAND \
        RECOMMENDATION_ID \
        --location=global \
        --recommender=google.iam.policy.Recommender \
        --RESOURCE_TYPE=RESOURCE_ID \
        --format=FORMAT \
        --etag=ETAG \
        --state-metadata=STATE_METADATA
    

    Sostituisci i seguenti valori:

    • COMMAND: utilizza mark-succeeded se hai applicato correttamente il suggerimento oppure mark-failed se non hai potuto applicarlo.
    • RECOMMENDATION_ID: l'identificatore univoco del suggerimento. Questo valore viene visualizzato alla fine del campo name nel suggerimento. Nell'esempio precedente, l'identificatore è fb927dc1-9695-4436-0000-f0f285007c0f.
    • RESOURCE_TYPE: Il tipo di risorsa per cui vuoi gestire i suggerimenti. Utilizza il valore project, folder o organization.
    • RESOURCE_ID: l'ID del Google Cloud progetto, della cartella o dell'organizzazione per cui vuoi elencare i suggerimenti. Gli ID progetto sono stringhe alfanumeriche, come my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
    • FORMAT: il formato della risposta. Utilizza il valore json o yaml.
    • ETAG: un identificatore per una versione del suggerimento, ad esempio "7caf4103d7669e12". Tieni presente che questo valore può includere virgolette.
    • STATE_METADATA: (Facoltativo) Coppie chiave-valore separate da virgole che contengono i metadati che hai scelto per il consiglio. Ad esempio, --state-metadata=reviewedBy=alice,priority=high. I metadati sostituiscono il campo stateInfo.stateMetadata nel suggerimento.

    Ad esempio, se hai contrassegnato il suggerimento come riuscito, la risposta mostra il suggerimento nello stato SUCCEEDED. Per chiarezza, questo esempio omette la maggior parte dei campi:

    
      {
        "description": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.",
        "etag": "\"826e992a0f9793ff\"",
        "lastRefreshTime": "2024-12-07T08:00:00Z",
        "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
        "primaryImpact": {
          "category": "SECURITY"
        },
        "priority": "P1",
        "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
        "stateInfo": {
          "state": "SUCCEEDED",
          "stateMetadata": {
            "reviewedBy": "alice",
            "priority": "high"
          }
        },
        "targetResources": [
          "//cloudresourcemanager.googleapis.com/projects/123456789012"
        ]
      }
    

    Per ripristinare le modifiche alla policy dell'organizzazione, imposta la policy dell'organizzazione sulla configurazione originale, fornita nel campo configuredPolicy dell'insight associato.

REST

Esamina i consigli:

Per elencare tutti i suggerimenti disponibili per il tuo progetto, la tua cartella o la tua organizzazione, utilizza il metodo recommendations.list dell'API Recommender.

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

  • RESOURCE_TYPE: il tipo di risorsa per cui vuoi gestire i suggerimenti. Utilizza il valore projects, folders o organizations.
  • RESOURCE_ID: l'ID del Google Cloud progetto, della cartella o dell'organizzazione per cui vuoi gestire i suggerimenti. Gli ID progetto sono stringhe alfanumeriche, come my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
  • PAGE_SIZE: (Facoltativo) Il numero massimo di risultati da restituire da questa richiesta. Se non specificato, il server determinerà il numero di risultati da restituire. Se il numero di consigli è maggiore della dimensione della pagina, la risposta contiene un token di impaginazione che puoi utilizzare per recuperare la pagina successiva dei risultati.
  • PAGE_TOKEN: (Facoltativo) Il token di paginazione restituito in una risposta precedente da questo metodo. Se specificato, l'elenco dei consigli inizierà dal punto in cui terminava la richiesta precedente.
  • FILTER: (Facoltativo) Un'espressione di filtro per limitare i suggerimenti restituiti. Puoi filtrare i consigli in base al campo stateInfo.state. Ad esempio, stateInfo.state:"DISMISSED" o stateInfo.state:"FAILED".
  • PROJECT_ID: l'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/recommenders/google.orgpolicy.policy.Recommender/recommendations?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN&filter=FILTER

Per inviare la richiesta, espandi una di queste opzioni:

La risposta è simile al seguente esempio. In questo esempio, vengono analizzate due risorse per le chiavi degli account di servizio esterni e non vengono rilevate violazioni. Di conseguenza, il suggerimento consiglia di impostare iam.managed.disableServiceAccountKeyCreation per evitare future violazioni.

[
  {
    "associatedInsights": [
      {
        "insight": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8"
      }
    ],
    "content": {
      "operationGroups": [
        {
          "operations": [
            {
              "action": "add",
              "path": "/",
              "resource": "//orgpolicy.googleapis.com/projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation",
              "resourceType": "orgpolicy.googleapis.com/Policy",
              "value": {
                "etag": "",
                "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation",
                "spec": {
                  "etag": "",
                  "inheritFromParent": false,
                  "reset": false,
                  "rules": [
                    {
                      "enforce": true
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "overview": {
        "constraint": {
          "id": "constraints/iam.managed.disableServiceAccountKeyCreation",
          "name": "Disable service account key creation"
        },
        "enforcedResources": [
          {
            "numOfResources": "2",
            "resourceType": "iam.googleapis.com/ServiceAccountKey"
          },
          {
            "numOfResources": "1",
            "resourceType": "cloudresourcemanager.googleapis.com/Project"
          }
        ]
      }
    },
    "description": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.",
    "etag": "\"826e992a0f9793ff\"",
    "lastRefreshTime": "2024-12-07T08:00:00Z",
    "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
    "primaryImpact": {
      "category": "SECURITY"
    },
    "priority": "P1",
    "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
    "stateInfo": {
      "state": "ACTIVE",
      "stateMetadata": {
        "reviewedBy": "alice",
        "priority": "high"
      }
    },
    "targetResources": [
      "//cloudresourcemanager.googleapis.com/projects/123456789012"
    ]
  }
]

Per saperne di più sui componenti di un consiglio, vedi Informazioni sui consigli.

Per applicare un consiglio:

  1. Contrassegna il suggerimento come CLAIMED:

    Per contrassegnare un suggerimento come CLAIMED, in modo che non venga modificato durante l'applicazione, utilizza il metodo recommendations.markClaimed dell'API Recommender.

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

    • RESOURCE_TYPE: il tipo di risorsa per cui vuoi gestire i suggerimenti. Utilizza il valore projects, folders o organizations.
    • RESOURCE_ID: l'ID del Google Cloud progetto, della cartella o dell'organizzazione per cui vuoi gestire i suggerimenti. Gli ID progetto sono stringhe alfanumeriche, come my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
    • RECOMMENDATION_ID: l'identificatore univoco per il suggerimento. Questo valore viene visualizzato alla fine del campo name nel consiglio. Ad esempio, se il campo name è projects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f, l'ID consiglio è fb927dc1-9695-4436-0000-f0f285007c0f.
    • ETAG: il valore del campo etag nel suggerimento, ad esempio "dd0686e7136a4cbb". Utilizza le barre rovesciate per eseguire l'escape delle virgolette, ad esempio "\"df7308cca9719dcc\"".
    • STATE_METADATA: (Facoltativo) Un oggetto che contiene coppie chiave-valore con i metadati che preferisci sul consiglio. Ad esempio, {"reviewedBy": "alice", "priority": "high"}. I metadati sostituiscono il campo stateInfo.stateMetadata nel suggerimento.
    • PROJECT_ID: l'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/recommenders/google.orgpolicy.policy.Recommender/recommendations/RECOMMENDATION_ID:markClaimed

    Corpo JSON della richiesta:

    {
      "etag": "ETAG",
      "stateMetadata": {
        "STATE_METADATA"
      }
    }
    

    Per inviare la richiesta, espandi una di queste opzioni:

    La risposta mostra il suggerimento nello stato CLAIMED, come mostrato nell'esempio seguente. Per chiarezza, questo esempio omette la maggior parte dei campi:

    {
      "description": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.",
      "etag": "\"826e992a0f9793ff\"",
      "lastRefreshTime": "2024-12-07T08:00:00Z",
      "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
      "primaryImpact": {
        "category": "SECURITY"
      },
      "priority": "P1",
      "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
      "stateInfo": {
        "state": "CLAIMED",
        "stateMetadata": {
          "reviewedBy": "alice",
          "priority": "high"
        }
      },
      "targetResources": [
        "//cloudresourcemanager.googleapis.com/projects/123456789012"
      ]
    }
    

  2. Aggiorna la policy dell'organizzazione per il progetto, la cartella o l'organizzazione specificati da RESOURCE_TYPE e RESOURCE_ID in modo che rifletta il consiglio.

  3. Aggiorna lo stato del suggerimento a SUCCEEDED se hai applicato correttamente il suggerimento o a FAILED se non è stato possibile applicarlo:

    SUCCEEDED

    Per contrassegnare un suggerimento come SUCCEEDED, indicando che sei riuscito ad applicarlo, utilizza il metodo recommendations.markSucceeded dell'API Recommender.

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

    • RESOURCE_TYPE: il tipo di risorsa per cui vuoi gestire i suggerimenti. Utilizza il valore projects, folders o organizations.
    • RESOURCE_ID: l'ID del Google Cloud progetto, della cartella o dell'organizzazione per cui vuoi gestire i suggerimenti. Gli ID progetto sono stringhe alfanumeriche, come my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
    • RECOMMENDATION_ID: l'identificatore univoco per il suggerimento. Questo valore viene visualizzato alla fine del campo name nel consiglio. Ad esempio, se il campo name è projects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f, l'ID consiglio è fb927dc1-9695-4436-0000-f0f285007c0f.
    • ETAG: il valore del campo etag nel suggerimento, ad esempio "dd0686e7136a4cbb". Utilizza le barre rovesciate per eseguire l'escape delle virgolette, ad esempio "\"df7308cca9719dcc\"".
    • STATE_METADATA: (Facoltativo) Un oggetto che contiene coppie chiave-valore con i metadati che preferisci sul consiglio. Ad esempio, {"reviewedBy": "alice", "priority": "high"}. I metadati sostituiscono il campo stateInfo.stateMetadata nel suggerimento.
    • PROJECT_ID: l'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/recommenders/google.orgpolicy.policy.Recommender/recommendations/RECOMMENDATION_ID:markSucceeded

    Corpo JSON della richiesta:

    {
      "etag": "ETAG",
      "stateMetadata": {
        "STATE_METADATA"
      }
    }
    

    Per inviare la richiesta, espandi una di queste opzioni:

    La risposta mostra il suggerimento nello stato SUCCEEDED, come mostrato nell'esempio seguente. Per chiarezza, questo esempio omette la maggior parte dei campi:

    {
      "description": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.",
      "etag": "\"826e992a0f9793ff\"",
      "lastRefreshTime": "2024-12-07T08:00:00Z",
      "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
      "primaryImpact": {
        "category": "SECURITY"
      },
      "priority": "P1",
      "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
      "stateInfo": {
        "state": "SUCCEEDED",
        "stateMetadata": {
          "reviewedBy": "alice",
          "priority": "high"
        }
      },
      "targetResources": [
        "//cloudresourcemanager.googleapis.com/projects/123456789012"
      ]
    }
    

    FAILED

    Per contrassegnare un suggerimento come FAILED, indicando che non è stato possibile applicarlo, utilizza il metodo recommendations.markFailed dell'API Recommender.

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

    • RESOURCE_TYPE: il tipo di risorsa per cui vuoi gestire i suggerimenti. Utilizza il valore projects, folders o organizations.
    • RESOURCE_ID: l'ID del Google Cloud progetto, della cartella o dell'organizzazione per cui vuoi gestire i suggerimenti. Gli ID progetto sono stringhe alfanumeriche, come my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
    • RECOMMENDATION_ID: l'identificatore univoco per il suggerimento. Questo valore viene visualizzato alla fine del campo name nel consiglio. Ad esempio, se il campo name è projects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f, l'ID consiglio è fb927dc1-9695-4436-0000-f0f285007c0f.
    • ETAG: il valore del campo etag nel suggerimento, ad esempio "dd0686e7136a4cbb". Utilizza le barre rovesciate per eseguire l'escape delle virgolette, ad esempio "\"df7308cca9719dcc\"".
    • STATE_METADATA: (Facoltativo) Un oggetto che contiene coppie chiave-valore con i metadati che preferisci sul consiglio. Ad esempio, {"reviewedBy": "alice", "priority": "high"}. I metadati sostituiscono il campo stateInfo.stateMetadata nel suggerimento.
    • PROJECT_ID: l'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/recommenders/google.orgpolicy.policy.Recommender/recommendations/RECOMMENDATION_ID:markFailed

    Corpo JSON della richiesta:

    {
      "etag": "ETAG",
      "stateMetadata": {
        "STATE_METADATA"
      }
    }
    

    Per inviare la richiesta, espandi una di queste opzioni:

    La risposta mostra il suggerimento nello stato FAILED, come mostrato nell'esempio seguente. Per chiarezza, questo esempio omette la maggior parte dei campi:

    {
      "description": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.",
      "etag": "\"826e992a0f9793ff\"",
      "lastRefreshTime": "2024-12-07T08:00:00Z",
      "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
      "primaryImpact": {
        "category": "SECURITY"
      },
      "priority": "P1",
      "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
      "stateInfo": {
        "state": "FAILED",
        "stateMetadata": {
          "reviewedBy": "alice",
          "priority": "high"
        }
      },
      "targetResources": [
        "//cloudresourcemanager.googleapis.com/projects/123456789012"
      ]
    }
    

Informazioni sui consigli

Ogni consiglio include informazioni per aiutarti a capire perché è stato formulato e suggerimenti per le modifiche alla configurazione dei criteri dell'organizzazione. I suoi attributi principali includono:

  • description: un riepilogo del suggerimento leggibile da una persona.

  • recommenderSubtype: l'identificatore di un sottotipo di suggerimenti. Ogni vincolo ha un recommenderSubtype univoco.

  • content: Contiene le modifiche consigliate alla policy dell'organizzazione.

    • overview: le informazioni di riepilogo condensate sul suggerimento.

    • constraint: fornisce informazioni sul vincolo.

    • enforced_resources: fornisce informazioni sulle risorse interessate da questa policy dell'organizzazione se applichi il suggerimento.

    • operationGroups: un insieme di una o più operazioni sulla policy dell'organizzazione quando applichi un suggerimento.

  • associatedInsights: il nome della risorsa degli insight che hanno portato a questo suggerimento.

Per saperne di più sugli attributi di un suggerimento, consulta il riferimento ai suggerimenti.

Gli approfondimenti e i suggerimenti vengono generati per le risorse per le quali non è impostata una delle policy dell'organizzazione supportate o per le relative risorse secondarie. Per visualizzare la configurazione della policy dell'organizzazione su cui si basa questo consiglio, visualizza gli approfondimenti sulla policy dell'organizzazione associati al consiglio. Questi approfondimenti sono elencati nel campo associatedInsights. Per visualizzare un approfondimento sulla policy dell'organizzazione associato al consiglio, segui questi passaggi:

  1. Identifica quali insight nel campo associatedInsights sono insight sui criteri dell'organizzazione. Gli insight sui criteri dell'organizzazione hanno il tipo di insight google.orgpolicy.policy.Insight. Questo tipo viene visualizzato dopo insightTypes nel campo insight.

  2. Copia l'ID dell'approfondimento sul criterio dell'organizzazione. L'ID è tutto ciò che segue insights/ nel campo insight. Ad esempio, se il campo dell'insight indica projects/123456789012/locations/us/insightTypes/google.orgpolicy.policy.Insight/insights/fb927dc1-9695-4436-0000-f0f285007c0f, l'ID insight è fb927dc1-9695-4436-0000-f0f285007c0f.

  3. Segui le istruzioni per ottenere un approfondimento sulla policy dell'organizzazione utilizzando l'ID approfondimento che hai copiato.

Esportare i suggerimenti in BigQuery

Per visualizzare snapshot giornalieri di tutti i consigli per la tua organizzazione, inclusi i consigli sulle policy dell'organizzazione, puoi esportare i consigli in BigQuery.

Per esportare i consigli in BigQuery, devi configurare un trasferimento di dati utilizzando BigQuery Data Transfer Service. Per scoprire come configurare un trasferimento di dati, consulta Esportare i consigli in BigQuery.

Passaggi successivi