Étape 1 : autorisez votre application à envoyer des données à AWS - Amazon CloudWatch

Étape 1 : autorisez votre application à envoyer des données à AWS

Vous disposez de quatre options pour configurer l’authentification des données :

  • Utiliser Amazon Cognito et laisser CloudWatch RUM créer un nouveau groupe d’identités Amazon Cognito pour l’application. Cette méthode est la plus simple à configurer.

    Le groupe d'identités contiendra une identité non authentifiée. Cela permet au client web CloudWatch RUM d'envoyer des données à CloudWatch RUM sans authentifier l'utilisateur de l'application.

    Un rôle IAM est attaché au groupe d'identités Amazon Cognito. L'identité Amazon Cognito non authentifiée permet au client web d'assumer le rôle IAM autorisé à envoyer des données à CloudWatch RUM.

  • Utiliser Amazon Cognito pour l’authentification. Si vous utilisez cette option, vous pouvez utiliser un groupe d’identités Amazon Cognito existant ou en créer un nouveau pour ce moniteur d’application. Si vous utilisez un groupe d’identités existant, vous devez également modifier le rôle IAM attaché au groupe d’identités. Utilisez cette option pour les groupes d’identités qui prennent en charge les utilisateurs non authentifiés. Vous ne pouvez utiliser des groupes d’identités que depuis la même région.

  • Utilisez l'authentification d'un fournisseur d'identité existant que vous avez déjà configuré. Dans ce cas, vous devez obtenir des informations d'identification du fournisseur d'identité et votre application doit transférer ces informations d'identification au client web RUM.

    Utilisez cette option pour les groupes d’identités qui ne prennent en charge que les utilisateurs authentifiés.

  • Utiliser des politiques basées sur les ressources pour gérer l’accès à votre moniteur d’application. Cette méthode permet également d’envoyer des requêtes non authentifiées à CloudWatch RUM sans informations d’identification AWS. Pour en savoir plus sur les politiques basées sur les ressources et RUM, consultez Utilisation des politiques basées sur les ressources avec CloudWatch RUM.

Les sections suivantes contiennent plus de détails sur ces options.

Utilisation d'un groupe d'identités Amazon Cognito existant

Si vous choisissez d’utiliser un groupe d’identités Amazon Cognito, indiquez-le lors de l’ajout de votre application à CloudWatch RUM. Le groupe doit prendre en charge l'activation de l'accès à des identités non authentifiées. Vous ne pouvez utiliser des groupes d’identités que depuis la même région.

Vous devez également ajouter les autorisations suivantes à la stratégie IAM attachée au rôle IAM associé à ce groupe d'identités.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rum:PutRumEvents" ], "Resource": "arn:aws:rum:us-east-1:123456789012:appmonitor/app monitor name" } ] }

Amazon Cognito envoie ensuite le jeton de sécurité nécessaire pour permettre à votre application d'accéder à CloudWatch RUM.

Fournisseur tiers

Si vous choisissez l'authentification privée d'un fournisseur tiers, vous devez obtenir des informations d'identification du fournisseur d'identité et les transférer à AWS. Le meilleur moyen d'y parvenir consiste à utiliser un fournisseur de jetons de sécurité. Vous pouvez utiliser n'importe quel fournisseur de jetons de sécurité, y compris Amazon Cognito avec AWS Security Token Service. Pour plus d'informations sur AWS STS, consultez Bienvenue dans la référence d'API d'AWS Security Token Service.

Si vous souhaitez utiliser Amazon Cognito comme fournisseur de jetons dans ce scénario, vous pouvez configurer Amazon Cognito pour qu'il fonctionne avec un fournisseur d'authentification. Pour plus d'informations, consultez Démarrez avec les groupes d'identités Amazon Cognito (identités fédérées).

Après avoir configuré Amazon Cognito pour qu'il fonctionne avec votre fournisseur d'identité, vous devez également effectuer les opérations suivantes :

  • Créez un rôle IAM avec les autorisations suivantes. Votre application utilisera ce rôle pour accéder à AWS.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "rum:PutRumEvents", "Resource": "arn:aws:rum:us-east-2:123456789012:appmonitor/AppMonitorName" } ] }
  • Ajoutez ce qui suit à votre application pour qu'elle transmette les informations d'identification de votre fournisseur à CloudWatch RUM. Insérez cette ligne pour qu'elle s'exécute après qu'un utilisateur s'est connecté à votre application et que celle-ci a reçu les informations d'identification à utiliser pour accéder à AWS.

    cwr('setAwsCredentials', {/* Credentials or CredentialProvider */});

Pour de plus amples informations sur les fournisseurs d'informations d'identification dans le kit SDK JavaScript AWS, consultez la section Définition d'informations d'identification dans un navigateur web du guide du développeur v3 pour le kit SDK pour JavaScript, la section Définition d'informations d'identification dans un navigateur web dans le guide du développeur v2 pour le kit SDK pour JavaScript et @aws-sdk/credential-providers.

Vous pouvez également utiliser le kit SDK pour le client web CloudWatch RUM afin de configurer les méthodes d'authentification du client web. Pour de plus amples informations sur le client web, veuillez consulter Kit SDK du client web CloudWatch RUM.