Esta página mostra como gerir as estatísticas de políticas, que são conclusões baseadas na aprendizagem automática sobre a utilização de autorizações. 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 projetos, pastas e organizações. O Recommender também oferece estatísticas de políticas para os seguintes tipos de recursos:
Por vezes, as estatísticas de políticas 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 de políticas.
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.enablepermission. Learn how to grant roles. - Familiarize-se com as recomendações de funções do IAM.
- Tem de ter o Premium ou Enterprise ativado ao nível da organização ou do projeto para usar as estatísticas de políticas. 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 as estatísticas de políticas, peça ao seu administrador que lhe conceda as seguintes funções de IAM no projeto, na pasta ou na organização para os quais quer gerir estatísticas:
-
Para ver estatísticas de políticas:
Visualizador do recomendador de IAM (
roles/recommender.iamViewer) -
Para modificar as estatísticas das políticas:
Administrador do IAM Recommender (
roles/recommender.iamAdmin)
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. 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:
-
Para ver estatísticas de políticas:
-
recommender.iamPolicyInsights.get -
recommender.iamPolicyInsights.list
-
-
Para modificar as estatísticas de políticas:
recommender.iamPolicyInsights.update
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Indicar estatísticas de políticas
Para apresentar uma lista de todas as estatísticas de políticas do seu projeto, pasta ou organização, use um dos seguintes métodos:Consola
-
Na Google Cloud consola, aceda à página IAM.
- Selecione um projeto, uma pasta ou uma organização.
A coluna Estatísticas de segurança mostra todas as estatísticas relacionadas com a segurança do seu projeto, incluindo estatísticas de políticas. As estatísticas de políticas têm o formato
EXCESS/TOTAL excess
permissions, em que EXCESS é o número de autorizações na função que o principal não precisa e TOTAL é o número total de autorizações na função.
gcloud
Use o comando gcloud recommender
insights list para ver todas as estatísticas de políticas do 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 valorproject,folder, ouorganization. -
RESOURCE_ID: o ID do projeto, pasta ou organização para o qual quer apresentar estatísticas.
gcloud recommender insights list --insight-type=google.iam.policy.Insight \ --RESOURCE_TYPE=RESOURCE_ID \ --location=global
O resultado apresenta todas as estatísticas de políticas do seu projeto, pasta ou organização. Por exemplo:
INSIGHT_ID CATEGORY INSIGHT_STATE LAST_REFRESH_TIME SEVERITY INSIGHT_SUBTYPE DESCRIPTION 00133c0b-5431-4b30-9172-7c903aa4af24 SECURITY ACTIVE 2022-05-24T07:00:00Z LOW PERMISSIONS_USAGE 9 of the permissions in this role binding were used in the past 90 days. 0161f2eb-acb7-4a5e-ad52-50284beaa312 SECURITY ACTIVE 2022-05-24T07:00:00Z LOW PERMISSIONS_USAGE 0 of the permissions in this role binding were used in the past 90 days. 01ea0d0d-e9a1-4073-9367-5a934a857fb4 SECURITY ACTIVE 2022-05-24T07:00:00Z LOW PERMISSIONS_USAGE 1 of the permissions in this role binding were used in the past 90 days. 039407bc-a25b-4aeb-b573-5c851f2e9833 SECURITY ACTIVE 2022-05-24T07:00:00Z HIGH PERMISSIONS_USAGE 52 of the permissions in this role binding were used in the past 90 days. 0541df88-8bc3-44b3-ad5d-9cb372630aeb SECURITY ACTIVE 2022-05-24T07:00:00Z HIGH PERMISSIONS_USAGE 31 of the permissions in this role binding were used in the past 90 days. 07841f74-02ce-4de8-bbe6-fc4eabb68568 SECURITY ACTIVE 2022-05-24T07:00:00Z HIGH PERMISSIONS_USAGE 0 of the permissions in this role binding were used in the past 90 days. 07713094-fdee-4475-9c43-cd53d52c9de1 SECURITY ACTIVE 2022-05-24T07:00:00Z LOW PERMISSIONS_USAGE 2 of the permissions in this role binding were used in the past 90 days. 0a438d19-9d63-4749-aadd-578aa4e77908 SECURITY ACTIVE 2022-05-24T07:00:00Z LOW PERMISSIONS_USAGE 0 of the permissions in this role binding were used in the past 90 days. f4292f55-105b-4744-9dc3-fcacf59685bb SECURITY ACTIVE 2022-05-24T07:00:00Z HIGH PERMISSIONS_USAGE 4 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 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 valorprojects,folders, ouorganizations. -
RESOURCE_ID: o ID do projeto, pasta ou organização para o qual quer apresentar estatísticas. PROJECT_ID: O ID do Google Cloud projeto. Os IDs dos projetos são strings alfanuméricas, comomy-project.
Método HTTP e URL:
GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.Insight/insights
Para enviar o seu pedido, expanda uma destas opções:
A resposta apresenta todas as estatísticas de políticas para o seu projeto, pasta ou organização. Por exemplo:
{
"insights": [
{
"name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/07841f74-02ce-4de8-bbe6-fc4eabb68568",
"description": "0 of the permissions in this role binding were used in the past 90 days.",
"content": {
"role": "roles/viewer",
"member": "serviceAccount:my-service-account@my-project.iam.gserviceaccount.com",
"condition": {
"expression": "",
"title": "",
"description": "",
"location": ""
},
"exercisedPermissions": [],
"inferredPermissions": []
},
"lastRefreshTime": "2022-05-24T07:00:00Z",
"observationPeriod": "7776000s",
"stateInfo": {
"state": "ACTIVE"
},
"category": "SECURITY",
"associatedRecommendations": [
{
"recommendation": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/b1932220-867d-43d1-bd74-fb95876ab656"
}
],
"targetResources": [
"//cloudresourcemanager.googleapis.com/projects/123456789012"
],
"insightSubtype": "PERMISSIONS_USAGE",
"etag": "\"b153ab487e4ae100\"",
"severity": "HIGH"
},
{
"name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/f4292f55-105b-4744-9dc3-fcacf59685bb",
"description": "4 of the permissions in this role binding were used in the past 90 days.",
"content": {
"role": "roles/owner",
"member": "serviceAccount:my-service-account2@my-project.iam.gserviceaccount.com",
"condition": {
"expression": "",
"title": "",
"description": "",
"location": ""
},
"exercisedPermissions": [
{
"permission": "iam.roles.create"
},
{
"permission": "iam.roles.delete"
},
{
"permission": "iam.roles.list"
},
{
"permission": "iam.roles.update"
}
],
"inferredPermissions": []
},
"lastRefreshTime": "2022-05-24T07:00:00Z",
"observationPeriod": "7776000s",
"stateInfo": {
"state": "ACTIVE"
},
"category": "SECURITY",
"associatedRecommendations": [
{
"recommendation": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/6ab16c1d-edce-45e5-8d82-570fdd49892a"
}
],
"targetResources": [
"//cloudresourcemanager.googleapis.com/projects/123456789012"
],
"insightSubtype": "PERMISSIONS_USAGE",
"etag": "\"49bb705553338fc3\"",
"severity": "HIGH"
}
]
}Para saber mais sobre os componentes de uma estatística, consulte Reveja as estatísticas das políticas nesta página.
Obtenha uma única estatística de política
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:
Consola
-
Na Google Cloud consola, aceda à página IAM.
- Selecione um projeto, uma pasta ou uma organização.
-
Na coluna Estatísticas de segurança, clique numa estatística de política. As estatísticas de políticas têm o formato
EXCESS/TOTAL excess permissions, em queEXCESSé o número de autorizações na função que o principal não precisa eTOTALé o número total de autorizações na função.
A Google Cloud consola abre um painel que mostra os detalhes da estatística.
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 valorproject,folder, ouorganization. -
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.iam.policy.Insight \ --RESOURCE_TYPE=RESOURCE_ID \ --location=global
O resultado mostra a estatística detalhadamente. Por exemplo, a seguinte estatística indica que
my-service-account@my-project.iam.gserviceaccount.com usou zero autorizações da função de
leitor (roles/viewer) nos últimos 90 dias:
associatedRecommendations: - recommendation: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/0573b702-96a5-4622-a916-c762e7b0731f category: SECURITY content: condition: description: '' expression: '' location: '' title: '' exercisedPermissions: [] inferredPermissions: [] member: serviceAccount:my-service-account@my-project.iam.gserviceaccount.com role: roles/viewer description: 0 of the permissions in this role binding were used in the past 90 days. etag: '"d3cdec23cc712bd0"' insightSubtype: PERMISSIONS_USAGE lastRefreshTime: '2020-07-11T07:00:00Z' name: projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/0d3ce433-f067-4e78-b6ae-03d7d1f6f040 observationPeriod: 7776000s severity: HIGH stateInfo: state: ACTIVE targetResources: - //cloudresourcemanager.googleapis.com/projects/123456789012
Para saber mais sobre os componentes de uma estatística, consulte Reveja as estatísticas de políticas 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 valorprojects,folders, ouorganizations. -
RESOURCE_ID: o ID do projeto, pasta ou organização para o qual 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 deinsights/no camponameda estatística. PROJECT_ID: O ID do Google Cloud projeto. Os IDs dos projetos são strings alfanuméricas, comomy-project.
Método HTTP e URL:
GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.Insight/insights/INSIGHT_ID
Para enviar o seu pedido, expanda uma destas opções: