Utiliser des AWS Secrets Manager secrets au lieu des informations d'identification de base de données sur Amazon QuickSight - Amazon QuickSight

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.

Utiliser des AWS Secrets Manager secrets au lieu des informations d'identification de base de données sur Amazon QuickSight

   Public cible : QuickSight administrateurs Amazon et QuickSight développeurs Amazon 

AWS Secrets Manager est un service de stockage secret que vous pouvez utiliser pour protéger les informations d'identification, API les clés et autres informations secrètes de base de données. L'utilisation d'une clé vous permet de vous assurer que le secret ne peut pas être compromis par quelqu'un qui examine votre code, car le secret n'est pas stocké dans le code. Pour une présentation, consultez le Guide de l'utilisateur AWS Secrets Manager.

QuickSight Les administrateurs Amazon peuvent accorder un accès QuickSight en lecture seule aux secrets qu'ils créent dans Secrets Manager. Ces secrets peuvent être utilisés à la place des informations d'identification de base de données lors de la création et de la modification de sources de données à l'aide du QuickSight API.

QuickSight prend en charge l'utilisation de secrets avec des types de sources de données qui prennent en charge l'authentification par paire d'informations d'identification. Jira et ne ServiceNow sont pas pris en charge actuellement.

Note

Si vous utilisez AWS Secrets Manager Amazon QuickSight, l'accès et la maintenance vous sont facturés comme décrit sur la page de AWS Secrets Manager tarification. Sur votre relevé de facturation, les coûts sont détaillés sous Secrets Manager et non sous QuickSight.

Utilisez les procédures décrites dans les sections suivantes pour intégrer Secrets Manager à Amazon QuickSight.

Octroi de l' QuickSight accès à Secrets Manager et à certains secrets

Si vous êtes administrateur et que vous avez des secrets dans Secrets Manager, vous pouvez accorder à Amazon un accès QuickSight en lecture seule à certains secrets.

Pour accorder QuickSight l'accès à Secrets Manager et à certains secrets
  1. Dans QuickSight, choisissez votre icône d'utilisateur en haut à droite, puis sélectionnez Gérer QuickSight.

    Gérer QuickSight le menu.
  2. Choisissez Sécurité et autorisations sur la gauche.

  3. Choisissez Gérer dans QuickSight l'accès aux AWS ressources.

    Gérez la sécurité et les autorisations.
  4. Dans Autoriser l'accès et la découverte automatique de ces ressources, choisissez AWS Secrets Manager, Sélectionner les secrets.

    La page Secrets AWS Secrets Manager s'ouvre.

  5. Sélectionnez les secrets auxquels vous souhaitez accorder un accès QuickSight en lecture seule.

    Les secrets de votre région QuickSight d'inscription sont affichés automatiquement. Pour sélectionner des secrets en dehors de votre région d'origine, choisissez Secrets dans d'autres AWS régions, puis entrez le nom des ressources Amazon (ARNs) correspondant à ces secrets.

  6. Lorsque vous avez terminé, choisissez Terminer.

    QuickSight crée un IAM rôle appelé aws-quicksight-secretsmanager-role-v0 dans votre compte. Il accorde aux utilisateurs du compte un accès en lecture seule aux secrets spécifiés et ressemble à ce qui suit :

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:region:accountId:secret:secret_name" ] } ] }

    Lorsque QuickSight les utilisateurs créent des analyses ou consultent des tableaux de bord utilisant une source de données contenant des secrets, il QuickSight assume ce IAM rôle de Secrets Manager. Pour plus d'informations sur les politiques d'autorisation des secrets, consultez la rubrique Authentification et contrôle d'accès pour AWS Secrets Manager dans le Guide de l'utilisateur AWS Secrets Manager .

    Le secret spécifié dans le QuickSight IAM rôle peut avoir une politique de ressources supplémentaire qui refuse l'accès. Pour plus d'informations, consultez la rubrique Attacher une politique d'autorisation à un secret dans le Guide de l'utilisateur AWS Secrets Manager .

    Si vous utilisez une AWS KMS clé AWS gérée pour chiffrer votre secret, aucune autorisation supplémentaire QuickSight n'est requise dans Secrets Manager.

    Si vous utilisez une clé gérée par le client pour chiffrer votre secret, assurez-vous que le QuickSight IAM rôle aws-quicksight-secretsmanager-role-v0 dispose d'kms:Decryptautorisations. Pour plus d'informations, consultez la section Autorisations relatives à la KMS clé dans le guide de AWS Secrets Manager l'utilisateur.

    Pour plus d'informations sur les types de clés utilisés dans le service de gestion des AWS clés, consultez la section Clés clients et AWS clés du guide du service de gestion des AWS clés.

