Configurando AWS Secrets Manager - AWS Orientação prescritiva

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 AWS Secrets Manager

AWS Secrets Manager ajuda a proteger os segredos de que você precisa para acessar seus aplicativos, serviços e recursos de TI. O serviço armazena, gerencia, criptografa e alterna com segurança as credenciais, API chaves e outros segredos do banco de dados, incluindo OAuth tokens, e fornece integração nativa com o Amazon Relational Database Service (Amazon)RDS, o Amazon Redshift e o Amazon DocumentDB. Usuários e aplicativos recuperam segredos chamando o Secrets ManagerAPIs, o que elimina a necessidade de codificar informações confidenciais em texto simples. O Secrets Manager inclui permissões de controle de acesso refinadas e fornece um local centralizado para auditar a rotação de segredos em Nuvem AWS ambientes locais e de terceiros.

Pré-requisitos para usar o Secrets Manager com o. NETAplicativos de estrutura

  • Um ativo Conta da AWS

  • Microsoft Visual Studio, instalado

  • AWS Command Line Interface (AWS CLI) versão 2, instalada e configurada para acessar seu Conta da AWS (veja as instruções)

  • AWS Toolkit for Visual Studio, configurado (veja as instruções)

  • Um segredo, criado e recuperado usando o console Secrets Manager ou o AWS CLI (veja as instruções)

Exemplo

Para acessar segredos do Secrets Manager noASP. NETWeb principal API (. NET6):

  1. Adicione o seguinte NuGet pacote aoASP. NETWeb principalAPI.

    AWSSDK.SecretsManager.Caching
  2. No Program.cs arquivo, faça as seguintes alterações.

    • Adicione o Amazon.SecretsManager namespace (1).

      using Amazon.SecretsManager;
    • Registre o serviço (2).

      builder.Services.AddScoped<IAmazonSecretsManager>(x => new AmazonSecretsManagerClient(RegionEndpoint.EUWest2) );
    Alterações no arquivo Program.cs para acessar o Secrets Manager
  3. Para recuperar os segredos do Secrets Manager, faça as seguintes alterações no arquivo da classe do controlador (por exemplo,ValuesController.cs).

    • Adicione o construtor (1).

      private readonly IAmazonSecretsManager _secretsManager; public SecretsController(IAmazonSecretsManager secretsManager) { _secretsManager = secretsManager; }
    • Implemente o GetSecret método (2).

      string secretName = "arn:aws:secretsmanager:eu-west-2:111122223333:secret:dev/myapp/tenant-gSj6qd"; GetSecretValueRequest request = new GetSecretValueRequest(); request.SecretId = secretName; request.VersionStage = "AWSCURRENT"; Task<GetSecretValueResponse> response = _secretsManager.GetSecretValueAsync(request); return Ok(new { Secret = response.Result.SecretString });

      onde 111122223333 se refere ao ID da conta.

    Alterações no arquivo da classe do controlador para recuperar segredos do Secrets Manager
    nota

    secretNamerefere-se ao nome ou Amazon Resource Name (ARN) do segredo. Depois que um segredo é criado, esse valor pode ser recuperado no console do Secrets Manager. Você deve chamar secretName dinamicamente ou a partir de variáveis de ambiente. Não codifique esse valor em ambientes de produção.