Autenticación de una consulta programada - Amazon Redshift

Autenticación de una consulta programada

Cuando programa una consulta, utiliza uno de los siguientes métodos de autenticación cuando se ejecuta el código SQL. Cada método requiere una combinación diferente de entrada en el editor de consultas versión 2. Estos métodos de autenticación son compatibles con la API de datos que se utiliza para ejecutar sus instrucciones SQL.

El usuario o rol de base de datos que se utiliza para ejecutar la consulta debe tener los privilegios de base de datos necesarios. Por ejemplo, para conceder privilegios IAMR:MyRedshiftQEv2Scheduler a la tabla mytable, ejecute el siguiente comando SQL.

GRANT all ON TABLE mytable TO "IAMR:MyRedshiftQEv2Scheduler";

Para ver la lista de usuarios de la base de datos en su clúster o grupo de trabajo, consulte la vista del sistema PG_USER_INFO.

nota

Cualquier grupo de trabajo de Redshift sin servidor para el que programe consultas se debe etiquetar con la clave RedshiftDataFullAccess. Para obtener más información, consulte Autorización del acceso a la API de datos de Amazon Redshift.

Como alternativa al etiquetado del grupo de trabajo, puede agregar una política insertada al rol de IAM (que se especifica con la programación) que permita redshift-serverless:GetCredentials. Por ejemplo:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "UseTemporaryCredentialsForAllServerlessWorkgroups", "Effect": "Allow", "Action": "redshift-serverless:GetCredentials", "Resource": [ "arn:aws:redshift-serverless:*:*:workgroup/*" ] } ] }
AWS Secrets Manager

Con este método, se proporciona un valor secreto para secret-arn que se almacena en AWS Secrets Manager. Este secreto contiene las credenciales para conectarse a la base de datos. Es posible que haya creado un secreto con las credenciales adecuadas al crear el clúster o el grupo de trabajo. El secreto debe estar etiquetado con la clave RedshiftDataFullAccess. Si la clave de etiqueta aún no está presente, utilice la consola de AWS Secrets Manager para agregarla. Para obtener información sobre cómo crear un secreto, consulte Creación de un secreto para las credenciales de conexión a la base de datos.

Para obtener más información acerca de los permisos mínimos, consulte Creación y administración de secretos con AWS Secrets Manager en la Guía del usuario de AWS Secrets Manager.

Credenciales temporales

Con este método, proporcione los valores Nombre de la base de datos y Usuario de la base de datos cuando se conecte a una base de datos de un clúster. Solo necesita proporcionar el Nombre de base de datos cuando se conecte a una base de datos de un grupo de trabajo.

Al conectarse a un clúster, la política AmazonRedshiftDataFullAccess permite al usuario de la base de datos denominado redshift_data_api_user el permiso para redshift:GetClusterCredentials. Si desea utilizar un usuario de base de datos diferente para ejecutar la instrucción SQL, agregue una política al rol de IAM adjunta a su clúster para permitir redshift:GetClusterCredentials. La siguiente política de ejemplo permite a los usuarios de la base de datos awsuser y myuser.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "UseTemporaryCredentialsForAllDbUsers", "Effect": "Allow", "Action": "redshift:GetClusterCredentials", "Resource": [ "arn:aws:redshift:*:*:dbuser:*/awsuser", "arn:aws:redshift:*:*:dbuser:*/myuser" ] } ] }