Partage de tableaux de bord CloudWatch - Amazon CloudWatch

Partage de tableaux de bord CloudWatch

Vous pouvez partager vos tableaux de bord CloudWatch avec des personnes qui n'ont pas d'accès direct à votre compte AWS. Ainsi, vous pouvez partager des tableaux de bord entre les équipes, les parties prenantes et les personnes externes à votre organisation. Vous pouvez même afficher des tableaux de bord sur de grands écrans dans les espaces réservés aux équipes, ou les incorporer dans des Wikis et d'autres pages web.

Avertissement

Toutes les personnes avec lesquelles vous partagez le tableau de bord bénéficient des autorisations répertoriées dans Autorisations accordées aux personnes avec lesquelles vous partagez le tableau de bord pour le compte. Si vous partagez le tableau de bord publiquement, tous ceux qui ont le lien vers le tableau de bord disposent de ces autorisations.

Les autorisations cloudwatch:GetMetricData et ec2:DescribeTags ne peuvent pas être limités à des métriques spécifiques ou des instances EC2, de sorte que les personnes ayant accès au tableau de bord peuvent interroger toutes les métriques CloudWatch, ainsi que les noms et les balises de toutes les instances EC2 du compte.

Lorsque vous partagez des tableaux de bord, vous pouvez désigner qui peut afficher le tableau de bord de trois manières différentes :

  • Partagez un seul tableau de bord et désignez jusqu’à cinq adresses e-mail de personnes pouvant consulter le tableau de bord. Chacun de ces utilisateurs crée son propre mot de passe qu'il doit saisir afin de pouvoir afficher le tableau de bord.

  • Partagez publiquement un tableau de bord unique, afin que tous ceux qui ont le lien puissent consulter le tableau de bord.

  • Partagez tous les tableaux de bord CloudWatch de votre compte et spécifiez un fournisseur d'authentification unique (SSO) tiers pour l'accès au tableau de bord. Tous les utilisateurs membres de la liste de ce fournisseur SSO peuvent accéder à tous les tableaux de bord du compte. Pour ce faire, intégrez le fournisseur SSO à Amazon Cognito. Le fournisseur SSO doit prendre en charge le langage SAML (Security Assertion Markup Language). Pour plus d'informations sur Amazon Cognito, consultez la page Qu'est-ce qu'Amazon Cognito ?.

Le partage d’un tableau de bord n’entraîne pas de frais, mais les widgets à l’intérieur d’un tableau de bord partagé entraînent des frais aux tarifs standard de CloudWatch. Pour plus d'informations sur la tarification CloudWatch, consultez Tarification d'Amazon CloudWatch.

Lorsque vous partagez un tableau de bord, les ressources Amazon Cognito sont créées dans la région USA Est (Virginie du Nord).

Important

Ne modifiez pas les noms et les identifiants des ressources créés par le processus de partage de tableau de bord. Celles-ci incluent les ressources Amazon Cognito et IAM. La modification de ces ressources peut entraîner des fonctionnalités non voulues et incorrectes dans les tableaux de bord partagés.

Note

Si vous partagez un tableau de bord contenant des widgets de métriques avec des annotations d'alerte, les personnes avec lesquelles vous partagez ce tableau de bord ne verront pas ces widgets. Ils verront plutôt un widget vide avec du texte indiquant que le widget n'est pas disponible. Vous verrez toujours les widgets de métriques avec des annotations d'alerte lorsque vous visualiserez vous-même le tableau de bord.

Autorisations requises pour partager un tableau de bord

Pour pouvoir partager des tableaux de bord à l'aide de l'une des méthodes suivantes et pour déterminer quels tableaux de bord ont déjà été partagés, vous devez être connecté en tant qu'utilisateur ou avec un rôle IAM disposant de certaines autorisations.

Pour pouvoir partager des tableaux de bord, votre utilisateur ou votre rôle IAM doit inclure les autorisations incluses dans l'instruction de stratégie suivante :

