Reveja e aplique recomendações de políticas da organização

Esta página explica como ver, compreender e aplicar recomendações de políticas organizacionais. As recomendações de políticas da organização ajudam a definir as políticas da organização certas sem interromper os sistemas.

Antes de começar

  • Enable the Organization Policy and Recommender APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  • Configurar 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 os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.

      Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

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

  • Compreenda as recomendações de políticas da organização.

Funções de IAM necessárias

Esta secção descreve as funções e as autorizações do IAM de que precisa para trabalhar com as recomendações de políticas da organização.

Para receber as autorizações de que precisa para gerir as recomendações de políticas da organização, peça ao seu administrador que lhe conceda as seguintes funções do IAM no recurso para o qual quer gerir as recomendações (projeto, pasta ou organização):

Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Estas funções predefinidas contêm as autorizações necessárias para gerir as recomendações de políticas da organização. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:

Autorizações necessárias

São necessárias as seguintes autorizações para gerir as recomendações de políticas da organização:

  • Para ver recomendações de políticas de organização:
    • recommender.orgPolicyRecommendations.get
    • recommender.orgPolicyRecommendations.list
  • Para aplicar e ignorar recomendações de políticas da organização:
    • recommender.orgPolicyRecommendations.get
    • recommender.orgPolicyRecommendations.list
    • recommender.orgPolicyRecommendations.update
  • Para gerir 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

Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.

Limitações

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

  • As estatísticas só estão disponíveis para projetos, pastas e organizações que tenham recomendações.

  • As recomendações só são feitas para restrições que não estejam configuradas num determinado recurso ou em qualquer um dos respetivos recursos subordinados.

Restrições suportadas

As recomendações só estão disponíveis para as seguintes restrições de políticas organizacionais:

Reveja e aplique recomendações

Pode rever e aplicar recomendações de políticas da organização com a CLI do Google Cloud e a API Recommender.

gcloud

Reveja as suas recomendações:

Para apresentar uma lista das suas 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 o qual quer apresentar recomendações. Use o valor project, folder ou organization.

  • RESOURCE_ID: o ID do Google Cloud projeto, da pasta ou da organização para os quais quer apresentar recomendações. Os IDs dos projetos são strings alfanuméricas, como my-project. Os IDs das pastas e das organizações são numéricos, como 123456789012.

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

    • 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 seguinte exemplo. Neste exemplo, são analisados dois recursos para chaves de contas de serviço externas e não são detetadas violações. 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 o artigo Compreender as recomendações.

Para aplicar uma recomendação:

  1. Use o comando gcloud recommender recommendations mark-claimed para alterar o estado da recomendação para CLAIMED, o que impede que a recomendação seja alterada enquanto 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. Este 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 o qual quer gerir recomendações. Use o valor project, folder ou organization.
    • RESOURCE_ID: o ID do projeto, da pasta ou da organização para os quais quer apresentar recomendações. Google CloudOs IDs dos projetos são strings alfanuméricas, como my-project. Os IDs das pastas e das 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". Tenha em atenção que este valor pode incluir aspas.
    • STATE_METADATA: opcional. Pares de chave-valor separados por vírgulas que contêm a sua escolha 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 mostra a recomendação no estado CLAIMED, conforme mostrado no exemplo seguinte. 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 especificados por RESOURCE_TYPE e RESOURCE_ID, de modo a refletir a recomendação.

  3. Atualize o estado da recomendação para SUCCEEDED se tiver conseguido aplicar a recomendação ou para FAILED se não tiver conseguido 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 tiver aplicado com êxito a recomendação ou mark-failed se não tiver conseguido aplicar a recomendação.
    • RECOMMENDATION_ID: o identificador exclusivo da recomendação. Este 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 o qual quer gerir recomendações. Use o valor project, folder ou organization.
    • RESOURCE_ID: o ID do projeto, da pasta ou da organização para os quais quer apresentar recomendações. Google CloudOs IDs dos projetos são strings alfanuméricas, como my-project. Os IDs das pastas e das 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". Tenha em atenção que este valor pode incluir aspas.
    • STATE_METADATA: opcional. Pares de chave-valor separados por vírgulas que contêm a sua escolha 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 marcou a recomendação como tendo sido bem-sucedida, a resposta mostra a recomendação num 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 à política da organização, defina a política da organização para a sua configuração original, que é fornecida no campo configuredPolicy da informação detalhada associada.

