View a markdown version of this page

Cross-account Console interrégionale CloudWatch - 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.

Cross-account Console interrégionale CloudWatch

Note

Nous vous recommandons d'utiliser l'observabilité CloudWatch entre comptes afin de tirer le meilleur parti de l'observabilité et de la découverte entre comptes pour vos indicateurs, journaux et traces au sein d'une région. Pour de plus amples informations, veuillez consulter CloudWatch observabilité entre comptes.

La CloudWatch console multi-comptes et inter-régions vous permet de passer facilement d'un compte à l'autre et d'une région à l'autre en utilisant les sélecteurs de la console pour afficher les tableaux de bord, les alarmes et les statistiques des autres comptes et régions. Cette fonctionnalité vous permet également de créer des tableaux de bord inter-comptes et interrégionaux qui résument les CloudWatch statistiques de plusieurs AWS comptes et de plusieurs régions en un seul tableau de bord, les rendant accessibles sans avoir à changer de compte ou de région.

De nombreuses entreprises déploient leurs AWS ressources sur plusieurs comptes, afin de définir des limites de facturation et de sécurité. Dans ce cas, nous vous recommandons de désigner un ou plusieurs de vos comptes comme comptes de surveillance et de créer vos tableaux de bord inter-comptes interrégionaux dans ces comptes. Cross-account La fonctionnalité de console interrégionale est intégrée pour vous aider à créer efficacement vos tableaux de bord interrégionaux entre comptes. AWS Organizations

L'expérience de CloudWatch console entre comptes et entre régions ne fournit pas de visibilité entre comptes et entre régions pour les journaux. De plus, elle ne prend pas en charge la création d’alarmes sur les métriques d’autres comptes ou régions à partir d’un compte de surveillance.

Activation de la fonctionnalité entre comptes et entre régions dans CloudWatch

Pour configurer la fonctionnalité inter-comptes inter-régions dans votre CloudWatch console, utilisez la CloudWatch console pour configurer vos comptes de partage et vos comptes de surveillance.

Configuration d'un compte de partage

Vous devez activer le partage dans chaque compte qui mettra les données à la disposition du compte de surveillance.

Cela accorde les autorisations en lecture seule que vous avez choisies à l'étape 5 à tous les utilisateurs qui consultent un tableau de bord multicompte dans le compte avec lequel vous partagez, si l'utilisateur dispose des autorisations correspondantes dans le compte avec lequel vous partagez.

Pour permettre à votre compte de partager CloudWatch des données avec d'autres comptes
  1. Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/.

  2. Dans le panneau de navigation, sélectionnez Settings (Paramètres).

  3. Pour Partager vos CloudWatch données, choisissez Configurer.

  4. Dans Sharing (Partage), choisissez Specific accounts (Comptes spécifiques) et saisissez les ID des comptes avec lesquels vous souhaitez partager des données.

    Tous les comptes que vous spécifiez ici peuvent consulter les CloudWatch données de votre compte. Spécifiez uniquement les ID des comptes que vous connaissez et dans lesquels vous avez confiance.

  5. Dans Permissions (Autorisations), spécifiez comment partager vos données avec l'une des options suivantes :

    • Fournissez un accès en lecture seule à vos CloudWatch indicateurs, tableaux de bord et alarmes. Cette option permet aux comptes de surveillance de créer des tableaux de bord inter-comptes qui incluent des widgets contenant les CloudWatch données de votre compte.

    • Incluez des tableaux de bord CloudWatch automatiques. Si vous sélectionnez cette option, les utilisateurs du compte de surveillance peuvent également voir les informations dans les tableaux de bord automatiques de ce compte. Pour de plus amples informations, veuillez consulter Commencer à utiliser les tableaux CloudWatch de bord automatiques.

    • Incluez un accès X-Ray en lecture seule pour la carte de X-Ray suivi. Si vous sélectionnez cette option, les utilisateurs du compte de surveillance peuvent également consulter la carte de X-Ray suivi et les informations de X-Ray suivi de ce compte. Pour plus d'informations, consultez la section Utilisation de la carte de X-Ray suivi.

    • Incluez un accès en lecture seule pour Database Insights. Si vous sélectionnez cette option, les utilisateurs du compte de surveillance peuvent également consulter la télémétrie de Database Insights dans ce compte. Pour plus d'informations, voir Configurer la surveillance entre comptes et régions pour CloudWatch Database Insights.

    • Full read-only access to everything in your account (Accès complet en lecture seule à tout ce qui se trouve dans votre compte). Cette option permet aux comptes que vous utilisez pour le partage de créer des tableaux de bord inter-comptes qui incluent des widgets contenant les CloudWatch données de votre compte. Elle permet également à ces comptes d'examiner plus en profondeur votre compte et de voir les données de votre compte dans les consoles d'autres services AWS .

  6. Choisissez le CloudFormation modèle de lancement.

    Dans l'écran de confirmation, saisissez Confirm et choisissez Launch template (Lancer le modèle).

  7. Cochez la case Je sais... , puis choisissez Créer une pile.

