지원 Amazon RDS 데이터베이스에 대한 보안 암호 교체 - AWS Secrets Manager

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

지원 Amazon RDS 데이터베이스에 대한 보안 암호 교체

Amazon RDS 데이터베이스에 대한 보안 암호를 자동으로 교체하도록 AWS Secrets Manager를 구성할 수 있습니다. Secrets Manager는 Secrets Manager가 제공하는 Lambda 함수를 사용합니다.

지원되는 Amazon RDS 데이터베이스

Secrets Manager에서 Amazon RDS 옵션의 목적상 지원되는 데이터베이스란 교체를 활성화할 때 Secrets Manager가 해당 데이터베이스용으로 설계되어 바로 실행될 수 있는 완전한 Lambda 교체 함수를 제공한다는 것을 의미합니다. 지원되는 데이터베이스의 전체 목록은 완전 구성 및 바로 사용할 수 있는 교체 지원 기능을 갖춘 데이터베이스 단원을 참조하십시오. 다른 데이터베이스 유형의 경우에도 보안 암호를 교체할 수 있습니다. 하지만 다른 데이터베이스에 대한 워크플로를 사용해야 합니다. 해당 지침은 다른 데이터베이스 또는 서비스에 대한 AWS Secrets Manager 보안 암호 교체 단원을 참조하십시오.

보안 암호 유형이 RDS 데이터베이스 자격 증명인 보안 암호에 대해 교체를 활성화하면 Secrets Manager에서는 자동으로 Lambda 교체 함수를 생성하고 구성합니다. 그런 다음 Secrets Manager는 해당 보안 암호에 함수의 Amazon 리소스 이름(ARN)을 추가합니다. Secrets Manager는 함수와 연결된 IAM 역할을 생성하고 모든 필수 권한이 있는 역할을 구성합니다. 또는 다른 보안 암호에 동일한 교체 전략을 사용하고 있으며 동일한 교체를 새로운 보안 암호에 사용하려는 경우, 기존 함수의 ARN을 지정하여 두 보안 암호에 모두 사용할 수 있습니다.

Amazon VPC에서 제공한 VPC에서 Amazon RDS DB 인스턴스를 실행하고 VPC에 퍼블릭 인터넷 액세스 권한이 없는 경우 Secrets Manager도 해당 VPC 내에서 실행되도록 Lambda 함수를 구성합니다. 또한 Secrets Manager에서는 Lambda 교체 함수가 필수 API 작업을 호출하기 위해 Secrets Manager 서비스 엔드포인트에 액세스할 수 있어야 합니다. VPC에 있는 하나 이상의 리소스가 인터넷과 통신해야 하는 경우 Lambda 교체 함수가 퍼블릭 Secrets Manager 서비스 엔드포인트를 쿼리할 수 있도록 NAT 게이트웨이를 사용하여 VPC를 구성할 수 있습니다. 인터넷과 통신해야 하는 다른 리소스가 없는 경우 VPC 내에서 액세스할 수 있는 프라이빗 Secrets Manager 서비스 엔드포인트를 통해 VPC를 구성할 수 있습니다.

그렇지 않은 경우 일반적으로 Lambda 함수를 구성하는 데 사용되는 템플릿을 결정하는 몇 가지 세부 정보만 제공하면 됩니다.

  • Specify the secret with credentials with permissions to rotate the secret(보안 암호를 교체할 권한이 있는 자격 증명을 가진 보안 암호 지정): 일부 경우 사용자가 암호를 변경할 수 있습니다. 그 외에는 사용자의 권한이 매우 제한되어 있으며 암호를 변경할 수 없습니다. 대신 다른 관리자 또는 "수퍼"유저에 대한 자격 증명을 사용하여 사용자의 자격 증명을 변경해야 합니다.

    교체 함수가 보안 데이터베이스에 대해 자격 증명을 교체하는 데 사용할 보안 암호를 지정해야 합니다.

    • 이 비밀 사용: 현재 보안 암호의 자격 증명에 데이터베이스의 암호를 변경할 권한이 있는 경우 이 옵션을 선택합니다. 이 옵션을 선택하면 Secrets Manager가 교체할 때마다 단일 사용자의 암호를 변경하는 교체 전략을 사용하는 Lambda 함수를 구현합니다. 교체 전략에 대한 자세한 정보는 암호를 하나만 사용하는 단일 사용자에 대해 AWS Secrets Manager 보안 암호 교체 단원을 참조하십시오.

      고려 사항

      Secrets Manager는 이를 "저가용성" 옵션으로 제공합니다. 교체로 인해 이전 암호가 제거된 시점과 업데이트된 암호를 새 버전의 보안 암호로 사용하여 액세스할 수 있는 시점 사이에 로그인 실패가 발생할 수 있습니다. 이 기간은 일반적으로 1초 이하로 매우 짧습니다. 이 옵션을 선택하는 경우 클라이언트 애플리케이션이 코드에서 적절한 "백오프 및 지터로 재시도" 전략을 구현하는지 확인합니다. 애플리케이션은 로그인이 더 오랜 시간에 걸쳐 여러 번 실패하는 경우에만 오류를 생성해야 합니다.

    • AWS Secrets Manager에 저장한 비밀 사용: 현재 보안 암호의 자격 증명에 제한적인 권한이 더 많거나 보안 서비스의 자격 증명을 업데이트하는 데 사용될 수 없는 경우에 이 옵션을 선택합니다. 또는 보안 암호의 고가용성이 필요한 경우에 이 옵션을 선택합니다. 이 옵션을 선택하려면 보안 서비스의 자격 증명을 생성하고 업데이트할 권한을 가진 자격 증명과 별도의 "마스터" 보안 암호를 생성합니다. 그런 다음 목록에서 마스터 보안 암호를 선택합니다. 이 옵션을 선택하면 Secrets Manager가 Lambda 함수를 구현합니다. 이 Lambda 함수에는 보안 암호에 있는 초기 사용자를 복제하는 교체 전략이 있습니다. 그런 다음 교체할 때마다 이 함수는 두 사용자 간에 교대하고 활성 상태인 사용자에 대한 암호를 업데이트합니다. 교체 전략에 대한 자세한 정보는 기존 사용자 2명 간에 전환하여 AWS Secrets Manager 보안 암호 교체 단원을 참조하십시오.

      고려 사항

      새 버전이 준비되고 테스트되는 동안 이전 버전의 보안 암호가 계속 작동하고 서비스 요청을 처리하기 때문에 Secrets Manager는 이 옵션을 “고가용성” 옵션으로 제공합니다. Secrets Manager는 클라이언트가 새 버전으로 전환할 때까지 이전 버전을 사용 중지하지 않습니다. 버전이 변경되는 동안 가동이 중지되지 않습니다.

      이 옵션을 사용하려면 Lambda 함수가 원래 사용자의 권한을 복제하고 새 사용자에게 적용해야 합니다. 이 함수는 매 교체 시마다 두 사용자 간에 교대로 적용됩니다.

      사용자에게 부여된 권한을 변경해야 하는 경우 두 사용자의 권한을 변경해야 합니다.

  • 함수 사용자 지정: 조직의 요구 사항을 충족하도록 Secrets Manager에서 제공하는 Lambda 교체 함수를 맞춤 지정할 수 있습니다. 예를 들어 함수의 testSecret 단계를 확장하여 애플리케이션 특정 검사로 새 버전을 테스트하고 새 보안 암호가 예상대로 작동하는지 확인할 수 있습니다. 지침은 보안 암호 관리자가 제공한 Lambda 교체 함수 사용자 지정을 참조하십시오.