Présentation de la gestion des autorisations d'accès à vos ressources CloudWatch Logs - Amazon CloudWatch Logs

Présentation de la gestion des autorisations d'accès à vos ressources CloudWatch Logs

Chaque ressource AWS appartient à un Compte AWS et les autorisations de créer des ressources et d'y accéder sont régies par des politiques d'autorisation. Un administrateur de compte peut attacher des politiques d'autorisation aux identités IAM (c'est-à-dire aux utilisateurs, groupes et rôles), et certains services (tels que AWS Lambda) prennent également en charge l'attachement de politiques d'autorisation aux ressources.

Note

Un administrateur de compte (ou utilisateur IAM administrateur) est un utilisateur doté des privilèges d'administrateur. Pour plus d'informations, consultez Les meilleures pratiques IAM dans le Guide de l'utilisateur IAM.

Lorsque vous accordez des autorisations, vous décidez qui doit les obtenir, à quelles ressources ces autorisations s'appliquent et les actions spécifiques que vous souhaitez autoriser sur ces ressources.

Ressources et opérations de CloudWatch Logs

Dans CloudWatch Logs, les ressources principales sont des destinations, des flux de journaux et des groupes de journaux. CloudWatch Logs ne prend pas en charge les sous-ressources (autres ressources à utiliser avec la ressource principale).

Ces ressources et sous-ressources ont des noms Amazon Resource Names (ARNs) uniques associés, comme cela est illustré dans le tableau suivant.

Type de ressource Format ARN

Groupe de journaux

Les deux éléments suivants sont utilisés. Le deuxième, avec le * à la fin, est ce qui est retourné par la commande CLI describe-log-groups et l'API DescribeLogGroups.

arn:aws:logs:region:account-id:log-group:log_group_name

arn:aws:logs:region :account-id :log-group :log_group_name :*

Flux de journaux

arn:aws:logs:region:account-id:log-group:log_group_name:log-stream:log-stream-name

Destination

arn:aws:logs:region:account-id:destination:destination_name

Pour plus d'informations sur les ARN, consultez ARN dans le manuel Guide de l'utilisateur IAM. Pour plus d'informations sur les ARN CloudWatch Logs, consultez Amazon Resource Names (ARNs) dans référence générale d'Amazon Web Services. Pour un exemple de politique qui couvre CloudWatch Logs, consultez Utilisation des politiques basées sur l'identité (politiques IAM) pour CloudWatch Logs.

CloudWatch Logs fournit un ensemble d'opérations permettant de travailler avec les ressources de CloudWatch Logs. Pour obtenir la liste des opérations disponibles, consultez Référence des autorisations CloudWatch Logs.

Présentation de la propriété des ressources

Le compte AWS possède les ressources qui sont créées dans le compte, indépendamment de la personne qui les a créées. Plus précisément, le propriétaire des ressources est le compte AWS de l'entité principale (à savoir, le compte racine, un utilisateur ou un rôle IAM) qui authentifie la demande de création des ressources. Les exemples suivants illustrent comment cela fonctionne :

  • Si vous utilisez les informations d'identification de compte racine de votre compte AWS pour créer un groupe de journaux, votre compte AWS est le propriétaire de la ressource CloudWatch Logs.

  • Si vous créez un utilisateur IAM dans votre compte AWS et octroyez à cet utilisateur les autorisations de créer une ressource CloudWatch Logs, celui-ci peut créer une ressource CloudWatch Logs. Toutefois, votre compte AWS auquel appartient l'utilisateur, détient ces ressources CloudWatch Logs.

  • Si vous créez un rôle IAM dans votre compte AWS et que vous l'autorisez à créer des ressources CloudWatch Logs, toute personne capable d'assumer le rôle peut créer des ressources CloudWatch Logs. Votre compte AWS, auquel le rôle appartient, reste le propriétaire des ressources CloudWatch Logs.

Gestion de l'accès aux ressources

Une politique d'autorisation décrit qui a accès à quoi. La section suivante explique les options disponibles pour créer des politiques d'autorisations.

Note

Cette section décrit l'utilisation d'IAM dans le contexte de CloudWatch Logs. Elle ne fournit pas d'informations détaillées sur le service IAM. Pour une documentation complète sur IAM, consultez la rubrique Qu'est-ce que IAM ? dans le Guide de l'utilisateur IAM. Pour plus d'informations sur la syntaxe et les descriptions des politiques IAM, consultez Référence des politiques IAM dans le Guide de l'utilisateur IAM.