Partage avec une organisation entière

L'exécution de la procédure précédente crée un rôle IAM qui permet à votre compte de partager des données avec un seul compte. Vous pouvez créer ou modifier un rôle IAM qui partage vos données avec tous les comptes d'une organisation. Faites-le uniquement si vous connaissez et faites confiance à tous les comptes de l'organisation.

Cela accorde les autorisations en lecture seule répertoriées dans les politiques présentées à l'étape 5 de la procédure précédente à tous les utilisateurs qui consultent un tableau de bord multicompte dans le compte avec lequel vous partagez, si l'utilisateur dispose des autorisations correspondantes dans le compte avec lequel vous partagez.

Pour partager les données de votre CloudWatch compte avec tous les comptes d'une organisation
  1. Si ce n'est pas déjà fait, suivez la procédure précédente pour partager vos données avec un seul AWS compte.

  2. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à https://console.aws.amazon.com/iam/l'adresse.

  3. Dans le panneau de navigation, choisissez Rôles.

  4. Dans la liste des rôles, sélectionnez CloudWatch-CrossAccountSharingRole.

  5. Choisissez Relations d'approbation, Modifier la relation d'approbation.

    Vous voyez une stratégie comme la suivante :

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": "sts:AssumeRole" } ] }
  6. Modifiez la politique comme suit, en la org-id remplaçant par l'ID de votre organisation.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "org-id" } } } ] }
  7. Choisissez Mettre à jour la politique d'approbation.

Configuration d'un compte de surveillance

Activez chaque compte de surveillance pour afficher les CloudWatch données entre comptes. Vous pouvez activer un compte de surveillance à l'aide de la CloudWatch console Amazon ou du Cloud Development Kit AWS (AWS CDK).

Après avoir configuré un compte de surveillance, vous pouvez créer des tableaux de bord entre comptes. Pour de plus amples informations, veuillez consulter Création d'un tableau de CloudWatch bord personnalisé.

Activer un compte de surveillance à l'aide de la console

Lorsque vous avez terminé la procédure suivante, CloudWatch crée un rôle de service qui est CloudWatch utilisé dans le compte de surveillance pour accéder aux données partagées depuis vos autres comptes. Ce rôle de service s'appelle ServiceRoleForCloudWatchCrossAccountV2.

