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. Você pode 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.

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 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.

  • Armazenar parâmetros de forma confiável porqueParameter StoreÉ hospedado em várias zonas de disponibilidade em umRegiã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 mais informações, consulte Configurar notificações ou acionar ações com base nos eventos do Parameter Store.

  • Organizar e controlar o acesso

    É 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, é possível marcar parâmetros para ambientes, departamentos, usuários, grupos ou períodos específicos. Também é possível restringir o acesso aos documentos criando uma política do AWS Identity and Access Management (IAM) que especifique as tags que um usuário ou grupo pode acessar. Para mais informações, consulte Marcar parâmetros do Systems Manager.

  • 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 oParameter Storevalida esses parâmetros para certificar-se de 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.

  • Acessível em 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 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

  • Integração 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.

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"/>

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

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 mais informações, consulte Criar um parâmetro SecureString (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 escolher aSecureStringquando você cria seu parâmetro, o Systems Manager usaAWS KMSPara criptografar o valor do parâmetro.

Importante

O Parameter Store só oferece suporte a chaves simétricas KMS. Não é possível usar uma chave 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 pelo cliente e pela AWS, consulte Conceitos do AWS Key Management Service no Manual 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 ManagerParameter Store usa o AWS KMS.

nota

Para visualizar uma Chave gerenciada pela AWS, use a operação DescribeKey do AWS KMS. EsseAWS Command Line Interface(AWS CLI) O usaDescribeKeyComo visualizar eChave gerenciada pela AWS.

aws kms describe-key --key-id alias/aws/ssm

Tópicos relacionados

Para obter um exemplo de como criar e usar um parâmetro SecureString, consulte Crie um parâmetro SecureString e integre uma instância a um domínio (PowerShell). Para obter mais informações sobre como usar parâmetros do Systems Manager com outros serviços da AWS, consulte as seguintes publicações do blog: