Analisar e aplicar as recomendações de políticas da organização

Nesta página, explicamos como visualizar, entender e aplicar recomendações de política da organização. As recomendações de políticas da organização ajudam você a definir as políticas corretas sem interromper os sistemas.

Antes de começar

  • Enable the Organization Policy and Recommender APIs.

    Enable the APIs

  • Configure a autenticação.

    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

    Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

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

      gcloud init

    Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.

  • Entenda as recomendações da política da organização.

Papéis do IAM obrigatórios

Esta seção descreve os papéis e as permissões do IAM necessários para trabalhar com recomendações de políticas da organização.

Para receber as permissões necessárias para gerenciar as recomendações de políticas da organização, peça ao administrador para conceder a você os seguintes papéis do IAM no recurso para o qual você quer gerenciar as recomendações (projeto, pasta ou organização):

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esses papéis predefinidos contêm as permissões necessárias para gerenciar recomendações de políticas da organização. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As permissões a seguir são necessárias para gerenciar as recomendações de políticas da organização:

  • Para conferir as recomendações de políticas da organização:
    • recommender.orgPolicyRecommendations.get
    • recommender.orgPolicyRecommendations.list
  • Para aplicar e dispensar as recomendações de política da organização:
    • recommender.orgPolicyRecommendations.get
    • recommender.orgPolicyRecommendations.list
    • recommender.orgPolicyRecommendations.update
  • Para gerenciar as políticas da organização:
    • orgpolicy.policy.get
    • orgpolicy.policy.set
    • orgpolicy.constraints.list
    • orgpolicy.policies.create
    • orgpolicy.policies.delete
    • orgpolicy.policies.list
    • orgpolicy.policies.update

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Limitações

A visualização do recomendador de políticas da organização tem as seguintes limitações:

  • Os insights estão disponíveis apenas para projetos, pastas e organizações que têm recomendações.

  • As recomendações são feitas apenas para restrições que não estão configuradas em um determinado recurso ou em qualquer um dos recursos filhos.

Restrições compatíveis

As recomendações estão disponíveis apenas para as seguintes restrições de política da organização:

Analisar e aplicar recomendações

É possível analisar e aplicar as recomendações de políticas da organização com a Google Cloud CLI e a API Recommender.

gcloud

Revisar suas recomendações:

Para listar as recomendações, execute o 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

Substitua os seguintes valores:

  • RESOURCE_TYPE: o tipo de recurso para que você quer listar recomendações. Use o valor project, folder ou organization.

  • RESOURCE_ID: o ID do projeto, da pasta ou da organização do Google Cloud para a qual você quer listar recomendações. Os IDs do projeto são strings alfanuméricas, como my-project. Os IDs de pastas e organizações são numéricos, como 123456789012.

  • RECOMMENDER_SUBTYPE: opcional. O ID do subtipo para o qual você quer receber recomendações. Os subtipos válidos incluem:

    • ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION fornece recomendações para a restrição iam.managed.disableServiceAccountKeyCreation.
    • ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_UPLOAD fornece recomendações para a restrição iam.managed.disableServiceAccountKeyUpload
  • FORMAT: o formato da resposta. Use o valor json ou yaml.

A resposta é semelhante ao exemplo a seguir. Neste exemplo, dois recursos são analisados para chaves de conta de serviço externa, e nenhuma violação é detectada. Como resultado, a recomendação sugere definir o iam.managed.disableServiceAccountKeyCreation para evitar violações futuras.

[
  {
    "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"
    ]
  }
]

Para saber mais sobre os componentes de uma recomendação, consulte Noções básicas sobre recomendações.

