Criar um parâmetro Systems ManagerAWS CLI) - AWS Systems Manager

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

Criar um parâmetro Systems ManagerAWS CLI)

Você pode usar a AWS Command Line Interface (AWS CLI) para criar os tipos de String parâmetro StringList, SecureStringe .

nota

Parâmetros só estão disponíveis na região da AWS em que foram criados.

Os parâmetros não podem ser referenciados nem aninhados nos valores de outros parâmetros. Não é possível incluir {{}} nem {{ssm:parameter-name}} em um valor de parâmetro.

Criar um String parâmetro (AWS CLI)

  1. Instale e configure a AWS CLI, caso ainda não o tenha feito.

    Para informações, consulte Instalar ou atualizar ferramentas de linha de comando da AWS.

  2. Execute o comando a seguir para criar um parâmetro Stringdo tipo .

    Linux
    aws ssm put-parameter \ --name "parameter-name" \ --value "parameter-value" \ --type String \ --tags "Key=tag-key,Value=tag-value"
    Windows
    aws ssm put-parameter ^ --name "parameter-name" ^ --value "parameter-value" ^ --type String ^ --tags "Key=tag-key,Value=tag-value"

    -ou-

    Execute o seguinte comando para criar um parâmetro que contenha um ID da imagem de máquina da Amazon (AMI) como o valor do parâmetro.

    Linux
    aws ssm put-parameter \ --name "parameter-name" \ --value "an-AMI-id" \ --type String \ --data-type "aws:ec2:image" \ --tags "Key=tag-key,Value=tag-value"
    Windows
    aws ssm put-parameter ^ --name "parameter-name" ^ --value "an-AMI-id" ^ --type String ^ --data-type "aws:ec2:image" ^ --tags "Key=tag-key,Value=tag-value"

    A opção --name oferece suporte a hierarquias. Para obter informações sobre hierarquias, consulte Trabalhar com hierarquias de parâmetros.

    A opção --data-type deverá ser especificada somente se você estiver criando um parâmetro que contenha um ID de AMI. Ela valida que o valor do parâmetro inserido é um ID de AMI do Amazon Elastic Compute Cloud (Amazon EC2) formatado corretamente. Para todos os outros parâmetros, o tipo de dados padrão é text e é opcional especificar um valor. Para obter mais informações, consulte Suporte a parâmetro nativo para imagem de máquina da Amazon IDs.

    Importante

    Se for bem-sucedido, o comando retornará o número da versão do parâmetro. Exceção: se você tiver especificado aws:ec2:image como o tipo de dados, um novo número de versão na resposta não significa que o valor do parâmetro tenha sido validado ainda. Para obter mais informações, consulte Suporte a parâmetro nativo para imagem de máquina da Amazon IDs.

    O exemplo a seguir adiciona duas tags de par de chave-valor a um parâmetro.

    Linux
    aws ssm put-parameter \ --name parameter-name \ --value "parameter-value" \ --type "String" \ --tags '[{"Key":"Region","Value":"East"},{"Key":"Environment", "Value":"Production"}]'
    Windows
    aws ssm put-parameter ^ --name parameter-name ^ --value "parameter-value" ^ --type "String" ^ --tags [{\"Key\":\"Region1\",\"Value\":\"East1\"},{\"Key\":\"Environment1\",\"Value\":\"Production1\"}]

    O exemplo a seguir usa uma hierarquia de parâmetros no nome para criar um String parâmetro de texto simples. Ele retorna o número da versão do parâmetro. Para obter mais informações sobre hierarquias de parâmetros, consulte Trabalhar com hierarquias de parâmetros.

    Linux

    Parâmetro não em uma hierarquia

    aws ssm put-parameter \ --name "golden-ami" \ --type "String" \ --value "ami-12345abcdeEXAMPLE"

    Parâmetro em uma hierarquia

    aws ssm put-parameter \ --name "\amis\linux\golden-ami" \ --type "String" \ --value "ami-12345abcdeEXAMPLE"
    Windows

    Parâmetro não em uma hierarquia

    aws ssm put-parameter ^ --name "golden-ami" ^ --type "String" ^ --value "ami-12345abcdeEXAMPLE"

    Parâmetro em uma hierarquia

    aws ssm put-parameter ^ --name "\amis\windows\golden-ami" ^ --type "String" ^ --value "ami-12345abcdeEXAMPLE"
  3. Execute o comando a seguir para visualizar o valor do parâmetro mais recente e verificar os detalhes do novo parâmetro.

    aws ssm get-parameters --names "/Test/IAD/helloWorld"

    O sistema retorna informações como as seguintes.

    {
        "InvalidParameters": [],
        "Parameters": [
            {            
                "Name": "/Test/IAD/helloWorld",
                "Type": "String",
                "Value": "My updated parameter value",
                "Version": 2,
                "LastModifiedDate": "2020-02-25T15:55:33.677000-08:00",
                "ARN": "arn:aws:ssm:us-east-2:123456789012:parameter/Test/IAD/helloWorld"
                
            }
        ]
    }

Execute o seguinte comando para alterar o valor do parâmetro. Ele retorna o número da versão do parâmetro.

aws ssm put-parameter --name "/Test/IAD/helloWorld" --value "My updated 1st parameter" --type String --overwrite

Execute o seguinte comando para visualizar o histórico de valores de parâmetros.

aws ssm get-parameter-history --name "/Test/IAD/helloWorld"

Execute o seguinte comando para usar esse parâmetro em um comando do

aws ssm send-command --document-name "AWS-RunShellScript" --parameters '{"commands":["echo {{ssm:/Test/IAD/helloWorld}}"]}' --targets "Key=instanceids,Values=instance-ids"

Execute o comando a seguir se quiser recuperar apenas o parâmetro Value.

aws ssm get-parameter --name testDataTypeParameter --query "Parameter.Value"

Execute o comando a seguir se quiser recuperar apenas o parâmetro Value (Valor) usando get-parameters.

aws ssm get-parameters --names "testDataTypeParameter" --query "Parameters[*].Value"

Execute o seguinte comando para visualizar os metadados de parâmetros.

aws ssm describe-parameters --filters "Key=Name,Values=/Test/IAD/helloWorld"
nota

Name deve estar em maiúscula.

O sistema retorna informações como as seguintes.

{
    "Parameters": [
        {
            "Name": "helloworld",
            "Type": "String",
            "LastModifiedUser": "arn:aws:iam::123456789012:user/user-name",
            "LastModifiedDate": 1494529763.156,
            "Version": 1,
            "Tier": "Standard",
            "Policies": []           
        }
    ]
}

Criar um StringList parâmetro (AWS CLI)

  1. Instale e configure a AWS CLI, caso ainda não o tenha feito.

    Para informações, consulte Instalar ou atualizar ferramentas de linha de comando da AWS.

  2. Execute o seguinte comando para criar um parâmetro.

    Linux
    aws ssm put-parameter \ --name "parameter-name" \ --value "a-comma-separated-list-of-values" \ --type StringList \ --tags "Key=tag-key,Value=tag-value"
    Windows
    aws ssm put-parameter ^ --name "parameter-name" ^ --value "a-comma-separated-list-of-values" ^ --type StringList ^ --tags "Key=tag-key,Value=tag-value"
    nota

    Se for bem-sucedido, o comando retornará o número da versão do parâmetro.

    Este exemplo adiciona duas tags de par de chave-valor a um parâmetro. (Dependendo do tipo de sistema operacional em sua máquina local, execute um dos comandos a seguir. A versão a ser executada em uma máquina Windows local inclui os caracteres de escape ("\\") necessários para executar o comando na sua ferramenta de linha de comando.)

    Veja um StringList de exemplo que usa uma hierarquia de parâmetros.

    Linux
    aws ssm put-parameter \ --name /IAD/ERP/Oracle/addUsers \ --value "Milana,Mariana,Mark,Miguel" \ --type StringList
    Windows
    aws ssm put-parameter ^ --name /IAD/ERP/Oracle/addUsers ^ --value "Milana,Mariana,Mark,Miguel" ^ --type StringList
    nota

    Os itens em uma StringList devem ser separados por uma vírgula (,). Não é possível usar outros sinais de pontuação ou caracteres especiais para inserir um caractere de escape para os itens da lista. Se você tiver um valor de parâmetro que requer uma vírgula, use o tipo String

  3. Execute o comando get-parameters para verificar os detalhes do parâmetro. Por exemplo:

    aws ssm get-parameters --name "/IAD/ERP/Oracle/addUsers"

Criar um SecureString parâmetro (AWS CLI)

Use o procedimento a seguir para criar um parâmetro SecureString

Importante

Somente o valor de um parâmetro SecureString é criptografado. Nomes de parâmetro, descrições e outras propriedades não são criptografados.

  1. Instale e configure a AWS CLI, caso ainda não o tenha feito.

    Para informações, consulte Instalar ou atualizar ferramentas de linha de comando da AWS.

  2. Execute um dos seguintes comandos para criar um parâmetro que usa o tipo SecureString de dados .

    Linux

    Criar um SecureString parâmetro usando a chave AWS gerenciada padrão do

    aws ssm put-parameter \ --name "parameter-name" \ --value "parameter-value" \ --type "SecureString"

    Criar um parâmetro SecureString que use uma chave mestra de cliente (CMK) gerenciada pelo cliente

    aws ssm put-parameter \ --name "parameter-name" \ --value "a-parameter-value, for example P@ssW%rd#1" \ --type "SecureString" --tags "Key=tag-key,Value=tag-value"

    Criar um SecureString parâmetro que usa uma AWS KMS chave personalizada

    aws ssm put-parameter \ --name "parameter-name" \ --value "a-parameter-value, for example P@ssW%rd#1" \ --type "SecureString" \ --key-id "your-AWS-user-account-ID/the-custom-AWS KMS-key" \ --tags "Key=tag-key,Value=tag-value"
    Windows

    Criar um SecureString parâmetro usando a chave AWS gerenciada padrão do

    aws ssm put-parameter ^ --name "parameter-name" ^ --value "parameter-value" ^ --type "SecureString"

    Criar um parâmetro SecureString que use uma chave mestra de cliente (CMK) gerenciada pelo cliente

    aws ssm put-parameter ^ --name "parameter-name" ^ --value "a-parameter-value, for example P@ssW%rd#1" ^ --type "SecureString" ^ --tags "Key=tag-key,Value=tag-value"

    Criar um SecureString parâmetro que usa uma AWS KMS chave personalizada

    aws ssm put-parameter ^ --name "parameter-name" ^ --value "a-parameter-value, for example P@ssW%rd#1" ^ --type "SecureString" ^ --key-id " ^ --tags "Key=tag-key,Value=tag-value"your-AWS-user-account-ID/the-custom-AWS KMS-key"

    Se você criar um SecureString parâmetro usando a AWS chave AWS KMSgerenciada pela em sua conta e região, não será necessário fornecer um valor para o --key-id parâmetro .

    nota

    Para usar a chave mestra do cliente (CMK) do AWS Key Management Service (KMS) atribuída à sua conta e região, remova o key-id parâmetro do comando. Para obter mais informações sobre o CMKs, consulte Conceitos do AWS Key Management Service no AWS Key Management Service Developer Guide.

    Para usar uma CMK gerenciada pelo cliente, em vez da CMK gerenciada pela AWS atribuída à sua conta, você deve especificar a chave usando o parâmetro --key-id O parâmetro oferece suporte aos seguintes formatos de parâmetros do KMS.

    • Exemplo de ARN principal:

      arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012

    • Exemplo de ARN alias:

      arn:aws:kms:us-east-2:123456789012:alias/MyAliasName

    • Exemplo de ID de chave:

      12345678-1234-1234-1234-123456789012

    • Exemplo de nome de alias:

      alias/MyAliasName

    Você pode criar uma CMK gerenciada pelo cliente usando o Console de gerenciamento da AWS ou a API do AWS KMS Os seguintes comandos da AWS CLI criam uma chave gerenciada pelo cliente na região atual da sua conta da AWS

    aws kms create-key

    Use um comando no seguinte formato para criar um parâmetro SecureString usando a chave que você acabou de criar.

    O exemplo a seguir usa um nome ofuscado (3l3vat3131) para um parâmetro de senha e uma CMK.

    Linux
    aws ssm put-parameter \ --name /Finance/Payroll/3l3vat3131 \ --value "P@sSwW)rd" \ --type SecureString \ --key-id arn:aws:kms:us-east-2:123456789012:key/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e
    Windows
    aws ssm put-parameter ^ --name /Finance/Payroll/3l3vat3131 ^ --value "P@sSwW)rd" ^ --type SecureString ^ --key-id arn:aws:kms:us-east-2:123456789012:key/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e
  3. Execute o seguinte comando para verificar os detalhes do parâmetro.

    Linux
    aws ssm get-parameters \ --name "the-parameter-name-you-specified" \ --with-decryption
    Windows
    aws ssm get-parameters ^ --name "the-parameter-name-you-specified" ^ --with-decryption
    nota

    Se você não especificar o parâmetro with-decryption ou se especificar o parâmetro no-with-decryption, o comando retornará um GUID criptografado.

  4. Execute o seguinte comando para visualizar os metadados de parâmetros.

    Linux
    aws ssm describe-parameters \ --filters "Key=Name,Values=the-name-that-you-specified"
    Windows
    aws ssm describe-parameters ^ --filters "Key=Name,Values=the-name-that-you-specified"
  5. Execute o seguinte comando para alterar o valor do parâmetro se você não estiver usando uma chave mestra de cliente (CMK) gerenciada pelo cliente.

    Linux
    aws ssm put-parameter \ --name "the-name-that-you-specified" \ --value "a-new-parameter-value" \ --type "SecureString" \ --overwrite
    Windows
    aws ssm put-parameter ^ --name "the-name-that-you-specified" ^ --value "a-new-parameter-value" ^ --type "SecureString" ^ --overwrite

    -ou-

    Execute um dos seguintes comandos para alterar o valor do parâmetro se estiver usando uma chave mestra de cliente (CMK) gerenciada pelo cliente.

    Linux
    aws ssm put-parameter \ --name "the-name-that-you-specified" \ --value "a-new-parameter-value" \ --type "SecureString" \ --key-id "the-CMK-ID" \ --overwrite
    aws ssm put-parameter \ --name "the-name-that-you-specified" \ --value "a-new-parameter-value" \ --type "SecureString" \ --key-id "your-AWS-user-account-alias/the-CMK-ID" \ --overwrite
    Windows
    aws ssm put-parameter ^ --name "the-name-that-you-specified" ^ --value "a-new-parameter-value" ^ --type "SecureString" ^ --key-id "the-CMK-ID" ^ --overwrite
    aws ssm put-parameter ^ --name "the-name-that-you-specified" ^ --value "a-new-parameter-value" ^ --type "SecureString" ^ --key-id "your-AWS-user-account-alias/the-CMK-ID" ^ --overwrite
  6. Execute o seguinte comando para visualizar o valor do parâmetro mais recente.

    Linux
    aws ssm get-parameters \ --name "the-name-that-you-specified" \ --with-decryption
    Windows
    aws ssm get-parameters ^ --name "the-name-that-you-specified" ^ --with-decryption
  7. Execute o seguinte comando para visualizar o histórico de valores de parâmetros.

    Linux
    aws ssm get-parameter-history \ --name "the-name-that-you-specified"
    Windows
    aws ssm get-parameter-history ^ --name "the-name-that-you-specified"
nota

Você pode criar manualmente um parâmetro com um valor criptografado. Nesse caso, como o valor já está criptografado, não é necessário escolher o tipo de parâmetro SecureString Se você escolher SecureString, seu parâmetro será duplamente criptografado.

Por padrão, todos os valores de SecureString são exibidos como texto cifrado. Para descriptografar um SecureString valor, um usuário deve ter permissão para chamar a ação de API Decrypt do KMS. Para obter informações sobre como configurar o controle de acesso do KMS, consulte Autenticação e controle de acesso para o AWS KMS no AWS Key Management Service Developer Guide.

Criar um parâmetro de várias linhas (AWS CLI)

Você pode usar a AWS CLI para criar um parâmetro com quebras de linha. A adição de quebras de linha permite dividir o texto em valores de parâmetro mais longos para obter melhor legibilidade ou, por exemplo, atualizar com mais facilidade o conteúdo de parâmetro de vários parágrafos para uma página da web. Você pode incluir o conteúdo em um arquivo JSON e usar a --cli-input-json opção , usando caracteres de quebra de linha como /n, conforme mostrado no exemplo a seguir.

  1. Instale e configure a AWS CLI, caso ainda não o tenha feito.

    Para informações, consulte Instalar ou atualizar ferramentas de linha de comando da AWS.

  2. Execute o comando a seguir para criar um parâmetro de várias linhas.

    Linux
    aws ssm put-parameter \ --name "MultiLineParameter" \ --type String \ --cli-input-json file://MultiLineParameter.json
    Windows
    aws ssm put-parameter ^ --name "MultiLineParameter" ^ --type String ^ --cli-input-json file://MultiLineParameter.json

    O exemplo a seguir mostra o conteúdo de um arquivoMultiLineParameter.json.

    { "Value": "<para>Paragraph One</para>\n<para>Paragraph Two</para>\n<para>Paragraph Three</para>" }

O valor do parâmetro salvo é armazenado da seguinte forma.

<para>Paragraph One</para>
<para>Paragraph Two</para>
<para>Paragraph Three</para>