Les politiques attachées à une identité IAM sont appelées politiques basées sur une entité (politiques IAM) et les politiques attachées à une ressource sont appelées politiques basées sur une ressource. CloudWatch Logs prend en charge les politiques basées sur l'identité et les politiques basées sur les ressources pour les destinations utilisées pour activer les abonnements entre comptes. Pour plus d'informations, consultez Partage de données du journal entre comptes avec les abonnements.

Autorisations de groupe de journaux et informations sur Contributor Insights

Contributor Insights est une fonctionnalité de CloudWatch vous permet d'analyser les données des groupes de journaux et de créer des séries temporelles qui affichent les données des contributeurs. Vous pouvez voir les mesures concernant les premiers contributeurs, le nombre total de contributeurs uniques et leur utilisation. Pour plus d'informations, consultez Utilisation de Contributor Insights pour analyser des données de cardinalité élevée.

Lorsque vous accordez à un utilisateur les autorisations cloudwatch:PutInsightRule et cloudwatch:GetInsightRuleReport, cet utilisateur peut créer une règle qui évalue tout groupe de journaux dans CloudWatch Logs, puis afficher les résultats. Les résultats peuvent contenir des données de contributeur pour ces groupes de journaux. Veillez à n'accorder ces autorisations qu'aux utilisateurs qui doivent pouvoir visualiser ces données.

Politiques basées sur une identité (politiques IAM)

Vous pouvez attacher des politiques à des identités IAM. Par exemple, vous pouvez effectuer les opérations suivantes :

  • Attacher une politique d'autorisations à un utilisateur ou à un groupe de votre compte – pour accorder une autorisation d'utilisateur relative à l'affichage des journaux dans la console CloudWatch Logs, vous pouvez attacher une politique d'autorisations à un utilisateur ou à un groupe auquel l'utilisateur appartient.

  • Attacher une politique d'autorisations à un rôle (accorder des autorisations entre comptes) – Vous pouvez attacher une politique d'autorisation basée sur une identité à un rôle IAM afin d'accorder des autorisations entre comptes. Par exemple, l'administrateur du Compte A peut créer un rôle afin d'accorder des autorisations inter-comptes à un autre compte AWS (par exemple, le Compte B) ou à un service AWS comme suit :

    1. L'administrateur du Compte A crée un rôle IAM et attache une politique d'autorisation à ce rôle qui accorde des autorisations sur les ressources dans le Compte A.

    2. L'administrateur du Compte A attache une politique d'approbation au rôle identifiant le Compte B comme principal pouvant assumer ce rôle.

    3. L'administrateur du Compte B peut alors déléguer des autorisations pour assumer le rôle à tous les utilisateurs figurant dans le Compte B. Les utilisateurs du Compte B sont ainsi autorisés à créer des ressources ou à y accéder dans le Compte A. Le principal dans la stratégie d'approbation peut également être un mandataire de service AWS si vous souhaitez accorder à un service AWS des autorisations pour assumer ce rôle.

    Pour en savoir plus sur l'utilisation d'IAM pour déléguer des autorisations, veuillez consulter la rubrique Gestion des accès dans le Guide de l'utilisateur IAM.

Voici un exemple de politique qui accorde les autorisations requises pour les actions logs:PutLogEvents,logs:CreateLogGroup et logs:CreateLogStream au niveau de toutes les ressources dans us-east-1. Pour les groupes de journaux, CloudWatch Logs prend en charge l'identification des ressources spécifiques au moyen des ARN de ressources (également appelés permissions de niveau ressources) pour certaines actions d'API. Si vous souhaitez inclure tous les groupes de journaux, vous devez spécifier le caractère générique (*).

{ "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Action":[ "logs:PutLogEvents", "logs:CreateLogGroup", "logs:CreateLogStream" ], "Resource":"arn:aws:logs:us-east-1:*:*" } ] }

Pour plus d'informations sur l'utilisation des politiques basées sur l'identité avec CloudWatch Logs, consultez Utilisation des politiques basées sur l'identité (politiques IAM) pour CloudWatch Logs. Pour de plus amples informations sur les utilisateurs, les groupes, les rôles et les autorisations, consultez Identités (utilisateurs, groupes et rôles) dans le Guide de l'utilisateur IAM.

Stratégies basées sur les ressources

