Paso 3: Crear un rol de IAM con permisos para llamar a GetClusterCredentials
El cliente SQL necesita autorización para llamar a la operación GetClusterCredentials
en su nombre. Para proporcionar esta autorización, cree un usuario o rol y asocie una política que conceda los permisos necesarios.
Para crear un rol de IAM con permisos para llamar a GetClusterCredentials
-
Mediante el servicio IAM, cree un usuario o rol. También puede utilizar un usuario o rol existente. Por ejemplo, si ha creado un rol de IAM para el acceso al proveedor de identidad, puede asociar las políticas de IAM necesarias a ese rol.
-
Asocie una política de permisos con permiso para llamar a la operación
redshift:GetClusterCredentials
. En función de los parámetros opcionales que especifique, también puede permitir o restringir acciones y recursos adicionales en la política:-
Para permitir que el cliente SQL recupere el ID de clúster, la región de AWS y el puerto, debe incluir el permiso para llamar a la operación
redshift:DescribeClusters
con el recurso del clúster de Redshift. -
Si utiliza la opción
AutoCreate
, incluya el permiso para llamar aredshift:CreateClusterUser
con el recursodbuser
. El siguiente formato de nombre de recurso de Amazon (ARN) especifica eldbuser
de Amazon Redshift. Reemplace
,region
yaccount-id
por los valores correspondientes a su región, cuenta y clúster de AWS. Paracluster-name
, especifique el nombre de usuario que se utilizará para iniciar sesión en la base de datos del clúster.dbuser-name
arn:aws:redshift:
region
:account-id
:dbuser:cluster-name
/dbuser-name
-
(Opcional) Agregue un ARN que especifique el recurso
dbname
de Amazon Redshift en el siguiente formato. Reemplace
,region
yaccount-id
por los valores correspondientes a su región, cuenta y clúster de AWS. Encluster-name
, especifique el nombre de una base de datos en la que el usuario va a iniciar sesión.database-name
arn:aws:redshift:
region
:account-id
:dbname:cluster-name
/database-name
-
Si utiliza la opción
DbGroups
, incluya el permiso para llamar a la operaciónredshift:JoinGroup
con el recursodbgroup
de Amazon Redshift en el siguiente formato. Reemplace
,region
yaccount-id
por los valores correspondientes a su región, cuenta y clúster de AWS. Encluster-name
, especifique el nombre del grupo de usuarios al que se unirá el usuario cuando inicie sesión.dbgroup-name
arn:aws:redshift:
region
:account-id
:dbgroup:cluster-name
/dbgroup-name
-
Para obtener más información y ejemplos, consulte Políticas de recursos de GetClusterCredentials.
En el siguiente ejemplo, se muestra una política que permite al rol de IAM llamar a la operación GetClusterCredentials
. La especificación del recurso dbuser
de Amazon Redshift concede al rol acceso al nombre de usuario de base de datos temp_creds_user
en el clúster denominado examplecluster
.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "redshift:GetClusterCredentials", "Resource": "arn:aws:redshift:us-west-2:123456789012:dbuser:examplecluster/temp_creds_user" } }
Puede utilizar el carácter comodín (*) para sustituir todo o una parte del nombre del clúster, el nombre de usuario y los nombres de grupos de usuarios de base de datos. El siguiente ejemplo permite el acceso a cualquier usuario que empiece por temp_
a cualquier clúster en la cuenta especificada.
importante
En la instrucción del siguiente ejemplo, se especifica un carácter comodín (*) como parte del valor del recurso, de modo que la política admita cualquier recurso que comience por los caracteres especificados. Utilizar un carácter comodín en las políticas de IAM puede resultar demasiado permisivo. Como práctica recomendada, es conveniente utilizar la política más restrictiva posible en la aplicación empresarial.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "redshift:GetClusterCredentials", "Resource": "arn:aws:redshift:us-west-2:123456789012:dbuser:*/temp_*" } }
El siguiente ejemplo muestra una política que permite al rol de IAM llamar a la operación GetClusterCredentials
con la opción para crear automáticamente un nuevo usuario y especificar los grupos a los que se une el usuario al iniciar sesión. La cláusula "Resource":
"*"
concede al rol acceso a cualquier recurso, incluidos clústeres, usuarios de bases de datos o grupos de usuarios.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "redshift:GetClusterCredentials", "redshift:CreateClusterUser", "redshift:JoinGroup" ], "Resource": "*" } }
Para obtener más información, consulte Sintaxis de ARN de Amazon Redshift.