구성 AWS Secrets Manager - AWS 규범적 지침

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

구성 AWS Secrets Manager

AWS Secrets Manager 애플리케이션, 서비스 및 IT 리소스에 액세스하는 데 필요한 비밀을 보호하는 데 도움이 됩니다. 이 서비스는 데이터베이스 자격 증명, API 키 및 기타 암호 (OAuth토큰 포함) 를 안전하게 저장, 관리, 암호화 및 교체하고 Amazon Relational Database Service (Amazon), Amazon Redshift 및 RDS Amazon DocumentDB와 기본적으로 통합됩니다. 사용자와 애플리케이션은 Secrets APIs Manager를 호출하여 보안 정보를 검색하므로 민감한 정보를 일반 텍스트로 하드코딩할 필요가 없습니다. Secrets Manager는 세분화된 액세스 제어 권한을 포함하며 온-프레미스 및 타사 환경에서의 AWS 클라우드비밀 회전을 감사할 수 있는 중앙 위치를 제공합니다.

Secrets Manager를 와 함께 사용하기 위한 사전 요구 사항 NET프레임워크 애플리케이션

  • 액티브 AWS 계정

  • 마이크로소프트 비주얼 스튜디오, 설치

  • AWS Command Line Interface (AWS CLI) 버전 2, 사용자 버전에 액세스하도록 설치 및 구성된 버전 2 AWS 계정 (지침 참조)

  • AWS Toolkit for Visual Studio, 구성 (지침 참조)

  • Secrets Manager 콘솔 또는 AWS CLI (지침 참조) 을 사용하여 생성 및 검색한 시크릿

Secrets Manager의 비밀에 액세스하려면 에서 확인하십시오ASP. NET코어 웹 API (. NET6):

  1. 에 다음 NuGet 패키지를 추가합니다ASP. NET코어 웹API.

    AWSSDK.SecretsManager.Caching
  2. Program.cs파일에서 다음과 같이 변경합니다.

    • Amazon.SecretsManager네임스페이스 (1) 를 추가합니다.

      using Amazon.SecretsManager;
    • 서비스 등록 (2).

      builder.Services.AddScoped<IAmazonSecretsManager>(x => new AmazonSecretsManagerClient(RegionEndpoint.EUWest2) );
    Secrets Manager에 액세스하기 위한 Program.cs 파일 변경
  3. Secrets Manager에서 암호를 검색하려면 컨트롤러 클래스 파일 (예:ValuesController.cs) 을 다음과 같이 변경합니다.

    • 생성자 (1) 를 추가합니다.

      private readonly IAmazonSecretsManager _secretsManager; public SecretsController(IAmazonSecretsManager secretsManager) { _secretsManager = secretsManager; }
    • GetSecret메서드 (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 });

      여기서 111122223333은 계정 ID를 나타냅니다.

    Secrets Manager에서 시크릿을 검색하기 위한 컨트롤러 클래스 파일 변경
    참고

    secretName비밀의 이름 또는 Amazon 리소스 이름 (ARN) 을 나타냅니다. 시크릿이 생성된 후 Secrets Manager 콘솔에서 이 값을 검색할 수 있습니다. secretName동적으로 호출하거나 환경 변수에서 호출해야 합니다. 프로덕션 환경에서는 이 값을 하드코딩하지 마십시오.