Configuración de políticas de AWS Identity and Access Management (IAM) para RDS Proxy
Después de crear los secretos en Secrets Manager, se crea una política de IAM que puede acceder a esos secretos. Para obtener más información acerca del uso de la IAM, consulte Administración de la identidad y el acceso en Amazon RDS.
sugerencia
El procedimiento siguiente se aplica si utiliza la consola de IAM. Si utiliza la AWS Management Console para RDS, RDS puede crear automáticamente la política de IAM. En ese caso, puede omitir el siguiente procedimiento.
Para crear una política de IAM que acceda a sus secretos de Secrets Manager para su uso con su proxy
-
Inicie sesión en la consola de IAM. Actualice la política de permisos para el nuevo rol. Utilice los mismos procedimientos generales que en Edición de políticas de IAM. Pegue el siguiente JSON en el cuadro de texto de JSON. Sustituya su propio ID de cuenta. Sustituya su región de AWS por
us-east-2
. Sustituya los nombres de recurso de Amazon (ARN) por los secretos que ha creado. Consulte Especificación de claves KMS en declaraciones de políticas de IAM. Para la acciónkms:Decrypt
, sustituya el ARN de la clave de KMS predeterminada AWS KMS key o su propia clave de KMS. El que utilice depende del que haya utilizado para cifrar los secretos de 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" } } } ] } -
Siga el proceso de Crear rol, tal como se describe en Creación de roles de IAM, y elija Crear un rol para delegar permisos a un servicio de AWS.
Elija Servicio de AWS en Tipo de entidad de confianza. En Caso de uso, seleccione RDS en el menú desplegable Casos de uso para otros servicios de AWS. Elija RDS: Añadir rol a la base de datos.
-
Modifique la política de confianza para este rol de IAM. Pegue el siguiente JSON en el cuadro de texto de JSON.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Los comandos siguientes realizan la misma operación a través de la AWS CLI.
PREFIX=
my_identifier
USER_ARN=$(aws sts get-caller-identity --query "Arn" --output text) aws iam create-role --role-namemy_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" } } } ] }