Gestion des mots de passe d'administration Amazon Redshift à l'aide de AWS Secrets Manager - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Gestion des mots de passe d'administration Amazon Redshift à l'aide de AWS Secrets Manager

Amazon Redshift peut s'intégrer AWS Secrets Manager pour générer et gérer vos informations d'identification d'administrateur dans un secret crypté. Avec AWS Secrets Manager, vous pouvez remplacer vos mots de passe d'administrateur par un appel d'API pour récupérer le secret par programmation lorsque cela est nécessaire. L’utilisation de secrets à la place d’informations d’identification codées en dur réduit le risque de divulgation ou de compromission de ces informations d’identification. Pour plus d'informations AWS Secrets Manager, consultez le guide de AWS Secrets Manager l'utilisateur.

Vous pouvez spécifier qu'Amazon Redshift gère votre mot de passe d'administrateur AWS Secrets Manager lorsque vous effectuez l'une des opérations suivantes :

  • Création d’un cluster provisionné ou d’un espace de noms sans serveur

  • Restauration d’un cluster ou d’un espace de noms sans serveur à partir d’un instantané

Lorsque vous spécifiez qu'Amazon Redshift gère le mot de passe administrateur dans AWS Secrets Manager, Amazon Redshift génère le mot de passe et le stocke dans Secrets Manager. Vous pouvez accéder au secret directement AWS Secrets Manager pour récupérer les informations d'identification de l'utilisateur administrateur. Vous pouvez éventuellement spécifier une clé gérée par le client pour chiffrer le secret si vous devez accéder au secret depuis un autre AWS compte. Vous pouvez également utiliser la clé KMS fournie par AWS Secrets Manager .

Amazon Redshift gère les paramètres du secret et effectue la rotation du secret tous les 30 jours, par défaut. Vous pouvez effectuer la rotation du secret manuellement à tout moment. Si vous supprimez un cluster provisionné ou un espace de noms sans serveur qui gère un secret dans AWS Secrets Manager, le secret et les métadonnées associées sont également supprimés.

Pour vous connecter à un cluster provisionné ou à un espace de noms sans serveur avec des informations d’identification gérées par secret, vous pouvez récupérer le secret à partir d’ AWS Secrets Manager à l’aide de la console Secrets Manager ou de l’appel d’API Secrets Manager GetSecretValue. Pour plus d'informations, voir Extraire des secrets depuis une base de données SQL AWS Secrets Manager et Se connecter à une base de données SQL avec des informations d'identification inscrites dans un AWS Secrets Manager secret dans le Guide de AWS Secrets Manager l'utilisateur.

Autorisations requises pour AWS Secrets Manager l'intégration

Les utilisateurs doivent disposer des autorisations requises pour effectuer les opérations liées à AWS Secrets Manager l'intégration. Créez des politiques IAM qui accordent des autorisations pour effectuer des opérations d’API spécifiques sur les ressources spécifiées dont elles ont besoin. Attachez ensuite ces politiques aux jeux d’autorisations ou rôles IAM qui requièrent ces autorisations. Pour plus d’informations, consultez Identity and Access Management dans Amazon Redshift.

L'utilisateur qui indique qu'Amazon Redshift gère le mot de passe administrateur AWS Secrets Manager doit être autorisé à effectuer les opérations suivantes :

  • secretsmanager:CreateSecret

  • secretsmanager:RotateSecret

  • secretsmanager:DescribeSecret

  • secretsmanager:UpdateSecret

  • secretsmanager:DeleteSecret

  • secretsmanager:GetRandomPassword

  • secretsmanager:TagResource

Si l’utilisateur souhaite transmettre une clé KMS dans le paramètre MasterPasswordSecretKmsKeyId pour les clusters provisionnés, ou dans le paramètre AdminPasswordSecretKmsKeyId pour les espaces de noms sans serveur, il a besoin des autorisations suivantes en plus des autorisations répertoriées ci-dessus.

  • kms:Decrypt

  • kms:GenerateDataKey

  • kms:CreateGrant

  • kms:RetireGrant

