Exemplos comuns de políticas do RAM para conceder acesso granular aos recursos do Log Service.
Em uma política, o termo Logstore também se refere a um Metricstore. Todas as políticas deste tópico se aplicam a ambos.
Siga o princípio do menor privilégio (PoLP): conceda apenas as permissões mínimas necessárias ao usuário do RAM. No mínimo, a maioria dos usuários precisa de acesso somente leitura à lista de projetos — sem essa permissão, a lista de projetos fica invisível. Para mais informações, consulte políticas do sistema e Criar uma política personalizada.
Exemplos de políticas
Permissões de visualização da lista de projetos
Concede ao usuário do RAM permissão para visualizar a lista de projetos.
A ação log:ListProject se aplica a todos os projetos (project/*), permitindo que o usuário do RAM visualize todos os projetos da conta.
{
"Version": "1",
"Statement": [
{
"Action": [
"log:ListProject"
],
"Resource": [
"acs:log:*:*:project/*"
],
"Effect": "Allow"
}
]
}
Permissões de somente leitura do projeto
Concede ao usuário do RAM permissão para visualizar a lista de projetos e ler todos os recursos dentro de um projeto especificado.
As permissões de somente leitura do projeto não incluem acesso aos dados de log desse projeto. Para ler logs, conceda também permissões de somente leitura no Logstore.
A primeira instrução abrange a lista de projetos. A segunda abrange todos os recursos dentro de um projeto específico usando log:Get e log:List. Ambos os caminhos de recurso são necessários: a raiz do projeto (project/<your-project-name>) e todos os sub-recursos (project/<your-project-name>/*).
{
"Version": "1",
"Statement": [
{
"Action": ["log:ListProject"],
"Resource": ["acs:log:*:*:project/*"],
"Effect": "Allow"
},
{
"Action": [
"log:Get*",
"log:List*"
],
"Resource": [
"acs:log:*:*:project/<your-project-name>/*",
"acs:log:*:*:project/<your-project-name>"
],
"Effect": "Allow"
}
]
}
Somente leitura do Logstore e gerenciamento de pesquisas salvas
Concede ao usuário do RAM permissão para visualizar a lista de projetos, ler um Logstore específico e criar e gerenciar pesquisas salvas.
A política contém cinco instruções, cada uma direcionada a um tipo diferente de recurso: a lista de projetos, todos os Logstores do projeto (para enumeração), o Logstore específico (para acesso a dados), painéis (somente leitura) e pesquisas salvas (leitura e criação).
{
"Version": "1",
"Statement": [
{
"Action": [
"log:ListProject"
],
"Resource": "acs:log:*:*:project/*",
"Effect": "Allow"
},
{
"Action": [
"log:List*"
],
"Resource": "acs:log:*:*:project/<your-project-name>/logstore/*",
"Effect": "Allow"
},
{
"Action": [
"log:Get*",
"log:List*"
],
"Resource": [
"acs:log:*:*:project/<your-project-name>/logstore/<your-logstore-name>"
],
"Effect": "Allow"
},
{
"Action": [
"log:List*"
],
"Resource": [
"acs:log:*:*:project/<your-project-name>/dashboard",
"acs:log:*:*:project/<your-project-name>/dashboard/*"
],
"Effect": "Allow"
},
{
"Action": [
"log:Get*",
"log:List*",
"log:Create*"
],
"Resource": [
"acs:log:*:*:project/<your-project-name>/savedsearch",
"acs:log:*:*:project/<your-project-name>/savedsearch/*"
],
"Effect": "Allow"
}
]
}
Somente leitura em um Logstore específico e em todas as pesquisas salvas e painéis de um projeto
Concede ao usuário do RAM permissão para visualizar a lista de projetos, ler um Logstore específico e visualizar todas as pesquisas salvas e painéis no projeto desse Logstore.
As instruções 3 a 5 usam tanto log:Get quanto log:List, enquanto as instruções 1 e 2 usam apenas ações do tipo lista (log:ListProject e log:List). Diferentemente do exemplo anterior, painéis e pesquisas salvas também são somente leitura — log:Create não está incluído para pesquisas salvas.
{
"Version": "1",
"Statement": [
{
"Action": [
"log:ListProject"
],
"Resource": "acs:log:*:*:project/*",
"Effect": "Allow"
},
{
"Action": [
"log:List*"
],
"Resource": "acs:log:*:*:project/<your-project-name>/logstore/*",
"Effect": "Allow"
},
{
"Action": [
"log:Get*",
"log:List*"
],
"Resource": [
"acs:log:*:*:project/<your-project-name>/logstore/<your-logstore-name>"
],
"Effect": "Allow"
},
{
"Action": [
"log:Get*",
"log:List*"
],
"Resource": [
"acs:log:*:*:project/<your-project-name>/dashboard",
"acs:log:*:*:project/<your-project-name>/dashboard/*"
],
"Effect": "Allow"
},
{
"Action": [
"log:Get*",
"log:List*"
],
"Resource": [
"acs:log:*:*:project/<your-project-name>/savedsearch",
"acs:log:*:*:project/<your-project-name>/savedsearch/*"
],
"Effect": "Allow"
}
]
}
Permissões de gravação do projeto
Concede ao usuário do RAM permissões de gravação em um projeto especificado. Não inclui permissões para outras operações, como consulta de dados.
{
"Version": "1",
"Statement": [
{
"Action": [
"log:Post*"
],
"Resource": "acs:log:*:*:project/<your-project-name>/*",
"Effect": "Allow"
}
]
}
Permissões de gravação do Logstore
Concede ao usuário do RAM permissões de gravação em um Logstore especificado. Não inclui permissões para outras operações, como consulta de dados.
{
"Version":"1",
"Statement":[
{
"Effect":"Allow",
"Action":[
"log:PostLogStoreLogs"
],
"Resource":[
"acs:log:*:*:project/<your-project-name>/logstore/<your-logstore-name>"
]
}
]
}
Permissões de consumo do projeto
Concede ao usuário do RAM permissões de consumo em um projeto especificado. Não inclui permissões para outras operações, como gravação ou consulta de dados.
{
"Version": "1",
"Statement": [
{
"Action": [
"log:ListShards",
"log:GetCursorOrData",
"log:GetConsumerGroupCheckPoint",
"log:UpdateConsumerGroup",
"log:ConsumerGroupHeartBeat",
"log:ConsumerGroupUpdateCheckPoint",
"log:ListConsumerGroup",
"log:CreateConsumerGroup"
],
"Resource": "acs:log:*:*:project/<your-project-name>/*",
"Effect": "Allow"
}
]
}
Permissões de consumo do Logstore
Concede ao usuário do RAM permissões de consumo em um Logstore especificado. Não inclui permissões para outras operações, como gravação ou consulta de dados.
{
"Version": "1",
"Statement": [
{
"Action": [
"log:ListShards",
"log:GetCursorOrData",
"log:GetConsumerGroupCheckPoint",
"log:UpdateConsumerGroup",
"log:ConsumerGroupHeartBeat",
"log:ConsumerGroupUpdateCheckPoint",
"log:ListConsumerGroup",
"log:CreateConsumerGroup"
],
"Resource": [
"acs:log:*:*:project/<your-project-name>/logstore/<your-logstore-name>",
"acs:log:*:*:project/<your-project-name>/logstore/<your-logstore-name>/*"
],
"Effect": "Allow"
}
]
}
Impor criptografia do Logstore
Após anexar esta política a um usuário do RAM, o usuário deve especificar uma configuração de criptografia ao criar ou modificar um Logstore.
Especifique um nome exato de projeto e de Logstore, ou use um asterisco (*) como caractere curinga.
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"log:CreateLogStore",
"log:UpdateLogStore"
],
"Resource": [
"acs:log:*:*:project/<your-project-name>/logstore/<your-logstore-name>",
"acs:log:*:*:project/<your-project-name>/logstore/*"
],
"Condition": {
"Bool": {
"log:Encrypted": "true"
}
}
}
]
}
Permissões para aplicativos de log
Conceda as seguintes permissões ao usuário ou função do RAM ao usar estes aplicativos ou recursos de log:
Common Database Audit
Mobile O&M Monitoring
Flow Log Center
Log Analysis for AWS CloudTrail
SREWorks
General Host Audit
Intelligent Anomaly Analysis
Painéis personalizados
Playlists de painéis
As políticas a seguir fornecem as permissões necessárias para os aplicativos de log.
-
Permissões de somente leitura
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "log:GetResource", "log:ListResources", "log:GetResourceRecord", "log:ListResourceRecords" ], "Resource": [ "acs:log:*:*:resource/*" ] } ] } -
Permissões de gerenciamento
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "log:*" ], "Resource": [ "acs:log:*:*:resource/*" ] } ] }
Veja também
Para obter uma lista das ações e recursos compatíveis com o Log Service, consulte regras de autorização.