쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

AWS Secrets Manager에서 RDS 프록시용 데이터베이스 자격 증명 설정

포커스 모드
AWS Secrets Manager에서 RDS 프록시용 데이터베이스 자격 증명 설정 - Amazon Relational Database Service

Amazon RDS의 RDS 프록시는 AWS Secrets Manager를 사용하여 데이터베이스 자격 증명을 안전하게 저장하고 관리합니다. 애플리케이션에 임베딩 자격 증명을 포함하는 대신 프록시를 필요한 인증 세부 정보가 포함된 Secrets Manager 보안 암호와 연결합니다. 프록시가 RDS DB 인스턴스에서 연결하는 각 데이터베이스 사용자 계정에 대해 별도의 Secrets Manager 암호를 만듭니다.

RDS 프록시에 사용할 보안 암호 만들기

프록시를 만들기 전에 데이터베이스 자격 증명을 저장하는 보안 암호를 최소 하나 이상 만들어야 합니다.

보안 암호 생성
  1. https://console.aws.amazon.com/secretsmanager/에서 Secrets Manager 콘솔을 엽니다.

  2. Store a new secret(새 보안 암호 저장)을 선택합니다.

  3. Amazon RDS 데이터베이스에 대한 자격 증명을 선택합니다.

  4. 사용자 이름과 암호를 입력합니다. 입력한 자격 증명은 연결된 RDS 데이터베이스에 있는 데이터베이스 사용자의 자격 증명과 일치해야 합니다. RDS 프록시는 이러한 자격 증명을 사용하여 애플리케이션 대신 데이터베이스에 대한 연결을 인증하고 설정합니다.

    일치하지 않는 경우 데이터베이스 암호와 일치하도록 보안 암호를 업데이트할 수 있습니다. 보안 암호를 업데이트할 때까지는 해당 보안 암호를 사용하여 프록시를 통해 연결을 시도하는 작업이 실패할 것이지만, 다른 유효한 보안 암호를 사용하는 연결은 여전히 작동합니다.

    참고

    RDS for SQL Server의 경우 RDS 프록시에는 DB 인스턴스 데이터 정렬 설정에 관계없이 Secrets Manager에 대/소문자를 구분하는 보안 암호가 필요합니다. 애플리케이션에서 관리자(‘Admin’ 및 ‘admin’)와 같이 대문자가 다른 사용자 이름을 허용하는 경우 각각에 대해 별도의 보안 암호를 만들어야 합니다. RDS 프록시는 클라이언트와 프록시 간에 대/소문자를 구분하지 않는 사용자 이름 인증을 지원하지 않습니다.

    SQL Server의 콜레이션에 대한 자세한 내용은 Microsoft SQL Server 설명서를 참조하세요.

  5. 데이터베이스에서 보안 암호가 액세스할 Amazon RDS 데이터베이스를 선택합니다.

  6. 보안 암호의 다른 설정을 입력한 다음 저장을 선택합니다. 포괄적인 설명은 AWS Secrets Manager 사용 설명서에 나와 있는 Creating an AWS Secrets Manager secret를 참조하시기 바랍니다.

콘솔

보안 암호 생성
  1. https://console.aws.amazon.com/secretsmanager/에서 Secrets Manager 콘솔을 엽니다.

  2. Store a new secret(새 보안 암호 저장)을 선택합니다.

  3. Amazon RDS 데이터베이스에 대한 자격 증명을 선택합니다.

  4. 사용자 이름과 암호를 입력합니다. 입력한 자격 증명은 연결된 RDS 데이터베이스에 있는 데이터베이스 사용자의 자격 증명과 일치해야 합니다. RDS 프록시는 이러한 자격 증명을 사용하여 애플리케이션 대신 데이터베이스에 대한 연결을 인증하고 설정합니다.

    일치하지 않는 경우 데이터베이스 암호와 일치하도록 보안 암호를 업데이트할 수 있습니다. 보안 암호를 업데이트할 때까지는 해당 보안 암호를 사용하여 프록시를 통해 연결을 시도하는 작업이 실패할 것이지만, 다른 유효한 보안 암호를 사용하는 연결은 여전히 작동합니다.

    참고

    RDS for SQL Server의 경우 RDS 프록시에는 DB 인스턴스 데이터 정렬 설정에 관계없이 Secrets Manager에 대/소문자를 구분하는 보안 암호가 필요합니다. 애플리케이션에서 관리자(‘Admin’ 및 ‘admin’)와 같이 대문자가 다른 사용자 이름을 허용하는 경우 각각에 대해 별도의 보안 암호를 만들어야 합니다. RDS 프록시는 클라이언트와 프록시 간에 대/소문자를 구분하지 않는 사용자 이름 인증을 지원하지 않습니다.

    SQL Server의 콜레이션에 대한 자세한 내용은 Microsoft SQL Server 설명서를 참조하세요.

  5. 데이터베이스에서 보안 암호가 액세스할 Amazon RDS 데이터베이스를 선택합니다.

  6. 보안 암호의 다른 설정을 입력한 다음 저장을 선택합니다. 포괄적인 설명은 AWS Secrets Manager 사용 설명서에 나와 있는 Creating an AWS Secrets Manager secret를 참조하시기 바랍니다.