Para aplicar uma recomendação:

  1. Use o comando gcloud recommender recommendations mark-claimed para mudar o estado da recomendação para CLAIMED, o que impede que a recomendação seja alterada enquanto você a aplica:

    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
    

    Substitua os seguintes valores:

    • RECOMMENDATION_ID: o identificador exclusivo da recomendação. Esse valor aparece no final do campo name na recomendação. No exemplo anterior, o identificador é fb927dc1-9695-4436-0000-f0f285007c0f.
    • RESOURCE_TYPE: o tipo de recurso para que você quer gerenciar recomendações. Use o valor project, folder ou organization.
    • RESOURCE_ID: o ID do projeto, da pasta ou da organização do Google Cloud que você quer listar recomendações. Os IDs do projeto são strings alfanuméricas, como my-project. Os IDs de pastas e organizações são numéricos, como 123456789012.
    • FORMAT: o formato da resposta. Use o valor json ou yaml.
    • ETAG: um identificador de uma versão da recomendação, como "7caf4103d7669e12". Observe que esse valor pode incluir aspas.
    • STATE_METADATA: opcional. Pares de chave-valor separados por vírgula que contêm a opção de metadados sobre a recomendação. Por exemplo, --state-metadata=reviewedBy=alice,priority=high. Os metadados substituem o campo stateInfo.stateMetadata na recomendação.

    Se o comando for bem-sucedido, a resposta mostrará a recomendação em um estado CLAIMED, conforme mostrado no exemplo a seguir. Para esclarecer, o exemplo omite a maioria dos campos:

    
      {
        "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. Atualize e aplique a política da organização para o projeto, a pasta ou a organização especificada por RESOURCE_TYPE e RESOURCE_ID para que ela reflita a recomendação.

  3. Atualize o estado da recomendação para SUCCEEDED, se você puder aplicar a recomendação, ou FAILED, se não for possível aplicá-la:

    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
    

    Substitua os seguintes valores:

    • COMMAND: use mark-succeeded se você aplicou a recomendação com sucesso ou mark-failed se não foi possível aplicar a recomendação.
    • RECOMMENDATION_ID: o identificador exclusivo da recomendação. Esse valor aparece no final do campo name na recomendação. No exemplo anterior, o identificador é fb927dc1-9695-4436-0000-f0f285007c0f.
    • RESOURCE_TYPE: o tipo de recurso para que você quer gerenciar recomendações. Use o valor project, folder ou organization.
    • RESOURCE_ID: o ID do projeto, da pasta ou da organização do Google Cloud que você quer listar recomendações. Os IDs do projeto são strings alfanuméricas, como my-project. Os IDs de pastas e organizações são numéricos, como 123456789012.
    • FORMAT: o formato da resposta. Use o valor json ou yaml.
    • ETAG: um identificador de uma versão da recomendação, como "7caf4103d7669e12". Observe que esse valor pode incluir aspas.
    • STATE_METADATA: opcional. Pares de chave-valor separados por vírgula que contêm a opção de metadados sobre a recomendação. Por exemplo, --state-metadata=reviewedBy=alice,priority=high. Os metadados substituem o campo stateInfo.stateMetadata na recomendação.

    Por exemplo, se você tiver marcado a recomendação como bem-sucedida, a resposta mostrará a recomendação em um estado SUCCEEDED. Para esclarecer, este exemplo omite a maioria dos campos:

    
      {
        "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"
        ]
      }
    

    Para reverter as alterações na política da organização, defina a política da organização como a configuração original, que é fornecida no campo configuredPolicy do insight associado.

REST

Revisar suas recomendações:

Para listar todas as recomendações disponíveis para seu projeto, pasta ou organização, use o método recommendations.list da API Recommender.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • RESOURCE_TYPE: o tipo de recurso para que você quer gerenciar recomendações. Use o valor projects, folders ou organizations.
  • RESOURCE_ID: o ID do projeto, da pasta ou da organização do Google Cloud para que você quer gerenciar recomendações. Os IDs do projeto são strings alfanuméricas, como my-project. Os IDs de pastas e organizações são numéricos, como 123456789012.
  • PAGE_SIZE: opcional. O número máximo de resultados a serem retornados a partir dessa solicitação. Se não especificado, o servidor determinará o número de resultados a serem retornados. Se o número de recomendações for maior que o tamanho da página, a resposta conterá um token de paginação que é possível usar para recuperar a próxima página de resultados.
  • PAGE_TOKEN: opcional. O token de paginação retornado em uma resposta anterior desse método. Se especificada, a lista de recomendações começará onde a solicitação anterior foi finalizada.
  • FILTER: opcional. Uma expressão de filtro para restringir as recomendações retornadas. É possível filtrar as recomendações com base no campo stateInfo.state. Por exemplo, stateInfo.state:"DISMISSED" ou stateInfo.state:"FAILED".
  • PROJECT_ID: o ID do projeto do Google Cloud . Os IDs do projeto são strings alfanuméricas, como my-project.

