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

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

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

작은 정보

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

프록시와 함께 사용할 Secrets Manager 비밀에 액세스하는 IAM 정책을 생성하려면
  1. IAM 콘솔에 로그인합니다. IAM 역할 생성에 설명된 대로 역할 생성 프로세스를 따르고, AWS 서비스에 대한 권한을 위임할 역할 생성을 선택합니다.

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

  2. 새 역할의 경우 인라인 정책 추가 단계를 수행합니다. 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" } } } ] }
  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" } } } ] }