{ "Effect": "Allow", "Action": [ "iam:CreateRole", "iam:CreatePolicy", "iam:AttachRolePolicy", "iam:PassRole" ], "Resource": [ "arn:aws:iam::*:role/service-role/CWDBSharing*", "arn:aws:iam::*:policy/*" ] }, { "Effect": "Allow", "Action": [ "cognito-idp:*", "cognito-identity:*", ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "cloudwatch:GetDashboard", ], "Resource": [ "*" // or the ARNs of dashboards that you want to share ] }

Pour déterminer quels tableaux de bord sont partagés sans pour autant pouvoir les partager, un utilisateur ou un rôle IAM peut inclure une déclaration de stratégie semblable à la suivante :

{ "Effect": "Allow", "Action": [ "cognito-idp:*", "cognito-identity:*" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "cloudwatch:ListDashboards", ], "Resource": [ "*" ] }

Autorisations accordées aux personnes avec lesquelles vous partagez le tableau de bord

Lorsque vous partagez un tableau de bord, CloudWatch crée un rôle IAM dans le compte qui donne les autorisations suivantes aux personnes avec lesquelles vous partagez le tableau de bord :

  • cloudwatch:GetInsightRuleReport

  • cloudwatch:GetMetricData

  • cloudwatch:DescribeAlarms

  • ec2:DescribeTags

Avertissement

Toutes les personnes avec lesquelles vous partagez le tableau de bord bénéficient de ces autorisations pour le compte. Si vous partagez le tableau de bord publiquement, tous ceux qui ont le lien vers le tableau de bord disposent de ces autorisations.

Les autorisations cloudwatch:GetMetricData et ec2:DescribeTags ne peuvent pas être limités à des métriques spécifiques ou des instances EC2, de sorte que les personnes ayant accès au tableau de bord peuvent interroger toutes les métriques CloudWatch, ainsi que les noms et les balises de toutes les instances EC2 du compte.

Lorsque vous partagez un tableau de bord, les autorisations créées par CloudWatch limitent par défaut l'accès uniquement aux alertes et aux règles Contributor Insights qui se trouvent sur le tableau de bord lorsqu'il est partagé. Si vous ajoutez de nouvelles alertes ou règles Contributor Insights au tableau de bord et souhaitez qu'elles soient également visibles par les personnes avec lesquelles vous avez partagé le tableau de bord, vous devez mettre à jour la stratégie pour autoriser ces ressources.

Autoriser les personnes avec lesquelles vous partagez les tableaux de bord à voir les alertes composites

Lorsque vous partagez un tableau de bord, les widgets d'alerte composites du tableau de bord ne sont par défaut pas visibles par les personnes avec lesquelles vous partagez le tableau de bord. Pour que les widgets d'alerte composites soient visibles, vous devez ajouter une autorisation DescribeAlarms: * à la stratégie de partage du tableau de bord. Cette autorisation se présente comme suit :

{ "Effect": "Allow", "Action": "cloudwatch:DescribeAlarms", "Resource": "*" }
Avertissement

L'instruction de stratégie précédente donne accès à toutes les alertes du compte. Pour réduire la portée de cloudwatch:DescribeAlarms, vous devez utiliser une instruction Deny. Vous pouvez ajouter une instruction Deny à la stratégie et spécifier les ARN des alertes que vous souhaitez verrouiller. Cette instruction de refus doit ressembler à l'exemple ci-dessous :

{ "Effect": "Allow", "Action": "cloudwatch:DescribeAlarms", "Resource": "*" }, { "Effect": "Deny", "Action": "cloudwatch:DescribeAlarms", "Resource": [ "SensitiveAlarm1ARN", "SensitiveAlarm1ARN" ] }

Autoriser les personnes avec lesquelles vous partagez les tableaux de bord à voir les widgets de table des journaux

Lorsque vous partagez un tableau de bord, les widgets CloudWatch Logs du tableau de bord ne sont par défaut pas visibles par les personnes avec lesquelles vous partagez le tableau de bord. Cela affecte à la fois les widgets CloudWatch Logs Insights qui existent actuellement et ceux qui sont ajoutés au tableau de bord après le partage.

Si vous souhaitez que ces personnes puissent consulter les widgets CloudWatch Logs, vous devez ajouter des autorisations au rôle IAM pour le partage de tableau de bord.

Pour permettre aux personnes avec lesquelles vous partagez un tableau de bord de voir les widgets CloudWatch Logs
  1. Ouvrez la console CloudWatch à l’adresse https://console.aws.amazon.com/cloudwatch/.

  2. Dans le panneau de navigation, choisissez Dashboards (Tableaux de bord).

  3. Choisissez le nom du tableau de bord partagé.

  4. Choisissez Actions, puis Share dashboard (Partager un tableau de bord).

  5. Sous Resources (Ressources), choisissez IAM Role (Rôle IAM).

  6. Dans la console IAM, choisissez la stratégie affichée.

  7. Choisissez Edit policy (Modifier la stratégie) et ajoutez l'instruction suivante. Dans la nouvelle instruction, nous vous recommandons de spécifier les ARN des groupes de journaux que vous souhaitez partager uniquement. Consultez l'exemple suivant.

    { "Effect": "Allow", "Action": [ "logs:FilterLogEvents", "logs:StartQuery", "logs:StopQuery", "logs:GetLogRecord", "logs:DescribeLogGroups" ], "Resource": [ "SharedLogGroup1ARN", "SharedLogGroup2ARN" ] },
  8. Choisissez Save Changes (Enregistrer les modifications).

Si votre politique IAM pour le partage de tableau de bord inclut déjà ces cinq autorisations avec * comme ressource, nous vous recommandons fortement de modifier la stratégie et de spécifier uniquement les ARN des groupes de journaux que vous souhaitez partager. Par exemple, si votre section Resource pour ces autorisations était la suivante :

"Resource": "*"

Modifiez la stratégie pour spécifier uniquement les ARN des groupes de journaux que vous souhaitez partager, comme dans l'exemple suivant :

"Resource": [ "SharedLogGroup1ARN", "SharedLogGroup2ARN" ]

Autoriser les personnes avec lesquelles vous partagez les tableaux de bord à voir les widgets personnalisés

Lorsque vous partagez un tableau de bord, les widgets personnalisés du tableau de bord ne sont par défaut pas visibles par les personnes avec lesquelles vous partagez le tableau de bord. Cela affecte à la fois les widgets personnalisés qui existent actuellement et ceux qui sont ajoutés au tableau de bord après le partage.

Si vous souhaitez que ces personnes puissent consulter les widgets personnalisés, vous devez ajouter des autorisations au rôle IAM pour le partage de tableau de bord.

Pour permettre aux personnes avec lesquelles vous partagez un tableau de bord de voir les widgets personnalisés
  1. Ouvrez la console CloudWatch à l’adresse https://console.aws.amazon.com/cloudwatch/.

  2. Dans le panneau de navigation, choisissez Dashboards (Tableaux de bord).

  3. Choisissez le nom du tableau de bord partagé.

  4. Choisissez Actions, puis Share dashboard (Partager un tableau de bord).

  5. Sous Resources (Ressources), choisissez IAM Role (Rôle IAM).

  6. Dans la console IAM, choisissez la stratégie affichée.

  7. Choisissez Edit policy (Modifier la stratégie) et ajoutez l'instruction suivante. Dans la nouvelle instruction, nous vous recommandons de spécifier les ARN des fonctions Lambda que vous souhaitez partager uniquement. Consultez l'exemple suivant.

    { "Sid": "Invoke", "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": [ "LambdaFunction1ARN", "LambdaFunction2ARN" ] }
  8. Choisissez Save Changes (Enregistrer les modifications).

Si votre stratégie IAM pour le partage de tableau de bord inclut déjà cette autorisation avec * comme ressource, nous vous recommandons fortement de modifier la stratégie et de spécifier uniquement les ARN des fonctions Lambda que vous souhaitez partager. Par exemple, si votre section Resource pour ces autorisations était la suivante :

"Resource": "*"

Modifiez la stratégie pour spécifier uniquement les ARN des widgets personnalisés que vous souhaitez partager, comme dans l'exemple suivant :

"Resource": [ "LambdaFunction1ARN", "LambdaFunction2ARN" ]