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

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.

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

Pour utiliser CloudWatch RUM, votre application doit disposer d'une autorisation.

Trois possibilités s'offrent à vous pour configurer l'autorisation :

  • Laissez CloudWatch RUM créer un nouveau pool d'identités Amazon Cognito pour l'application. Cette méthode est la plus simple à configurer. Il s'agit de l'option par défaut.

    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é non authentifiée Amazon Cognito permet au client Web d'assumer le rôle IAM autorisé à envoyer des données à RUM. CloudWatch

  • Utilisez un groupe d'identités Amazon Cognito existant. Dans ce cas, vous devez également modifier le rôle IAM attaché au groupe d'identités. Utilisez cette option pour les pools d'identités qui prennent en charge les utilisateurs non authentifiés. Vous ne pouvez utiliser des groupes d'identités que provenant de 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 pools d'identités qui ne prennent en charge que les utilisateurs authentifiés.

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

CloudWatch RUM crée un nouveau pool d'identités Amazon Cognito

Il s'agit de l'option la plus simple à configurer. Si vous optez pour celle-ci, aucune autre étape de configuration n'est requise. Vous devez disposer d'autorisations administratives pour utiliser cette option. Pour plus d’informations, consultez Politiques IAM relatives à l'utilisation du RUM CloudWatch .

Avec cette option, CloudWatch RUM crée les ressources suivantes :

  • Un nouveau groupe d'identités Amazon Cognito.

  • Une identité Amazon Cognito non authentifiée. Celle-ci permet au client web RUM d'assumer un rôle IAM sans authentifier l'utilisateur de l'application.

  • Le rôle IAM que le client web RUM assumera. La stratégie IAM attachée à ce rôle lui permet d'utiliser l'API PutRumEvents avec la ressource du moniteur d'application. En d'autres termes, elle permet au client web RUM d'envoyer des données à RUM.

Le client Web RUM utilise l'identité Amazon Cognito pour obtenir AWS des informations d'identification. Les AWS informations d'identification sont associées au rôle IAM. Le rôle IAM est autorisé à être utilisé PutRumEvents avec la AppMonitor ressource.

Amazon Cognito envoie le jeton de sécurité nécessaire pour permettre à votre application d'envoyer des données à CloudWatch RUM. L'extrait de JavaScript code généré par CloudWatch RUM inclut les lignes suivantes pour activer l'authentification.

{ identityPoolId: [identity pool id], // e.g., 'us-west-2:EXAMPLE4a-66f6-4114-902a-EXAMPLEbad7' } );

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

Si vous choisissez d'utiliser un pool d'identités Amazon Cognito existant, vous devez le spécifier lorsque vous ajoutez l'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 provenant de 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.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "rum:PutRumEvents", "Resource": "arn:aws:rum:[region]:[accountid]:appmonitor/[app monitor name]" } ] }

Amazon Cognito enverra 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 AWS STS, consultez la section Welcome to the AWS Security Token Service API Reference.

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.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "rum:PutRumEvents", "Resource": "arn:aws:rum:[region]:[accountID]:appmonitor/[app monitor name]" } ] }
  • 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 plus d'informations sur les fournisseurs d'informations d'identification dans le AWS JavaScript SDK, voir Configuration des informations d'identification dans un navigateur Web dans le guide du développeur v3 pour le SDK JavaScript, Configuration des informations d'identification dans un navigateur Web dans le guide du développeur v2 pour le SDK pour JavaScript, et @aws -sdk/credential-providers.

Vous pouvez également utiliser le SDK du client Web CloudWatch RUM pour configurer les méthodes d'authentification du client Web. Pour plus d'informations sur le SDK du client Web, consultez la section SDK du client Web CloudWatch RUM.