Este é o Guia do Desenvolvedor AWS CDK v2. O CDK v1 antigo entrou em manutenção em 1º de junho de 2022 e encerrou o suporte em 1º de junho de 2023.
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Eles AWS Cloud Development Kit (AWS CDK) podem recuperar o valor dos atributos do AWS Systems Manager Parameter Store. Durante a síntese, AWS CDK produz um token que é resolvido AWS CloudFormation durante a implantação.
O AWS CDK suporta a recuperação de valores simples e seguros. Você pode solicitar uma versão específica de qualquer tipo de valor. Para valores simples, você pode omitir a versão da sua solicitação para recuperar a versão mais recente. Para valores seguros, você deve especificar a versão ao solicitar o valor do atributo seguro.
nota
Este tópico mostra como ler atributos do AWS Systems Manager Parameter Store. Você também pode ler os segredos do AWS Secrets Manager (consulte Obtenha um valor de AWS Secrets Manager).
Tópicos
Leia os valores do Systems Manager no momento da implantação
Para ler valores do Systems Manager Parameter Store, use o valueForStringparâmetro e valueForSecureStringParameteros métodos. Escolha um método com base no fato de o atributo que você deseja ser uma string simples ou um valor de string seguro. Esses métodos retornam tokens, não o valor real. O valor é resolvido AWS CloudFormation durante a implantação. Veja um exemplo a seguir:
import * as ssm from 'aws-cdk-lib/aws-ssm';
// Get latest version or specified version of plain string attribute
const latestStringToken = ssm.StringParameter.valueForStringParameter(
this, 'my-plain-parameter-name'); // latest version
const versionOfStringToken = ssm.StringParameter.valueForStringParameter(
this, 'my-plain-parameter-name', 1); // version 1
// Get specified version of secure string attribute
const secureStringToken = ssm.StringParameter.valueForSecureStringParameter(
this, 'my-secure-parameter-name', 1); // must specify version
Atualmente, um número limitado de AWS serviços oferece suporte a esse recurso.
Leia os valores do Systems Manager no momento da síntese
Às vezes, é útil fornecer um parâmetro no momento da síntese. Ao fazer isso, o AWS CloudFormation modelo sempre usará o mesmo valor em vez de resolver o valor durante a implantação.
Para ler um valor do Systems Manager Parameter Store no momento da síntese, use o valueFromLookupmétodo (Python:value_from_lookup
). Esse método retorna o valor real do parâmetro como um valor Valores de contexto e o AWS CDK. Se o valor ainda não estiver armazenado em cache cdk.json
ou passado na linha de comando, ele será recuperado da conta atual AWS . Por esse motivo, a pilha deve ser sintetizada com informações explícitas AWS do ambiente.
Veja um exemplo a seguir:
import * as ssm from 'aws-cdk-lib/aws-ssm';
const stringValue = ssm.StringParameter.valueFromLookup(this, 'my-plain-parameter-name');
Somente strings simples do Systems Manager podem ser recuperadas. Não é possível recuperar strings seguras. A versão mais recente sempre será devolvida. Não é possível solicitar versões específicas.
Importante
O valor recuperado terminará em seu modelo sintetizado AWS CloudFormation . Isso pode ser um risco de segurança, dependendo de quem tem acesso aos seus AWS CloudFormation modelos e do tipo de valor que eles representam. Geralmente, não use esse atributo para senhas, chaves ou outros valores que você queira manter privados.
Gravar valores no Systems Manager
Você pode usar a AWS CLI, a ou um AWS SDK para definir os AWS Management Console valores dos parâmetros do Systems Manager. Os exemplos a seguir usam o comando SSM put-parameter do CLI.
aws ssm put-parameter --name "parameter-name" --type "String" --value "parameter-value" aws ssm put-parameter --name "secure-parameter-name" --type "SecureString" --value "secure-parameter-value"
Ao atualizar um valor de SSM que já existe, inclua também a opção --overwrite
.
aws ssm put-parameter --overwrite --name "parameter-name" --type "String" --value "parameter-value" aws ssm put-parameter --overwrite --name "secure-parameter-name" --type "SecureString" --value "secure-parameter-value"