RDS 프록시에 대한 AWS Identity and Access Management(IAM) 정책 설정 - Amazon Relational Database Service

RDS 프록시에 대한 AWS Identity and Access Management(IAM) 정책 설정

Secrets Manager에서 비밀을 만든 후 해당 비밀에 액세스할 수 있는 IAM 정책을 생성합니다. IAM 사용에 대한 일반적인 정보는 Amazon RDS의 자격 증명 및 액세스 관리 섹션을 참조하세요.

작은 정보

IAM 콘솔을 사용하는 경우 다음 절차가 적용됩니다. AWS Management Console for RDS를 사용하는 경우 RDS에서 자동으로 IAM 정책을 생성할 수 있습니다. 이 경우 다음 절차를 건너뛸 수 있습니다.

프록시와 함께 사용할 Secrets Manager 비밀에 액세스하는 IAM 정책을 생성하려면
  1. IAM 콘솔에 로그인합니다. 새 역할의 경우 권한 정책을 업데이트합니다. IAM 정책 편집과 동일한 일반 절차를 사용합니다. 다음 JSON을 JSON 텍스트 상자에 붙여 넣습니다. 자신의 계정 ID를 대체합니다. AWS에 대한 us-east-2 리전을 대체합니다. 생성한 보안 암호에 대한 Amazon 리소스 이름(ARN)을 대체합니다. IAM 정책 설명에서 KMS 키 지정을 확인하세요. kms:Decrypt 작업을 수행하려면 기본 AWS KMS key 또는 자체 KMS 키를 대체하세요. 무엇을 사용할지는 Secrets Manager 암호를 암호화하는 데 사용할 때 무엇을 사용했는지에 따라 달라집니다.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": [ "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_1", "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_2" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-east-2:account_id:key/key_id", "Condition": { "StringEquals": { "kms:ViaService": "secretsmanager.us-east-2.amazonaws.com" } } } ] }
  2. IAM 역할 생성에 설명된 대로 역할 생성 프로세스를 따르고, AWS 서비스에 대한 권한을 위임할 역할 생성을 선택합니다.

    신뢰할 수 있는 엔터티 유형에서 AWS 서비스를 선택합니다. 사용 사례 아래의 기타 AWS 서비스 사용 사례 드롭다운에서 RDS를 선택합니다. RDS – 데이터베이스에 역할 추가를 선택합니다.

  3. 이 IAM 역할에 대한 신뢰 정책을 편집합니다. 다음 JSON을 JSON 텍스트 상자에 붙여 넣습니다.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

다음 명령은 AWS CLI를 통해 동일한 작업을 수행합니다.

PREFIX=my_identifier USER_ARN=$(aws sts get-caller-identity --query "Arn" --output text) aws iam create-role --role-name my_role_name \ --assume-role-policy-document '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"Service":["rds.amazonaws.com"]},"Action":"sts:AssumeRole"}]}' ROLE_ARN=arn:aws:iam::account_id:role/my_role_name aws iam put-role-policy --role-name my_role_name \ --policy-name $PREFIX-secret-reader-policy --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": [ "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_1", "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_2" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-east-2:account_id:key/key_id", "Condition": { "StringEquals": { "kms:ViaService": "secretsmanager.us-east-2.amazonaws.com" } } } ] }