Reveja as estatísticas das políticas da organização para projetos, pastas e organizações

Esta página mostra como gerir as estatísticas da política da organização, que são conclusões sobre a configuração e a utilização de recursos. As estatísticas das políticas da organização podem ajudar a identificar recursos que não estão protegidos por políticas da organização.

As informações das políticas da organização estão, por vezes, associadas a recomendações de políticas da organização. As recomendações de políticas da organização sugerem ações que pode realizar para corrigir os problemas identificados pelas estatísticas das políticas da organização.

Antes de começar

Funções necessárias

Para receber as autorizações de que precisa para ver e modificar as estatísticas das políticas da organização, peça ao seu administrador que lhe conceda a função do IAM Administrador do Recomendador de políticas da organização (roles/recommender.orgPolicyAdmin) no recurso para o qual quer gerir estatísticas (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.

Esta função predefinida contém as autorizações necessárias para ver e modificar as estatísticas da política 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 ver e modificar as estatísticas das políticas da organização:

  • recommender.orgPolicyInsights.get
  • recommender.orgPolicyInsights.list
  • recommender.orgPolicyInsights.update

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

Apresente informações da política da organização

Para apresentar uma lista de todas as estatísticas de políticas da organização para o seu projeto, pasta ou organização, use um dos seguintes métodos:

gcloud

Use o comando gcloud recommender insights list para ver todas as estatísticas de políticas da organização para o seu projeto, pasta ou organização.

Antes de executar o comando, substitua os seguintes valores:

  • RESOURCE_TYPE: o tipo de recurso para o qual quer listar estatísticas. Use o valor project, folder, ou organization.
  • RESOURCE_ID: o ID do projeto, pasta, ou organização para a qual quer apresentar estatísticas.
gcloud recommender insights list --insight-type=google.orgpolicy.policy.Insight \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=global

O resultado lista todas as estatísticas da política da organização para o seu projeto, pasta ou organização. Por exemplo:

INSIGHT_ID                            CATEGORY  INSIGHT_STATE  LAST_REFRESH_TIME     SEVERITY  INSIGHT_SUBTYPE                                          DESCRIPTION
66d543f3-845d-49d6-a26b-80d84804d8a8  SECURITY  ACTIVE         2024-12-10T08:00:00Z  HIGH      RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION  Scanned 3 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.

REST

O método insights.list da API Recommender apresenta todas as estatísticas de políticas organizacionais para o seu projeto, pasta ou organização.

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 apresentar estatísticas. Use o valor projects, folders, ou organizations.
  • RESOURCE_ID: o ID do projeto, pasta, ou organização para a qual quer apresentar estatísticas.
  • 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/insightTypes/google.orgpolicy.policy.Insight/insights

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

A resposta apresenta todos os insights da política da organização para o seu projeto, pasta ou organização. Por exemplo:

[
  {
    "associatedRecommendations": [
      {
        "recommendation": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f"
      }
    ],
    "category": "SECURITY",
    "content": {
      "consolidatedPolicy": {
        "inheritFromParent": false,
        "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation",
        "policyRules": {
          "rules": [
            {
              "enforce": false
            }
          ]
        },
        "reset": false
      },
      "constraint": {
        "id": "constraints/iam.managed.disableServiceAccountKeyCreation",
        "name": "Disable service account key creation"
      },
      "evaluatedResources": [
        {
          "numOfResources": "2",
          "resourceType": "iam.googleapis.com/ServiceAccountKey"
        },
        {
          "numOfResources": "1",
          "resourceType": "cloudresourcemanager.googleapis.com/Project"
        }
      ],
      "violations": [
        {
          "numOfResources": "0",
          "resourceType": "iam.googleapis.com/ServiceAccountKey"
        },
        {
          "numOfResources": "0",
          "resourceType": "cloudresourcemanager.googleapis.com/Project"
        }
      ]
    },
    "description": "Scanned 3 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.",
    "etag": "\"9a1ad019022f9f56\"",
    "insightSubtype": "RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
    "lastRefreshTime": "2024-12-07T08:00:00Z",
    "name": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8",
    "observationPeriod": "86400s",
    "severity": "HIGH",
    "stateInfo": {
      "state": "ACTIVE",
      "stateMetadata": {
        "reviewedBy": "alice",
        "priority": "high"
      }
    },
    "targetResources": [
      "//cloudresourcemanager.googleapis.com/projects/123456789012"
    ]
  }
]

Para saber mais sobre os componentes de uma estatística, consulte o artigo Reveja as estatísticas das políticas da organização nesta página.

Obtenha uma única estatística de política da organização

Para obter mais informações sobre uma única estatística, incluindo a descrição, o estado e as recomendações associadas, use um dos seguintes métodos:

gcloud

Use o comando gcloud recommender insights describe com o ID da estatística para ver informações sobre uma única estatística.

  • INSIGHT_ID: o ID da estatística que quer ver. Para encontrar o ID, liste as estatísticas do seu projeto, pasta ou organização.
  • RESOURCE_TYPE: o tipo de recurso para o qual quer gerir estatísticas. Use o valor project, folder, ou organization.
  • RESOURCE_ID: o ID do projeto, pasta ou organização para o qual quer gerir estatísticas.
gcloud recommender insights describe INSIGHT_ID \
    --insight-type=google.orgpolicy.policy.Insight \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=global

O resultado mostra a estatística detalhadamente. Por exemplo, são analisados dois recursos para chaves de contas de serviço externas e não são detetadas violações:

associatedRecommendations:
- recommendation: projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
category: SECURITY
content:
  consolidatedPolicy:
    inheritFromParent: false
    name: 'projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation'
    policyRules:
      rules: [
        "enforce": false
      ]
    reset: false
  constraint: {
    id: constraints/iam.managed.disableServiceAccountKeyCreation
    name: Disable service account key creation
  }
  evaluatedResources:
  - numOfResources: '1'
    resourceType: cloudresourcemanager.googleapis.com/Project
  - numOfResources: '2'
    resourceType: iam.googleapis.com/ServiceAccountKey
  violations:
  - numOfResources: '0'
    resourceType: iam.googleapis.com/ServiceAccountKey
  - numOfResources: '0'
    resourceType: cloudresourcemanager.googleapis.com/Project
description: Scanned 3 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.
etag: '"34ddfdcefd214fd7"'
insightSubtype: RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION
lastRefreshTime: '2024-12-10T08:00:00Z'
name: projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8
observationPeriod: 86400s
severity: HIGH
stateInfo:
  state: ACTIVE
targetResources:
- //cloudresourcemanager.googleapis.com/projects/123456789012

Para saber mais sobre os componentes de uma estatística, consulte o artigo Reveja as estatísticas das políticas da organização nesta página.

REST

O método insights.get da API Recommender recebe uma única estatística.

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 as estatísticas. Use o valor projects, folders, ou organizations.
  • RESOURCE_ID: o ID do projeto, pasta ou organização para os quais quer gerir estatísticas.
  • INSIGHT_ID: o ID da estatística que quer ver. Se não souber o ID das estatísticas, pode encontrá-lo listando as estatísticas no seu projeto, pasta ou organização. O ID de uma estatística é tudo o que se encontra depois de insights/ no campo name da estatística.
  • 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/insightTypes/google.orgpolicy.policy.Insight/insights/INSIGHT_ID

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

A resposta contém a estatística. Por exemplo, são analisados dois recursos para chaves de contas de serviço externas e não são detetadas violações:

[
  {
    "associatedRecommendations": [
      {
        "recommendation": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f"
      }
    ],
    "category": "SECURITY",
    "content": {
      "consolidatedPolicy": {
        "inheritFromParent": false,
        "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation",
        "policyRules": {
          "rules": [
            {
              "enforce": false
            }
          ]
        },
        "reset": false
      },
      "constraint": {
        "id": "constraints/iam.managed.disableServiceAccountKeyCreation",
        "name": "Disable service account key creation"
      },
      "evaluatedResources": [
        {
          "numOfResources": "1",
          "resourceType": "cloudresourcemanager.googleapis.com/Project"
        },
        {
          "numOfResources": "2",
          "resourceType": "iam.googleapis.com/ServiceAccountKey"
        }
      ],
      "violations": [
        {
          "numOfResources": "0",
          "resourceType": "iam.googleapis.com/ServiceAccountKey"
        },
        {
          "numOfResources": "0",
          "resourceType": "cloudresourcemanager.googleapis.com/Project"
        }
      ]
    },
    "description": "Scanned 2 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.",
    "etag": "\"9a1ad019022f9f56\"",
    "insightSubtype": "RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
    "lastRefreshTime": "2024-12-03T08:00:00Z",
    "name": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8",
    "observationPeriod": "86400s",
    "severity": "HIGH",
    "stateInfo": {
      "state": "ACTIVE",
      "stateMetadata": {
        "reviewedBy": "alice",
        "priority": "high"
      }
    },
    "targetResources": [
      "//cloudresourcemanager.googleapis.com/projects/123456789012"
    ]
  }
]

Para saber mais sobre os componentes de uma estatística, consulte o artigo Reveja as estatísticas das políticas da organização nesta página.

Reveja as estatísticas das políticas da organização

Depois de obter uma única estatística, pode rever o respetivo conteúdo para compreender a configuração da política da organização nos seus recursos, incluindo quaisquer violações.

As estatísticas das políticas da organização (google.orgpolicy.policy.Insight) têm os seguintes componentes, não necessariamente por esta ordem:

  • associatedRecommendations: Os identificadores de quaisquer recomendações associadas à estatística. Se não existirem recomendações associadas à estatística, este campo está vazio.
  • category: a categoria das estatísticas da política da organização é sempre SECURITY.
  • content: fornece detalhes sobre os recursos e a política de organização que foram analisados. Este campo contém os seguintes componentes:
    • constraint: a restrição que foi analisada.
    • consolidatedPolicy: a política da organização para o recurso analisado.
    • evaluatedResources: os recursos que foram avaliados para gerar a estatística.
    • violations: o número e os tipos de recursos que violam a política da organização.
  • description: um resumo da estatística legível por humanos.
  • etag: um identificador exclusivo do estado atual de uma estatística. Sempre que a estatística muda, é atribuído um novo valor etag.

    Para alterar o estado de uma estatística, tem de fornecer o etag da estatística existente. A utilização do etag ajuda a garantir que as operações só são realizadas se a estatística não tiver sido alterada desde a última vez que a obteve.

  • insightSubtype: o subtipo de estatística.
  • lastRefreshTime: a data da última atualização da estatística, que indica a atualidade dos dados usados para gerar a estatística.
  • name: o nome da estatística, no seguinte formato:

    RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/INSIGHT_ID

    Os marcadores de posição têm os seguintes valores:

    • RESOURCE_TYPE: o tipo de recurso para o qual a estatística foi gerada.
    • RESOURCE_ID: o ID do projeto, da pasta ou da organização onde o insight foi gerado.
    • INSIGHT_ID: um ID exclusivo para a estatística.
  • observationPeriod: o período que antecede a estatística. Os dados de origem usados para gerar as estatísticas terminam a lastRefreshTime e começam a lastRefreshTime menos observationPeriod.
  • severity: a gravidade da estatística. As estatísticas das políticas da organização têm uma gravidade de HIGH.
  • stateInfo: as estatísticas passam por várias transições de estado depois de serem propostas:

    • ACTIVE: a estatística foi gerada, mas não foram tomadas ações ou foi tomada uma ação sem atualizar o estado da estatística. As estatísticas ativas são atualizadas quando os dados subjacentes mudam.
    • ACCEPTED: foi tomada alguma medida com base na estatística. As estatísticas são aceites quando uma recomendação associada foi marcada como CLAIMED, SUCCEEDED ou FAILED, ou quando a estatística foi aceite diretamente. Quando um insight está no estado ACCEPTED, o conteúdo do insight não pode ser alterado. As estatísticas aceites são retidas durante 90 dias após serem aceites.
  • targetResources: o nome completo do recurso do projeto, da pasta ou da organização a que se refere a estatística. Por exemplo, //cloudresourcemanager.googleapis.com/projects/1234567890.

Marque uma estatística da política organizacional como ACCEPTED

Se tomar medidas com base numa estatística ativa, pode marcar essa estatística como ACCEPTED. O estado ACCEPTED indica à API Recommender que tomou medidas com base nesta estatística, o que ajuda a refinar as suas recomendações.

As estatísticas aceites são retidas durante 90 dias após serem marcadas como ACCEPTED.

gcloud

Use o comando gcloud recommender insights mark-accepted com o ID das estatísticas para marcar uma estatística como ACCEPTED.

  • INSIGHT_ID: o ID da estatística que quer ver. Para encontrar o ID, liste as estatísticas do seu projeto, pasta ou organização.
  • RESOURCE_TYPE: o tipo de recurso para o qual quer gerir estatísticas. Use o valor project, folder, ou organization.
  • RESOURCE_ID: o ID do projeto, pasta ou organização para o qual quer gerir estatísticas.
  • ETAG: um identificador de uma versão da estatística. Para receber o etag, faça o seguinte:

    1. Obtenha as estatísticas através do comando gcloud recommender insights describe.
    2. Localize e copie o valor etag do resultado, incluindo as aspas circundantes. Por exemplo, "d3cdec23cc712bd0".
gcloud recommender insights mark-accepted INSIGHT_ID \
    --insight-type=google.orgpolicy.policy.Insight \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=global \
    --etag=ETAG

O resultado mostra a estatística, agora com o estado de ACCEPTED:

associatedRecommendations:
- recommendation: folders/234567890123/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
category: SECURITY
content:
  consolidatedPolicy:
    inheritFromParent: false
    name: 'projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation'
    policyRules:
      rules: [
        "enforce": false
      ]
    reset: false
  constraint: {
    id: constraints/iam.managed.disableServiceAccountKeyCreation
    name: Disable service account key creation
  }
  evaluatedResources:
  - numOfResources: '0'
    resourceType: iam.googleapis.com/ServiceAccountKey
  - numOfResources: '1'
    resourceType: cloudresourcemanager.googleapis.com/Folder
  - numOfResources: '1'
    resourceType: cloudresourcemanager.googleapis.com/Project
  violations:
  - numOfResources: '0'
    resourceType: iam.googleapis.com/ServiceAccountKey
  - numOfResources: '0'
    resourceType: cloudresourcemanager.googleapis.com/Folder
  - numOfResources: '0'
    resourceType: cloudresourcemanager.googleapis.com/Project
description: Scanned 2 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyUpload.
etag: '"2cbb89b22fe2dab7"'
insightSubtype: RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_UPLOAD
lastRefreshTime: '2024-12-10T08:00:00Z'
name: folders/234567890123/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8
observationPeriod: 86400s
severity: HIGH
stateInfo:
  state: ACCEPTED
targetResources:
- //cloudresourcemanager.googleapis.com/folders/234567890123

Para saber mais sobre as informações de estado de uma estatística, consulte o artigo Reveja as estatísticas das políticas da organização nesta página.

REST

O método insights.markAccepted da API Recommender marca uma estatística como ACCEPTED.

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 as estatísticas. Use o valor projects, folders, ou organizations.
  • RESOURCE_ID: o ID do projeto, pasta ou organização para os quais quer gerir estatísticas.
  • INSIGHT_ID: o ID da estatística que quer ver. Se não souber o ID das estatísticas, pode encontrá-lo listando as estatísticas no seu projeto, pasta ou organização. O ID de uma estatística é tudo o que se encontra depois de insights/ no campo name da estatística.
  • ETAG: um identificador de uma versão da estatística. Para obter o etag, faça o seguinte:
    1. Obtenha a estatística através do método insights.get.
    2. Encontre e copie o valor etag da resposta.
  • 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/insightTypes/google.orgpolicy.policy.Insight/insights/INSIGHT_ID:markAccepted

Corpo JSON do pedido:

{
  "etag": "ETAG"
}

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

A resposta contém a estatística, agora com o estado ACCEPTED:

[
  {
    "associatedRecommendations": [
      {
        "recommendation": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f"
      }
    ],
    "category": "SECURITY",
    "content": {
      "consolidatedPolicy": {
        "inheritFromParent": false,
        "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation",
        "policyRules": {
          "rules": [
            {
              "enforce": false
            }
          ]
        },
        "reset": false
      },
      "constraint": {
        "id": "constraints/iam.managed.disableServiceAccountKeyCreation",
        "name": "Disable service account key creation"
      },
      "evaluatedResources": [
        {
          "numOfResources": "1",
          "resourceType": "cloudresourcemanager.googleapis.com/Project"
        },
        {
          "numOfResources": "2",
          "resourceType": "iam.googleapis.com/ServiceAccountKey"
        }
      ],
      "violations": [
        {
          "numOfResources": "0",
          "resourceType": "iam.googleapis.com/ServiceAccountKey"
        },
        {
          "numOfResources": "0",
          "resourceType": "cloudresourcemanager.googleapis.com/Project"
        }
      ]
    },
    "description": "Scanned 2 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.",
    "etag": "\"9a1ad019022f9f56\"",
    "insightSubtype": "RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION",
    "lastRefreshTime": "2024-12-03T08:00:00Z",
    "name": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8",
    "observationPeriod": "86400s",
    "severity": "HIGH",
    "stateInfo": {
      "state": "ACCEPTED",
      "stateMetadata": {
        "reviewedBy": "alice",
        "priority": "high"
      }
    },
    "targetResources": [
      "//cloudresourcemanager.googleapis.com/projects/123456789012"
    ]
  }
]

Para saber mais sobre as informações de estado de uma estatística, consulte o artigo Reveja as estatísticas das políticas da organização nesta página.

O que se segue?