AWS CLI를 통해 프록시를 만들 때 해당 보안 암호의 Amazon 리소스 이름(ARN)을 지정합니다. 프록시가 액세스할 수 있는 모든 DB 사용자 계정에 지정합니다. AWS Management Console에서는 설명하는 이름으로 비밀을 선택합니다.

  • RDS 프록시와 함께 사용할 Secrets Manager 보안 암호를 만들려면 create-secret 명령을 사용합니다.

    aws secretsmanager create-secret \ --name "secret_name" \ --description "secret_description" \ --region region_name \ --secret-string '{"username":"db_user","password":"db_user_password"}'
  • 또한 사용자 지정 키를 생성하여 Secrets Manager 보안 암호를 암호화할 수 있습니다. 다음 명령은 예시 키를 생성합니다.

    aws kms create-key --description "test-key" --policy '{ "Id":"kms-policy", "Version":"2012-10-17", "Statement": [ { "Sid":"Enable IAM User Permissions", "Effect":"Allow", "Principal":{"AWS":"arn:aws:iam::account_id:root"}, "Action":"kms:*","Resource":"*" }, { "Sid":"Allow access for Key Administrators", "Effect":"Allow", "Principal": { "AWS": ["$USER_ARN","arn:aws:iam:account_id::role/Admin"] }, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:TagResource", "kms:UntagResource", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource":"*" }, { "Sid":"Allow use of the key", "Effect":"Allow", "Principal":{"AWS":"$ROLE_ARN"}, "Action":["kms:Decrypt","kms:DescribeKey"], "Resource":"*" } ] }'

예를 들어, 다음 명령은 두 데이터베이스 사용자에 대한 Secrets Manager 보안 암호를 생성합니다.

aws secretsmanager create-secret \ --name secret_name_1 --description "db admin user" \ --secret-string '{"username":"admin","password":"choose_your_own_password"}' aws secretsmanager create-secret \ --name secret_name_2 --description "application user" \ --secret-string '{"username":"app-user","password":"choose_your_own_password"}'

사용자 지정 AWS KMS 키로 암호화된 이러한 보안 암호를 만들려면 다음 명령을 사용하세요.

aws secretsmanager create-secret \ --name secret_name_1 --description "db admin user" \ --secret-string '{"username":"admin","password":"choose_your_own_password"}' \ --kms-key-id arn:aws:kms:us-east-2:account_id:key/key_id aws secretsmanager create-secret \ --name secret_name_2 --description "application user" \ --secret-string '{"username":"app-user","password":"choose_your_own_password"}' \ --kms-key-id arn:aws:kms:us-east-2:account_id:key/key_id

AWS 계정에서 소유한 보안 암호를 보려면 list-secrets 명령을 사용합니다.

aws secretsmanager list-secrets

CLI를 사용하여 프록시를 생성할 경우 하나 이상의 보안 정보에 대한 Amazon 리소스 이름(ARN)을 --auth 파라미터에 전달합니다. 다음 예제에서는 AWS 계정이 소유한 각 보안 암호의 이름과 ARN만 사용하여 보고서를 준비하는 방법을 보여 줍니다. 이 예에서는 --output table 버전 2에서 제공되는 AWS CLI 파라미터를 사용합니다. AWS CLI 버전 1을 사용하는 경우 --output text를 대신 사용합니다.

aws secretsmanager list-secrets --query '*[].[Name,ARN]' --output table

