Almacenamiento de credenciales de base de datos en AWS Secrets Manager - Amazon Redshift

Almacenamiento de credenciales de base de datos en AWS Secrets Manager

Al llamar a la API de datos, puede transmitir las credenciales del clúster o grupo de trabajo sin servidor con un secreto en AWS Secrets Manager. Para pasar credenciales mediante este método, especifique el nombre del secreto o el Nombre de recurso de Amazon (ARN) del secreto.

Para almacenar credenciales con Secrets Manager, se necesita contar con el permiso de la política administrada SecretManagerReadWrite. Para obtener más información sobre 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.

Si desea almacenar las credenciales en un secreto para un clúster de Amazon Redshift
  1. Utilice la consola de AWS Secrets Manager para crear un secreto que contenga credenciales para el clúster:

    • Cuando elija Store a new secret (Almacenar un secreto nuevo), elija Credentials for Redshift cluster (Credenciales para clúster de Redshift).

    • Almacene sus valores para User name (Nombre de usuario) que es el usuario de la base de datos, Password (Contraseña) y DB cluster (Clúster de base de datos) que es el identificador del clúster, en su secreto.

    • Etiquete el secreto con la clave RedshiftDataFullAccess. La política administrada por AWS AmazonRedshiftDataFullAccess solo permite la acción secretsmanager:GetSecretValue para los secretos etiquetados con la clave RedshiftDataFullAccess.

    Para obtener instrucciones, consulte Creación de un secreto básico en la Guía del usuario de AWS Secrets Manager.

  2. Utilice la consola de AWS Secrets Manager para ver los detalles del secreto que ha creado, o ejecute el comando de la AWS CLI aws secretsmanager describe-secret.

    Anote el nombre y el ARN del secreto. Puede utilizarlos en las llamadas a la API de datos.

Para almacenar las credenciales en un secreto para un grupo de trabajo sin servidor
  1. Utilice los comandos de la AWS CLI de AWS Secrets Manager para almacenar un secreto que contenga credenciales para el grupo de trabajo sin servidor:

    • Cree su secreto en un archivo, por ejemplo, un archivo JSON llamado mycreds.json. Proporcione los valores de User name (Nombre de usuario) (usuario de base de datos) y Password (Contraseña) en el archivo.

      { "username": "myusername", "password": "mypassword" }
    • Almacene los valores en el secreto y etiquete el secreto con la clave RedshiftDataFullAccess.

      aws secretsmanager create-secret --name MyRedshiftSecret --tags Key="RedshiftDataFullAccess",Value="serverless" --secret-string file://mycreds.json

      El ejemplo siguiente muestra la salida.

      { "ARN": "arn:aws:secretsmanager:region:accountId:secret:MyRedshiftSecret-mvLHxf", "Name": "MyRedshiftSecret", "VersionId": "a1603925-e8ea-4739-9ae9-e509eEXAMPLE" }

    Para obtener más información, consulte Creación de un secreto básico con AWS CLI en la Guía del usuario de AWS Secrets Manager.

  2. Utilice la consola de AWS Secrets Manager para ver los detalles del secreto que ha creado, o ejecute el comando de la AWS CLI aws secretsmanager describe-secret.

    Anote el nombre y el ARN del secreto. Puede utilizarlos en las llamadas a la API de datos.