Esta página mostra como gerir as estatísticas de políticas ao nível do conjunto de dados, que são conclusões baseadas na aprendizagem automática sobre a utilização de autorizações para os seus conjuntos de dados do BigQuery. As estatísticas de políticas podem ajudar a identificar os responsáveis que têm autorizações de que não precisam.
Esta página centra-se nas estatísticas de políticas para conjuntos de dados. O Recommender também oferece estatísticas de políticas para os seguintes tipos de recursos:
Por vezes, as estatísticas de políticas ao nível do conjunto de dados estão associadas a recomendações de funções. As recomendações de funções sugerem ações que pode realizar para corrigir os problemas identificados pelas estatísticas das políticas ao nível do conjunto de dados.
Antes de começar
-
Enable the Recommender API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. - Familiarize-se com as recomendações de funções do IAM.
- Certifique-se de que tem uma ativação ao nível da organização ou do projeto do nível Premium ou Enterprise do Security Command Center. Para mais informações, consulte Perguntas sobre faturação.
- Opcional: leia acerca das estatísticas do motor de recomendações.
Funções necessárias
Para receber as autorizações de que precisa para gerir estatísticas de políticas ao nível do conjunto de dados, peça ao seu administrador que lhe conceda as seguintes funções da IAM no seu projeto:
- Proprietário de dados do BigQuery (`roles/bigquery.dataOwner`)
- Administrador do Recomendador do IAM (`roles/recommender.iamAdmin`)
- Faça a gestão das estatísticas de políticas ao nível do conjunto de dados com a CLI gcloud ou a API REST: Consumidor de utilização do serviço (`roles/serviceusage.serviceUsageConsumer`)
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 estatísticas de políticas ao nível do conjunto de dados. 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 estatísticas de políticas ao nível do conjunto de dados:
-
Veja estatísticas de políticas ao nível do conjunto de dados:
-
recommender.iamPolicyInsights.get
-
recommender.iamPolicyInsights.list
-
-
Modifique as estatísticas das políticas ao nível do conjunto de dados:
recommender.iamPolicyInsights.update
-
Faça a gestão das estatísticas de políticas ao nível do conjunto de dados com a CLI gcloud ou a API REST:
serviceusage.services.use
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Apresente informações sobre políticas ao nível do conjunto de dados
Para listar todas as estatísticas de políticas ao nível do conjunto de dados para o seu projeto, use um dos seguintes métodos:gcloud
Use o comando gcloud recommender
insights list
para ver todas as estatísticas de políticas ao nível do conjunto de dados para o seu
projeto.
Antes de executar o comando, substitua os seguintes valores:
PROJECT_ID
: o ID do projeto para o qual quer listar estatísticas.LOCATION
: a localização dos conjuntos de dados cujas estatísticas quer listar.
gcloud recommender insights list --insight-type=google.iam.policy.Insight \ --project=PROJECT_ID \ --location=LOCATION\ --filter="insightSubtype:PERMISSIONS_USAGE_BIGQUERY_DATASET"
O resultado apresenta todas as estatísticas de políticas ao nível do conjunto de dados para o seu projeto na localização especificada. Por exemplo:
INSIGHT_ID CATEGORY INSIGHT_STATE LAST_REFRESH_TIME SEVERITY INSIGHT_SUBTYPE DESCRIPTION 101d03ad-6148-4628-943e-fcf1a3af6b57 SECURITY ACTIVE 2024-02-02T08:00:00Z LOW PERMISSIONS_USAGE_BIGQUERY_DATASET 0 of the permissions in this role binding were used in the past 90 days. 15133dd9-4cbc-41e9-8990-b189241676d8 SECURITY ACTIVE 2024-02-02T08:00:00Z LOW PERMISSIONS_USAGE_BIGQUERY_DATASET 0 of the permissions in this role binding were used in the past 90 days. 1590aeae-d5bf-4e3d-b7d5-e230212f5faf SECURITY ACTIVE 2024-02-02T08:00:00Z LOW PERMISSIONS_USAGE_BIGQUERY_DATASET 4 of the permissions in this role binding were used in the past 90 days. 280e5a14-4d09-4ac6-8e14-be7407611ad7 SECURITY ACTIVE 2024-02-02T08:00:00Z LOW PERMISSIONS_USAGE_BIGQUERY_DATASET 0 of the permissions in this role binding were used in the past 90 days. 34102078-085f-45d3-ae72-81da16c75781 SECURITY ACTIVE 2024-02-02T08:00:00Z LOW PERMISSIONS_USAGE_BIGQUERY_DATASET 10 of the permissions in this role binding were used in the past 90 days.
REST
O método
insights.list
da API Recommender apresenta todas as estatísticas de políticas ao nível do conjunto de dados para o seu projeto.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: o ID do projeto para o qual quer listar estatísticas.LOCATION
: a localização dos conjuntos de dados cujas estatísticas quer listar.
Método HTTP e URL:
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.iam.policy.Insight/insights?filter=insightSubtype%20%3D%20PERMISSIONS_USAGE_BIGQUERY_DATASET
Para enviar o seu pedido, expanda uma destas opções:
A resposta apresenta todos os estatísticas de políticas ao nível do conjunto de dados para o seu projeto na localização especificada. Por exemplo:
{ "insights": [ { "name": "projects/1069248613794/locations/us/insightTypes/google.iam.policy.Insight/insights/101d03ad-6148-4628-943e-fcf1a3af6b57", "description": "0 of the permissions in this role binding were used in the past 90 days.", "content": { "role": "roles/bigquery.dataEditor", "member": "projectEditor:my-project", "condition": { "expression": "", "title": "", "description": "", "location": "" }, "exercisedPermissions": [], "inferredPermissions": [], "currentTotalPermissionsCount": "37" }, "lastRefreshTime": "2024-02-02T08:00:00Z", "observationPeriod": "7779600s", "stateInfo": { "state": "ACTIVE" }, "category": "SECURITY", "associatedRecommendations": [ { "recommendation": "projects/1069248613794/locations/us/recommenders/google.iam.policy.Recommender/recommendations/9327f952-1ceb-488e-9e49-f17eb21f6e5e" } ], "targetResources": [ "//bigquery.googleapis.com/projects/my-project/datasets/dataset-1" ], "insightSubtype": "PERMISSIONS_USAGE_BIGQUERY_DATASET", "etag": "\"35d4af47524d3f0c\"", "severity": "LOW" }, { "name": "projects/1069248613794/locations/us/insightTypes/google.iam.policy.Insight/insights/15133dd9-4cbc-41e9-8990-b189241676d8", "description": "0 of the permissions in this role binding were used in the past 90 days.", "content": { "role": "roles/bigquery.dataViewer", "member": "projectViewer:my-project", "condition": { "expression": "", "title": "", "description": "", "location": "" }, "exercisedPermissions": [], "inferredPermissions": [], "currentTotalPermissionsCount": "17" }, "lastRefreshTime": "2024-02-02T08:00:00Z", "observationPeriod": "7779600s", "stateInfo": { "state": "ACTIVE" }, "category": "SECURITY", "associatedRecommendations": [ { "recommendation": "projects/1069248613794/locations/us/recommenders/google.iam.policy.Recommender/recommendations/bc9b4c28-cc93-4a91-97ea-ff67e3cef1b4" } ], "targetResources": [ "//bigquery.googleapis.com/projects/my-project/datasets/dataset-2" ], "insightSubtype": "PERMISSIONS_USAGE_BIGQUERY_DATASET", "etag": "\"eafa79df1b329063\"", "severity": "LOW" } ] }
Para saber mais sobre os componentes de uma estatística, consulte Reveja as estatísticas de políticas ao nível do conjunto de dados nesta página.
Obtenha uma única estatística de política ao nível do conjunto de dados
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. PROJECT_ID
: o ID do projeto para o qual quer gerir estatísticas.LOCATION
: a localização do conjunto de dados cujo insight quer obter.
gcloud recommender insights describe INSIGHT_ID \ --insight-type=google.iam.policy.Insight \ --project=PROJECT_ID \ --location=LOCATION
O resultado mostra a estatística detalhadamente. Por exemplo, a seguinte estatística indica que todos os utilizadores com a função de editor no projeto my-project
(projectEditor:my-project
) têm a função de editor de dados do BigQuery (roles/bigquery.dataEditor
) no conjunto de dados dataset-1
, mas que nenhuma das autorizações nessa função foi usada nos últimos 90 dias:
associatedRecommendations: - recommendation: projects/1069248613794/locations/us/recommenders/google.iam.policy.Recommender/recommendations/9327f951-1ceb-488e-9e49-f17eb21f6e5e category: SECURITY content: condition: description: '' expression: '' location: '' title: '' currentTotalPermissionsCount: '37' exercisedPermissions: [] inferredPermissions: [] member: projectEditor:my-project role: roles/bigquery.dataEditor description: 0 of the permissions in this role binding were used in the past 90 days. etag: '"5f2f352a738f7a24"' insightSubtype: PERMISSIONS_USAGE_BIGQUERY_DATASET lastRefreshTime: '2024-02-04T08:00:00Z' name: projects/1069248613794/locations/us/insightTypes/google.iam.policy.Insight/insights/101d03ad-6148-4628-943e-fcf1a3af6b57 observationPeriod: 7776000s severity: LOW stateInfo: state: ACTIVE targetResources: - //bigquery.googleapis.com/projects/my-project/datasets/dataset-1
Para saber mais acerca dos componentes de uma estatística, consulte Reveja as estatísticas de políticas ao nível do conjunto de dados 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:
-
PROJECT_ID
: o ID do projeto para o qual quer gerir estatísticas. LOCATION
: a localização do conjunto de dados cujo insight quer obter.-
INSIGHT_ID
: o ID da estatística que quer ver. Se não souber o ID da estatística, pode encontrá-lo listando as estatísticas no seu projeto. O ID de uma estatística é tudo o que se encontra depois deinsights/
no camponame
da estatística.
Método HTTP e URL:
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.iam.policy.Insight/insights/INSIGHT_ID
Para enviar o seu pedido, expanda uma destas opções:
A resposta contém a estatística. Por exemplo, a seguinte estatística indica que todos os utilizadores com a função de editor no projeto my-project
(projectEditor:my-project
) têm a função de editor de dados do BigQuery (roles/bigquery.dataEditor
) no conjunto de dados dataset-1
, mas que nenhuma das autorizações nessa função foi usada nos últimos 90 dias:
{ "name": "projects/1069248613794/locations/us/insightTypes/google.iam.policy.Insight/insights/101d03ad-6148-4628-943e-fcf1a3af6b57", "description": "0 of the permissions in this role binding were used in the past 90 days.", "content": { "role": "roles/bigquery.dataEditor", "member": "projectEditor:my-project", "condition": { "expression": "", "title": "", "description": "", "location": "" }, "exercisedPermissions": [], "inferredPermissions": [], "currentTotalPermissionsCount": "37" }, "lastRefreshTime": "2024-02-02T08:00:00Z", "observationPeriod": "7779600s", "stateInfo": { "state": "ACTIVE" }, "category": "SECURITY", "associatedRecommendations": [ { "recommendation": "projects/1069248613794/locations/us/recommenders/google.iam.policy.Recommender/recommendations/9327f952-1ceb-488e-9e49-f17eb21f6e5e" } ], "targetResources": [ "//bigquery.googleapis.com/projects/my-project/datasets/dataset-1" ], "insightSubtype": "PERMISSIONS_USAGE_BIGQUERY_DATASET", "etag": "\"35d4af47524d3f0c\"", "severity": "LOW" }
Para saber mais acerca dos componentes de uma estatística, consulte Reveja as estatísticas de políticas ao nível do conjunto de dados nesta página.
Reveja as estatísticas das políticas ao nível do conjunto de dados
Depois de receber uma única estatística, pode rever o respetivo conteúdo para compreender o padrão de utilização de recursos que realça.
O conteúdo de uma estatística é determinado pelos respetivos subtipos.
As estatísticas de políticas ao nível do conjunto de dados (google.iam.policy.Insight
) têm o subtipo PERMISSIONS_USAGE_BIGQUERY_DATASET
.
As estatísticas PERMISSIONS_USAGE_BIGQUERY_DATASET
têm os seguintes componentes, não necessariamente
nesta 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 de IAM é sempreSECURITY
. -
content
: comunica a utilização de autorizações de um principal para uma função específica. Este campo contém os seguintes componentes:condition
: quaisquer condições anexadas à associação que conceda a função ao principal. Se não existirem condições, este campo contém uma condição vazia.exercisedPermissions
: As autorizações na função que o principal usou durante o período de observação.inferredPermissions
: As autorizações na função que o Recomendador determinou, através da ML, que o principal provavelmente vai precisar com base nas respetivas autorizações exercidas.member
: o principal cuja utilização de autorizações foi analisada.role
: a função para a qual a utilização de autorizações foi analisada.
-
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 valoretag
.Para alterar o estado de uma estatística, tem de fornecer o
etag
da estatística existente. A utilização doetag
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:projects/PROJECT_ID/locations/LOCATION/insightTypes/google.iam.policy.Insight/insights/INSIGHT_ID
Os marcadores de posição têm os seguintes valores:
-
PROJECT_ID
: o ID do projeto onde a estatística foi gerada. LOCATION
: a localização do conjunto de dados a que se refere a estatística.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 alastRefreshTime
e começam alastRefreshTime
menosobservationPeriod
. -
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 comoCLAIMED
,SUCCEEDED
ouFAILED
, ou quando a estatística foi aceite diretamente. Quando um insight está no estadoACCEPTED
, 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 conjunto de dados ao qual a estatística se refere. Por exemplo,//bigquery.googleapis.com/projects/my-project/datasets/my-dataset
.
Marque uma estatística da política ao nível do conjunto de dados 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. PROJECT_ID
: o ID do projeto para o qual quer gerir estatísticas.LOCATION
: a localização do conjunto de dados cujo insight quer marcar comoACCEPTED
.-
ETAG
: um identificador de uma versão da estatística. Para receber oetag
, faça o seguinte:-
Obtenha as estatísticas através do comando
gcloud recommender insights describe
. -
Localize e copie o valor
etag
do resultado, incluindo as aspas circundantes. Por exemplo,"d3cdec23cc712bd0"
.
-
Obtenha as estatísticas através do comando
gcloud recommender insights mark-accepted INSIGHT_ID \ --insight-type=google.iam.policy.Insight \ --project=PROJECT_ID \ --location=LOCATION \ --etag=ETAG
O resultado mostra a estatística, agora com o estado de ACCEPTED
:
associatedRecommendations: - recommendation: projects/1069248613794/locations/us/recommenders/google.iam.policy.Recommender/recommendations/9327f951-1ceb-488e-9e49-f17eb21f6e5e category: SECURITY content: condition: description: '' expression: '' location: '' title: '' currentTotalPermissionsCount: '37' exercisedPermissions: [] inferredPermissions: [] member: projectEditor:my-project role: roles/bigquery.dataEditor description: 0 of the permissions in this role binding were used in the past 90 days. etag: '"5f2f352a738f7a24"' insightSubtype: PERMISSIONS_USAGE_BIGQUERY_DATASET lastRefreshTime: '2024-02-04T08:00:00Z' name: projects/1069248613794/locations/us/insightTypes/google.iam.policy.Insight/insights/101d03ad-6148-4628-943e-fcf1a3af6b57 observationPeriod: 7776000s severity: LOW stateInfo: state: ACCEPTED targetResources: - //bigquery.googleapis.com/projects/my-project/datasets/dataset-1
Para saber mais sobre as informações de estado de uma estatística, consulte Reveja as estatísticas de políticas ao nível do conjunto de dados 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:
-
PROJECT_ID
: o ID do projeto para o qual quer gerir estatísticas. LOCATION
: a localização do conjunto de dados cujo insight quer marcar comoACCEPTED
.-
INSIGHT_ID
: o ID da estatística que quer ver. Se não souber o ID da estatística, pode encontrá-lo listando as estatísticas no seu projeto. O ID de uma estatística é tudo o que se encontra depois deinsights/
no camponame
da estatística. -
ETAG
: um identificador de uma versão da estatística. Para obter oetag
, faça o seguinte:- Obtenha a estatística através do método
insights.get
. - Encontre e copie o valor
etag
da resposta.
- Obtenha a estatística através do método
Método HTTP e URL:
POST https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.iam.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
:
{ "name": "projects/1069248613794/locations/us/insightTypes/google.iam.policy.Insight/insights/101d03ad-6148-4628-943e-fcf1a3af6b57", "description": "0 of the permissions in this role binding were used in the past 90 days.", "content": { "role": "roles/bigquery.dataEditor", "member": "projectEditor:my-project", "condition": { "expression": "", "title": "", "description": "", "location": "" }, "exercisedPermissions": [], "inferredPermissions": [], "currentTotalPermissionsCount": "37" }, "lastRefreshTime": "2024-02-02T08:00:00Z", "observationPeriod": "7779600s", "stateInfo": { "state": "ACCEPTED" }, "category": "SECURITY", "associatedRecommendations": [ { "recommendation": "projects/1069248613794/locations/us/recommenders/google.iam.policy.Recommender/recommendations/9327f952-1ceb-488e-9e49-f17eb21f6e5e" } ], "targetResources": [ "//bigquery.googleapis.com/projects/my-project/datasets/dataset-1" ], "insightSubtype": "PERMISSIONS_USAGE_BIGQUERY_DATASET", "etag": "\"35d4af47524d3f0c\"", "severity": "LOW" }
Para saber mais sobre as informações de estado de uma estatística, consulte Reveja as estatísticas de políticas ao nível do conjunto de dados nesta página.
O que se segue?
- Saiba como ver e aplicar recomendações de políticas para conjuntos de dados do BigQuery.
- Use o Active Assist para ver e gerir todas as recomendações para o seu projeto, incluindo recomendações da IAM.