Nesta página, explicamos como visualizar, entender e aplicar recomendações de função 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 participantes tenham apenas as permissões de que realmente precisam.
Antes de começar
Enable the IAM and Recommender APIs.
Entenda as recomendações por papel.
Opcional: se você quiser conferir e gerenciar as recomendações de função para funções não básicas e personalizadas, verifique se você tem uma ativação do nível premium do Security Command Center no nível da organização. Para mais informações, consulte Perguntas sobre faturamento.
Papéis do IAM obrigatórios
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 função, 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 papéis (
roles/iam.roleViewer
) -
Leitor do recomendador do IAM (
roles/recommender.iamViewer
) -
Para conferir recomendações para envolvidos no projeto no console do Google Cloud:
Administrador do IAM do projeto (
roles/resourcemanager.projectIamAdmin
) -
Para conferir recomendações no nível da pasta no console do Google Cloud:
Administrador de pastas do IAM (
roles/resourcemanager.folderIamAdmin
) -
Para conferir recomendações no nível da organização no console do 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 conferir as recomendações de papéis. Para conferir 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 conferir as recomendações de função:
-
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 conferir as recomendações no console do Google Cloud:
resourcemanager.RESOURCE.getIamPolicy
, em queRESOURCE
é o tipo de recurso do qual você quer conferir as recomendações (projects
,folders
ouorganizations
).
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 papéis (
roles/iam.roleViewer
) -
Administrador de recomendador do IAM (
roles/recommender.iamAdmin
) -
Para gerenciar recomendações de envolvidos no projeto:
Administrador do IAM do projeto (
roles/resourcemanager.projectIamAdmin
) -
Para gerenciar recomendações no nível da pasta:
Administrador de IAM da pasta (
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 conferir 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 função:
-
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
,folders
ouorganizations
). -
resourcemanager.RESOURCE.setIamPolicy
, em queRESOURCE
é o tipo de recurso para o qual você quer gerenciar as recomendações (projects
,folders
ouorganizations
).
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 avaliar e aplicar as recomendações é usando o Console do Google Cloud. Além disso, se você quiser criar um papel personalizado automaticamente ao aplicar uma recomendação, use o console do 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, abra a página IAM.
Selecione um projeto, pasta ou organização.
Na lista de participantes 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 console do Google 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 do Google Cloud vai mostrar por padrão. Para alternar para a recomendação de papel predefinido, clique em Visualizar papel predefinido recomendado.
Avalie a recomendação com atenção e entenda como ela irá alterar o acesso do participantes aos recursos do Google Cloud. Exceto no caso de recomendações para agentes de serviço, uma recomendação nunca aumenta o nível de acesso de um participante. Consulte Como as recomendações de papel são geradas para mais informações.
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
,folder
ouorganization
.RESOURCE_ID
: o ID do projeto, da pasta ou da organização do Google Cloud 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"
}
}
]
Avalie cada recomendação com cuidado e veja como isso mudará o acesso do participante aos recursos do Google Cloud. Para saber como analisar as recomendações na CLI gcloud, consulte Revisar recomendações nesta página.
Para aplicar uma recomendação:
Use o comando
gcloud recommender recommendations mark-claimed
para 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_METADATA
Substitua os seguintes valores:
-
RECOMMENDATION_ID
: o identificador exclusivo da recomendação. Esse valor é exibido no final do camponame
na 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
,folder
ouorganization
. -
RESOURCE_ID
: o ID do projeto, da pasta ou da organização do 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. Usejson
ouyaml
. -
ETAG
: o valor do campoetag
na 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.stateMetadata
na 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 esclarecer, 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" } } } ]
-
Acesse a política de permissão do projeto e, em seguida, 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_METADATA
Substitua os seguintes valores:
COMMAND
: usemark-succeeded
se 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 camponame
na 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
,folder
ouorganization
. -
RESOURCE_ID
: o ID do projeto, da pasta ou da organização do 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. Usejson
ouyaml
. -
ETAG
: o valor do campoetag
na 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.stateMetadata
na 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
Estas instruções presumem que você tenha se autenticado
e definido a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS
.
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
,folders
ouorganizations
.RESOURCE_ID
: o ID do projeto, da pasta ou da organização do 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
.-
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" } ] }
Avalie cada recomendação com cuidado e veja como isso mudará o acesso do participante 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.markClaimed
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
,folders
ouorganizations
.RESOURCE_ID
: o ID do projeto, da pasta ou da organização do 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
.RECOMMENDATION_ID
: o identificador exclusivo da recomendação. Esse valor é exibido no final do camponame
na recomendação. Por exemplo, se o camponame
forprojects/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 campoetag
na 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.stateMetadata
na 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
:SUCCEEDED
Para marcar uma recomendação como
SUCCEEDED
, indicando que você conseguiu aplicá-la, use o métodorecommendations.markSucceeded
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
,folders
ouorganizations
.RESOURCE_ID
: o ID do projeto, da pasta ou da organização do 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
.RECOMMENDATION_ID
: o identificador exclusivo da recomendação. Esse valor é exibido no final do camponame
na recomendação. Por exemplo, se o camponame
forprojects/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 campoetag
na 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.stateMetadata
na 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" }
FAILED
Para marcar uma recomendação como
FAILED
, indicando que não foi possível aplicá-la, use o métodorecommendations.markFailed
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
,folders
ouorganizations
.RESOURCE_ID
: o ID do projeto, da pasta ou da organização do 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
.RECOMMENDATION_ID
: o identificador exclusivo da recomendação. Esse valor é exibido no final do camponame
na recomendação. Por exemplo, se o camponame
forprojects/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 campoetag
na 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.stateMetadata
na 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 Console do Google Cloud mostra o uso da permissão do membro, conforme informado pelo insight de políticas 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 console do Google 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 recomendações para agentes de serviç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 emAzul com um ícone de Machine learning machine learning que ele provavelmente precisará dessas permissões no futuro.
: 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
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 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
associatedInsights
são insights de política Os insights de política têm o tipo de insightgoogle.iam.policy.insight
Esse tipo aparece depois deinsightTypes
no 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
associatedInsights
são insights de movimento lateral. Os insights de movimento lateral têm o tipo de insightgoogle.iam.policy.LateralMovementInsight
. Esse tipo aparece depois deinsightTypes
no 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
associatedInsights
são insights de política Os insights de política têm o tipo de insightgoogle.iam.policy.insight
Esse tipo aparece depois deinsightTypes
no campoinsight
. - Copie o ID do insight de política. O ID é tudo depois de
insights/
no campoinsight
. Por exemplo, se o campoinsight
forprojects/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
associatedInsights
são insights de movimento lateral. Os insights de movimento lateral têm o tipo de insightgoogle.iam.policy.LateralMovementInsight
. Esse tipo aparece depois deinsightTypes
no campoinsight
. - Copie o ID do insight de política. O ID é tudo depois de
insights/
no campoinsight
. Por exemplo, se o campoinsight
forprojects/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, abra 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 do 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 participante 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 alterações para os papéis do participante. A recomendação não aparece mais no Console do Google Cloud.
Para restaurar uma recomendação dispensada, clique em Restaurar. A recomendação vai ficar visível na página IAM do console do Google 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.