보안 암호에 올바른 자격 증명이 올바른 형식으로 포함되어 있는지 확인하려면 get-secret-value 명령을 사용합니다. your_secret_name을 보안 암호의 간단한 이름 또는 ARN으로 바꿉니다.

aws secretsmanager get-secret-value --secret-id your_secret_name

출력에는 다음과 유사한 JSON 인코딩 값이 있는 줄이 포함됩니다.

... "SecretString": "{\"username\":\"your_username\",\"password\":\"your_password\"}", ...

AWS CLI를 통해 프록시를 만들 때 해당 보안 암호의 Amazon 리소스 이름(ARN)을 지정합니다. 프록시가 액세스할 수 있는 모든 DB 사용자 계정에 지정합니다. AWS Management Console에서는 설명하는 이름으로 비밀을 선택합니다.

  • RDS 프록시와 함께 사용할 Secrets Manager 보안 암호를 만들려면 create-secret 명령을 사용합니다.

    aws secretsmanager create-secret \ --name "secret_name" \ --description "secret_description" \ --region region_name \ --secret-string '{"username":"db_user","password":"db_user_password"}'
  • 또한 사용자 지정 키를 생성하여 Secrets Manager 보안 암호를 암호화할 수 있습니다. 다음 명령은 예시 키를 생성합니다.

    aws kms create-key --description "test-key" --policy '{ "Id":"kms-policy", "Version":"2012-10-17", "Statement": [ { "Sid":"Enable IAM User Permissions", "Effect":"Allow", "Principal":{"AWS":"arn:aws:iam::account_id:root"}, "Action":"kms:*","Resource":"*" }, { "Sid":"Allow access for Key Administrators", "Effect":"Allow", "Principal": { "AWS": ["$USER_ARN","arn:aws:iam:account_id::role/Admin"] }, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:TagResource", "kms:UntagResource", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource":"*" }, { "Sid":"Allow use of the key", "Effect":"Allow", "Principal":{"AWS":"$ROLE_ARN"}, "Action":["kms:Decrypt","kms:DescribeKey"], "Resource":"*" } ] }'

예를 들어, 다음 명령은 두 데이터베이스 사용자에 대한 Secrets Manager 보안 암호를 생성합니다.

aws secretsmanager create-secret \ --name secret_name_1 --description "db admin user" \ --secret-string '{"username":"admin","password":"choose_your_own_password"}' aws secretsmanager create-secret \ --name secret_name_2 --description "application user" \ --secret-string '{"username":"app-user","password":"choose_your_own_password"}'

사용자 지정 AWS KMS 키로 암호화된 이러한 보안 암호를 만들려면 다음 명령을 사용하세요.

aws secretsmanager create-secret \ --name secret_name_1 --description "db admin user" \ --secret-string '{"username":"admin","password":"choose_your_own_password"}' \ --kms-key-id arn:aws:kms:us-east-2:account_id:key/key_id aws secretsmanager create-secret \ --name secret_name_2 --description "application user" \ --secret-string '{"username":"app-user","password":"choose_your_own_password"}' \ --kms-key-id arn:aws:kms:us-east-2:account_id:key/key_id

AWS 계정에서 소유한 보안 암호를 보려면 list-secrets 명령을 사용합니다.

aws secretsmanager list-secrets

CLI를 사용하여 프록시를 생성할 경우 하나 이상의 보안 정보에 대한 Amazon 리소스 이름(ARN)을 --auth 파라미터에 전달합니다. 다음 예제에서는 AWS 계정이 소유한 각 보안 암호의 이름과 ARN만 사용하여 보고서를 준비하는 방법을 보여 줍니다. 이 예에서는 --output table 버전 2에서 제공되는 AWS CLI 파라미터를 사용합니다. AWS CLI 버전 1을 사용하는 경우 --output text를 대신 사용합니다.

aws secretsmanager list-secrets --query '*[].[Name,ARN]' --output table

보안 암호에 올바른 자격 증명이 올바른 형식으로 포함되어 있는지 확인하려면 get-secret-value 명령을 사용합니다. your_secret_name을 보안 암호의 간단한 이름 또는 ARN으로 바꿉니다.

aws secretsmanager get-secret-value --secret-id your_secret_name

출력에는 다음과 유사한 JSON 인코딩 값이 있는 줄이 포함됩니다.

... "SecretString": "{\"username\":\"your_username\",\"password\":\"your_password\"}", ...

이 페이지에서

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.