Método 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

Para enviar a solicitação, expanda uma destas opções:

A resposta é semelhante ao exemplo a seguir. Neste exemplo, dois recursos são analisados para chaves de conta de serviço externa, e nenhuma violação é detectada. Como resultado, a recomendação sugere definir o iam.managed.disableServiceAccountKeyCreation para evitar violações futuras.

[
  {
    "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"
    ]
  }
]

Para saber mais sobre os componentes de uma recomendação, consulte Noções básicas sobre recomendações.

Para aplicar uma recomendação:

  1. Marque a recomendação como CLAIMED:

    Para marcar uma recomendação como CLAIMED, o que impede que ela seja alterada enquanto você a aplica, use o método recommendations.markClaimed da API Recommender.

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • RESOURCE_TYPE: o tipo de recurso para que você quer gerenciar recomendações. Use o valor projects, folders ou organizations.
    • RESOURCE_ID: o ID do projeto, da pasta ou da organização do Google Cloud para que você quer gerenciar recomendações. Os IDs do projeto são strings alfanuméricas, como my-project. Os IDs de pastas e organizações são numéricos, como 123456789012.
    • RECOMMENDATION_ID: o identificador exclusivo da recomendação. Esse valor é exibido no final do campo name na recomendação. Por exemplo, se o campo name for projects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f, o ID de recomendação será fb927dc1-9695-4436-0000-f0f285007c0f.
    • ETAG: o valor do campo etag na recomendação, como "dd0686e7136a4cbb". Use barras invertidas para escapar das aspas, por exemplo, "\"df7308cca9719dcc\"".
    • STATE_METADATA: opcional. Um objeto que contém pares de chave-valor com a opção de metadados sobre a recomendação. Por exemplo, {"reviewedBy": "alice", "priority": "high"}. Os metadados substituem o campo stateInfo.stateMetadata na recomendação.
    • PROJECT_ID: o ID do projeto do Google Cloud . Os IDs do projeto são strings alfanuméricas, como my-project.

    Método 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 da solicitação:

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

    Para enviar a solicitação, expanda uma destas opções:

    A resposta mostra a recomendação em um estado CLAIMED, conforme mostrado no exemplo a seguir. Para esclarecer, este exemplo omite a maioria dos campos:

    {
      "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. Atualize a política da organização para o projeto, a pasta ou a organização especificada por RESOURCE_TYPE e RESOURCE_ID para que ela reflita a recomendação.

  3. Atualize o estado da recomendação para SUCCEEDED se você tiver conseguido aplicá-la ou FAILED se não foi possível:

    SUCCEEDED

    Para marcar uma recomendação como SUCCEEDED, indicando que você conseguiu aplicá-la, use o método recommendations.markSucceeded da API Recommender.

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • RESOURCE_TYPE: o tipo de recurso para que você quer gerenciar recomendações. Use o valor projects, folders ou organizations.
    • RESOURCE_ID: o ID do projeto, da pasta ou da organização do Google Cloud para que você quer gerenciar recomendações. Os IDs do projeto são strings alfanuméricas, como my-project. Os IDs de pastas e organizações são numéricos, como 123456789012.
    • RECOMMENDATION_ID: o identificador exclusivo da recomendação. Esse valor é exibido no final do campo name na recomendação. Por exemplo, se o campo name for projects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f, o ID de recomendação será fb927dc1-9695-4436-0000-f0f285007c0f.
    • ETAG: o valor do campo etag na recomendação, como "dd0686e7136a4cbb". Use barras invertidas para escapar das aspas, por exemplo, "\"df7308cca9719dcc\"".
    • STATE_METADATA: opcional. Um objeto que contém pares de chave-valor com a opção de metadados sobre a recomendação. Por exemplo, {"reviewedBy": "alice", "priority": "high"}. Os metadados substituem o campo stateInfo.stateMetadata na recomendação.
    • PROJECT_ID: o ID do projeto do Google Cloud . Os IDs do projeto são strings alfanuméricas, como my-project.

    Método 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 da solicitação:

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

    Para enviar a solicitação, expanda uma destas opções:

    A resposta mostra a recomendação em um estado SUCCEEDED, conforme mostrado no exemplo a seguir. Para esclarecer, este exemplo omite a maioria dos campos:

    {
      "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

    Para marcar uma recomendação como FAILED, indicando que não foi possível aplicá-la, use o método recommendations.markFailed da API Recommender.

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • RESOURCE_TYPE: o tipo de recurso para que você quer gerenciar recomendações. Use o valor projects, folders ou organizations.
    • RESOURCE_ID: o ID do projeto, da pasta ou da organização do Google Cloud para que você quer gerenciar recomendações. Os IDs do projeto são strings alfanuméricas, como my-project. Os IDs de pastas e organizações são numéricos, como 123456789012.
    • RECOMMENDATION_ID: o identificador exclusivo da recomendação. Esse valor é exibido no final do campo name na recomendação. Por exemplo, se o campo name for projects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f, o ID de recomendação será fb927dc1-9695-4436-0000-f0f285007c0f.
    • ETAG: o valor do campo etag na recomendação, como "dd0686e7136a4cbb". Use barras invertidas para escapar das aspas, por exemplo, "\"df7308cca9719dcc\"".
    • STATE_METADATA: opcional. Um objeto que contém pares de chave-valor com a opção de metadados sobre a recomendação. Por exemplo, {"reviewedBy": "alice", "priority": "high"}. Os metadados substituem o campo stateInfo.stateMetadata na recomendação.
    • PROJECT_ID: o ID do projeto do Google Cloud . Os IDs do projeto são strings alfanuméricas, como my-project.

    Método 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 da solicitação:

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

    Para enviar a solicitação, expanda uma destas opções:

    A resposta mostra a recomendação em um estado FAILED, conforme mostrado no exemplo a seguir. Para esclarecer, este exemplo omite a maioria dos campos:

    {
      "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"
      ]
    }
    

Noções básicas sobre recomendações

Cada recomendação inclui informações para ajudar você a entender por que ela foi feita e sugestões de mudanças na configuração da política da organização. Os principais atributos incluem:

  • description: um resumo legível da recomendação.

  • recommenderSubtype: o identificador de um subtipo de recomendações. Cada restrição tem um recommenderSubtype exclusivo.

  • content: contém as mudanças recomendadas na política da sua organização.

    • overview: as informações gerais resumidas sobre a recomendação.

    • constraint: fornece informações sobre a restrição.

    • enforced_resources: fornece informações sobre os recursos que essa política da organização afeta se você aplicar a recomendação.

    • operationGroups: um conjunto de uma ou mais operações na política da organização quando você aplica uma recomendação.

  • associatedInsights: o nome do recurso dos insights que levaram a essa recomendação.

Para mais informações sobre os atributos de uma recomendação, consulte a referência de recomendação.

Os insights e as recomendações são gerados para recursos que não têm uma das políticas da organização com suporte definidas ou qualquer um dos recursos filhos. Para conferir a configuração da política da organização na qual essa recomendação se baseia, consulte os insights da política da organização associados à recomendação. Esses insights são listados no campo associatedInsights. Para conferir um insight de política da organização associado à recomendação, faça o seguinte:

  1. Identifique quais insights no campo associatedInsights são insights de política da organização. Os insights de política da organização têm o tipo de insight google.orgpolicy.policy.Insight. Esse tipo aparece depois de insightTypes no campo insight.

  2. Copie o ID do insight de política da organização. O ID é tudo depois de insights/ no campo insight. Por exemplo, se o campo de insight for projects/123456789012/locations/us/insightTypes/google.orgpolicy.policy.Insight/insights/fb927dc1-9695-4436-0000-f0f285007c0f, o ID do insight será fb927dc1-9695-4436-0000-f0f285007c0f.

  3. Siga as instruções para receber um insight de política da organização usando o ID do insight que você copiou.

Exportar recomendações para o BigQuery.

Para conferir snapshots diários de todas as recomendações da sua organização, incluindo recomendações de políticas da organização, exporte suas recomendações para o BigQuery.

Para exportar suas recomendações para o BigQuery, você precisa configurar uma transferência de dados usando o serviço de transferência de dados do BigQuery. Para saber como configurar uma transferência de dados, consulte Exportar recomendações para o BigQuery.

A seguir