As recomendações de papéis ajudam a identificar e remover permissões em excesso dos principais, melhorando as configurações de segurança dos recursos.
Visão geral das recomendações de papel
As recomendações de papéis são geradas pelo recomendador do IAM. A O recomendador do IAM é um dos recomendadores Recomendador.
Cada recomendação de papel sugere que você remova ou substitua um papel que conceda aos principais permissões excessivas. Em escala, essas recomendações ajudam você a aplicar o princípio do menor privilégio, garantindo que os principais tenham apenas as permissões de que realmente precisam.
O recomendador do IAM identifica permissões em excesso usando policy insights úteis. Os insights de política são informações baseadas em ML sobre a permissão de um principal uso.
Algumas recomendações também são associadas a insights de movimento lateral. Esses insights identificam papéis que permitem que contas de serviço em um projeto personifiquem contas de serviço em outro projeto. Para mais informações, consulte Como os insights de movimento lateral são gerados.
Como os insights de política são gerados
Os insights de política destacam as permissões nos papéis de um principal principal não está usando.
O recomendador do IAM gera insights de políticas comparando um o número total de permissões do principal com as permissões que ele usados nos últimos 90 dias. Se o papel tiver recebido menos de 90 dias atrás, o recomendador do IAM analisa uso da permissão do principal desde que ele recebeu o de rede.
O principal pode usar uma permissão de algumas maneiras:
Diretamente, chamando uma API que requer a permissão
Por exemplo, o método
roles.list
na API REST do IAM requer a permissãoiam.roles.list
. Quando você chama o métodoroles.list
, você usa a permissãoiam.roles.list
.Da mesma forma, ao chamar o método
testIamPermissions
para um recurso, você usa efetivamente todas as permissões que está testando.Indiretamente, usando o Console do Google Cloud para trabalhar com recursos do Google Cloud.
Por exemplo, no console do Google Cloud, é possível editar uma Compute Engine de máquina virtual (VM), que requer permissões diferentes, com base na quais configurações podem ser alteradas. No entanto, o console do Google Cloud também exibe as configurações atuais, que exigem a permissão
compute.instances.get
permissão.Por isso, quando você edita uma instância de VM no console do Google Cloud, usar a permissão
compute.instances.get
.
O recomendador do IAM também usa machine learning para identificar permissões na função atual de um principal que provavelmente precisará no mesmo que o principal não tenha usado essas permissões recentemente. Para mais Para mais informações, consulte Machine learning para insights de política nesta página.
Os insights de política não são gerados para todos os papéis do IAM concedidas aos principais. Para mais informações sobre por que um papel pode não ter insight de política, consulte a Disponibilidade nesta página.
Para saber como gerenciar insights de política, consulte Gerenciar insights de política para projetos, pastas e organizações ou Gerenciar política insights para buckets do Cloud Storage.
Machine learning para insights de política
Em alguns casos, é provável que um principal precise de determinadas permissões incluídas nos papéis atuais, mas que não tenha usado recentemente. Para identificar essas permissões, o recomendador do IAM usa uma (ML) ao gerar insights de políticas.
Esse modelo de machine learning é treinado com vários conjuntos de sinais:
Padrões comuns de co-ocorrência no histórico observado: o fato de um usuário ter usado as permissões A, B e C no passado sugere que A, B e C podem estar relacionados de alguma forma e que eles são necessários juntos para realizar uma tarefa no Google Cloud. Se o modelo de ML observar esse padrão com frequência suficiente, na próxima vez que um usuário diferente usar as permissões A e B, o modelo sugerirá que o usuário também precisará da permissão C.
Conhecimento de domínio conforme codificado nas definições do papel: o IAM fornece centenas de papéis predefinidos diferentes que são específicos do serviço. Se um papel predefinido contém um conjunto de permissões, isso é um forte sinal de que estas permissões precisam ser concedidas em conjunto.
Além desses sinais, o modelo também usa a
incorporação de palavras para calcular
a semelhança semântica das permissões. Permissões semanticamente semelhantes serão consideradas "próximas" umas das outras após a incorporação e terão maior probabilidade de serem concedidas juntas. Por exemplo, bigquery.datasets.get
e bigquery.tables.list
estarão muito próximos uns dos outros após a incorporação.
Todos os dados usados no pipeline de machine learning do recomendador do IAM têm k-anonimato. Isso significa que os indivíduos do conjunto de dados anônimos não podem ser identificados novamente. Para atingir este nível de anonimato, descartamos todas as informações de identificação pessoal, como o ID de usuário relacionado a cada padrão de uso de permissão. Em seguida, descartaremos todos os padrões de uso que não são exibidos com frequência suficiente no Google Cloud. O modelo global é treinado com esses dados anônimos.
O modelo global pode ser ainda mais personalizado para cada organização usando federated learning, um processo de machine learning que treina modelos sem exportar dados.
Como as recomendações de papel são geradas
Se um insight de política indicar que um principal não precisa de todos os do papel delas, o recomendador do IAM avalia o papel determine se ela pode ser revogada ou se existe outra função mais adequada para se encaixam. Se for possível revogar o papel, o recomendador do IAM gerará um papel. para revogar o papel. Se houver outra função mais adequada, o recomendador do IAM gera uma recomendação de papel para substituir o papel com uma função sugerida. Esse substituto recomendado pode ser um papel personalizado novo, um papel personalizado existente ou um ou mais papéis predefinidos. Exceto no caso de recomendações para agentes de serviço, uma recomendação de papel nunca sugere uma alteração que aumenta o nível de acesso do principal.
As recomendações de papel são geradas com base apenas nos controles de acesso do IAM. Eles não consideram outros tipos de controle de acesso, como listas de controle de acesso (ACLs) e controle de acesso baseado em papéis (RBAC) do Kubernetes. Se você usa outros tipos de controle de acesso, tenha muito cuidado ao analisar suas recomendações e considere como esses controles de acesso estão relacionados às políticas de permissão.
Além disso, não são geradas recomendações de papéis para todas que são concedidos aos principais. Para mais informações sobre por que um papel pode não ter uma recomendação de papel, consulte a Disponibilidade neste página.
Período de observação
O período de observação de uma recomendação de papel é o número de dias dados de uso de permissão em que a recomendação se baseia.
O período máximo de observação para recomendações de papéis é 90 dias. Isso significa que o recomendador do IAM usa no máximo, os últimos 90 dias de dados de uso de permissão para gerar recomendações de papéis.
O recomendador do IAM também não começa a gerar recomendações de papéis até que tenha um determinado número de dias de dados de uso de permissão. Esta duração é chamado de período mínimo de observação. Por padrão, o mínimo período de observação é de 90 dias, mas, para papéis no nível do projeto, você pode defini-la manualmente para 30 ou 60 dias. Para mais detalhes, consulte Configurar a geração de recomendações de papéis. Se você definir para menos de 90 dias, terá as recomendações mais cedo, mas a precisão das recomendações pode ser afetadas.
Se foi maior do que o período de observação mínimo, mas menor do que 90 dias após a concessão do papel, o período de observação é o tempo desde a concessão do papel.
Novos papéis personalizados nas recomendações de papéis
Quando o recomendador do IAM sugerir substituições para um papel, ela sempre sugere um papel personalizado atual ou um ou mais papéis funções que parecem ser mais adequadas às necessidades do diretor.
Se o recomendador do IAM identificar um padrão de uso de permissão comum na sua organização que não esteja mapeado para um papel predefinido ou personalizado existente, também é possível criar um novo personalizado . Esse papel personalizado inclui apenas as permissões recomendadas. É possível modificar a recomendação de papel personalizado adicionando ou removendo permissões.
Se você quiser aplicar o princípio do menor privilégio da maneira mais estrita possível, escolha o novo papel personalizado. O recomendador do IAM cria o papel personalizado no nível do projeto. Você é responsável por manter e atualizar os papéis personalizados dos seus projetos.
Se preferir usar um papel mantido para você, escolha o papel de rede. O Google Cloud atualiza esses papéis regularmente adicionando ou removendo permissões. Para receber notificações sobre essas atualizações, inscreva-se no feed de notícias do registro de alterações de permissões. Quando você escolhe papel predefinido, o principal continua a ter pelo menos algumas permissões, e possivelmente um grande número de permissões que não foram usadas.
O recomendador do IAM recomenda novos papéis personalizados somente para papéis concedidos em um projeto. Ele não recomenda novos papéis personalizados para papéis concedidos em outros recursos, como pastas ou organizações.
Além disso, o recomendador do IAM não recomenda novos papéis personalizados no nos seguintes casos:
- Sua organização já tem 100 ou mais papéis personalizados
- Seu projeto já tem 25 ou mais papéis personalizados
O recomendador do IAM recomenda no máximo 5 novos papéis personalizados por dia em cada projeto, e não mais do que 15 novos papéis personalizados em toda a organização.
Como os insights de movimento lateral são gerados
O movimento lateral ocorre quando uma conta de serviço em um projeto tem permissão para personificar uma conta de serviço em outro. Por exemplo, uma conta de serviço pode ter sido criada no projeto A, mas tem permissões para personificar uma conta de serviço no projeto B.
Essas permissões podem resultar em uma cadeia de representações entre projetos que dá aos diretores acesso não intencional aos recursos. Por exemplo, se um principal representar a conta de serviço no projeto A, ele poderá usar essa conta de serviço para personificar a conta de serviço no projeto B. Se a conta de serviço no projeto B tiver permissão para personificar outras contas de serviço em outros projetos na sua organização, o principal poderá continuar usando a representação da conta de serviço para mover do projeto para o projeto, recebendo permissões durante esse processo ir.
O recomendador do IAM gera insights de movimentação lateral identificando funções que atendem aos seguintes critérios:
- A principal que recebeu o papel é uma conta de serviço que não criados no projeto.
O papel inclui uma das permissões a seguir, que permitem que um principal represente uma conta de serviço:
iam.serviceAccounts.actAs
iam.serviceAccounts.getAccessToken
iam.serviceAccounts.getOpenIdToken
iam.serviceAccounts.implicitDelegation
iam.serviceAccounts.signBlob
iam.serviceAccounts.signJwt
Se um papel atende a esses critérios, o recomendador do IAM gera insight de movimento para a função. Esse insight contém informações recursos de representação da conta de serviço, incluindo as contas de serviço pode personificar e se usou alguma permissão de personificação nos últimos 90 dias.
O recomendador do IAM não usa insights de movimento lateral por conta própria para gerar recomendações de novos papéis. Isso ocorre porque, se uma conta de serviço usando as permissões de representação, o recomendador do IAM não pode sugerimos removê-los. No entanto, se uma recomendação de papel sugerir a remoção desses porque elas não estão sendo usadas, o recomendador do IAM vai vincular o insight de movimento lateral a essa recomendação. Essa vinculação ajuda você a priorizar as recomendações de papel para contas de serviço que têm permissões de representação avançadas e não utilizadas em projetos.
Para saber como gerenciar insights de movimento lateral, consulte Gerenciar insights de movimento lateral.
Disponibilidade
Insights de política, insights de movimentação lateral e recomendações de papéis não são geradas para todos os papéis concedidos aos principais. Leia o conteúdo a seguir para entender os papéis dos insights de política, para gerar insights e recomendações.
Disponibilidade do insight de política
Para que o recomendador do IAM gere um insight de política para um papel, seguintes devem ser verdadeiros:
A política de permissão do IAM que concede o papel precisa ser anexada a um dos seguintes recursos:
- Bucket do Cloud Storage
- Conjunto de dados do BigQuery
- Projeto
- Pasta
- Organização
O recomendador do IAM só gera insights de política para papéis concedidas nesses recursos.
A vinculação do papel que concede o papel não pode ter uma condição. A O recomendador do IAM não gera insights de políticas para vinculações de papéis condicionais.
O principal que recebeu o papel precisa ser um dos seguintes tipos de principais:
- Usuário
- Conta de serviço
- Grupo
allUsers
allAuthenticatedUsers
- Valores de conveniência do Cloud Storage
- Associação ao grupo especial do BigQuery
Um dos seguintes tipos de identidades federadas:
- Todas as identidades em um pool de Identidades de carga de trabalho:
- Identidade única em um pool de identidades de carga de trabalho
- Todas as identidades em um pool de Identidades de força de trabalho:
- Identidade única em um pool de identidades de força de trabalho
Todos os pods do Google Kubernetes Engine que usam uma conta de serviço específica do Kubernetes
Para detalhes sobre o formato do identificador de cada tipo principal, consulte Identificadores principais.
Pode levar até 10 dias para que o recomendador do IAM para gerar insights de políticas para um papel recém-concedido.
Os insights das políticas são atualizados diariamente com base na sua permissão recente uso. No entanto, os dados nos quais os insights de política se baseiam geralmente têm atrasos com um atraso de até dois dias em relação ao uso real.
Disponibilidade de insight de movimento lateral
Os insights de movimentação lateral são gerados para papéis concedidos no seguintes recursos:
- Organizações
- Pastas
- Projetos
- Contas de serviço
Disponibilidade da recomendação de papéis
Para que o recomendador do IAM gere uma recomendação de papel para um papel, o seguinte deve ser verdadeiro:
- O papel precisa ter um insight de política associado a ele. O insight desta política serve como base para a recomendação.
- Deve ter sido maior do que a observação mínima período desde que o papel foi concedido. Isso garante que o O recomendador do IAM tem dados de uso suficientes para fazer uma recomendação. De padrão, o período mínimo de observação é de 90 dias, mas você pode defini-lo manualmente para 30 ou 60 dias. Para detalhes, consulte Configurar geração de recomendações de papéis.
- Se o principal que recebeu o papel for um agente de serviço, o papel precisa ser Proprietário, Editor ou Leitor. O recomendador do IAM não gera recomendações de papéis para agentes de serviço com outros papéis. Para Para mais detalhes, consulte Recomendações de papéis para agentes de serviço.
Se um papel foi concedido muito recentemente ou não tem insights, o A coluna Permissões analisadas no console do Google Cloud mostra uma
ícone.Em alguns casos, o recomendador do IAM não gera papéis recomendações para uma função, mesmo que tenha passado tempo suficiente e ela tenha um insight associado a ele. Isso pode acontecer pelos seguintes motivos:
Não há papéis do IAM predefinidos que sejam mais apropriados do que o papel atual. Se um principal já tiver um que minimize as permissões ou inclua menos permissões do que outros papéis predefinidos, o recomendador do IAM não um papel predefinido diferente.
Você pode reduzir as permissões do principal criando um papel personalizado para ele.
O principal é um agente de serviço, e o papel não é um um papel básico. O recomendador do IAM só gera papéis recomendações para agentes de serviço que têm um papel básico (Proprietário, Editor ou Leitor). Para mais detalhes, consulte Recomendações de papéis para e agentes.
Nenhum outro principal tem o papel básico de Proprietário do projeto. Pelo menos um principal precisa ter o papel Proprietário (
roles/owner
) em cada projeto. Se apenas um principal tem esse papel, o recomendador do IAM não que você revogue ou substitua o papel.
Nesses casos, a coluna Permissões analisadas na O console do Google Cloud mostra o uso da permissão do principal, mas não tem uma Recomendação disponível
ícone.As recomendações de papéis atuais são atualizadas diariamente com base nos seus do uso da permissão. No entanto, os dados em que as recomendações de papéis geralmente tem até dois dias de atraso em relação ao uso real.
Prioridade e gravidade
A prioridade da recomendação e a gravidade do insight ajudam você a entender a urgência de uma recomendação ou um insight e a priorizar de acordo.
Prioridade de recomendação do papel
As recomendações recebem níveis de prioridade com base na urgência percebida.
Os níveis de prioridade variam de P0
(prioridade mais alta) a P4
(prioridade mais baixa).
A prioridade de uma recomendação de papel depende do papel da recomendação para:
Detalhes da recomendação | Prioridade | Explicação |
---|---|---|
Recomendações para papéis que concedem acesso público a Buckets do Cloud Storage | P1 |
Os buckets com acesso público podem ser acessados por qualquer pessoa na Internet. A remoção do acesso público oferece mais controle sobre seus dados. |
Recomendações para papéis que concedem acesso público a Conjuntos de dados do BigQuery | P1 |
Os conjuntos de dados acessíveis publicamente podem ser acessados por qualquer pessoa na Internet. A remoção do acesso público oferece mais controle sobre seus dados. |
Recomendações para papéis básicos (Proprietário, Editor e Leitor) que são concedido em um projeto, pasta ou organização | P2 |
Os papéis básicos são altamente permissivos e aplicam recomendações para esses papéis podem reduzir bastante as permissões em excesso. |
Recomendações que não concedem acesso público ou papéis básicos | P4 |
Embora essas recomendações ajudem a reduzir as permissões em excesso, elas não removem o acesso público ou papéis básicos altamente permissivos, o que as torna uma prioridade mais baixa. |
Gravidade do insight
Os insights recebem níveis de gravidade com base na urgência percebida. Os níveis
de gravidade podem ser LOW
, MEDIUM
, HIGH
ou CRITICAL
.
A gravidade de um insight de política depende da função dele:
Detalhes do insight | Severity | Explicação |
---|---|---|
Insights sobre os papéis que concedem acesso público ao Cloud Storage de buckets | CRITICAL |
Os buckets com acesso público podem ser acessados por qualquer pessoa na Internet. A remoção do acesso público oferece mais controle sobre seus dados. |
Insights sobre os papéis que concedem acesso público a Conjuntos de dados do BigQuery | CRITICAL |
Os conjuntos de dados acessíveis publicamente podem ser acessados por qualquer pessoa na Internet. A remoção do acesso público oferece mais controle sobre seus dados. |
Insights sobre os papéis básicos (Proprietário, Editor e Leitor) concedidos em um projeto, pasta ou organização | HIGH |
Os papéis básicos são altamente permissivos e abordam insights para esses podem reduzir bastante as permissões em excesso. |
Insights que não concedem acesso público ou papéis básicos | LOW |
Esses insights destacam permissões em excesso, mas não acesso público ou papéis básicos altamente permissivos, o que os torna com prioridade mais baixa. |
Todos os insights de movimento lateral têm uma gravidade de LOW
.
Como as recomendações de papel são aplicadas
O recomendador do IAM não aplica recomendações automaticamente. Em vez disso, você precisa avaliar as recomendações e decidir se quer aplicá-las ou dispensá-las. Para saber como analisar, aplicar e dispensar recomendações de papéis, consulte um dos seguintes guias:
- Revise e aplique recomendações de papéis para projetos, pastas e organizações
- Revise e aplique recomendações de papéis para o Cloud Storage de buckets
- Revisar e aplicar recomendações de papéis no BigQuery conjuntos de dados
Registro de auditoria
Quando você aplica ou dispensa uma recomendação, o recomendador do IAM cria uma entrada de registro. É possível ver essas entradas no histórico de recomendações ou nos registros de auditoria do Google Cloud.
Subtipos de recomendações de papéis
As recomendações de papel são divididas em vários subtipos diferentes com base na ação que recomendam. Se você usa a CLI gcloud ou a API REST, use esses subtipos para filtrar as recomendações.
Subtipo | Descrição |
---|---|
REMOVE_ROLE |
Uma recomendação para remover os arquivos principais no nível do projeto, da pasta ou no nível da organização. |
REMOVE_ROLE_BIGQUERY_DATASET |
Uma recomendação para remover o papel no nível do conjunto de dados do principal. |
REMOVE_ROLE_STORAGE_BUCKET |
Uma recomendação para remover o papel no nível do bucket do principal. |
REPLACE_ROLE |
Uma recomendação para substituir os arquivos principais no nível do projeto, da pasta ou no nível da organização a um papel menos permissivo. As recomendações substituto pode ser um papel personalizado atual ou um ou mais papéis papéis de segurança na nuvem. |
REPLACE_ROLE_CUSTOMIZABLE |
Uma recomendação para substituir o papel do principal por um novo papel personalizado que seja menos permissivo do que cargo atual. |
REPLACE_ROLE_BIGQUERY_DATASET |
Uma recomendação para substituir o papel no nível do conjunto de dados do principal por um papel mais permissivo. A substituição recomendada pode ser um sistema personalizado padrão ou um ou mais papéis predefinidos. |
REPLACE_ROLE_STORAGE_BUCKET |
Uma recomendação para substituir o papel no nível do bucket do principal por um valor mais permissivo. A substituição recomendada pode ser um sistema personalizado padrão ou um ou mais papéis predefinidos. |
SERVICE_AGENT_WITH_DEFAULT_ROLE |
Uma recomendação para substituir o proprietário, editor ou leitor de um agente de serviço com o papel concedido automaticamente à conta de serviço quando ele foi criado. Para mais informações, consulte Recomendações de papéis para agentes de serviço. |
SERVICE_AGENT_WITHOUT_DEFAULT_ROLE |
Uma recomendação para substituir o proprietário, editor ou leitor de um agente de serviço um papel com um papel menos permissivo. Para mais informações, consulte Recomendações de papéis para agentes de serviço. |
Recomendações de papéis para agentes de serviço
Para os agentes de serviço, a O recomendador do IAM fornece apenas recomendações para serviços básicos papéis (Proprietário, Editor ou Leitor).
As recomendações para agentes de serviço são divididas em dois subtipos.
SERVICE_AGENT_WITH_DEFAULT_ROLE
Na criação, alguns agentes de serviço recebem automaticamente um agente de serviço
de rede para garantir que os serviços do Google Cloud funcionem
corretamente. Se você substituir esse papel por um papel básico (Proprietário, Editor ou Leitor),
uma recomendação de papel pode sugerir que você restaure o agente de serviço original
para remover permissões em excesso, mesmo que o papel de agente de serviço
permissões que não estão no papel básico. Essas recomendações têm
subtipo SERVICE_AGENT_WITH_DEFAULT_ROLE
. Eles ajudam a remover com segurança os excessos
as permissões, garantindo que todos os serviços do Google Cloud funcionem corretamente.
As recomendações de SERVICE_AGENT_WITH_DEFAULT_ROLE
são o único tipo de
recomendação que pode sugerir papéis com permissões que não estejam no papel
atual.
SERVICE_AGENT_WITHOUT_DEFAULT_ROLE
Se um agente de serviço não receber automaticamente um papel na criação,
as recomendações para o agente de serviço são baseadas exclusivamente nas permissões
que o agente de serviço usa. Essas recomendações têm o subtipo
SERVICE_AGENT_WITHOUT_DEFAULT_ROLE
:
Recomendações de papéis no Security Command Center
Se você tiver o nível Premium do Security Command Center, poderá conferir alguns subtipos de papéis recomendadas como descobertas no Security Command Center. Cada subtipo está associado a um detector:
Subtipo de recomendação | Categoria da descoberta |
---|---|
REMOVE_ROLE |
Unused IAM role |
REPLACE_ROLE |
IAM role has excessive permissions |
SERVICE_AGENT_WITH_DEFAULT_ROLE |
Service agent role replaced with basic role |
SERVICE_AGENT_WITHOUT_DEFAULT_ROLE |
Service agent granted basic role |
Para mais informações sobre como visualizar recomendações de papéis no Security Command Center, consulte o recomendador do IAM no Security Command Center na documentação do Google Cloud.
Preços
Recomendações de papéis no nível do projeto, da pasta e da organização para os papéis básicos estão disponíveis sem custos financeiros.
Os seguintes recursos avançados do recomendador do IAM exigem uma ativação do nível premium do Security Command Center em toda a organização:
- Recomendações para papéis não básicos
- recomendações para papéis concedidos em recursos que não são organizações; pastas e projetos, por exemplo, recomendações para papéis concedidos nos buckets do Cloud Storage
- Recomendações que sugerem papéis personalizados
- Insights de política
- Insights de movimentação lateral
Para mais informações, consulte Perguntas sobre faturamento.
Exemplos de recomendações de papéis
Estes exemplos mostram os tipos de recomendações que talvez você receba:
Revogar um papel atual
O usuário my-user@example.com
recebeu o papel Navegador em um projeto.
O papel Navegador inclui seis permissões que autorizam o usuário a ver os recursos
no projeto. No entanto, durante os últimos 90 dias,
my-user@example.com
não viu nenhum recurso.
Portanto, o recomendador do IAM gera uma recomendação de papel
sugerindo que você revogue o papel Navegador de my-user@example.com
:
Console
gcloud
{
"associatedInsights": [
{
"insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/86c14538-dcfd-4326-afe5-ee8ac921e06a"
}
],
"content": {
"operationGroups": [
{
"operations": [
{
"action": "remove",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "user:my-user@example.com",
"/iamPolicy/bindings/*/role": "roles/browser"
},
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"resourceType": "cloudresourcemanager.googleapis.com/Project"
}
]
}
],
"overview": {
"member": "user:my-user@example.com",
"removedRole": "roles/browser",
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012"
}
},
"description": "This role has not been used during the observation window.",
"etag": "\"9fc3241da8bfab51\"",
"lastRefreshTime": "2022-05-20T07:00:00Z",
"name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fe512038-5455-49g1-8f9c-752e31c8c154",
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {
"revokedIamPermissionsCount": 6
}
}
},
"priority": "P4",
"recommenderSubtype": "REMOVE_ROLE",
"stateInfo": {
"state": "ACTIVE"
}
}
REST
{
"name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fe512038-5455-49g1-8f9c-752e31c8c154",
"description": "This role has not been used during the observation window.",
"lastRefreshTime": "2022-05-20T07:00:00Z",
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {
"revokedIamPermissionsCount": 6
}
}
},
"content": {
"operationGroups": [
{
"operations": [
{
"action": "remove",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "user:my-user@example.com",
"/iamPolicy/bindings/*/role": "roles/browser"
}
}
]
}
],
"overview": {
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"member": "user:my-user@example.com",
"removedRole": "roles/browser"
}
},
"stateInfo": {
"state": "ACTIVE"
},
"etag": "\"9fc3241da8bfab51\"",
"recommenderSubtype": "REMOVE_ROLE",
"associatedInsights": [
{
"insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/86c14538-dcfd-4326-afe5-ee8ac921e06a"
}
],
"priority": "P4"
}
Substituir um papel atual
Uma conta de serviço recebeu o papel Editor (roles/editor
) em um projeto.
Esse papel básico inclui mais de 3.000 permissões e concede amplo acesso
ao projeto. No entanto, durante os últimos 90 dias, a
conta de serviço usou apenas algumas permissões.
Portanto, o recomendador do IAM gera uma recomendação de papel sugerir que você revogue o papel de Editor e substitua-o por uma combinação de e dois outros papéis, o que remove milhares de permissões em excesso:
Console
gcloud
{
"associatedInsights": [
{
"insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/3d4ef3d6-bdf0-4330-975d-c65cb929c44d"
}
],
"content": {
"operationGroups": [
{
"operations": [
{
"action": "add",
"path": "/iamPolicy/bindings/*/members/-",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/role": "roles/iam.serviceAccountUser"
},
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"value": "user:my-user@example.com"
},
{
"action": "add",
"path": "/iamPolicy/bindings/*/members/-",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/role": "roles/storage.objectAdmin"
},
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"value": "user:my-user@example.com"
},
{
"action": "remove",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "user:my-user@example.com",
"/iamPolicy/bindings/*/role": "roles/editor"
},
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"resourceType": "cloudresourcemanager.googleapis.com/Project"
}
]
}
],
"overview": {
"addedRoles": [
"roles/iam.serviceAccountUser",
"roles/storage.objectAdmin"
],
"member": "user:my-user@example.com",
"minimumObservationPeriodInDays": "0",
"removedRole": "roles/editor",
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012"
}
},
"description": "Replace the current role with smaller predefined roles to cover the permissions needed.",
"etag": "\"0da9a354c2a83d96\"",
"lastRefreshTime": "2022-06-22T07:00:00Z",
"name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/4637db3d-dba5-45eb-95ac-b4ee4b4cd14e",
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {
"revokedIamPermissionsCount": 2998
}
}
},
"priority": "P2",
"recommenderSubtype": "REPLACE_ROLE",
"stateInfo": {
"state": "ACTIVE"
}
}
REST
{
"name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/4637db3d-dba5-45eb-95ac-b4ee4b4cd14e",
"description": "Replace the current role with smaller predefined roles to cover the permissions needed.",
"lastRefreshTime": "2022-06-22T07:00:00Z",
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {
"revokedIamPermissionsCount": 2998
}
}
},
"content": {
"operationGroups": [
{
"operations": [
{
"action": "add",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"path": "/iamPolicy/bindings/*/members/-",
"value": "user:my-user@example.com",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/role": "roles/iam.serviceAccountOwner"
}
},
{
"action": "add",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"path": "/iamPolicy/bindings/*/members/-",
"value": "user:my-user@example.com",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/role": "roles/storage.objectAdmin"
}
},
{
"action": "remove",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "user:my-user@example.com",
"/iamPolicy/bindings/*/role": "roles/editor"
}
}
]
}
],
"overview": {
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"member": "user:my-user@example.com",
"removedRole": "roles/editor",
"addedRoles": [
"roles/iam.serviceAccountUser",
"roles/storage.objectAdmin"
],
"minimumObservationPeriodInDays": "0"
}
},
"stateInfo": {
"state": "ACTIVE"
},
"etag": "\"0da9a354c2a83d96\"",
"recommenderSubtype": "REPLACE_ROLE",
"associatedInsights": [
{
"insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/3d4ef3d6-bdf0-4330-975d-c65cb929c44d"
}
],
"priority": "P2"
}
Criar um papel personalizado
O usuário my-user@example.com
recebeu o papel Administrador do Cloud Trace
(roles/cloudtrace.admin
) em um projeto. O papel inclui mais de 10
permissões, mas um insight de política indica que, nos últimos
90 dias, my-user@example.com
usou apenas 4
dessas
permissões.
Portanto, o recomendador do IAM gera uma recomendação de papel
sugerir a criação de um papel personalizado que inclua apenas as permissões que
my-user@example.com
usou:
Console
gcloud
O subtipo REPLACE_ROLE_CUSTOMIZABLE
indica que o
O recomendador do IAM recomenda criar um papel personalizado com o
permissões. Para acessar as permissões usadas, acesse a política associada
insight.
{
"associatedInsights": [
{
"insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/2799dc04-b12e-4cf6-86aa-d81907d31f58"
}
],
"associatedResourceNames": [
"//cloudresourcemanager.googleapis.com/projects/123456789012"
],
"content": {
"operationGroups": [
{
"operations": [
{
"action": "add",
"path": "/iamPolicy/bindings/*/members/-",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/role": "roles/cloudtrace.user"
},
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"value": "user:my-user@example.com"
},
{
"action": "remove",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "user:my-user@example.com",
"/iamPolicy/bindings/*/role": "roles/cloudtrace.admin"
},
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"resourceType": "cloudresourcemanager.googleapis.com/Project"
}
]
}
],
"overview": {
"minimumObservationPeriodInDays": "0"
}
},
"description": "Replace the current role with a smaller role to cover the permissions needed.",
"etag": "\"c7f57a4725d32d66\"",
"lastRefreshTime": "2022-06-22T07:00:00Z",
"name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/ba1fc977-fddd-3856-a829-f69649ae8075",
"originalContent": {},
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {},
"revokedIamPermissionsCount": 1
}
},
"priority": "P4",
"recommenderSubtype": "REPLACE_ROLE_CUSTOMIZABLE",
"stateInfo": {
"state": "ACTIVE"
},
"targetResources": [
"//cloudresourcemanager.googleapis.com/projects/123456789012"
]
}
REST
O subtipo REPLACE_ROLE_CUSTOMIZABLE
indica que
o recomendador do IAM recomenda criar um papel personalizado com o
permissões. Para acessar as permissões usadas, acesse a política associada
insight.
{
"name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/ba1fc977-fddd-3856-a829-f69649ae8075",
"description": "Replace the current role with a smaller role to cover the permissions needed.",
"lastRefreshTime": "2022-06-22T07:00:00Z",
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {
"revokedIamPermissionsCount": 1
}
}
},
"content": {
"operationGroups": [
{
"operations": [
{
"action": "add",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"path": "/iamPolicy/bindings/*/members/-",
"value": "user:my-user@example.com",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/role": "roles/cloudtrace.user"
}
},
{
"action": "remove",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "user:my-user@example.com",
"/iamPolicy/bindings/*/role": "roles/cloudtrace.admin"
}
}
]
}
],
"overview": {
"minimumObservationPeriodInDays": "0"
}
},
"stateInfo": {
"state": "ACTIVE"
},
"etag": "\"c7f57a4725d32d66\"",
"recommenderSubtype": "REPLACE_ROLE_CUSTOMIZABLE",
"associatedInsights": [
{
"insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/2799dc04-b12e-4cf6-86aa-d81907d31f58"
}
],
"priority": "P4"
}
O Recomendador do IAM também sugere outra opção, que é substituir
o papel atual pelo de Usuário do Cloud Trace (roles/cloudtrace.user
).
Esse papel predefinido inclui menos permissões que o papel
Administrador do Cloud Trace.
Substituição de papéis com permissões sugeridas por machine learning
Uma conta de serviço recebeu o papel Editor (roles/editor
) em um projeto.
Esse papel básico inclui mais de 3.000 permissões e concede amplo acesso
a um projeto. No entanto, um insight de política indica que, nos últimos
90 dias, a conta de serviço usou menos de 10
permissões.
O insight de política também destaca várias permissões que a conta de serviço provavelmente precisará no futuro. O recomendador do IAM identificou usando machine learning.
O recomendador do IAM gera uma recomendação de papel sugerindo que você
revogar o papel Editor e substituí-lo pelo papel Administrador de objetos do Storage
(roles/storage.objectAdmin
), que concede controle total dos objetos em uma
do bucket do Cloud Storage. Essa alteração remove milhares de permissões em excesso, enquanto
incluindo as permissões usadas pela conta de serviço
permissões que a conta de serviço provavelmente precisará no futuro:
Console
O recomendador do IAM usa um recurso de machine learning
resourcemanager.projects.get
foi recomendada
com base no machine learning:
gcloud
Permissões que foram adicionadas com base na máquina do recomendador do IAM
o aprendizado de máquina, e não a permissão, não estão listados na recomendação.
por conta própria. Em vez disso, elas são listadas nos insights de política associados aos
recomendação. Todas as permissões baseadas em ML estão listadas no inferredPermissions
campo do insight. Neste exemplo, o resourcemanager.projects.get
foi recomendada com base no machine learning:
associatedRecommendations:
- recommendation: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/0573b702-96a5-4622-a916-c762e7b0731f
category: SECURITY
content:
condition:
description: ''
expression: ''
location: ''
title: ''
currentTotalPermissionsCount: '5069'
exercisedPermissions:
- permission: storage.objects.create
- permission: storage.objects.delete
- permission: storage.objects.get
- permission: storage.objects.list
inferredPermissions:
- permission: resourcemanager.projects.get
member: serviceAccount:my-service-account@my-project.iam.gserviceaccount.com
role: roles/editor
description: 4 of the permissions in this role binding were used in the past 90 days.
etag: '"d3cdec23cc712bd0"'
insightSubtype: PERMISSIONS_USAGE
lastRefreshTime: '2020-07-11T07:00:00Z'
name: projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/0d3ce433-f067-4e78-b6ae-03d7d1f6f040
observationPeriod: 7776000s
stateInfo:
state: ACTIVE
targetResources:
- //cloudresourcemanager.googleapis.com/projects/123456789012
severity: HIGH
Para saber como conseguir um insight de política, consulte uma das seguintes opções:
REST
Permissões que foram adicionadas com base na máquina do recomendador do IAM
o aprendizado de máquina, e não a permissão, não estão listados na recomendação.
por conta própria. Em vez disso, elas são listadas nos insights de política associados aos
recomendação. Todas as permissões baseadas em ML estão listadas no inferredPermissions
campo do insight. Neste exemplo, o resourcemanager.projects.get
foi recomendada com base no machine learning:
{
"name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/07841f74-02ce-4de8-bbe6-fc4eabb68568",
"description": "4 of the permissions in this role binding were used in the past 90 days.",
"content": {
"role": "roles/editor",
"member": "serviceAccount:my-service-account@my-project.iam.gserviceaccount.com",
"condition": {
"expression": "",
"title": "",
"description": "",
"location": ""
},
"exercisedPermissions": [
{
"permission": "storage.objects.create"
},
{
"permission": "storage.objects.delete"
},
{
"permission": "storage.objects.get"
},
{
"permission": "storage.objects.list"
}
],
"inferredPermissions": [
{
"permission": "resourcemanager.projects.get"
}
],
"currentTotalPermissionsCount": "5069"
},
"lastRefreshTime": "2020-07-12T07:00:00Z",
"observationPeriod": "7776000s",
"stateInfo": {
"state": "ACTIVE"
},
"category": "SECURITY",
"associatedRecommendations": [
{
"recommendation": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/b1932220-867d-43d1-bd74-fb95876ab656"
}
],
"targetResources": [
"//cloudresourcemanager.googleapis.com/projects/123456789012"
],
"insightSubtype": "PERMISSIONS_USAGE",
"etag": "\"d3cdec23cc712bd0\"",
"severity": "HIGH"
}
Para saber como conseguir um insight de política, consulte uma das seguintes opções:
A seguir
- Entenda as práticas recomendadas para usar recomendações de papéis.
- Revise e aplique recomendações de papéis para projetos, pastas e com outras organizações.
- Revise e aplique suas recomendações de papéis para o Cloud Storage de buckets
- Revisar e aplicar suas recomendações de papéis no BigQuery conjuntos de dados
- Saiba mais sobre o Recomendador.
- Entenda papéis predefinidos e papéis personalizados no IAM.