AWS Systems Manager Parameter Store - AWS Systems Manager

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 (Console do gerenciador de sistemas). No painel de navegação, escolha Parameter Store.

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:

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:parameter-name}} em um valor de parâmetro.

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