Esaminare e applicare i consigli per le policy dell'organizzazione

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

Prima di iniziare

  • Enable the Organization Policy and Recommender APIs.

    Enable the APIs

  • Configurare l'autenticazione.

    Select the tab for how you plan to use the samples on this page:

    gcloud

    In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

    REST

    Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.

      Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init

    Per ulteriori informazioni, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione Google Cloud sull'autenticazione.

  • Consulta i suggerimenti per i criteri dell'organizzazione.

Ruoli IAM obbligatori

Questa sezione descrive i ruoli e le autorizzazioni IAM di cui hai bisogno per utilizzare i consigli relativi ai criteri dell'organizzazione.

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

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

Questi ruoli predefiniti contengono le autorizzazioni necessarie per gestire i consigli relativi alle norme dell'organizzazione. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

Per gestire i consigli relativi alle norme dell'organizzazione sono necessarie le seguenti autorizzazioni:

  • Per visualizzare i consigli relativi ai criteri dell'organizzazione:
    • recommender.orgPolicyRecommendations.get
    • recommender.orgPolicyRecommendations.list
  • Per applicare e ignorare i consigli relativi alle norme dell'organizzazione:
    • recommender.orgPolicyRecommendations.get
    • recommender.orgPolicyRecommendations.list
    • recommender.orgPolicyRecommendations.update
  • Per gestire i criteri 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 Recommender per i criteri dell'organizzazione presenta le seguenti limitazioni:

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

  • I consigli vengono forniti solo per i vincoli non configurati su una determinata risorsa o su una delle sue risorse figlio.

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 consigli relativi ai criteri dell'organizzazione con Google Cloud CLI e l'API Recommender.

gcloud

Esamina i consigli:

Per elencare i 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 la quale vuoi elencare i consigli. 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 consigli. Gli ID progetto sono stringhe alfanumeriche, ad esempio my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.

  • RECOMMENDER_SUBTYPE: facoltativo. L'ID del sottotipo per il quale vuoi visualizzare i consigli. I sottotipi validi includono:

    • ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION fornisce consigli per la limitazione 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 verificare la presenza di chiavi degli account di servizio esterni 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/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, consulta 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 la sua modifica durante l'applicazione:

    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 consiglio. Questo valore viene visualizzato alla fine del campo name nel consiglio. Nell'esempio precedente, l'identificatore è fb927dc1-9695-4436-0000-f0f285007c0f.
    • RESOURCE_TYPE: il tipo di risorsa per la quale vuoi gestire i consigli. Utilizza il valore project, folder o organization.
    • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione Google Cloudper cui vuoi elencare i consigli. Gli ID progetto sono stringhe alfanumeriche, ad esempio 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 consiglio, ad esempio "7caf4103d7669e12". Tieni presente che questo valore può includere virgolette.
    • STATE_METADATA: facoltativo. Coppie chiave-valore separate da virgole che contengono la tua scelta di metadati sul consiglio. Ad esempio, --state-metadata=reviewedBy=alice,priority=high. I metadati sostituiscono il campo stateInfo.stateMetadata nel consiglio.

    Se il comando va a buon fine, la risposta mostra il consiglio 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 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 consiglio su SUCCEEDED se hai potuto applicarlo o su FAILED se non è stato possibile 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 consiglio o mark-failed se non è stato possibile applicarlo.
    • RECOMMENDATION_ID: l'identificatore univoco del consiglio. Questo valore viene visualizzato alla fine del campo name nel consiglio. Nell'esempio precedente, l'identificatore è fb927dc1-9695-4436-0000-f0f285007c0f.
    • RESOURCE_TYPE: il tipo di risorsa per la quale vuoi gestire i consigli. Utilizza il valore project, folder o organization.
    • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione Google Cloudper cui vuoi elencare i consigli. Gli ID progetto sono stringhe alfanumeriche, ad esempio 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 consiglio, ad esempio "7caf4103d7669e12". Tieni presente che questo valore può includere virgolette.
    • STATE_METADATA: facoltativo. Coppie chiave-valore separate da virgole che contengono la tua scelta di metadati sul consiglio. Ad esempio, --state-metadata=reviewedBy=alice,priority=high. I metadati sostituiscono il campo stateInfo.stateMetadata nel consiglio.

    Ad esempio, se hai contrassegnato il consiglio come riuscito, la risposta mostra il consiglio con lo 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 al criterio dell'organizzazione, imposta il criterio dell'organizzazione sulla configurazione originale, che è fornita nel campo configuredPolicy della informazione associata.

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 seguenti sostituzioni:

  • RESOURCE_TYPE: il tipo di risorsa per cui vuoi gestire i consigli. Utilizza il valore projects, folders o organizations.
  • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazioneGoogle Cloud per cui vuoi gestire i consigli. Gli ID progetto sono stringhe alfanumeriche, ad esempio 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 viene specificato, il server determinerà il numero di risultati da restituire. Se il numero di consigli è superiore alle dimensioni della pagina, la risposta contiene un token di paginazione che puoi utilizzare per recuperare la pagina di risultati successiva.
  • PAGE_TOKEN: facoltativo. Il token di pagina restituito in una risposta precedente di questo metodo. Se specificato, l'elenco dei consigli inizierà dove è terminata la richiesta precedente.
  • FILTER: facoltativo. Un'espressione di filtro per limitare i consigli restituiti. Puoi filtrare i consigli in base al campo stateInfo.state. Ad esempio, stateInfo.state:"DISMISSED" o stateInfo.state:"FAILED".
  • PROJECT_ID: l'ID del tuo progetto Google Cloud . Gli ID progetto sono stringhe alfanumeriche, ad esempio 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 verificare la presenza di chiavi degli account di servizio esterni 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 consiglio, consulta Informazioni sui consigli.

