Esta página mostra como gerenciar insights de movimento lateral, que identificam papéis que permitem que uma conta de serviço em um projeto represente uma conta de serviço em outro projeto. Para mais informações sobre os insights de movimento lateral, consulte Como os insights de movimento lateral são gerados.
Às vezes, os insights de movimento lateral são vinculados a recomendações de função. As recomendações de função sugerem ações que você pode realizar para corrigir os problemas identificados pelos insights de movimento lateral.
Antes de começar
-
Enable the Recommender API.
- Familiarize-se com as recomendações de papéis do IAM.
- Verifique se você tem uma ativação no nível da organização do nível premium do Security Command Center. Para mais informações, consulte Perguntas sobre faturamento.
- Opcional: leia sobre os insights do recomendador.
Funções exigidas
Para receber as permissões necessárias para gerenciar insights de movimentos laterais, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto, pasta ou organização que você quer gerenciar insights:
-
Para conferir insights de movimento lateral:
Leitor do recomendador do IAM (
roles/recommender.iamViewer
) -
Para modificar insights de movimento lateral:
Administrador do IAM Recommender (
roles/recommender.iamAdmin
)
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 gerenciar insights de movimento lateral. 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 gerenciar insights de movimento lateral:
-
Para ver insights do movimento lateral:
-
recommender.iamPolicyLateralMovementInsights.get
-
recommender.iamPolicyLateralMovementInsights.list
-
-
Para modificar insights de movimento lateral:
recommender.iamPolicyLateralMovementInsights.update
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Listar insights de movimento lateral
Para listar todos os insights de movimento lateral do seu projeto, pasta ou organização, use um dos seguintes métodos:Console
-
No console do Google Cloud, abra a página IAM.
- Selecione um projeto, pasta ou organização.
A coluna Insights de segurança mostra todos os insights relacionados à segurança do projeto, incluindo insights de movimentação lateral. Os insights de movimento lateral têm o formato
N service account impersonations
, em que
N
é o número de contas de serviço que a
conta de serviço na vinculação de papel pode representar.
gcloud
Use o comando gcloud recommender
insights list
para conferir todos os insights de movimento lateral do
projeto,
da pasta
ou da organização.
Antes de executar o comando, substitua os seguintes valores:
-
RESOURCE_TYPE
: o tipo de recurso para o qual você quer listar insights. Use o valorproject
,folder
ouorganization
. -
RESOURCE_ID
: o ID do projeto, da pasta ou da organização para o qual você quer listar insights.
gcloud recommender insights list --insight-type=google.iam.policy.LateralMovementInsight \ --RESOURCE_TYPE=RESOURCE_ID \ --location=global
A saída lista todos os insights de movimento lateral do projeto, da pasta ou da organização. Exemplo:
INSIGHT_ID CATEGORY INSIGHT_STATE LAST_REFRESH_TIME SEVERITY INSIGHT_SUBTYPE DESCRIPTION 046f8b89-bcee-46cd-9ac4-06818ed5273a SECURITY ACTIVE 2022-05-24T07:00:00Z LOW CROSS_PROJECT_IMPERSONATION Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project. 1328df82-5af2-4493-9850-d8ede4e72b27 SECURITY ACTIVE 2022-05-24T07:00:00Z LOW CROSS_PROJECT_IMPERSONATION Service account sa-2@another-project.iam.gserviceaccount.com from another project can impersonate 1 service account(s) under this project. 17f50957-333c-4f21-86c1-6a62216b309e SECURITY ACTIVE 2022-05-24T07:00:00Z LOW CROSS_PROJECT_IMPERSONATION Service account sa-3@another-project.iam.gserviceaccount.com from another project can impersonate 1 service account(s) under this project. 187200d2-b42c-48fb-86d7-c2746a87fed2 SECURITY ACTIVE 2022-05-24T07:00:00Z LOW CROSS_PROJECT_IMPERSONATION Service account sa-4@another-project.iam.gserviceaccount.com from another project can impersonate 32 service account(s) under this project. 1f1740a4-ff98-4f64-99a4-5ef5df5a2097 SECURITY ACTIVE 2022-05-24T07:00:00Z LOW CROSS_PROJECT_IMPERSONATION Service account sa-5@another-project.iam.gserviceaccount.com from another project can impersonate 1 service account(s) under this project.
REST
O método
insights.list
da API Recommender lista todos os insights de movimentação lateral do
projeto,
da pasta
ou da organização.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
-
RESOURCE_TYPE
: o tipo de recurso para o qual você quer listar insights. Use o valorprojects
,folders
ouorganizations
. -
RESOURCE_ID
: o ID do projeto, da pasta ou da organização para o qual você quer listar insights. 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/insightTypes/google.iam.policy.LateralMovementInsight/insights
Para enviar a solicitação, expanda uma destas opções:
A resposta lista todos os insights de movimento lateral do projeto, da pasta ou da organização. Exemplo:
{ "insights": [ { "name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860", "description": "Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.", "content": { "impersonator": { "serviceAccount": "sa-1@another-project.iam.gserviceaccount.com", "serviceAccountOwner": "//cloudresourcemanager.googleapis.com/projects/987654321098", "isGoogleManaged": false }, "targetServiceAccounts": [ "target-service-account-1@this-project.iam.gserviceaccount.com", "target-service-account-2@this-project.iam.gserviceaccount.com" ], "impersonationPolicy": { "resource": "//cloudresourcemanager.googleapis.com/projects/123456789012", "role": "roles/editor", "member": "serviceAccount:sa-1@another-project.iam.gserviceaccount.com", "condition": { "expression": "", "title": "", "description": "", "location": "" } }, "impersonationPermissionUsage": [ { "permission": "iam.serviceAccounts.actAs" "used": false } ], "hasPermissionUsageData": true }, "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/03f3dc20-f9e7-4502-95ab-bf7d3164846f" } ], "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ], "insightSubtype": "CROSS_PROJECT_IMPERSONATION", "etag": "\"f48fa6a1b15c7741\"", "severity": "LOW" } ] }
Para saber mais sobre os componentes de um insight, consulte Analisar os insights de movimento lateral nesta página.
Receber um único insight de movimento lateral
Para mais informações sobre um único insight, incluindo a descrição, o status e as recomendações associadas, use um dos seguintes métodos:
Console
-
No console do Google Cloud, abra a página IAM.
- Selecione um projeto, pasta ou organização.
-
Na coluna Insights de segurança, clique em um insight de movimento lateral. Os insights de movimento lateral têm o formato
N service account impersonations
, em queN
é o número de contas de serviço que a conta de serviço na vinculação de papel pode representar.
O Console do Google Cloud abre um painel que mostra os detalhes do insight.
gcloud
Use o comando gcloud recommender
insights describe
com o ID do insight para ver as informações sobre um único
insight.
-
INSIGHT_ID
: o ID do insight que você quer ver. Para encontrar o ID, liste os insights do projeto, da pasta ou da organização. -
RESOURCE_TYPE
: o tipo de recurso para o qual você quer gerenciar insights. Use o valorproject
,folder
ouorganization
. -
RESOURCE_ID
: o ID do projeto, da pasta ou da organização para o qual você quer gerenciar insights.
gcloud recommender insights describe INSIGHT_ID \ --insight-type=google.iam.policy.LateralMovementInsight \ --RESOURCE_TYPE=RESOURCE_ID \ --location=global
A saída mostra os insights detalhados. Por exemplo, o insight a seguir indica que a política do IAM no projeto
123456789012
permite que sa-1@another-project.iam.gserviceaccount.com
personifique target-service-account-1@this-project.iam.gserviceaccount.com
e
target-service-account-2@this-project.iam.gserviceaccount.com
.
associatedRecommendations: - recommendation: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f category: SECURITY content: hasPermissionUsageData: true impersonationPermissionUsage: - permission: iam.serviceAccounts.actAs used: false impersonationPolicy: condition: description: '' expression: '' location: '' title: '' member: serviceAccount:sa-1@another-project.iam.gserviceaccount.com resource: //cloudresourcemanager.googleapis.com/projects/123456789012 role: roles/editor impersonator: isGoogleManaged: false serviceAccount: sa-1@another-project.iam.gserviceaccount.com serviceAccountOwner: //cloudresourcemanager.googleapis.com/projects/987654321098 targetServiceAccounts: - target-service-account-1@this-project.iam.gserviceaccount.com - target-service-account-2@this-project.iam.gserviceaccount.com description: Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project. etag: '"f48fa6a1b15c7741"' insightSubtype: CROSS_PROJECT_IMPERSONATION lastRefreshTime: '2022-05-24T07:00:00Z' name: projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860 observationPeriod: 7776000s severity: LOW stateInfo: state: ACTIVE targetResources: - //cloudresourcemanager.googleapis.com/projects/123456789012
Para saber mais sobre os componentes de um insight, consulte Analisar os insights de movimento lateral nesta página.
REST
O método
insights.get
da API Recommender recebe um insight.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
-
RESOURCE_TYPE
: o tipo de recurso para o qual você quer gerenciar insights. Use o valorprojects
,folders
ouorganizations
. -
RESOURCE_ID
: o ID do projeto, da pasta ou da organização para o qual você quer gerenciar insights. -
INSIGHT_ID
: o ID do insight que você quer ver. Se você não souber o ID do insight, poderá encontrá-lo listando os insights no projeto, na pasta ou na organização. O ID de um insight é tudo o que aparece depois deinsights/
no camponame
do insight. 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/insightTypes/google.iam.policy.LateralMovementInsight/insights/INSIGHT_ID
Para enviar a solicitação, expanda uma destas opções:
A resposta contém o insight. Por exemplo, o insight a seguir indica que a política do IAM no projeto
123456789012
permite que sa-1@another-project.iam.gserviceaccount.com
personifique target-service-account-1@this-project.iam.gserviceaccount.com
e
target-service-account-2@this-project.iam.gserviceaccount.com
.
{ "name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860", "description": "Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.", "content": { "impersonator": { "serviceAccount": "sa-1@another-project.iam.gserviceaccount.com", "serviceAccountOwner": "//cloudresourcemanager.googleapis.com/projects/987654321098", "isGoogleManaged": false }, "targetServiceAccounts": [ "target-service-account-1@this-project.iam.gserviceaccount.com", "target-service-account-2@this-project.iam.gserviceaccount.com" ], "impersonationPolicy": { "resource": "//cloudresourcemanager.googleapis.com/projects/123456789012", "role": "roles/editor", "member": "serviceAccount:sa-1@another-project.iam.gserviceaccount.com", "condition": { "expression": "", "title": "", "description": "", "location": "" } }, "impersonationPermissionUsage": [ { "permission": "iam.serviceAccounts.actAs" "used": false } ], "hasPermissionUsageData": true }, "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/03f3dc20-f9e7-4502-95ab-bf7d3164846f" } ], "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ], "insightSubtype": "CROSS_PROJECT_IMPERSONATION", "etag": "\"f48fa6a1b15c7741\"", "severity": "LOW" }
Para saber mais sobre os componentes de um insight, consulte Analisar os insights de movimento lateral nesta página.
Analisar insights de movimento lateral
Depois de receber um único insight, é possível analisar o conteúdo para entender o padrão de uso de recursos destacado
Console
Quando você clica em um insight de movimento lateral no Console do Google Cloud, o Console do Google Cloud abre um painel mostrando os detalhes do insight. A aparência desses detalhes depende de o insight estar associado a uma recomendação.
Se o insight estiver associado a uma recomendação, o painel mostrará os detalhes da recomendação.
Se o insight não estiver associado a uma recomendação, o painel 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.
-
Permissões que permitem a representação no projeto: uma lista das permissões de representação que a conta de serviço tem.
-
Permissões atuais: uma lista de todas as permissões da conta de serviço.
gcloud
O conteúdo do insight é determinado pelos subtipos dele.
Os insights de movimento lateral (google.iam.policy.LateralMovementInsight
)
têm o subtipo CROSS_PROJECT_IMPERSONATION
.
Os insights CROSS_PROJECT_IMPERSONATION
têm os seguintes componentes, não necessariamente
nesta ordem:
-
associatedRecommendations
: os identificadores de qualquer recomendação associada ao insight. Se não houver recomendações associadas ao insight, esse campo estará vazio. -
category
: a categoria dos insights do IAM é sempreSECURITY
. -
content
: informa os detalhes da capacidade da conta de serviço de representar contas de serviço em outros projetos. Este campo contém os seguintes componentes:hasPermissionUsageData
: um valor booleano que indica se há dados de uso de permissão para essa vinculação de papel. Os dados de uso de permissão indicam se as permissões na vinculação de papel foram usadas. Esses dados não estão disponíveis para vinculações de papéis condicionais.impersonationPermissionUsage
: uma lista de permissões de representação e informações de uso. Se uma permissão foi usada nos últimos 90 dias, ela é considerada usada. Caso contrário, ele será considerado não utilizado.Se
hasPermissionUsageData
for falso, o campoimpersonationPermissionUsage
vai estar vazio.impersonationPolicy
: informações sobre a vinculação de papel que concede permissões de representação da conta de serviço.impersonator
: detalhes sobre a conta de serviço que tem permissão para personificar contas de serviço no projeto, incluindo:isGoogleManaged
: indica se a conta de serviço é propriedade e é gerenciada pelo Google.serviceAccount
: o endereço de e-mail da conta de serviço.serviceAccountOwner
: o projeto proprietário da conta de serviço. Se o Google for o proprietário da conta de serviço, o valor desse campo seráGoogle managed
. Se um projeto fora da sua organização for proprietário da conta de serviço, o valor desse campo seráUnknown to your org
.
targetServiceAccounts
: uma lista das contas de serviço que a conta de serviço no campoimpersonator
tem permissão para personificar. Se o falsificador puder personificar mais de 1.500 contas de serviço, a lista estará vazia. Para saber quantas contas de serviço o representante pode representar, consulte o campodescription
.
-
description
: um resumo legível do insight. -
etag
: um identificador exclusivo do estado atual de um insight. Sempre que o insight for alterado, um novo valor deetag
será atribuído.Para alterar o estado de um insight, informe a
etag
do insight atual. O uso deetag
ajuda a garantir que qualquer operação seja executada somente se o insight não tiver sido alterado desde a última vez que você o recuperou. -
insightSubtype
: o subtipo de insight. -
lastRefreshTime
: a data em que o insight foi atualizado pela última vez, o que indica a atualização dos dados usados para gerá-lo. -
name
: o nome do insight no seguinte formato:RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/INSIGHT_ID
Os marcadores têm os seguintes valores:
-
RESOURCE_TYPE
: o tipo de recurso para o qual o insight foi gerado. -
RESOURCE_ID
: o ID do projeto, da pasta ou da organização em que o insight foi gerado. INSIGHT_ID
: um ID exclusivo para o insight.
-
-
observationPeriod
: o período antes do insight. Os dados de origem usados para gerar o insight terminam emlastRefreshTime
e começam emlastRefreshTime
menosobservationPeriod
. -
severity
: a gravidade do insight. Todos os insights de movimento lateral têm uma gravidade deLOW
. -
stateInfo
: os insights passam por várias transições de estado após serem propostos:-
ACTIVE
: o insight foi gerado, mas nenhuma ação foi realizada, ou uma ação foi realizada sem atualizar o estado dele. Os insights ativos são atualizados quando os dados subjacentes são alterados. -
ACCEPTED
: ocorreu uma ação com base no insight. Os insights são aceitos quando uma recomendação associada é marcada comoCLAIMED
,SUCCEEDED
ouFAILED
, ou quando o insight é aceito diretamente. Quando o estado do insight éACCEPTED
, o conteúdo dele não pode ser alterado. Os insights aceitos são mantidos por 90 dias após a aceitação.
-
-
targetResources
: o nome completo do recurso da organização, pasta, projeto ou conta de serviço relacionado ao insight. Por exemplo,//cloudresourcemanager.googleapis.com/projects/123456789012
.
REST
O conteúdo do insight é determinado pelos subtipos dele.
Os insights de movimento lateral (google.iam.policy.LateralMovementInsight
)
têm o subtipo CROSS_PROJECT_IMPERSONATION
.
Os insights CROSS_PROJECT_IMPERSONATION
têm os seguintes componentes, não necessariamente
nesta ordem:
-
associatedRecommendations
: os identificadores de qualquer recomendação associada ao insight. Se não houver recomendações associadas ao insight, esse campo estará vazio. -
category
: a categoria dos insights do IAM é sempreSECURITY
. -
content
: informa os detalhes da capacidade da conta de serviço de representar contas de serviço em outros projetos. Este campo contém os seguintes componentes:hasPermissionUsageData
: um valor booleano que indica se há dados de uso de permissão para essa vinculação de papel. Os dados de uso de permissão indicam se as permissões na vinculação de papel foram usadas. Esses dados não estão disponíveis para vinculações de papéis condicionais.impersonationPermissionUsage
: uma lista de permissões de representação e informações de uso. Se uma permissão foi usada nos últimos 90 dias, ela é considerada usada. Caso contrário, ele será considerado não utilizado.Se
hasPermissionUsageData
for falso, o campoimpersonationPermissionUsage
vai estar vazio.impersonationPolicy
: informações sobre a vinculação de papel que concede permissões de representação da conta de serviço.impersonator
: detalhes sobre a conta de serviço que tem permissão para personificar contas de serviço no projeto, incluindo:isGoogleManaged
: indica se a conta de serviço é propriedade e é gerenciada pelo Google.serviceAccount
: o endereço de e-mail da conta de serviço.serviceAccountOwner
: o projeto proprietário da conta de serviço. Se o Google for o proprietário da conta de serviço, o valor desse campo seráGoogle managed
. Se um projeto fora da sua organização for proprietário da conta de serviço, o valor desse campo seráUnknown to your org
.
targetServiceAccounts
: uma lista das contas de serviço que a conta de serviço no campoimpersonator
tem permissão para personificar. Se o falsificador puder personificar mais de 1.500 contas de serviço, a lista estará vazia. Para saber quantas contas de serviço o representante pode representar, consulte o campodescription
.
-
description
: um resumo legível do insight. -
etag
: um identificador exclusivo do estado atual de um insight. Sempre que o insight for alterado, um novo valor deetag
será atribuído.Para alterar o estado de um insight, informe a
etag
do insight atual. O uso deetag
ajuda a garantir que qualquer operação seja executada somente se o insight não tiver sido alterado desde a última vez que você o recuperou. -
insightSubtype
: o subtipo de insight. -
lastRefreshTime
: a data em que o insight foi atualizado pela última vez, o que indica a atualização dos dados usados para gerá-lo. -
name
: o nome do insight no seguinte formato:RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/INSIGHT_ID
Os marcadores têm os seguintes valores:
-
RESOURCE_TYPE
: o tipo de recurso para o qual o insight foi gerado. -
RESOURCE_ID
: o ID do projeto, da pasta ou da organização em que o insight foi gerado. INSIGHT_ID
: um ID exclusivo para o insight.
-
-
observationPeriod
: o período antes do insight. Os dados de origem usados para gerar o insight terminam emlastRefreshTime
e começam emlastRefreshTime
menosobservationPeriod
. -
severity
: a gravidade do insight. Todos os insights de movimento lateral têm uma gravidade deLOW
. -
stateInfo
: os insights passam por várias transições de estado após serem propostos:-
ACTIVE
: o insight foi gerado, mas nenhuma ação foi realizada, ou uma ação foi realizada sem atualizar o estado dele. Os insights ativos são atualizados quando os dados subjacentes são alterados. -
ACCEPTED
: ocorreu uma ação com base no insight. Os insights são aceitos quando uma recomendação associada é marcada comoCLAIMED
,SUCCEEDED
ouFAILED
, ou quando o insight é aceito diretamente. Quando o estado do insight éACCEPTED
, o conteúdo dele não pode ser alterado. Os insights aceitos são mantidos por 90 dias após a aceitação.
-
-
targetResources
: o nome completo do recurso da organização, pasta, projeto ou conta de serviço relacionado ao insight. Por exemplo,//cloudresourcemanager.googleapis.com/projects/123456789012
.
Marcar um insight de movimento lateral como ACCEPTED
Se você executar uma ação com base em um insight ativo, será possível marcá-lo como
ACCEPTED
. O estado ACCEPTED
informa à
API Recommender que você tomou medidas com base nesse
insight, o que ajuda a refinar as recomendações.
Os insights aceitos são mantidos por 90 dias depois
de serem marcados como ACCEPTED
.
Console
Se um insight estiver associado a uma recomendação,
aplicar a recomendação
mudará o estado do insight para ACCEPTED
.
Para marcar um insight como ACCEPTED
sem aplicar uma recomendação, use a
CLI gcloud ou a API REST.
gcloud
Use o comando
gcloud recommender insights mark-accepted
com o ID do insight para marcar
um insight como ACCEPTED
.
-
INSIGHT_ID
: o ID do insight que você quer ver. Para encontrar o ID, liste os insights do projeto, da pasta ou da organização. -
RESOURCE_TYPE
: o tipo de recurso para o qual você quer gerenciar insights. Use o valorproject
,folder
ouorganization
. -
RESOURCE_ID
: o ID do projeto, da pasta ou da organização para o qual você quer gerenciar insights. -
ETAG
: um identificador de uma versão do insight. Para receber oetag
, faça o seguinte:-
Receba o insight usando o comando
gcloud recommender insights describe
. -
Encontre e copie o valor da
etag
na saída, incluindo as aspas delimitadoras. Por exemplo,"d3cdec23cc712bd0"
.
-
Receba o insight usando o comando
gcloud recommender insights mark-accepted INSIGHT_ID \ --insight-type=google.iam.policy.LateralMovementInsight \ --RESOURCE_TYPE=RESOURCE_ID \ --location=global \ --etag=ETAG
A saída mostra o insight, agora com o estado ACCEPTED
:
associatedRecommendations: - recommendation: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f category: SECURITY content: hasPermissionUsageData: true impersonationPermissionUsage: - permission: iam.serviceAccounts.actAs used: false impersonationPolicy: condition: description: '' expression: '' location: '' title: '' member: serviceAccount:sa-1@another-project.iam.gserviceaccount.com resource: //cloudresourcemanager.googleapis.com/projects/123456789012 role: roles/editor impersonator: isGoogleManaged: false serviceAccount: sa-1@another-project.iam.gserviceaccount.com serviceAccountOwner: //cloudresourcemanager.googleapis.com/projects/987654321098 targetServiceAccounts: - target-service-account-1@this-project.iam.gserviceaccount.com - target-service-account-2@this-project.iam.gserviceaccount.com description: Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project. etag: '"f48fa6a1b15c7741"' insightSubtype: CROSS_PROJECT_IMPERSONATION lastRefreshTime: '2022-05-24T07:00:00Z' name: projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860 observationPeriod: 7776000s severity: LOW stateInfo: state: ACCEPTED targetResources: - //cloudresourcemanager.googleapis.com/projects/123456789012
Para saber mais sobre as informações de estado de um insight, consulte Analisar insights de movimento lateral nesta página.
REST
O método
insights.markAccepted
da API Recommender marca um insight como ACCEPTED
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
-
RESOURCE_TYPE
: o tipo de recurso para o qual você quer gerenciar insights. Use o valorprojects
,folders
ouorganizations
. -
RESOURCE_ID
: o ID do projeto, da pasta ou da organização para o qual você quer gerenciar insights. -
INSIGHT_ID
: o ID do insight que você quer ver. Se você não souber o ID do insight, poderá encontrá-lo listando os insights no projeto, na pasta ou na organização. O ID de um insight é tudo o que aparece depois deinsights/
no camponame
do insight. -
ETAG
: identificador de uma versão do insight. Para receber oetag
, faça o seguinte:- Receba o insight usando o
método
insights.get
. - Encontre e copie o valor
etag
da resposta.
- Receba o insight usando o
método
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/insightTypes/google.iam.policy.LateralMovementInsight/insights/INSIGHT_ID:markAccepted
Corpo JSON da solicitação:
{ "etag": "ETAG" }
Para enviar a solicitação, expanda uma destas opções:
A resposta contém o insight, agora com o estado ACCEPTED
:
{ "name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860", "description": "Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.", "content": { "impersonator": { "serviceAccount": "sa-1@another-project.iam.gserviceaccount.com", "serviceAccountOwner": "//cloudresourcemanager.googleapis.com/projects/987654321098", "isGoogleManaged": false }, "targetServiceAccounts": [ "target-service-account-1@this-project.iam.gserviceaccount.com", "target-service-account-2@this-project.iam.gserviceaccount.com" ], "impersonationPolicy": { "resource": "//cloudresourcemanager.googleapis.com/projects/123456789012", "role": "roles/editor", "member": "serviceAccount:sa-1@another-project.iam.gserviceaccount.com", "condition": { "expression": "", "title": "", "description": "", "location": "" } }, "impersonationPermissionUsage": [ { "permission": "iam.serviceAccounts.actAs" "used": false } ], "hasPermissionUsageData": true }, "lastRefreshTime": "2022-05-24T07:00:00Z", "observationPeriod": "7776000s", "stateInfo": { "state": "ACCEPTED" }, "category": "SECURITY", "associatedRecommendations": [ { "recommendation": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f" } ], "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ], "insightSubtype": "CROSS_PROJECT_IMPERSONATION", "etag": "\"f48fa6a1b15c7741\"", "severity": "LOW" }
Para saber mais sobre as informações de estado de um insight, consulte Analisar insights de movimento lateral nesta página.
A seguir
- Saiba como analisar e aplicar recomendações de política.
- Use o Hub de recomendações para ver e gerenciar todas as recomendações do projeto, incluindo as do IAM.