CloudWatch Logs prend en charge des politiques basées sur les ressources pour les destinations, que vous pouvez utiliser afin d'activer les abonnements entre comptes. Pour plus d'informations, consultez Créer une destination. Vous pouvez créer des destinations à l'aide de l'API PutDestination, et vous pouvez aussi ajouter une stratégie de ressources à la destination à l'aide de l'API PutDestination. L'exemple suivant permet à un autre compte AWS avec l'ID de compte 111122223333 d'abonner ses groupes de journaux à la destination arn:aws:logs:us-east-1:123456789012:destination:testDestination.

{ "Version" : "2012-10-17", "Statement" : [ { "Sid" : "", "Effect" : "Allow", "Principal" : { "AWS" : "111122223333" }, "Action" : "logs:PutSubscriptionFilter", "Resource" : "arn:aws:logs:us-east-1:123456789012:destination:testDestination" } ] }

Spécification des éléments d'une politique : actions, effets et mandataires

Pour chaque ressource CloudWatch Logs, le service définit un ensemble d'opérations d'API. Pour accorder des autorisations pour ces opérations d'API, CloudWatch Logs définit un ensemble d'actions que vous pouvez spécifier dans une politique. Certaines opérations d'API peuvent exiger des autorisations pour plusieurs actions afin de réaliser l'opération d'API. Pour plus d'informations sur les ressources et les opérations de l'API, consultez Ressources et opérations de CloudWatch Logs et Référence des autorisations CloudWatch Logs.

Voici les éléments de base d'une politique :

  • Ressource : vous utilisez un nom Amazon Resource Name (ARN) pour identifier la ressource à laquelle s'applique la politique. Pour plus d'informations, consultez Ressources et opérations de CloudWatch Logs.

  • Action : vous utilisez des mots clés d'action pour identifier les opérations de ressource que vous voulez accorder ou refuser. Par exemple, l'autorisation logs.DescribeLogGroups permet à l'utilisateur d'effectuer l'opération DescribeLogGroups.

  • Effet - Vous spécifiez l'effet produit, autorisation ou refus, lorsque l'utilisateur demande l'action spécifique. Si vous n'accordez pas explicitement l'accès pour (autoriser) une ressource, l'accès est implicitement refusé. Vous pouvez aussi explicitement refuser l'accès à une ressource, ce que vous pouvez faire afin de vous assurer qu'un utilisateur n'y a pas accès, même si une politique différente accorde l'accès.

  • Principal – dans les politiques basées sur une identité (politiques IAM), l'utilisateur auquel la politique est attachée est le principal implicite. Pour les politiques basées sur une ressource, vous spécifiez l'utilisateur, le compte, le service ou une autre entité qui doit recevoir les autorisations (s'applique uniquement aux politiques basées sur une ressource). CloudWatch Logs prend en charge les politiques basées sur les ressources pour les destinations.

Pour en savoir plus sur la syntaxe et les descriptions des politiques IAM, consultez Référence des politiques AWS IAM dans le Guide de l'utilisateur IAM.

Pour visualiser un tableau répertoriant toutes les actions d'API CloudWatch Logs, ainsi que les ressources auxquelles elles s'appliquent, consultez Référence des autorisations CloudWatch Logs.

Spécification de conditions dans une politique

Lorsque vous accordez des autorisations, vous pouvez utiliser le langage d'access policy pour spécifier les conditions définissant quand une politique doit prendre effet. Par exemple, il est possible d'appliquer une politique après seulement une date spécifique. Pour plus d'informations sur la spécification de conditions dans un langage de politique, consultez Condition dans le Guide de l'utilisateur IAM.

Pour exprimer des conditions, vous utilisez des clés de condition prédéfinies. Pour obtenir la liste des clés de contexte prises en charge par chaque service AWS et la liste des clés de politique à l'échelle d'AWS, consultez Actions, ressources et clés de condition pour les services AWS et Clés de contexte de condition globales AWS.

Note

CloudWatch Logs ne prend pas en charge les politiques IAM qui empêchent les utilisateurs d'attribuer des identifications spécifiées à des groupes de journaux à l'aide des clés de condition aws:Resource/key-name ou aws:TagKeys. En outre, vous ne pouvez pas contrôler l'accès à l'action DescribeLogGroups en utilisant la clé de condition aws:ResourceTag/key-name . Les autres actions CloudWatch Logs prennent en charge l'utilisation de la clé de condition aws:ResourceTag/key-name pour contrôler l'accès. Pour plus d'informations sur l'utilisation d'identifications pour contrôler l'accès, consultez Contrôle de l'accès aux ressources Amazon Web Services à l'aide d'identifications.