Pour permettre à votre compte de consulter les données entre comptes CloudWatch
  1. Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/.

  2. Dans le volet de navigation, choisissez Paramètres, puis, dans la section Cross-account inter-régions, sélectionnez Configurer.

  3. Dans la section Afficher plusieurs comptes entre régions, choisissez Activer, puis cochez la case Afficher le sélecteur dans la console pour permettre à un sélecteur de compte d'apparaître dans la CloudWatch console lorsque vous tracez un graphique sur une métrique ou que vous créez une alarme.

  4. Sous View cross-account cross-region (Afficher entre régions et comptes), choisissez l'une des options suivantes :

    • Account Id Input (Saisie d'ID de compte). Cette option vous invite à saisir manuellement un ID de compte chaque fois que vous souhaitez changer de compte lorsque vous affichez des données entre comptes.

    • AWS Sélecteur de compte d'organisation. Cette option entraîne l'affichage des comptes que vous avez spécifiés après avoir terminé l'intégration entre comptes avec Organizations. Lors de la prochaine utilisation de la console, CloudWatch affiche une liste déroulante de ces comptes que vous pouvez sélectionner lorsque vous affichez des données entre comptes.

      Pour ce faire, vous devez d'abord avoir utilisé le compte de gestion de votre organisation CloudWatch pour permettre de voir la liste des comptes de votre organisation. Pour de plus amples informations, veuillez consulter (Facultatif) Intégrer avec AWS Organizations.

    • Custom account selector (Sélecteur de compte personnalisé). Cette option vous invite à saisir une liste des ID de compte. La prochaine fois que vous utiliserez la console, elle CloudWatch affichera une liste déroulante de ces comptes parmi laquelle vous pourrez effectuer votre sélection lorsque vous consulterez les données entre comptes.

      Vous pouvez également saisir une étiquette pour chacun de ces comptes, qui vous permettra de les identifier lorsqu'il faudra choisir les comptes à afficher.

      Les paramètres de sélecteur de compte qu'un utilisateur définit ici ne sont conservés que pour cet utilisateur, et non pour tous les autres utilisateurs du compte de surveillance.

  5. Sélectionnez Activer.

Activez un compte de surveillance à l'aide du CDK

Vous pouvez également configurer un compte de surveillance sans utiliser la console. Définissez le ServiceRoleForCloudWatchCrossAccountV2rôle en tant qu'infrastructure en tant que code. Utilisez cette approche lorsque vous gérez plusieurs comptes de surveillance. Il déploie le rôle de manière cohérente dans chacun d'entre eux. L'exemple suivant utilise le AWS CDK in TypeScript pour définir le rôle avec la politique de confiance requise et une politique d'autorisations intégrée :

import { Role, ServicePrincipal, PolicyDocument, PolicyStatement, Effect } from 'aws-cdk-lib/aws-iam'; new Role(this, 'ServiceRoleForCloudWatchCrossAccountV2', { roleName: 'ServiceRoleForCloudWatchCrossAccountV2', assumedBy: new ServicePrincipal('cloudwatch-crossaccount.amazonaws.com'), description: 'Allows CloudWatch to assume the CloudWatch-CrossAccountSharingRole in sharing accounts.', inlinePolicies: { CrossAccountAccess: new PolicyDocument({ statements: [ new PolicyStatement({ effect: Effect.ALLOW, actions: ['sts:AssumeRole'], resources: ['arn:aws:iam::*:role/CloudWatch-CrossAccountSharingRole'], }), ], }), }, });

Cet exemple utilise une ressource générique, dont la portée est la moins restrictive. Pour restreindre le compte de surveillance à des comptes de partage spécifiques ou à une organisation, modifiez le resources tableau. Vous pouvez ajouter une conditions propriété assortie d'une aws:ResourceOrgID condition. L'une ou l'autre approche correspond à l'une des politiques intégrées décrites dans la section suivante.

Pour déployer le rôle sur plusieurs comptes à la fois, utilisez le modèle synthétisé avec CloudFormation StackSets. Un ensemble de piles crée le rôle sur plusieurs comptes et régions en une seule opération. Un stack set déploie également automatiquement le rôle sur les nouveaux comptes qui rejoignent votre organisation. Pour plus d'informations à ce sujet CloudFormation StackSets, consultez la section Travailler avec CloudFormation StackSets dans le guide de CloudFormation l'utilisateur.

Étendue des comptes auxquels le compte de surveillance peut accéder

Lorsque vous définissez le rôle avec le AWS CDK, la politique d'autorisation intégrée accorde sts:AssumeRole l'autorisation. CloudWatch utilise cette autorisation pour assumer le rôle CloudWatch-CrossAccountSharingRoledans vos comptes de partage. Pour respecter le principe du moindre privilège, limitez Resource l'sts:AssumeRoleaction aux seuls comptes dont le compte de surveillance a besoin. Vous pouvez définir l'accès de la manière suivante, de la plus restrictive à la moins restrictive :

  • Une organisation entière : autorisez le compte de surveillance à assumer le rôle de partage uniquement dans les comptes appartenant à votre organisation. org-idRemplacez-le par l'ID de votre organisation (par exemple,o-a1b2c3d4e5). Utilisez la politique intégrée JSON suivante :

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::*:role/CloudWatch-CrossAccountSharingRole", "Condition": { "StringEquals": { "aws:ResourceOrgID": "org-id" } } } ] }
  • Une liste de comptes : autorisez le compte de surveillance à assumer le rôle de partage uniquement dans les comptes que vous listez. Remplacez chaque exemple d'ID de compte (tel que111122223333) par l'ID d'un compte de partage. Utilisez la politique intégrée JSON suivante :

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": [ "arn:aws:iam::111122223333:role/CloudWatch-CrossAccountSharingRole", "arn:aws:iam::444455556666:role/CloudWatch-CrossAccountSharingRole" ] } ] }
  • N'importe quel compte : autorisez le compte de surveillance à assumer le rôle de partage dans n'importe quel compte. Cela correspond aux autorisations du rôle CloudWatch créé pour vous, mais c'est l'option la moins restrictive. Utilisez la politique intégrée JSON suivante :

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::*:role/CloudWatch-CrossAccountSharingRole" } ] }

Cross-Region fonctionnalité

Cette fonctionnalité fournit des Cross-Region fonctionnalités automatiquement. Vous n'avez pas besoin de prendre de mesures supplémentaires pour afficher les statistiques de différentes régions dans un seul compte sur le même graphique ou le même tableau de bord. Cross-Region la fonctionnalité n'étant pas prise en charge pour les alarmes, vous ne pouvez pas créer une alarme dans une région qui surveille une métrique dans une autre région.

(Facultatif) Intégrer avec AWS Organizations

Si vous souhaitez intégrer la fonctionnalité multi-comptes AWS Organizations, vous devez créer une liste de tous les comptes de l'organisation accessibles aux comptes de surveillance.

Pour activer la CloudWatch fonctionnalité multi-comptes afin d'accéder à la liste de tous les comptes de votre organisation
  1. Connectez-vous au compte de gestion de votre organisation.

  2. Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/.

  3. Dans le volet de navigation, choisissez Settings (Paramètres), puis Configurer (Configurer).

  4. Dans Grant permission to view the list of accounts in the organization (Accorder l'autorisation d'afficher la liste des comptes de l'organisation), choisissez Specific accounts (Comptes spécifiques) pour être invité à saisir une liste des ID de compte. La liste des comptes de votre organisation est uniquement partagée avec les comptes que vous spécifiez ici.

  5. Choisissez Share organization account list (Partager la liste des comptes de l'organisation).

  6. Choisissez le CloudFormation modèle de lancement.

    Dans l'écran de confirmation, saisissez Confirm et choisissez Launch template (Lancer le modèle).

Résolution des problèmes liés à la CloudWatch configuration de plusieurs comptes

Cette section contient des conseils de résolution des problèmes pour le déploiement de la console entre comptes dans CloudWatch.

J'obtiens des erreurs d'accès refusés affichant des données entre comptes

Vérifiez les éléments suivants :

  • Votre compte de surveillance doit avoir un rôle nommé ServiceRoleForCloudWatchCrossAccountV2. Si ce n'est pas le cas, créez ce rôle. Pour de plus amples informations, veuillez consulter Configuration d'un compte de surveillance.

  • Chaque compte de partage doit avoir un rôle nommé CloudWatch-CrossAccountSharingRole. Si ce n'est pas le cas, créez ce rôle. Pour de plus amples informations, veuillez consulter Configuration d'un compte de partage.

  • Le rôle de partage doit faire confiance au compte de surveillance.

Pour vérifier que vos rôles sont correctement configurés pour la console CloudWatch multi-comptes
  1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à https://console.aws.amazon.com/iam/l'adresse.

  2. Dans le panneau de navigation, choisissez Rôles.

  3. Dans la liste des rôles, assurez-vous que le rôle nécessaire existe. Dans un compte de partage, recherchez CloudWatch-CrossAccountSharingRole. Dans un compte de surveillance, recherchez ServiceRoleForCloudWatchCrossAccountV2.

  4. Si vous possédez CloudWatch-CrossAccountSharingRoledéjà un compte de partage, choisissez CloudWatch-CrossAccountSharingRole.

  5. Choisissez Relations d'approbation, Modifier la relation d'approbation.

  6. Vérifiez que la stratégie répertorie soit l'ID de compte du compte de surveillance, soit l'ID d'organisation d'une organisation qui contient le compte de surveillance.

Je ne vois aucune liste déroulante de compte dans la console

Commencez par vérifier que vous avez créé les rôles IAM appropriés, selon les instructions de la section de résolution des problèmes précédente. Si ceux-ci sont correctement configurés, assurez-vous que vous avez activé ce compte pour afficher les données entre comptes, selon la description de la section Enable Your Account to View Cross-Account Data.

Surveillance des autorisations de compte pour l'accès entre comptes

Pour accéder à une action dans les comptes source avec succès, l'utilisateur du compte de surveillance doit disposer des autorisations équivalentes pour toutes les ressources (*) pour cette action dans le compte de surveillance. Il s'agit d'une exigence d'autorisation locale dans le compte de surveillance et n'est pas liée aux autorisations relatives au rôle de partage entre comptes dans les comptes sources.

Exemple

Pour lancer une requête Logs dans un compte source, vous devez disposer d'un accès générique (*) StartQuery au compte de surveillance. Le rôle multicompte du compte source peut toujours restreindre l'accès à des groupes de journaux spécifiques.

Supporté - ressource joker :

{ "Effect": "Allow", "Action": "logs:StartQuery", "Resource": "*" }

Non pris en charge - ARN spécifique :

{ "Effect": "Allow", "Action": "logs:StartQuery", "Resource": "arn:aws:logs:us-east-1:123456789012:log-group:/aws/lambda/my-function:*" }

Désactivation et nettoyage après l'utilisation de la fonctionnalité entre comptes

Pour désactiver la fonctionnalité multi-comptes pour CloudWatch, procédez comme suit.

Étape 1 : supprimer les piles ou les rôles entre comptes

La meilleure méthode consiste à supprimer les CloudFormation piles utilisées pour activer la fonctionnalité multi-comptes.

  • Dans chacun des comptes de partage, supprimez la CloudWatch-CrossAccountSharingRolepile.

  • Si vous aviez AWS Organizations l'habitude d'activer la fonctionnalité multi-comptes avec tous les comptes d'une organisation, supprimez la CloudWatch-CrossAccountListAccountsRole pile du compte de gestion de l'organisation.

Si vous n'avez pas utilisé les CloudFormation piles pour activer la fonctionnalité multi-comptes, procédez comme suit :

  • Dans chacun des comptes de partage, supprimez le rôle CloudWatch-CrossAccountSharingRoleIAM.

  • Si vous aviez AWS Organizations l'habitude d'activer la fonctionnalité multi-comptes avec tous les comptes d'une organisation, supprimez le rôle CloudWatch-CrossAccountSharing-ListAccountsRoleIAM dans le compte de gestion de l'organisation.

Étape 2 : supprimer le rôle de service

Dans le compte de surveillance, supprimez le rôle de service ServiceRoleForCloudWatchCrossAccountV2IAM.