Configurar o Parameter Store
Antes de configurar os parâmetros no Parameter Store, configure as políticas de AWS Identity and Access Management (IAM) que fornecem às entidades principais na sua conta as permissões para executar as ações especificadas.
Nesta seção, você aprenderá como configurar manualmente essas políticas usando o console do IAM e como atribuí-las a usuários e grupos de usuários. Você também pode criar e atribuir políticas para controlar quais ações de parâmetro podem ser executadas em um nó gerenciado.
Esta seção também explica como criar regras do Amazon EventBridge que permitem que você receba notificações sobre alterações nos parâmetros do Systems Manager. Você pode usar as regras do EventBridge para acionar outras ações na AWS com base nas alterações da Parameter Store.
Conteúdo
Gerenciar o acesso a parâmetros do Parameter Store usando políticas do IAM
A entidade principal do IAM que acessa os parâmetros do AWS Systems Manager deve ter permissão para executar as ações necessárias no SSM. A entidade principal pode ser um usuário do IAM, um perfil do IAM, uma instância do Amazon EC2, um perfil de execução do Lambda, um perfil de tarefa do Amazon ECS, um perfil de serviço do CodeBuild ou outro perfil de serviço da AWS.
A tabela a seguir descreve as permissões do IAM necessárias para diferentes ações do Parameter Store.
| Ação | Privilégio obrigatório do IAM | Informações de referência |
|---|---|---|
| Criar ou atualizar um parâmetro | ssm:PutParameter |
PutParameter |
| Recuperar um parâmetro | ssm:GetParameter |
GetParameter |
| Recuperar vários parâmetros nomeados | ssm:GetParameters |
GetParameters |
| Recuperar parâmetros em um caminho | ssm:GetParametersByPath |
GetParametersByPath |
| Visualizar metadados do parâmetro | ssm:DescribeParameters |
DescribeParameters |
| Visualizar histórico de versões do parâmetro | ssm:GetParameterHistory |
GetParameterHistory |
| Excluir um parâmetro | ssm:DeleteParameter |
DeleteParameter |
| Visualizar vários parâmetros | ssm:DeleteParameters |
DeleteParameters |
Ao usar políticas do IAM para conceder acesso a parâmetros do Systems Manager, recomendamos a criação e o uso de políticas restritivas do IAM. Por exemplo, a seguinte política permite que uma entidade principal chame as operações de API DescribeParameters e GetParameters para um conjunto limitado de recursos. A entidade principal pode obter informações sobre todos os parâmetros que começam com prod-* e utilizá-los.
Importante
Se um usuário tiver acesso a um caminho, o usuário poderá acessar todos os níveis desse caminho. Por exemplo, se um usuário tiver permissão para acessar um caminho /a, ele também pode acessar /a/b. Mesmo se o acesso de uma entidade principal tiver sido explicitamente negado no IAM para o parâmetro /a/b, ele ainda poderá chamar a operação de API GetParametersByPath recursivamente para /a e visualizar /a/b.
Para administradores confiáveis, é possível fornecer acesso a todas as operações de API de parâmetros do Systems Manager usando uma política semelhante ao exemplo a seguir. Esta política fornece ao usuário o acesso total a todos os parâmetros de produção que começam com dbserver-prod-*.
Negar permissões
Cada API é exclusiva e tem operações e permissões distintas que você pode permitir ou negar individualmente. Uma negação explícita em qualquer política substitui a permissão.
nota
O valorAWS Key Management Service(AWS KMS) temDecryptpermissão para todos os principais do IAM dentro doConta da AWS. Se você quiser níveis de acesso diferentes aos parâmetros SecureString em sua conta, não recomendamos que você use a chave padrão.
Se você quiser que todas as operações de API que recuperam valores de parâmetro tenham o mesmo comportamento, então você pode usar um padrão comoGetParameter*em uma política. O exemplo a seguir mostra como negarGetParameter,GetParameters,GetParameterHistory, eGetParametersByPathpara todos os parâmetros que começam comprod-*.
O exemplo a seguir mostra como negar alguns comandos enquanto permite que o usuário execute outros comandos em todos os parâmetros que começam com prod-*.
nota
O histórico de parâmetros inclui todas as versões de parâmetros, incluindo a atual. Portanto, se um usuário tiver permissão negada paraGetParameter,GetParameters, eGetParameterByPathmas é permitido permissão paraGetParameterHistory, eles podem ver o parâmetro atual, incluindoSecureStringParâmetros, usandoGetParameterHistory.
Criptografia e descriptografia de parâmetros usando chaves do AWS KMS
Parâmetros SecureString do Parameter Store usam chaves do AWS KMS para criptografia. O AWS KMS criptografa o valor usando uma Chave gerenciada pela AWS ou uma chave gerenciada pelo cliente. Para obter mais informações sobre o AWS KMS e o AWS KMS key, consulte o Guia do desenvolvedor do AWS Key Management Service.
Todos os usuários da conta do cliente têm acesso à chave padrão gerenciada da AWS. É possível localizar o nome do recurso da Amazon (ARN) da chave padrão no console do AWS KMS na página AWS managed keys (chaves gerenciadas)aws/ssm na coluna Alias. Talvez seja interessante usar a chave padrão para criptografar os parâmetros SecureString e, ao mesmo tempo, impedir que os usuários trabalhem com esses parâmetros SecureString. Nesse caso, as políticas de IAM devem negar explicitamente o acesso à chave padrão, conforme demonstrado no exemplo de política a seguir.
Ao usar uma chave gerenciada pelo cliente, a política do IAM que concede a uma entidade principal acesso a um parâmetro ou caminho de parâmetro deve fornecer permissões kms:Encrypt explícitas para a chave. Por exemplo, a política a seguir permite que uma entidade principal crie, atualize e visualize parâmetros SecureString que começam com prod- na Região da AWS e Conta da AWS especificadas.
nota
A permissão kms:GenerateDataKey é necessária para criar parâmetros avançados criptografados usando a chave específica gerenciada pelo cliente.
Se você precisar de controle de acesso refinado sobre os parâmetros SecureString em sua conta, use uma chave gerenciada pelo cliente para proteger e restringir o acesso a esses parâmetros. Também recomendamos o uso do AWS CloudTrail para monitorar atividades de parâmetros SecureString.
Para saber mais, consulte os seguintes tópicos:
-
Lógica da avaliação de políticas no Guia do usuário do IAM
-
Usar políticas de chaves no AWS KMS no Guia do desenvolvedor do AWS Key Management Service
-
Visualizar eventos com o histórico de eventos do CloudTrail no Guia do usuário do AWS CloudTrail
Permitir que nós gerenciados acessem parâmetros específicos
Para controlar quais parâmetros do Parameter Store um nó gerenciado pode recuperar, é possível associar uma política do IAM ao perfil da instância. Se você escolher o tipo de parâmetro SecureString ao criar seu parâmetro, o Systems Manager usará o AWS KMS para criptografar o valor do parâmetro. Você pode visualizar a Chave gerenciada pela AWS executando o comando a seguir na AWS CLI.
aws kms describe-key --key-id alias/aws/ssm
O exemplo a seguir permite que os nós obtenham um valor de parâmetro somente para parâmetros que começam com prod-. Se o parâmetro for um parâmetro SecureString, o nó descriptografará a string usando o AWS KMS.
nota
As políticas de instâncias, como no exemplo a seguir, são atribuídas à função de instância no IAM. Para obter mais informações sobre como configurar o acesso a recursos do Systems Manager, incluindo como atribuir políticas a usuários e instâncias, consulte Gerenciar instâncias do EC2 com o Systems Manager.