Rotation du secret de mot de passe d’administrateur

Par défaut, Amazon Redshift effectue la rotation automatique de votre secret tous les 30 jours afin de garantir que vos informations d’identification ne restent pas les mêmes pendant de longues périodes. Lorsqu'Amazon Redshift change le secret d'un mot de passe administrateur, il AWS Secrets Manager met à jour le secret existant pour qu'il contienne un nouveau mot de passe administrateur. Amazon Redshift modifie le mot de passe d’administrateur du cluster afin qu’il corresponde au mot de passe indiqué dans le secret mis à jour.

Vous pouvez effectuer immédiatement la rotation d’un secret au lieu d’attendre une rotation planifiée en utilisant AWS Secrets Manager. Pour plus d'informations sur la rotation des secrets, voir Rotation AWS Secrets Manager des secrets dans le guide de AWS Secrets Manager l'utilisateur.

Récupération de l’Amazon Resource Name (ARN) du secret dans Amazon Redshift

Vous pouvez consulter l’Amazon Resource Name (ARN) de tous les secrets gérés par AWS Secrets Manager à l’aide de la console Amazon Redshift. Une fois que vous avez l'ARN du secret, vous pouvez consulter les détails de votre secret et les données cryptées qu'il contient à l'aide de AWS Secrets Manager. Pour plus d’informations sur la récupération des secrets à l’aide de l’ARN, consultez Récupération des secrets dans le Guide de l’utilisateur AWS Secrets Manager .

Affichage des détails d’un secret pour un cluster provisionné Amazon Redshift

Consultez l’Amazon Resource Name (ARN) du secret de votre cluster à l’aide de la console Amazon Redshift en exécutant la procédure suivante :

  1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la.

  2. Dans le volet Présentation des clusters, choisissez le cluster dont vous souhaitez afficher le secret.

  3. Choisissez l’onglet Propriétés.

  4. Consultez l’ARN du secret sous ARN des informations d’identification d’administration. Cet ARN est l'identifiant du secret, que vous pouvez utiliser AWS Secrets Manager pour afficher les détails du secret.

Affichage des détails d’un secret pour un espace de noms Amazon Redshift sans serveur

Consultez l’Amazon Resource Name (ARN) du secret de votre espace de noms sans serveur à l’aide de la console Amazon Redshift en exécutant la procédure suivante :

  1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la.

  2. Dans le tableau de bord Clusters provisionnés, choisissez Passer au sans serveur en haut à droite de la page.

  3. Dans Tableau de bord sans serveur, faites défiler la page jusqu’au volet Espaces de noms / Groupes de travail et choisissez l’espace de noms dont vous souhaitez consulter le secret.

  4. Dans le volet Informations générales, consultez l’ARN du secret sous ARN des informations d’identification d’administration. Cet ARN est l'identifiant du secret, que vous pouvez utiliser AWS Secrets Manager pour afficher les détails du secret.

Création d'un secret pour les informations de connexion à la base de données

Vous pouvez créer un secret Secrets Manager pour stocker les informations d'identification utilisées pour vous connecter à un cluster provisionné par Amazon Redshift ou à un espace de noms et à un groupe de travail Redshift Serverless. Vous pouvez également utiliser ce secret lors de la planification d'une requête dans l'éditeur de requêtes Amazon Redshift v2.