REST

Reveja as suas recomendações:

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

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • RESOURCE_TYPE: o tipo de recurso para o qual quer gerir recomendações. Use o valor projects, folders ou organizations.
  • RESOURCE_ID: o ID do Google Cloud projeto, da pasta ou da organização para a qual quer gerir recomendações. Os IDs dos projetos são strings alfanuméricas, como my-project. Os IDs das pastas e das organizações são numéricos, como 123456789012.
  • PAGE_SIZE: opcional. O número máximo de resultados a devolver deste pedido. Se não for especificado, o servidor determina o número de resultados a devolver. Se o número de recomendações for superior ao tamanho da página, a resposta contém um token de paginação que pode usar para obter a página seguinte de resultados.
  • PAGE_TOKEN: opcional. O token de paginação devolvido numa resposta anterior deste método. Se for especificado, a lista de recomendações começa onde o pedido anterior terminou.
  • FILTER: opcional. Uma expressão de filtro para restringir as recomendações devolvidas. Pode filtrar as recomendações com base no campo stateInfo.state. Por exemplo, stateInfo.state:"DISMISSED" ou stateInfo.state:"FAILED".
  • PROJECT_ID: O ID do Google Cloud projeto. Os IDs dos projetos 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 o seu pedido, expanda uma destas opções:

A resposta é semelhante ao seguinte exemplo. Neste exemplo, são analisados dois recursos para chaves de contas de serviço externas e não são detetadas violações. 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 o artigo Compreender as 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 a recomendação seja alterada enquanto a aplica, use o método recommendations.markClaimed da API Recommender.

    Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

    • RESOURCE_TYPE: o tipo de recurso para o qual quer gerir recomendações. Use o valor projects, folders ou organizations.
    • RESOURCE_ID: o ID do Google Cloud projeto, da pasta ou da organização para a qual quer gerir recomendações. Os IDs dos projetos são strings alfanuméricas, como my-project. Os IDs das pastas e das organizações são numéricos, como 123456789012.
    • RECOMMENDATION_ID: o identificador exclusivo da recomendação. Este valor aparece 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 da recomendação é fb927dc1-9695-4436-0000-f0f285007c0f.
    • ETAG: o valor do campo etag na recomendação, como "dd0686e7136a4cbb". Use barras invertidas para escapar as aspas, por exemplo, "\"df7308cca9719dcc\"".
    • STATE_METADATA: opcional. Um objeto que contém pares de chave-valor com os metadados à sua escolha 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 Google Cloud projeto. Os IDs dos projetos 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 do pedido:

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

    Para enviar o seu pedido, expanda uma destas opções:

    A resposta mostra a recomendação no estado CLAIMED, conforme mostrado no exemplo seguinte. 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 especificados por RESOURCE_TYPE e RESOURCE_ID para que reflita a recomendação.

  3. Atualize o estado da recomendação para SUCCEEDED se tiver aplicado com êxito a recomendação ou para FAILED se não tiver conseguido aplicar a recomendação:

    SUCCEEDED

    Para marcar uma recomendação como SUCCEEDED, indicando que a conseguiu aplicar, use o método recommendations.markSucceeded da API Recommender.

    Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

    • RESOURCE_TYPE: o tipo de recurso para o qual quer gerir recomendações. Use o valor projects, folders ou organizations.
    • RESOURCE_ID: o ID do Google Cloud projeto, da pasta ou da organização para a qual quer gerir recomendações. Os IDs dos projetos são strings alfanuméricas, como my-project. Os IDs das pastas e das organizações são numéricos, como 123456789012.
    • RECOMMENDATION_ID: o identificador exclusivo da recomendação. Este valor aparece 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 da recomendação é fb927dc1-9695-4436-0000-f0f285007c0f.
    • ETAG: o valor do campo etag na recomendação, como "dd0686e7136a4cbb". Use barras invertidas para escapar as aspas, por exemplo, "\"df7308cca9719dcc\"".
    • STATE_METADATA: opcional. Um objeto que contém pares de chave-valor com os metadados à sua escolha 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 Google Cloud projeto. Os IDs dos projetos 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 do pedido:

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

    Para enviar o seu pedido, expanda uma destas opções:

    A resposta mostra a recomendação no estado SUCCEEDED, conforme mostrado no exemplo seguinte. 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 a conseguiu aplicar, use o método recommendations.markFailed da API Recommender.

    Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

    • RESOURCE_TYPE: o tipo de recurso para o qual quer gerir recomendações. Use o valor projects, folders ou organizations.
    • RESOURCE_ID: o ID do Google Cloud projeto, da pasta ou da organização para a qual quer gerir recomendações. Os IDs dos projetos são strings alfanuméricas, como my-project. Os IDs das pastas e das organizações são numéricos, como 123456789012.
    • RECOMMENDATION_ID: o identificador exclusivo da recomendação. Este valor aparece 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 da recomendação é fb927dc1-9695-4436-0000-f0f285007c0f.
    • ETAG: o valor do campo etag na recomendação, como "dd0686e7136a4cbb". Use barras invertidas para escapar as aspas, por exemplo, "\"df7308cca9719dcc\"".
    • STATE_METADATA: opcional. Um objeto que contém pares de chave-valor com os metadados à sua escolha 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 Google Cloud projeto. Os IDs dos projetos 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 do pedido:

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

    Para enviar o seu pedido, expanda uma destas opções:

    A resposta mostra a recomendação no estado FAILED, conforme mostrado no exemplo seguinte. 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"
      ]
    }
    

Compreender as recomendações

Cada recomendação inclui informações para ajudar a compreender o motivo da recomendação e sugestões de alterações à configuração da política da organização. Os respetivos atributos principais incluem:

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

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

  • content: contém as alterações recomendadas à política da sua organização.

    • overview: as informações de vista geral condensadas sobre a recomendação.

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

    • enforced_resources: fornece informações sobre os recursos que esta política organizacional afeta se aplicar a recomendação.

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

  • associatedInsights: o nome do recurso das estatísticas que originaram esta recomendação.

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

As estatísticas e as recomendações são geradas para recursos que não têm uma das políticas da organização suportadas definidas ou nenhum dos respetivos recursos subordinados. Para ver a configuração da política da organização na qual esta recomendação se baseia, consulte as estatísticas da política da organização associadas à recomendação. Estas estatísticas estão listadas no campo associatedInsights. Para ver uma estatística da política da organização associada à recomendação, faça o seguinte:

  1. Identifique as informações no campo associatedInsights que são informações de políticas da organização. As estatísticas das políticas da organização têm o tipo de estatísticas google.orgpolicy.policy.Insight. Este tipo aparece após insightTypes no campo insight.

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

  3. Siga as instruções para obter uma análise detalhada da política da organização, através do ID da análise detalhada que copiou.

Exporte recomendações para o BigQuery

Para ver instantâneos diários de todas as recomendações para a sua organização, incluindo recomendações de políticas da organização, pode exportar as suas recomendações para o BigQuery.

Para exportar as suas recomendações para o BigQuery, tem de configurar uma transferência de dados através do Serviço de transferência de dados do BigQuery. Para saber como configurar uma transferência de dados, consulte o artigo Exporte recomendações para o BigQuery.

O que se segue?