AWS Systems Manager Parameter Store
O Parameter Store, um recurso do AWS Systems Manager, oferece armazenamento hierárquico seguro para gerenciamento de dados de configuração e gerenciamento de segredos. Você pode armazenar dados, como senhas, strings de banco de dados, IDs de Amazon Machine Images (AMIs) e códigos de licença como valores de parâmetro. É possível armazenar valores como texto sem formatação ou dados criptografados. Você pode referenciar parâmetros do Systems Manager em seus scripts, comandos, documentos do SSM e fluxos de trabalho de configuração e automação usando o nome exclusivo especificado ao criar o parâmetro. Para começar a usar o Parameter Store, abra o Systems Manager console
O Parameter Store também está integrado ao Secrets Manager. Você pode recuperar segredos do Secrets Manager quando estiver usando outros Serviços da AWS que já oferecem suporte às referências dos parâmetros do Parameter Store. Para ter mais informações, consulte Fazer referência a segredos do AWS Secrets Manager em parâmetros do Parameter Store.
nota
Para implementar ciclos de vida de rotação de senha, useAWS Secrets Manager. Você pode alternar, gerenciar e recuperar credenciais de banco de dados, chaves de API e outros segredos durante seu ciclo de vida, usando o Secrets Manager. Para obter mais informações, consulte O que é o AWS Secrets Manager? no Guia do usuário do AWS Secrets Manager.
Como o Parameter Store beneficia minha organização?
Parameter Store oferece estes benefícios:
-
Use um serviço de gerenciamento escalável de segredos hospedados sem servidores para gerenciar.
-
Melhora sua postura de segurança, separando dados e código.
-
Armazena dados de configuração e strings criptografadas em hierarquias e versões de trilha.
-
Controla e audita o acesso em níveis específicos.
-
Armazena parâmetros de forma confiável porque o Parameter Store é hospedado em várias zonas de disponibilidade em uma Região da AWS.
Quem deve usar o Parameter Store?
-
Qualque cliente da AWS que quiser ter uma maneira centralizada de gerenciar os dados de configuração.
-
Desenvolvedores de software que desejam armazenar logins diferentes e fluxos de referência.
-
Administradores que desejam receber notificações quando seus segredos e senhas forem ou não alterados.
Quais são os recursos do Parameter Store?
-
Notificação de alterações
Configure notificações de alteração e acione ações automatizadas para ambos os parâmetros e políticas de parâmetro. Para ter mais informações, consulte Configurar notificações ou acionar ações com base nos eventos do Parameter Store.
-
Organizar parâmetros
É possível atribuir uma tag aos parâmetros para ajudar você a identificar rapidamente um ou mais parâmetros de acordo com as tags que tiver atribuído a eles. Por exemplo, você pode marcar parâmetros para ambientes ou departamentos específicos.
-
Versões do rótulo
Você pode associar um alias para versões do seu parâmetro criando rótulos. Um rótulo pode ajudar você a lembrar-se do objetivo de uma versão de parâmetro quando houver várias versões.
-
Validação de dados
Você pode criar parâmetros que apontam para uma instância do Amazon Elastic Compute Cloud (Amazon EC2) e o Parameter Store valida esses parâmetros para garantir que ele faz referência ao tipo de recurso esperado, que o recurso existe e que o cliente tem permissão para usar o recurso. Por exemplo, você pode criar um parâmetro com o ID da Amazon Machine Image (AMI) como um valor com tipo de dados
aws:ec2:image
, e o Parameter Store executará uma operação de validação assíncrona para garantir que o valor do parâmetro atenda aos requisitos de formatação para um ID da AMI, e que o AMI esteja disponível na sua Conta da AWS. -
Secretos de referência
O Parameter Store está integrado com o AWS Secrets Manager para que você possa recuperar segredos do Secrets Manager ao usar outros Serviços da AWS que já oferecem suporte a referências a parâmetros do Parameter Store.
-
Compartilhe parâmetros com outras contas
Opcionalmente, você pode centralizar os dados de configuração em uma única Conta da AWS e compartilhar parâmetros com outras contas que precisam acessá-los.
-
Acessível de outros Serviços da AWS
Você pode usar os parâmetros da Parameter Store com outros recursos do Systems Manager e Serviços da AWS para recuperar segredos e dados de configuração de um armazenamento central. Os parâmetros funcionam com recursos do Systems Manager, como o Run Command, o Automation e o State Manager, recursos do AWS Systems Manager. Você também pode fazer referência a parâmetros em vários outros da Serviços da AWS, incluindo os seguintes:
-
Amazon Elastic Compute Cloud (Amazon EC2)
-
Amazon Elastic Container Service (Amazon ECS)
-
AWS Secrets Manager
-
AWS Lambda
-
AWS CloudFormation
-
AWS CodeBuild
-
AWS CodePipeline
-
AWS CodeDeploy
-
-
Integrar com outros Serviços da AWS
Configure a integração com os seguintes Serviços da AWS para criptografia, notificação, monitoramento e auditoria:
-
AWS Key Management Service (AWS KMS)
-
Amazon Simple Notification Service (Amazon SNS)
-
Amazon CloudWatch: pbter mais informações, consulte Configurar regras do EventBridge para parâmetros e políticas de parâmetros
-
Amazon EventBridge: para obter mais informações, consulte Monitorar alterações de status do Systems Manager usando as notificações do Amazon SNS e Referência: padrões e tipos de eventos do Amazon EventBridge para o Systems Manager.
-
AWS CloudTrail: para obter mais informações, consulte Registrar em log chamadas de API do AWS Systems Manager com o AWS CloudTrail.
-
O que é um parâmetro ?
Um parâmetro da Parameter Store é qualquer parte de dados que é salva no Parameter Store, como um bloco de texto, uma lista de nomes, uma senha, um ID de AMI, uma chave de licença e assim por diante. Você pode fazer referência a esses dados de forma centralizada e segura em seus scripts, comandos e documentos do SSM.
Ao referenciar um parâmetro, você especifica o nome desse parâmetro usando a seguinte convenção.
{{ssm:
}}parameter-name
nota
Os parâmetros não podem ser referenciados ou aninhados nos valores de outros parâmetros. Não é possível incluir {{}}
ou {{ssm:
em um valor de parâmetro.parameter-name
}}
O Parameter Store fornece suporte a três tipos de parâmetros: String
, StringList
e SecureString
.
Com uma exceção, ao criar ou atualizar um parâmetro, você insere o valor do parâmetro como texto sem formatação, e o Parameter Store não executa nenhuma validação no texto inserido. No entanto, para parâmetros String
, você pode especificar o tipo de dados como aws:ec2:image
, e o Parameter Store valida se o valor inserido é o formato adequado para uma AMI do Amazon EC2. por exemplo, ami-12345abcdeEXAMPLE
.
Tipo de parâmetro: String
Por padrão, os parâmetros String
consistem em qualquer bloco de texto inserido. Por exemplo:
-
abc123
-
Example Corp
-
<img src="images/bannerImage1.png"/>
Tipo de parâmetro: StringList
Os parâmetros StringList
contêm uma lista de valores separada por vírgulas, conforme mostrado nos exemplos a seguir.
Monday,Wednesday,Friday
CSV,TSV,CLF,ELF,JSON
Tipo de parâmetro: SecureString
Um parâmetro SecureString
representa quaisquer dados confidenciais que precisem ser armazenados e referenciados com segurança. Se você tem dados que não deseja que os usuários alterem ou consultem em texto sem formatação, como senhas ou chaves de licença, crie esses parâmetros usando o tipo de dados SecureString
.
Importante
Não armazene dados confidenciais em um parâmetro String
ou StringList
. Para todos os dados confidenciais que devem permanecer criptografados, use somente o tipo de parâmetro SecureString
.
Para ter mais informações, consulte Criar um parâmetro SecureString usando a AWS CLI.
Recomendamos usar parâmetros do SecureString
nos seguintes cenários:
-
Você deseja usar dados/parâmetros em todos os Serviços da AWS sem expor os valores como texto sem formatação em comandos, funções, logs de agentes ou logs do CloudTrail.
-
Você deseja controlar quem tem acesso a dados confidenciais.
-
Você deseja fazer uma auditoria quando dados confidenciais forem acessados (CloudTrail).
-
Você deseja criptografar seus dados confidenciais e trazer suas próprias chaves de criptografia para gerenciar o acesso.
Importante
Somente o valor de um parâmetro SecureString
é criptografado. O nome do parâmetro, a descrição e outras propriedades não são criptografados.
O tipo de parâmetro SecureString
pode ser usado para dados textuais que você deseja criptografar, como senhas, segredos de aplicações, dados de configuração confidenciais ou outros tipos de dados que você precisa proteger. Os dados do SecureString
são criptografados e descriptografados usando uma chave AWS KMS. Você pode usar uma chave KMS padrão fornecida pela AWS ou criar e usar sua própria AWS KMS key. (Use seu próprio AWS KMS key se você quiser restringir o acesso do usuário aos parâmetros SecureString
. Para obter mais informações, consulte Permissões do IAM para usar chaves padrão da AWS e chaves gerenciadas pelo cliente).
Você também pode usar parâmetros de SecureString
com outros Serviços da AWS. No exemplo a seguir, a função do Lambda recupera um parâmetro SecureString
usando a API GetParameters.
from __future__ import print_function import json import boto3 ssm = boto3.client('ssm', 'us-east-2') def get_parameters(): response = ssm.get_parameters( Names=['LambdaSecureString'],WithDecryption=True ) for parameter in response['Parameters']: return parameter['Value'] def lambda_handler(event, context): value = get_parameters() print("value1 = " + value) return value # Echo back the first key value
Criptografia de definição de preço do AWS KMS
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.
Importante
O Parameter Store só oferece suporte a chaves de criptografia simétricas KMS. Não é possível usar uma chave de criptografia KMS assimétrica para criptografar os parâmetros. Para obter ajuda para determinar se uma KMS é simétrica ou assimétrica, consulte Identificar KMSs simétricas e assimétricas no Manual do desenvolvedor do AWS Key Management Service.
Não há cobrança do Parameter Store para criar um parâmetro SecureString
, mas as cobranças pelo uso da criptografia do AWS KMS são aplicáveis. Para obter mais informações, consulte Definição de preço do AWS Key Management Service
Para obter mais informações sobre Chaves gerenciadas pela AWS e chaves gerenciadas pelo cliente, consulte Conceitos do AWS Key Management Service, no Guia do desenvolvedor do AWS Key Management Service. Para obter mais informações sobre a criptografia do Parameter Store e do AWS KMS, consulte Como o AWS Systems Manager usa o Parameter StoreAWS KMS.
nota
Para visualizar uma Chave gerenciada pela AWS, use a operação DescribeKey
do AWS KMS. Este exemplo de AWS Command Line Interface (AWS CLI) usa DescribeKey
para visualizar uma Chave gerenciada pela AWS.
aws kms describe-key --key-id alias/aws/ssm
- Mais informações