Nesta página, explicamos como visualizar, entender e aplicar recomendações de papel para projetos, pastas e organizações. As recomendações de papéis ajudam a aplicar o princípio de privilégio mínimo, garantindo que os principais tenham apenas as permissões de que realmente precisam.
Antes de começar
Ative as APIs IAM e Recommender.
Funções necessárias para ativar APIs
Para ativar as APIs, é necessário ter o papel do IAM de administrador de uso do serviço (
roles/serviceusage.serviceUsageAdmin), que contém a permissãoserviceusage.services.enable. Saiba como conceder papéis.Entenda as recomendações por papel.
Opcional: se você quiser ver e gerenciar recomendações de papéis não básicos e funções personalizadas, verifique se tem uma ativação no nível da organização ou para envolvidos no projeto do nível Premium ou Enterprise do Security Command Center. Para mais informações, consulte Perguntas de faturamento.
Configure a autenticação.
Selecione a guia para como planeja usar as amostras nesta página:
gcloud
No console do Google Cloud , ative o Cloud Shell.
Na parte de baixo do console Google Cloud , uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para CLI gcloud.
Instale a CLI do Google Cloud.
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .
Papéis necessários do IAM
Esta seção descreve os papéis e as permissões do IAM necessários para trabalhar com recomendações de papéis.
Ver recomendações
Para receber as permissões necessárias para visualizar as recomendações de papel, peça ao administrador para conceder a você os seguintes papéis do IAM no recurso para o qual você quer visualizar as recomendações (projeto, pasta ou organização):
- Leitor de papel (
roles/iam.roleViewer) - Leitor do recomendador do IAM (
roles/recommender.iamViewer) -
Para ver recomendações para envolvidos no projeto no console Google Cloud :
Administrador do IAM do projeto (
roles/resourcemanager.projectIamAdmin) -
Para ver recomendações no nível da pasta no console do Google Cloud :
Administrador do IAM da pasta (
roles/resourcemanager.folderIamAdmin) -
Para ver recomendações no nível da organização no console Google Cloud :
Administrador da organização (
roles/resourcemanager.organizationAdmin)
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 visualizar as recomendações de papéis. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para acessar as recomendações de papéis:
-
iam.roles.get -
iam.roles.list -
recommender.iamPolicyRecommendations.get -
recommender.iamPolicyRecommendations.list -
recommender.iamPolicyInsights.get -
recommender.iamPolicyInsights.list -
recommender.iamPolicyLateralMovementInsights.get -
recommender.iamPolicyLateralMovementInsights.list -
Para ver recomendações no console do Google Cloud :
resourcemanager.RESOURCE.getIamPolicy, em queRESOURCEé o tipo de recurso do qual você quer visualizar recomendações (projects,foldersouorganizations).
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Aplicar e dispensar recomendações
Para receber as permissões necessárias para visualizar, aplicar e dispensar recomendações de papéis, 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):
- Leitor de papel (
roles/iam.roleViewer) - Administrador de recomendador do IAM (
roles/recommender.iamAdmin) -
Para gerenciar recomendações no nível do projeto:
Administrador de IAM do projeto (
roles/resourcemanager.projectIamAdmin) -
Para gerenciar recomendações no nível da pasta:
Administrador de pastas do IAM (
roles/resourcemanager.folderIamAdmin) -
Para gerenciar recomendações no nível da organização:
Administrador da organização (
roles/resourcemanager.organizationAdmin)
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 visualizar, aplicar e dispensar recomendações de papéis. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para visualizar, aplicar e dispensar recomendações de papéis:
-
iam.roles.get -
iam.roles.list -
recommender.iamPolicyRecommendations.get -
recommender.iamPolicyRecommendations.list -
recommender.iamPolicyInsights.get -
recommender.iamPolicyInsights.list -
recommender.iamPolicyLateralMovementInsights.get -
recommender.iamPolicyLateralMovementInsights.list -
recommender.iamPolicyRecommendations.update -
resourcemanager.RESOURCE.getIamPolicy, em queRESOURCEé o tipo de recurso para o qual você quer gerenciar as recomendações (projects,foldersouorganizations). -
resourcemanager.RESOURCE.setIamPolicy, em queRESOURCEé o tipo de recurso para o qual você quer gerenciar as recomendações (projects,foldersouorganizations).
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Analisar e aplicar recomendações
A maneira mais fácil de revisar e aplicar as recomendações é usando o consoleGoogle Cloud . Além disso, se você quiser criar um papel personalizado automaticamente ao aplicar uma recomendação, use o console Google Cloud .
Você também pode avaliar e aplicar recomendações com a Google Cloud CLI e a API Recommender.
Console
No console do Google Cloud , acesse a página IAM.
Selecione um projeto, pasta ou organização.
Na lista de principais que têm acesso ao seu projeto, encontre a coluna Insights de segurança.
Para cada papel concedido a um participante, essa coluna mostra todos os insights relacionados à segurança. Esses insights destacam padrões na maneira como os participantes acessam os recursos. Por exemplo, alguns insights destacam as permissões em excesso ou as permissões que um membro não precisa. Outros insights destacam as contas de serviço com recursos de movimento lateral:

