Esaminare e applicare i suggerimenti per le policy dell'organizzazione

In questa pagina viene spiegato come visualizzare, comprendere e applicare i suggerimenti per le policy dell'organizzazione. I suggerimenti 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, se non sono già abilitate.

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre dell'autorizzazione serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin). 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 .

  • Comprendi 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 relativi alle 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 suggerimenti per le 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 del motore per suggerimenti sulle policy dell'organizzazione presenta le seguenti limitazioni:

  • Gli approfondimenti 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 figlio.

Vincoli supportati

I suggerimenti 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 progetto, della cartella o dell'organizzazione Google Cloud 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 suggerimenti 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 al seguente esempio. In questo esempio, vengono analizzate due risorse per le chiavi del account di servizio esterno e non vengono rilevate violazioni. Di conseguenza, il suggerimento consiglia 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 da impedire che 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 relativi al suggerimento che hai scelto. 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 in uno 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 la policy dell'organizzazione per il progetto, la cartella o l'organizzazione specificati da RESOURCE_TYPE e RESOURCE_ID in modo che rifletta il suggerimento.

  3. Aggiorna lo stato del suggerimento impostandolo su SUCCEEDED se hai potuto applicarlo o su FAILED se non hai potuto 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 o 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 progetto, della cartella o dell'organizzazione Google Cloudper cui vuoi elencare i suggerimenti. Gli ID progetto sono stringhe alfanumeriche, come my-project. Gli ID cartella e ID 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 consigli 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 progetto, della cartella o dell'organizzazioneGoogle Cloud per cui vuoi gestire i suggerimenti. Gli ID progetto sono stringhe alfanumeriche, come my-project. Gli ID cartella e ID 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 paginazione 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 suggerimenti in base al campo stateInfo.state. Ad esempio, stateInfo.state:"DISMISSED" o stateInfo.state:"FAILED".
  • 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/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 dell'account di servizio esterno e non vengono rilevate violazioni. Di conseguenza, il consiglio suggerisce 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 suggerimento, consulta Informazioni sui suggerimenti.

Per applicare un consiglio:

  1. Contrassegna il suggerimento come CLAIMED:

    Per contrassegnare un suggerimento come CLAIMED, il che impedisce la modifica del suggerimento 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 del suggerimento. Questo valore viene visualizzato alla fine del campo name nel suggerimento. Ad esempio, se il campo name è projects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f, l'ID suggerimento è 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 impostandolo su SUCCEEDED se hai applicato correttamente il suggerimento o su FAILED se non hai potuto applicarlo:

    SUCCEEDED

    Per contrassegnare un suggerimento come SUCCEEDED, indicando che hai potuto 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 del suggerimento. Questo valore viene visualizzato alla fine del campo name nel suggerimento. Ad esempio, se il campo name è projects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f, l'ID suggerimento è 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: 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/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 in uno 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 del suggerimento. Questo valore viene visualizzato alla fine del campo name nel suggerimento. Ad esempio, se il campo name è projects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f, l'ID suggerimento è 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 suggerimento include informazioni che ti aiutano a capire perché è stato formulato e suggerimenti per modificare la configurazione della policy 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 insight 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 sulle policy dell'organizzazione. Gli approfondimenti sulle policy 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'insight sulla policy dell'organizzazione. L'ID è tutto ciò che segue insights/ nel campo insight. Ad esempio, se il campo dell'insight è projects/123456789012/locations/us/insightTypes/google.orgpolicy.policy.Insight/insights/fb927dc1-9695-4436-0000-f0f285007c0f, l'ID dell'insight è fb927dc1-9695-4436-0000-f0f285007c0f.

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

Esportare i suggerimenti in BigQuery

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

Per esportare i suggerimenti 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