Configuration des politiques d'accès pour Performance Insights - Amazon Relational Database Service

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.

Configuration des politiques d'accès pour Performance Insights

Pour accéder à Performance Insights, un principal doit disposer des autorisations appropriées de AWS Identity and Access Management (IAM). Vous pouvez accorder l'accès des manières suivantes :

  • Attachez la politique gérée par AmazonRDSPerformanceInsightsReadOnly à un ensemble d'autorisations ou à un rôle permettant d'accéder à toutes les opérations en lecture seule de l'API Performance Insights.

  • Attachez la politique gérée par AmazonRDSPerformanceInsightsFullAccess à un ensemble d'autorisations ou à un rôle permettant d'accéder à toutes les opérations de l'API Performance Insights.

  • Créez une politique IAM personnalisée et attachez-la à un jeu d'autorisations ou à un rôle.

Si vous avez spécifié une clé gérée par le client lorsque vous avez activé Performance Insights, assurez-vous que les utilisateurs de votre compte disposent des autorisations kms:Decrypt et kms:GenerateDataKey sur la clé KMS.

Attacher la politique AmazonRDSPerformanceInsightsReadOnly à un principal IAM

AmazonRDSPerformanceInsightsReadOnly est une politique gérée par AWS qui accorde l'accès à toutes les opérations en lecture seule de l'API Performance Insights d'Amazon RDS.

Si vous attachez AmazonRDSPerformanceInsightsReadOnly à un jeu d'autorisations ou à un rôle, le destinataire peut utiliser Performance Insights avec d'autres fonctions de la console.

Pour de plus amples informations, veuillez consulter AWS politique gérée : AmazonRDS PerformanceInsightsReadOnly.

Attachement de la politique AmazonRDSPerformanceInsightsFullAccess à un principal IAM

AmazonRDSPerformanceInsightsFullAccess est une politique gérée par AWS qui accorde l'accès à toutes les opérations de l'API Performance Insights d'Amazon RDS.

Si vous attachez AmazonRDSPerformanceInsightsFullAccess à un jeu d'autorisations ou à un rôle, le destinataire peut utiliser Performance Insights avec d'autres fonctions de la console.

Pour de plus amples informations, veuillez consulter AWS politique gérée : AmazonRDS PerformanceInsightsFullAccess.

Création d'une politique IAM personnalisée pour Performance Insights

Pour les utilisateurs qui ne bénéficient pas de la politique AmazonRDSPerformanceInsightsReadOnly ou AmazonRDSPerformanceInsightsFullAccess, vous pouvez accorder l'accès à l'analyse des performances en créant ou modifiant une politique IAM gérée par l'utilisateur. Quand vous attachez la politique à un jeu d'autorisations ou à un rôle IAM, le destinataire peut utiliser Performance Insights.

Pour créer une politique personnalisée
  1. Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation, choisissez Policies (Politiques).

  3. Sélectionnez Créer une politique.

  4. Sur la page Créer une stratégie, choisissez l'onglet JSON.

  5. Copiez et collez le texte fourni dans la section Document de politique JSON du Guide de référence des politiques gérées par AWS pour la politique AmazonRDSPerformanceInsightsReadOnly ou AmazonRDSPerformanceInsightsFullAccess.

  6. Choisissez Examiner une stratégie.

  7. Indiquez un nom pour la stratégie et éventuellement une description, puis choisissez Créer une stratégie.

Vous pouvez désormais attacher la politique à un jeu d'autorisations ou à un rôle. La procédure suivante suppose que vous disposez déjà d'un utilisateur à cette fin.

Pour attacher la politique à un utilisateur
  1. Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le volet de navigation, sélectionnez Users.

  3. Choisissez un utilisateur existant dans la liste.

    Important

    Pour utiliser Performance Insights, assurez-vous que vous avez accès à Amazon RDS en plus de l'accès à la politique personnalisée. Par exemple, la stratégie prédéfinie AmazonRDSPerformanceInsightsReadOnly fournit un accès en lecture seule à Amazon RDS. Pour plus d'informations, consultez Gestion des accès à l’aide de politiques.

  4. Sur la page Récapitulatif, choisissez Ajouter des autorisations.

  5. Choisissez Attacher directement les stratégies existantes. Pour Recherche, tapez les premiers caractères du nom de votre stratégie, comme illustré ci-après.

    
						Choisissez une politique
  6. Choisissez votre stratégie, puis sélectionnez Suivant : Vérification.

  7. Choisissez Add permissions.

Configuration d'une politique AWS KMS pour Performance Insights

Performance Insights utilise une AWS KMS key pour chiffrer les données sensibles. Lorsque vous activez Performance Insights via l'API ou la console, vous pouvez effectuer l'une ou l'autre des opérations suivantes :

  • Choisissez la valeur Clé gérée par AWS par défaut.

    Amazon RDS utilise la Clé gérée par AWS pour votre nouvelle instance de base de données. Amazon RDS crée une Clé gérée par AWS pour votre Compte AWS. Votre Compte AWS dispose d'une Clé gérée par AWS pour Amazon RDS différente pour chaque Région AWS.

  • Choisissez une clé gérée par le client.

    Si vous spécifiez une clé gérée par le client, les utilisateurs de votre compte qui appellent l'API Performance Insights ont besoin des autorisations kms:Decrypt et kms:GenerateDataKey sur la clé KMS. Vous pouvez configurer ces autorisations via des politiques IAM. Toutefois, nous vous recommandons de gérer ces autorisations via votre politique de clé KMS. Pour plus d'informations, veuillez consulter Utilisation des stratégies de clé dans AWS KMS.