Per applicare un consiglio:

  1. Contrassegna il consiglio come CLAIMED:

    Per contrassegnare un consiglio come CLAIMED, in modo da impedirne la modifica durante l'applicazione, utilizza il metodo recommendations.markClaimed dell'API Recommender.

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

    • RESOURCE_TYPE: il tipo di risorsa per cui vuoi gestire i consigli. Utilizza il valore projects, folders o organizations.
    • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazioneGoogle Cloud per cui vuoi gestire i consigli. Gli ID progetto sono stringhe alfanumeriche, ad esempio my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
    • RECOMMENDATION_ID: l'identificatore univoco per il consiglio. 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 etag campo nel consiglio, ad esempio "dd0686e7136a4cbb". Utilizza i backslash per eseguire l'escapismo delle virgolette, ad esempio "\"df7308cca9719dcc\"".
    • STATE_METADATA: facoltativo. Un oggetto che contiene coppie chiave/valore con la tua scelta di metadati sul consiglio. Ad esempio, {"reviewedBy": "alice", "priority": "high"}. I metadati sostituiscono il stateInfo.stateMetadata campo nel consiglio.
    • PROJECT_ID: l'ID del tuo progetto Google Cloud . Gli ID progetto sono stringhe alfanumeriche, ad esempio 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 consiglio in uno 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 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 consiglio su SUCCEEDED se lo hai applicato correttamente o su FAILED se non è stato possibile applicarlo:

    SUCCEEDED

    Per contrassegnare un consiglio come SUCCEEDED, a indicare che hai potuto applicarlo, utilizza il metodo recommendations.markSucceeded dell'API Recommender.

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

    • RESOURCE_TYPE: il tipo di risorsa per cui vuoi gestire i consigli. Utilizza il valore projects, folders o organizations.
    • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazioneGoogle Cloud per cui vuoi gestire i consigli. Gli ID progetto sono stringhe alfanumeriche, ad esempio my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
    • RECOMMENDATION_ID: l'identificatore univoco per il consiglio. 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 etag campo nel consiglio, ad esempio "dd0686e7136a4cbb". Utilizza i backslash per eseguire l'escapismo delle virgolette, ad esempio "\"df7308cca9719dcc\"".
    • STATE_METADATA: facoltativo. Un oggetto che contiene coppie chiave/valore con la tua scelta di metadati sul consiglio. Ad esempio, {"reviewedBy": "alice", "priority": "high"}. I metadati sostituiscono il stateInfo.stateMetadata campo nel consiglio.
    • PROJECT_ID: l'ID del tuo progetto Google Cloud . Gli ID progetto sono stringhe alfanumeriche, ad esempio 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 consiglio 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 consiglio come FAILED, a indicare che non è stato possibile applicarlo, utilizza il metodo recommendations.markFailed dell'API Recommender.

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

    • RESOURCE_TYPE: il tipo di risorsa per cui vuoi gestire i consigli. Utilizza il valore projects, folders o organizations.
    • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazioneGoogle Cloud per cui vuoi gestire i consigli. Gli ID progetto sono stringhe alfanumeriche, ad esempio my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
    • RECOMMENDATION_ID: l'identificatore univoco per il consiglio. 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 etag campo nel consiglio, ad esempio "dd0686e7136a4cbb". Utilizza i backslash per eseguire l'escapismo delle virgolette, ad esempio "\"df7308cca9719dcc\"".
    • STATE_METADATA: facoltativo. Un oggetto che contiene coppie chiave/valore con la tua scelta di metadati sul consiglio. Ad esempio, {"reviewedBy": "alice", "priority": "high"}. I metadati sostituiscono il stateInfo.stateMetadata campo nel consiglio.
    • PROJECT_ID: l'ID del tuo progetto Google Cloud . Gli ID progetto sono stringhe alfanumeriche, ad esempio 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 consiglio in uno 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 il motivo per cui è stato fornito e suggerimenti per apportare modifiche alla configurazione dei criteri della tua organizzazione. I suoi attributi principali includono:

  • description: un riepilogo leggibile del consiglio.

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

  • content: contiene le modifiche consigliate ai criteri della tua organizzazione.

    • overview: le informazioni di panoramica condensate sul consiglio.

    • constraint: fornisce informazioni sulla limitazione.

    • enforced_resources: fornisce informazioni sulle risorse interessate da questo criterio dell'organizzazione se applichi il consiglio.

    • operationGroups: un insieme di una o più operazioni sul criterio dell'organizzazione quando applichi un consiglio.

  • associatedInsights: il nome della risorsa degli approfondimenti che hanno portato a questo consiglio.

Per ulteriori informazioni sugli attributi di un consiglio, consulta il riferimento ai consigli.

Approfondimenti e consigli vengono generati per le risorse in cui non è impostato uno dei criteri dell'organizzazione supportati o per le relative risorse secondarie. Per visualizzare la configurazione dei criteri dell'organizzazione su cui si basa questo consiglio, consulta gli approfondimenti sui criteri dell'organizzazione associati al consiglio. Questi approfondimenti sono elencati nel campo associatedInsights. Per visualizzare un'informazione sulle norme dell'organizzazione associata al consiglio, procedi nel seguente modo:

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

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

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

Esportare i suggerimenti in BigQuery

Per visualizzare istantanee giornaliere di tutti i consigli per la tua organizzazione, inclusi quelli relativi alle norme dell'organizzazione, puoi esportarli 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