

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

# Configurando o Parameter Store
<a name="configure-store"></a>

O Parameter Store é uma capacidade de 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, cadeias de banco de dados, Amazon Machine Image (AMI) IDs e códigos de licença como valores de parâmetros. 

## Pré-requisitos para usar o Parameter Store com aplicativos.NET Framework
<a name="configure-store-prereq"></a>
+ Um ativo Conta da AWS
+ [Microsoft Visual Studio](https://visualstudio.microsoft.com/downloads/), instalado
+ AWS Command Line Interface (AWS CLI) versão 2, instalada e configurada para acessar seu Conta da AWS (veja [as instruções](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html))
+ AWS Toolkit for Visual Studio, configurado (veja [as instruções](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/setup.html))
+ Um parâmetro do Systems Manager, criado usando o [console Secrets Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-create-console.html) ou o [AWS CLI](https://docs.aws.amazon.com/systems-manager/latest/userguide/param-create-cli.html)

## Exemplo
<a name="configure-store-example"></a>

Para recuperar valores do Parameter Store nos aplicativos Web ou na API do ASP.NET Core:

1. Adicione o NuGet pacote a seguir à API web do ASP.NET Core.

   ```
   Amazon.Extensions.Configuration.SystemsManager
   ```

1. No `Program.cs` arquivo, faça as seguintes alterações.
   + Adicione `using` declarações (1).

     ```
     using Amazon;
     using Amazon.Extensions.NETCore.Setup;
     ```
   + Adicione a AWS Systems Manager configuração (2).

     ```
     builder.Configuration.AddSystemsManager("/dev/myapp", new AWSOptions
     {
         Region = RegionEndpoint.EUWest2
     });
     ```  
![\[Alterações no arquivo Program.cs para acessar o Parameter Store\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/modernization-net-applications-security/images/ps-program-cs.png)
**nota**  
Você deve chamar os `RegionEndPoint` parâmetros `/myapp/dev` e dinamicamente ou a partir das variáveis de ambiente (`Region = RegionEndpoint.GetBySystemName("eu-west-2")`). Não codifique esses valores em ambientes de produção.

1. Crie um novo arquivo de classe e dê um nome a ele`ParameterOptions.cs`. Abra o arquivo e adicione o código a seguir.

   ```
   public class ParameterOptions
       {
           public const string ParameterName = "Tenant";
           public string key1 { get; set; } = string.Empty;
           public string key2 { get; set; } = string.Empty;
       }
   ```

1. Para recuperar os valores do Parameter Store, faça as seguintes alterações no arquivo da classe do controlador (por exemplo,`ValuesController.cs`). 
   + Adicione o construtor (1).

     ```
     private readonly IConfiguration _configuration;
     public ParametersController(IConfiguration configuration)
     {
         _configuration = configuration;
     }
     ```
   + Recupere os valores do Parameter Store (2).

     ```
     var parameterOptions = new ParameterOptions();
     _configuration.GetSection(ParameterOptions.ParameterName).Bind(parameterOptions);
     
     return new string[] {
         parameterOptions.key1,
         parameterOptions.key2
     };
     ```  
![\[Alterações no arquivo da classe do controlador para recuperar valores do Parameter Store\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/modernization-net-applications-security/images/ps-controller-class.png)

## Recursos
<a name="configure-store-resources"></a>
+ [AWS Secrets Manager Funções Lambda de rotação (repositório](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas)) GitHub 
+ [AWS Extensão de configuração.NET para Systems Manager, pasta Samples](https://github.com/aws/aws-dotnet-extensions-configuration/tree/master/samples/Samples) (GitHubrepositório)
+ [Como usar o cache do lado do cliente do Secrets Manager em .NET](https://aws.amazon.com/blogs/security/how-to-use-aws-secrets-manager-client-side-caching-in-dotnet/) (AWS blog de segurança)