Se houver uma recomendação disponível para resolver um insight, o consoleGoogle Cloud vai mostrar o ícone Recomendação disponível .
Se houver recomendações para avaliar, clique em um ícone de Recomendação disponível para ver detalhes da recomendação.
Se a recomendação for substituir o papel, a recomendação do papel sempre irá sugerir um conjunto de papéis predefinidos que é possível aplicar.
Em alguns casos, a recomendação do papel também sugere a criação de um novo papel personalizado no nível do projeto. Se uma recomendação de papel personalizado estiver disponível, o console Google Cloud a mostrará por padrão. Para alternar para a recomendação de papel predefinido, clique em Ver papel predefinido recomendado.
Somente para principais de grupo com permissões excessivas, você tem a opção de substituir o acesso permanente por um acesso temporário e sob demanda (Prévia) usando o Privileged Access Manager. Se os membros de um grupo não precisarem de acesso permanente às permissões de uma função, mas talvez precisem por motivos inesperados no futuro, remova o acesso permanente deles e use o Privileged Access Manager para permitir que eles solicitem acesso temporário quando necessário. Para saber como corrigir permissões excessivas com o Privileged Access Manager, consulte Corrigir permissões excessivas com o Privileged Access Manager.
Analise a recomendação com cuidado e entenda quando ela foi atualizada pela última vez e como isso vai mudar o acesso do principal aos recursos doGoogle Cloud . Exceto no caso de recomendações para agentes de serviço, uma recomendação nunca aumenta o nível de acesso de um principal. Para mais informações, consulte Como as recomendações de papéis são geradas.
Para saber como analisar as recomendações no console, consulte Revisar recomendações nesta página.
Opcional: se a recomendação for criar um papel personalizado, atualize o Título, a Descrição, o ID e a Etapa de criação do papel conforme necessário.
Se for necessário adicionar permissões ao papel personalizado, clique em Adicionar permissões.
Se for necessário remover permissões do papel personalizado, desmarque a caixa de seleção de cada permissão que você queira remover.
Tome providências com relação à recomendação.
Para aplicar a recomendação, clique em Aplicar ou Criar e aplicar. Se mudar de ideia nos próximos 90 dias, use o histórico de recomendações para reverter a escolha.
Para dispensar a recomendação, clique em Dispensar e confirme sua escolha. É possível restaurar uma recomendação dispensada, desde que a recomendação ainda seja válida.
Repita as etapas anteriores até ter avaliado todas as recomendações.
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.iam.policy.Recommender \
--RESOURCE_TYPE=RESOURCE_ID \
--format=json
Substitua os seguintes valores:
RESOURCE_TYPE: o tipo de recurso para que você quer listar recomendações. Use o valorproject,folderouorganization.RESOURCE_ID: o ID do Google Cloud projeto, pasta ou organização para que você quer listar recomendações. Os IDs do projeto são strings alfanuméricas, comomy-project. Os IDs de pastas e organizações são numéricos, como123456789012.
A resposta é semelhante ao exemplo a seguir. Neste exemplo, uma conta de serviço
não usou permissões do papel "Administrador" do Compute
(roles/compute.admin) nos últimos 90 dias. Assim,
a recomendação do papel sugere que você revogue o papel:
[
{
"associatedInsights": [
{
"insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/279ef748-408f-44db-9a4a-1ff8865b9839"
}
],
"content": {
"operationGroups": [
{
"operations": [
{
"action": "remove",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilter": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "serviceAccount:id-1234567890@example-project.iam.gserviceaccount.com",
"/iamPolicy/bindings/*/role": "roles/compute.admin"
},
"resource": "//cloudresourcemanager.googleapis.com/projects/example-project",
"resourceType": "cloudresourcemanager.googleapis.com/Project"
}
]
}
]
},
"description": "This role has not been used during the observation window.",
"recommenderSubtype": "REMOVE_ROLE",
"etag": "\"770237e2c0decf40\"",
"lastRefreshTime": "2020-01-09T06:06:17Z",
"name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {
"revokedIamPermissionsCount": 708
}
}
},
"priority": "P4",
"stateInfo": {
"state": "ACTIVE"
}
}
]Analise cada recomendação com cuidado e considere quando ela foi atualizada pela última vez e como isso vai mudar o acesso do principal aos recursos do Google Cloud . Para saber como analisar as recomendações na CLI gcloud, consulte Analisar recomendações nesta página.
Para aplicar uma recomendação:
Use o comando
gcloud recommender recommendations mark-claimedpara alterar o estado da recomendação paraCLAIMED,, o que impede que a recomendação seja alterada enquanto você a aplica:gcloud recommender recommendations mark-claimed \ RECOMMENDATION_ID \ --location=global \ --recommender=google.iam.policy.Recommender \ --RESOURCE_TYPE=RESOURCE_ID \ --format=FORMAT \ --etag=ETAG \ --state-metadata=STATE_METADATASubstitua os seguintes valores:
-
RECOMMENDATION_ID: o identificador exclusivo da recomendação. Esse valor é exibido no final do camponamena recomendação. No exemplo mostrado acima, o ID éfb927dc1-9695-4436-0000-f0f285007c0f. -
RESOURCE_TYPE: o tipo de recurso para que você quer gerenciar recomendações. Use o valorproject,folderouorganization. -
RESOURCE_ID: o ID do projeto, da pasta ou da organização Google Cloud para que você quer gerenciar recomendações. Os IDs do projeto são strings alfanuméricas, comomy-project. Os IDs de pastas e organizações são numéricos, como123456789012. -
FORMAT: o formato da resposta. Usejsonouyaml. -
ETAG: o valor do campoetagna recomendação, como"dd0686e7136a4cbb". Observe que esse valor pode incluir aspas. -
STATE_METADATA: opcional. Pares de chave-valor separados por vírgula que contenham a opção de metadados sobre a recomendação. Por exemplo,--state-metadata=reviewedBy=alice,priority=high. Os metadados substituem o campostateInfo.stateMetadatana 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 fins de esclarecimento, o exemplo omite a maioria dos campos:[ { "description": "This role has not been used during the observation window.", "recommenderSubtype": "REMOVE_ROLE", "etag": "\"df7308cca9719dcc\"", "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f", "stateInfo": { "state": "CLAIMED", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } } } ]-
Verifique a política de permissão do projeto e modifique e defina a política de permissão para que ela reflita a recomendação.
Se você tiver conseguido aplicar a recomendação, atualize o estado dela para
SUCCEEDED. Caso contrário, atualize o estado paraFAILED:gcloud recommender recommendations COMMAND \ RECOMMENDATION_ID \ --location=global \ --recommender=google.iam.policy.Recommender \ --RESOURCE_TYPE=RESOURCE_ID \ --format=FORMAT \ --etag=ETAG \ --state-metadata=STATE_METADATASubstitua os seguintes valores:
COMMAND: usemark-succeededse tiver conseguido aplicar a recomendação. Caso contrário, usemark-failed.-
RECOMMENDATION_ID: o identificador exclusivo da recomendação. Esse valor é exibido no final do camponamena recomendação. No exemplo mostrado acima, o ID éfb927dc1-9695-4436-0000-f0f285007c0f. -
RESOURCE_TYPE: o tipo de recurso para que você quer gerenciar recomendações. Use o valorproject,folderouorganization. -
RESOURCE_ID: o ID do projeto, da pasta ou da organização Google Cloud para que você quer gerenciar recomendações. Os IDs do projeto são strings alfanuméricas, comomy-project. Os IDs de pastas e organizações são numéricos, como123456789012. -
FORMAT: o formato da resposta. Usejsonouyaml. -
ETAG: o valor do campoetagna recomendação, como"dd0686e7136a4cbb". Observe que esse valor pode incluir aspas. -
STATE_METADATA: opcional. Pares de chave-valor separados por vírgula que contenham a opção de metadados sobre a recomendação. Por exemplo,--state-metadata=reviewedBy=alice,priority=high. Os metadados substituem o campostateInfo.stateMetadatana 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": "This role has not been used during the observation window.", "recommenderSubtype": "REMOVE_ROLE", "etag": "\"dd0686e7136a4cbb\"", "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f", "stateInfo": { "state": "SUCCEEDED", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } } } ]
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 valorprojects,foldersouorganizations.RESOURCE_ID: o ID do Google Cloud projeto, da pasta ou da organização para que você quer gerenciar recomendações. Os IDs do projeto são strings alfanuméricas, comomy-project. Os IDs de pastas e organizações são numéricos, como123456789012.-
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 campostateInfo.state. Por exemplo,stateInfo.state:"DISMISSED"oustateInfo.state:"FAILED". PROJECT_ID: o ID do projeto do Google Cloud . Os IDs do projeto são strings alfanuméricas, comomy-project.
Método HTTP e URL:
GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.iam.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, uma conta de serviço no
projeto example-project não usou nenhuma permissão do papel Administrador do Compute
(roles/compute.admin) nos últimos 90 dias. Assim,
o Recomendador sugere que você revogue o papel:
{
"recommendations": [
"name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
"description": "This role has not been used during the observation window.",
"lastRefreshTime": "2020-01-09T06:06:17Z",
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {
"revokedIamPermissionsCount": 708
}
}
},
"priority": "P4",
"content": {
"operationGroups": [
{
"operations": [
{
"action": "remove",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilter": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "serviceAccount:id-1234567890@example-project.iam.gserviceaccount.com",
"/iamPolicy/bindings/*/role": "roles/compute.admin"
},
"resource": "//cloudresourcemanager.googleapis.com/projects/example-project",
"resourceType": "cloudresourcemanager.googleapis.com/Project"
}
]
}
]
},
"stateInfo": {
"state": "ACTIVE"
}
"etag": "\"770237e2c0decf40\"",
"recommenderSubtype": "REMOVE_ROLE",
"associatedInsights": [
{
"insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/279ef748-408f-44db-9a4a-1ff8865b9839"
}
]
}
Analise cada recomendação com cuidado e considere quando ela foi atualizada pela última vez e como isso vai mudar o acesso do principal aos recursos do Google Cloud . Para saber como analisar as recomendações da API REST, consulte Revisar recomendações nesta página.
Para aplicar uma recomendação:
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étodorecommendations.markClaimedda 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 valorprojects,foldersouorganizations.RESOURCE_ID: o ID do Google Cloud projeto, da pasta ou da organização para que você quer gerenciar recomendações. Os IDs do projeto são strings alfanuméricas, comomy-project. Os IDs de pastas e organizações são numéricos, como123456789012.RECOMMENDATION_ID: o identificador exclusivo da recomendação. Esse valor é exibido no final do camponamena recomendação. Por exemplo, se o camponameforprojects/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 campoetagna 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 campostateInfo.stateMetadatana recomendação.PROJECT_ID: o ID do projeto do Google Cloud . Os IDs do projeto são strings alfanuméricas, comomy-project.
Método HTTP e URL:
POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.iam.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": "This role has not been used during the observation window.", "stateInfo": { "state": "CLAIMED", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } }, "etag": "\"dd0686e7136a4cbb\"", "recommenderSubtype": "REMOVE_ROLE" }Verifique a política de permissão do projeto e modifique a política de permissão para que ela reflita a recomendação.
Se você tiver conseguido aplicar a recomendação, atualize o estado dela para
SUCCEEDED. Caso contrário, atualize o estado paraFAILED:SUCCEEDEDPara marcar uma recomendação como
SUCCEEDED, indicando que você conseguiu aplicá-la, use o métodorecommendations.markSucceededda 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 valorprojects,foldersouorganizations.RESOURCE_ID: o ID do Google Cloud projeto, da pasta ou da organização para que você quer gerenciar recomendações. Os IDs do projeto são strings alfanuméricas, comomy-project. Os IDs de pastas e organizações são numéricos, como123456789012.RECOMMENDATION_ID: o identificador exclusivo da recomendação. Esse valor é exibido no final do camponamena recomendação. Por exemplo, se o camponameforprojects/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 campoetagna 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 campostateInfo.stateMetadatana recomendação.PROJECT_ID: o ID do projeto do Google Cloud . Os IDs do projeto são strings alfanuméricas, comomy-project.
Método HTTP e URL:
POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.iam.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": "This role has not been used during the observation window.", "stateInfo": { "state": "SUCCEEDED", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } }, "etag": "\"dd0686e7136a4cbb\"", "recommenderSubtype": "REMOVE_ROLE" }FAILEDPara marcar uma recomendação como
FAILED, indicando que não foi possível aplicá-la, use o métodorecommendations.markFailedda 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 valorprojects,foldersouorganizations.RESOURCE_ID: o ID do Google Cloud projeto, da pasta ou da organização para que você quer gerenciar recomendações. Os IDs do projeto são strings alfanuméricas, comomy-project. Os IDs de pastas e organizações são numéricos, como123456789012.RECOMMENDATION_ID: o identificador exclusivo da recomendação. Esse valor é exibido no final do camponamena recomendação. Por exemplo, se o camponameforprojects/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 campoetagna 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 campostateInfo.stateMetadatana recomendação.PROJECT_ID: o ID do projeto do Google Cloud . Os IDs do projeto são strings alfanuméricas, comomy-project.
Método HTTP e URL:
POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.iam.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": "This role has not been used during the observation window.", "stateInfo": { "state": "FAILED", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } }, "etag": "\"dd0686e7136a4cbb\"", "recommenderSubtype": "REMOVE_ROLE" }
Entender as recomendações
Cada recomendação inclui informações para ajudar você a entender por que ela foi feita.
Console
Para ajudar você a entender por que a recomendação foi feita, o consoleGoogle Cloud mostra o uso da permissão do principal, conforme informado pelo insight de política associado a ela. Por exemplo, ele pode mostrar uma lista como a seguinte:

Para ajudar você a entender o impacto de aplicar a recomendação, o consoleGoogle Cloud também mostra uma lista de permissões codificadas por cores e símbolos. Essa lista indica como as permissões do principal serão alteradas se você aplicar a recomendação. Por exemplo, ele mostrará uma lista como a seguinte:

Os tipos de permissão associados a cada cor e símbolo são os seguintes:
cinza sem símbolo: permissões que estão no papel atual do participante e nos papéis recomendados.

Vermelho com um sinal de menos : permissões que estão no papel atual do membro, mas não nos papéis recomendados porque o participante não os usou nos últimos 90 dias.

Verde com um sinal de adição : permissões que não estão no papel atual do participante, mas estão nos papéis recomendados. Esse tipo de permissão aparece somente em recomendações para agentes de serviços.

Azul com um ícone de Machine learning : permissões que estão no papel atual do participante e nos papéis recomendados, não porque o participante usou as permissões nos últimos 90 dias, mas porque o recomendador determinou por meio do machine learning que ele provavelmente precisará dessas permissões no futuro.

Algumas recomendações também são associadas a insights de movimento lateral. Os insights de movimento lateral identificam papéis que permitem que uma conta de serviço em um projeto represente uma conta de serviço em outro projeto. Se uma recomendação estiver associada a um insight de movimento lateral, o console do Google Cloud também vai mostrar o seguinte:
Projeto de origem da conta de serviço: o projeto em que a conta de serviço com permissões de representação foi criada.

Contas de serviço que podem ser representadas neste projeto: uma lista de todas as contas de serviço no projeto atual que a conta de serviço com permissões de representação pode representar.

gcloud
Para detalhes sobre os campos de
uma recomendação, consulte a referência Recommendation.
Para ver o uso da permissão na qual essa recomendação se baseia, consulte os
insights associados a ela.
Esses insights
são listados no campo associatedInsights. Para visualizar um insight de política associado à recomendação, faça o seguinte:
- Identifique quais insights no campo
associatedInsightssão insights de política Os insights de política têm o tipo de insightgoogle.iam.policy.insightEsse tipo aparece depois deinsightTypesno campoinsight. - Copie o ID do insight de política. O ID é tudo depois de
insights/no campoinsight. No exemplo anterior, o ID do insight é279ef748-408f-44db-9a4a-1ff8865b9839. - Siga as instruções para receber um insight de política usando o ID do insight que você copiou.
Algumas recomendações também são associadas a insights de movimento lateral, que identificam papéis que permitem que contas de serviço em um projeto personifiquem contas de serviço em outro. Esses insights
são listados no campo associatedInsights. Para visualizar um insight de movimento lateral associado à recomendação, faça o seguinte:
- Identifique quais insights no campo
associatedInsightssão insights de movimento lateral. Os insights de movimento lateral têm o tipo de insightgoogle.iam.policy.LateralMovementInsight. Esse tipo aparece depois deinsightTypesno campoinsight. - Copie o ID do insight de política. O ID é tudo depois de
insights/no campoinsight. No exemplo anterior, o ID do insight é279ef748-408f-44db-9a4a-1ff8865b9839. - Siga as instruções para receber um insight de movimento lateral, usando o ID do insight que você copiou.
REST
Para detalhes sobre os campos de
uma recomendação, consulte a referência Recommendation.
Para ver o uso da permissão na qual essa recomendação se baseia, consulte os
insights associados a ela.
Esses insights
são listados no campo associatedInsights. Para visualizar um insight de política associado à recomendação, faça o seguinte:
- Identifique quais insights no campo
associatedInsightssão insights de política Os insights de política têm o tipo de insightgoogle.iam.policy.insightEsse tipo aparece depois deinsightTypesno campoinsight. - Copie o ID do insight de política. O ID é tudo depois de
insights/no campoinsight. Por exemplo, se o campoinsightforprojects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/279ef748-408f-44db-9a4a-1ff8865b9839, o ID do insight será279ef748-408f-44db-9a4a-1ff8865b9839. - Siga as instruções para receber um insight de política usando o ID do insight que você copiou.
Algumas recomendações também são associadas a insights de movimento lateral, que identificam papéis que permitem que contas de serviço em um projeto personifiquem contas de serviço em outro. Esses insights
são listados no campo associatedInsights. Para visualizar um insight de movimento lateral associado à recomendação, faça o seguinte:
- Identifique quais insights no campo
associatedInsightssão insights de movimento lateral. Os insights de movimento lateral têm o tipo de insightgoogle.iam.policy.LateralMovementInsight. Esse tipo aparece depois deinsightTypesno campoinsight. - Copie o ID do insight de política. O ID é tudo depois de
insights/no campoinsight. Por exemplo, se o campoinsightforprojects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860, o ID do insight será13088eec-9573-415f-81a7-46e1a260e860. - Siga as instruções para receber um insight de movimento lateral, usando o ID do insight que você copiou.
Ver, reverter e restaurar alterações
Depois de aplicar ou descartar uma recomendação para vinculação no nível do projeto, essa ação será exibida no histórico de recomendações.
Para ver o histórico, siga estas etapas:
No console do Google Cloud , acesse a página IAM.
Selecione um projeto, pasta ou organização.
Próximo à parte superior da tela, clique em Histórico de recomendações.
O console Google Cloud mostra uma lista de ações anteriores nas recomendações de função.
Para visualizar detalhes sobre uma recomendação, clique na seta expansora .
O console do Google Cloud mostra detalhes sobre a ação que foi realizada, inclusive o principal que executou a ação:

(Opcional) Se necessário, é possível reverter a recomendação, o que desfará as alterações feitas. Também é possível restaurar uma recomendação dispensada.
Para reverter uma alteração aplicada anteriormente a uma recomendação, clique em Reverter. O console do Google Cloud reverte as mudanças para os papéis do principal. A recomendação não aparece mais no console doGoogle Cloud .
Se você reverter a recomendação que substituiu o acesso permanente por acesso temporário e sob demanda, o sistema vai restaurar a vinculação original do IAM e excluir o direito criado do Privileged Access Manager. Se o processo de reversão falhar, exclua o direito manualmente.
Para restaurar uma recomendação dispensada, clique em Restaurar. A recomendação fica visível na página IAM do console doGoogle Cloud . Nem papéis nem permissões são alterados.
A seguir
- Saiba mais sobre o Recomendador.
- Saiba como usar permitir insights de política.
- Aprenda a usar os insights de movimento lateral.