Création ou mise à jour d'une source de données avec des informations d'identification secrètes à l'aide du QuickSight API

Une fois que l' QuickSight administrateur a accordé un accès en QuickSight lecture seule à Secrets Manager, vous pouvez créer et mettre à jour des sources de données en API utilisant un secret sélectionné par l'administrateur comme informations d'identification.

Voici un exemple d'APIappel pour créer une source de données dans QuickSight. Cet exemple utilise l'create-data-sourceAPIopération. Vous pouvez également utiliser l'opération update-data-source. Pour plus d'informations, consultez CreateDataSourceet consultez UpdateDataSourcele Amazon QuickSight API Reference.

L'utilisateur spécifié dans les autorisations de l'exemple d'APIappel suivant peut supprimer, afficher et modifier les sources de données pour la source de SQL données Ma source de données spécifiée dans QuickSight. Il peut également consulter et mettre à jour les autorisations des sources de données. Au lieu d'un QuickSight nom d'utilisateur et d'un mot de passe, un secret ARN est utilisé comme identifiant pour la source de données.

aws quicksight create-data-source --aws-account-id AWSACCOUNTID \ --data-source-id DATASOURCEID \ --name NAME \ --type MYSQL \ --permissions '[{"Principal": "arn:aws:quicksight:region:accountID:user/namespace/username", "Actions": ["quicksight:DeleteDataSource", "quicksight:DescribeDataSource", "quicksight:DescribeDataSourcePermissions", "quicksight:PassDataSource", "quicksight:UpdateDataSource", "quicksight:UpdateDataSourcePermissions"]}]' \ --data-source-parameters='{"MySQLParameters":{"Database": "database", "Host":"hostURL", "Port":"port"}}' \ --credentials='{"SecretArn":"arn:aws:secretsmanager:region:accountID:secret:secretname"}' \ --region us-west-2

Dans cet appel, QuickSight autorise l'secretsmanager:GetSecretValueaccès au secret en fonction de la politique de l'APIappelant, et non de la IAM politique du rôle de IAM service. Le rôle IAM de service agit au niveau du compte et est utilisé lorsqu'un utilisateur consulte une analyse ou un tableau de bord. Elle ne peut pas être utilisée pour autoriser un accès secret lorsqu'un utilisateur crée ou met à jour la source de données.

Lorsqu'ils modifient une source de données dans l' QuickSight interface utilisateur, les utilisateurs peuvent consulter le secret ARN des sources de données utilisées AWS Secrets Manager comme type d'identification. Cependant, ils ne peuvent pas modifier le secret ou en sélectionner un autre. S'ils doivent apporter des modifications, par exemple au serveur de base de données ou au port, les utilisateurs doivent d'abord choisir la paire d'informations d'identification et saisir le nom d'utilisateur et le mot de passe de leur QuickSight compte.

Les secrets sont automatiquement supprimés d'une source de données lorsque celle-ci est modifiée dans l'interface utilisateur. Pour restaurer le secret de la source de données, utilisez l'update-data-sourceAPIopération.

Qu'y a-t-il dans le secret

QuickSight nécessite le JSON format suivant pour accéder à votre secret :

{ "username": "username", "password": "password" }

Les password champs username et sont obligatoires pour accéder QuickSight aux secrets. Tous les autres champs sont facultatifs et sont ignorés par QuickSight.

Le JSON format peut varier en fonction du type de base de données. Pour plus d'informations, consultez JSONla structure des secrets d'identification de AWS Secrets Manager base de données dans le Guide de l'AWS Secrets Manager utilisateur.

Modification du secret

Pour modifier un secret, vous utilisez Secrets Manager. Une fois que vous avez modifié un secret, les mises à jour seront disponibles la prochaine fois que vous QuickSight demanderez l'accès au secret.