L'exemple suivant montre comment ajouter des instructions à votre politique KMS. Ces instructions permettent d'accéder à Performance Insights. Selon la façon dont vous utilisez la clé KMS, vous pouvez modifier certaines restrictions. Avant d'ajouter des instructions à votre politique, supprimez tous les commentaires.

{ "Version" : "2012-10-17", "Id" : "your-policy", "Statement" : [ { //This represents a statement that currently exists in your policy. } ...., //Starting here, add new statement to your policy for Performance Insights. //We recommend that you add one new statement for every RDS instance { "Sid" : "Allow viewing RDS Performance Insights", "Effect": "Allow", "Principal": { "AWS": [ //One or more principals allowed to access Performance Insights "arn:aws:iam::444455556666:role/Role1" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition" : { "StringEquals" : { //Restrict access to only RDS APIs (including Performance Insights). //Replace region with your AWS Region. //For example, specify us-west-2. "kms:ViaService" : "rds.region.amazonaws.com" }, "ForAnyValue:StringEquals": { //Restrict access to only data encrypted by Performance Insights. "kms:EncryptionContext:aws:pi:service": "rds", "kms:EncryptionContext:service": "pi", //Restrict access to a specific RDS instance. //The value is a DbiResourceId. "kms:EncryptionContext:aws:rds:db-id": "db-AAAAABBBBBCCCCDDDDDEEEEE" } } }

Comment l'analyse des performances utilise la clé gérée par le client AWS KMS

L'analyse des performances utilise les clés gérées par le client pour chiffrer les données sensibles. Lorsque vous activez l'analyse des performances, vous pouvez fournir une clé AWS KMS via l'API. L'analyse des performances crée des autorisations KMS sur cette clé. Il utilise la clé et effectue les opérations nécessaires au traitement des données sensibles. Les données sensibles incluent des champs tels que l'utilisateur, la base de données, l'application et le texte de requête SQL. L'analyse des performances garantit que les données restent chiffrées à la fois au repos et en transit.

Fonctionnement de l'analyse des performances IAM avec AWS KMS

IAM donne des autorisations à des API spécifiques. L'analyse des performances possède les API publiques suivantes, que vous pouvez restreindre à l'aide de politiques IAM :

  • DescribeDimensionKeys

  • GetDimensionKeyDetails

  • GetResourceMetadata

  • GetResourceMetrics

  • ListAvailableResourceDimensions

  • ListAvailableResourceMetrics

Vous pouvez utiliser les demandes d'API suivantes pour obtenir des données sensibles.

  • DescribeDimensionKeys

  • GetDimensionKeyDetails

  • GetResourceMetrics

Lorsque vous utilisez l'API pour obtenir des données sensibles, l'analyse des performances exploite les informations d'identification de l'appelant. Cette vérification garantit que l'accès aux données sensibles est limité aux personnes ayant accès à la clé KMS.

Lorsque vous appelez ces API, vous avez besoin d'autorisations pour appeler l'API via la politique IAM et d'autorisations pour invoquer l'action kms:decrypt via la stratégie de clé AWS KMS.

L'API GetResourceMetrics peut renvoyer des données sensibles et non sensibles. Les paramètres de demande déterminent si la réponse doit inclure des données sensibles. L'API renvoie des données sensibles lorsque la demande inclut une dimension sensible dans les paramètres de filtre ou de regroupement.

Pour plus d'informations sur les dimensions que vous pouvez utiliser avec l'API GetResourceMetrics, consultez DimensionGroup.

Exemples

L'exemple suivant demande les données sensibles pour le groupe db.user :

POST / HTTP/1.1 Host: <Hostname> Accept-Encoding: identity X-Amz-Target: PerformanceInsightsv20180227.GetResourceMetrics Content-Type: application/x-amz-json-1.1 User-Agent: <UserAgentString> X-Amz-Date: <Date> Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=<Headers>, Signature=<Signature> Content-Length: <PayloadSizeBytes> { "ServiceType": "RDS", "Identifier": "db-ABC1DEFGHIJKL2MNOPQRSTUV3W", "MetricQueries": [ { "Metric": "db.load.avg", "GroupBy": { "Group": "db.user", "Limit": 2 } } ], "StartTime": 1693872000, "EndTime": 1694044800, "PeriodInSeconds": 86400 }

L'exemple suivant demande les données non sensibles pour la métrique db.load.avg :

POST / HTTP/1.1 Host: <Hostname> Accept-Encoding: identity X-Amz-Target: PerformanceInsightsv20180227.GetResourceMetrics Content-Type: application/x-amz-json-1.1 User-Agent: <UserAgentString> X-Amz-Date: <Date> Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=<Headers>, Signature=<Signature> Content-Length: <PayloadSizeBytes> { "ServiceType": "RDS", "Identifier": "db-ABC1DEFGHIJKL2MNOPQRSTUV3W", "MetricQueries": [ { "Metric": "db.load.avg" } ], "StartTime": 1693872000, "EndTime": 1694044800, "PeriodInSeconds": 86400 }