

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configuración del almacén de parámetros
<a name="configure-store"></a>

El almacén de parámetros es una capacidad de AWS Systems Manager. Proporciona un almacenamiento seguro y jerárquico para administrar los datos de configuración y los secretos. Puede almacenar datos como contraseñas, cadenas de bases de datos, Amazon Machine Image (AMI) IDs y códigos de licencia como valores de parámetros. 

## Requisitos previos para usar Parameter Store con aplicaciones de.NET Framework
<a name="configure-store-prereq"></a>
+ Un activo Cuenta de AWS
+ [Microsoft Visual Studio](https://visualstudio.microsoft.com/downloads/), instalado
+ AWS Command Line Interface (AWS CLI) versión 2, instalada y configurada para acceder a su Cuenta de AWS (consulte [las instrucciones](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html))
+ AWS Toolkit for Visual Studio, configurado (consulte [las instrucciones](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/setup.html))
+ Un parámetro de Systems Manager, creado mediante la [consola Secrets Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-create-console.html) o el [AWS CLI](https://docs.aws.amazon.com/systems-manager/latest/userguide/param-create-cli.html)

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

Para recuperar valores del almacén de parámetros en las aplicaciones web o la API de ASP.NET Core:

1. Agregue el siguiente NuGet paquete a la API web de ASP.NET Core.

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

1. En el `Program.cs` archivo, realice los siguientes cambios.
   + Añada `using` declaraciones (1).

     ```
     using Amazon;
     using Amazon.Extensions.NETCore.Setup;
     ```
   + Añada la AWS Systems Manager configuración (2).

     ```
     builder.Configuration.AddSystemsManager("/dev/myapp", new AWSOptions
     {
         Region = RegionEndpoint.EUWest2
     });
     ```  
![\[Cambios en el archivo Program.cs para acceder al almacén de parámetros\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/modernization-net-applications-security/images/ps-program-cs.png)
**nota**  
Debe llamar a los `RegionEndPoint` parámetros `/myapp/dev` y de forma dinámica o desde las variables de entorno (`Region = RegionEndpoint.GetBySystemName("eu-west-2")`). No codifique estos valores en entornos de producción.

1. Cree un nuevo archivo de clases y asígnele un nombre. `ParameterOptions.cs` Abre el archivo y añade el siguiente código.

   ```
   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 los valores del almacén de parámetros, realice los siguientes cambios en el archivo de clases del controlador (por ejemplo,`ValuesController.cs`). 
   + Añada el constructor (1).

     ```
     private readonly IConfiguration _configuration;
     public ParametersController(IConfiguration configuration)
     {
         _configuration = configuration;
     }
     ```
   + Recupere los valores del almacén de parámetros (2).

     ```
     var parameterOptions = new ParameterOptions();
     _configuration.GetSection(ParameterOptions.ParameterName).Bind(parameterOptions);
     
     return new string[] {
         parameterOptions.key1,
         parameterOptions.key2
     };
     ```  
![\[Cambios en el archivo de clases del controlador para recuperar los valores del almacén de parámetros\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/modernization-net-applications-security/images/ps-controller-class.png)

## Recursos
<a name="configure-store-resources"></a>
+ [AWS Secrets Manager Funciones Lambda de Rotación (repositorio](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas)) GitHub 
+ [AWS Extensión de configuración.NET para Systems Manager, carpeta de muestras](https://github.com/aws/aws-dotnet-extensions-configuration/tree/master/samples/Samples) (GitHubrepositorio)
+ [Cómo utilizar el almacenamiento en caché del lado del cliente de Secrets Manager en .NET](https://aws.amazon.com/blogs/security/how-to-use-aws-secrets-manager-client-side-caching-in-dotnet/) (AWS blog de seguridad)