Pour créer un secret pour une base de données dans un cluster provisionné par Amazon Redshift à l'aide de la console Secrets Manager
  1. Ouvrez la console Secrets Manager (https://console.aws.amazon.com/secretsmanager/).

  2. Accédez à la liste des secrets et choisissez Enregistrer un nouveau secret.

  3. Choisissez Credentials for Amazon Redshift Data Warehouse. Entrez vos informations dans les étapes suivantes pour créer un secret :

    • Dans Informations d'identification pour le nom d'utilisateur, entrez le nom de l'utilisateur administratif de l'entrepôt de données.

    • Dans Informations d'identification pour le mot de passe, entrez le mot de passe du nom d'utilisateur.

    • Pour Clé de chiffrement, choisissez votre clé de chiffrement.

    • Pour l'entrepôt de données, choisissez le cluster provisionné Amazon Redshift qui contient vos données.

    • Dans Nom du secret, entrez le nom du secret.

    • Dans Description, entrez une description du secret.

    • Pour les balises, entrez une clé de balise avec le motRedshift. Cette clé de balise est nécessaire pour répertorier les secrets lorsque vous tentez de vous connecter à votre entrepôt de données à l'aide de l'éditeur de requêtes Amazon Redshift v2. Le secret doit comporter une clé de balise qui commence par la chaîne Redshift sous laquelle le secret doit être répertorié AWS Secrets Manager sur la console de gestion.

  4. Continuez à saisir les informations relatives à votre secret en plusieurs étapes jusqu'à ce que vous enregistriez vos modifications à l'étape Révision.

    Les valeurs spécifiques de vos informations d'identification, de votre moteur, de votre hôte, de votre port et de votre identifiant de cluster sont stockées dans le secret. De plus, le secret est marqué avec la clé du tagRedshift.

Pour créer un secret pour une base de données dans un espace de noms Redshift Serverless à l'aide de la console Redshift Serverless
  1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/redshiftv2/.

  2. Choisissez Redshift serverless et accédez à la configuration de l'espace de noms.

  3. Choisissez un espace de noms pour lequel vous souhaitez créer des informations d'identification secrètes.

  4. Ouvrez Actions, modifiez les informations d'identification de l'administrateur.

  5. Pour le mot de passe administrateur, choisissez Gérer les informations d'identification de l'administrateur dans AWS Secrets Manager.

  6. Choisissez Enregistrer les Modifications pour enregistrer vos Modifications.

Vérifiez qu'un message s'affiche indiquant que le mot de passe a bien été modifié. Vous pouvez également consulter le secret dans la console Secrets Manager. Vous pouvez utiliser ce secret pour vous connecter à une base de données d'un groupe de travail dans la console Redshift Serverless et dans l'éditeur de requêtes Amazon Redshift v2, en utilisant la méthode de connexion. AWS Secrets Manager Le secret doit avoir une clé de balise commençant par la chaîne « Redshift » pour qu'il soit répertorié dans l'application Web de l'éditeur de requêtes v2. Le secret doit comporter une clé de balise qui commence par la chaîne Redshift sous laquelle le secret doit être répertorié AWS Secrets Manager sur la console de gestion.

Pour créer un secret pour une base de données dans un espace de noms Redshift Serverless à l'aide de la console Secrets Manager
  1. Ouvrez la console Secrets Manager (https://console.aws.amazon.com/secretsmanager/).

  2. Accédez à la liste des secrets et choisissez Enregistrer un nouveau secret.

  3. Choisissez Credentials for Amazon Redshift Data Warehouse. Entrez vos informations dans les étapes suivantes pour créer un secret :

    • Dans Informations d'identification pour le nom d'utilisateur, entrez le nom de l'utilisateur administratif de l'entrepôt de données.

    • Dans Informations d'identification pour le mot de passe, entrez le mot de passe du nom d'utilisateur.

    • Pour Clé de chiffrement, choisissez votre clé de chiffrement.

    • Pour l'entrepôt de données, choisissez l'espace de noms Redshift Serverless qui contient vos données.

    • Dans Nom du secret, entrez le nom du secret.

    • Dans Description, entrez une description du secret.

    • Pour les balises, entrez une clé de balise avec le motRedshift. Cette clé de balise est nécessaire pour répertorier les secrets lorsque vous tentez de vous connecter à votre entrepôt de données à l'aide de l'éditeur de requêtes Amazon Redshift v2. Le secret doit comporter une clé de balise qui commence par la chaîne Redshift sous laquelle le secret doit être répertorié AWS Secrets Manager sur la console de gestion.

  4. Continuez à saisir les informations relatives à votre secret en plusieurs étapes jusqu'à ce que vous enregistriez vos modifications à l'étape Révision.

    Les valeurs spécifiques de vos informations d'identification, du nom de la base de données, de l'hôte, du port, de l'espace de noms et du moteur sont stockées dans le secret. De plus, le secret est marqué avec la clé du tagRedshift.

Pour créer un secret pour une base de données dans un espace de noms Redshift Serverless à l'aide du AWS CLI

Vous pouvez utiliser le AWS CLI pour créer un secret. L'une des méthodes consiste AWS CloudShell à exécuter la AWS CLI commande Secrets Manager comme suit. Vous devez disposer des autorisations appropriées pour exécuter les AWS CLI commandes indiquées dans la procédure suivante.

  1. Sur la AWS console, ouvrez l'invite de AWS CloudShell commande. Pour plus d'informations AWS CloudShell, voir Contenu du guide AWS CloudShell de l'AWS CloudShell utilisateur.

  2. Par exemple, pour le secret, MyTestSecret entrez une commande Secrets Manager pour stocker le secret utilisé pour se connecter à une base de données ou planifier une requête Amazon Redshift Query Editor v2. Remplacez les valeurs suivantes dans la commande par des valeurs correspondant à votre environnement :

    • admin est le nom d'utilisateur de l'administrateur de l'entrepôt de données.

    • passw0rd est le mot de passe de l'administrateur.

    • dev est le nom initial de la base de données dans l'entrepôt de données.

    • la région est celle Région AWS qui contient l'entrepôt de données. Par exemple us-east-1.

    • 123456789012 est le. Compte AWS

    • namespace-id est l'identifiant de l'espace de noms similaire à. c3928f0e-c889-4d2b-97a5-5738324d5d3e Vous pouvez trouver cet identifiant sur la page de détails de la console Amazon Redshift pour l'espace de noms sans serveur.

    aws secretsmanager create-secret \ --name MyTestSecret \ --description "My test secret created with the CLI." \ --secret-string "{\"username\":\"admin\",\"password\":\"passw0rd\",\"dbname\":\"dev\",\"engine\":\"redshift\"}" \ --tags "[{\"Key\":\"redshift-serverless:namespaceArn\",\"Value\":\"arn:aws:redshift-serverless:region:123456789012:namespace/namespace-id\"}]"

Considérations relatives à l'utilisation AWS Secrets Manager avec Amazon Redshift

Lorsque vous l'utilisez AWS Secrets Manager pour gérer les informations d'administration de votre cluster provisionné ou de votre espace de noms sans serveur, tenez compte des points suivants :

  • Lorsque vous suspendez un cluster dont les informations d'identification d'administrateur sont gérées par AWS Secrets Manager, le secret de votre cluster n'est pas supprimé et vous continuez à être facturé pour le secret. Les secrets ne sont supprimés que lorsque vous supprimez le cluster.

  • Si votre cluster est suspendu quand Amazon Redshift tente d’effectuer la rotation du secret qui lui est attaché, la rotation échoue. Dans ce cas, Amazon Redshift arrête la rotation automatique et n’essaiera plus d’effectuer la rotation, même après la reprise du cluster. Vous devez redémarrer le programme de rotation automatique à l'aide de l'appel secretsmanager:RotateSecret d'API pour continuer à faire AWS Secrets Manager automatiquement pivoter votre secret.

  • Si aucun groupe de travail n’est associé à votre espace de noms sans serveur quand Amazon Redshift tente d’effectuer la rotation du secret qui lui est attaché, la rotation échoue et ne sera plus tentée, même une fois qu’un groupe de travail est attaché. Vous devez redémarrer le programme de rotation automatique à l'aide de l'appel secretsmanager:RotateSecret d'API pour continuer à faire AWS Secrets Manager automatiquement pivoter votre secret.