Paso 3: Crear un rol de IAM con permisos para llamar a GetClusterCredentials - Amazon Redshift

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
  1. 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.

  2. 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 a redshift:CreateClusterUser con el recurso dbuser. El siguiente formato de nombre de recurso de Amazon (ARN) especifica el dbuser de Amazon Redshift. Reemplace region, account-id y cluster-name por los valores correspondientes a su región, cuenta y clúster de AWS. Para dbuser-name, especifique el nombre de usuario que se utilizará para iniciar sesión en la base de datos del clúster.

      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, account-id y cluster-name por los valores correspondientes a su región, cuenta y clúster de AWS. En database-name, especifique el nombre de una base de datos en la que el usuario va a iniciar sesión.

      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ón redshift:JoinGroup con el recurso dbgroup de Amazon Redshift en el siguiente formato. Reemplace region, account-id y cluster-name por los valores correspondientes a su región, cuenta y clúster de AWS. En dbgroup-name, especifique el nombre del grupo de usuarios al que se unirá el usuario cuando inicie sesión.

      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.