Activer la journalisation à partir AWS des services - Amazon CloudWatch Logs

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.

Activer la journalisation à partir AWS des services

Alors que de nombreux services publient des CloudWatch journaux uniquement dans Logs, certains AWS services peuvent publier des journaux directement sur Amazon Simple Storage Service ou Amazon Data Firehose. Si votre principale exigence en matière de journaux est le stockage ou le traitement dans l'un de ces services, vous pouvez facilement demander au service qui produit les journaux de les envoyer directement à Amazon S3 ou Firehose sans configuration supplémentaire.

Même lorsque les journaux sont publiés directement sur Amazon S3 ou Firehose, des frais s'appliquent. Pour plus d'informations, consultez la section Vended Logs dans l'onglet Logs d'Amazon CloudWatch Pricing.

Certains AWS services utilisent une infrastructure commune pour envoyer leurs journaux. Pour activer la journalisation à partir de ces services, vous devez être connecté en tant qu'utilisateur disposant de certaines autorisations. En outre, vous devez accorder des autorisations AWS pour permettre l'envoi des journaux.

Pour les services qui exigent ces autorisations, il existe deux versions des autorisations nécessaires. Les services qui exigent ces autorisations supplémentaires sont indiqués comme étant Pris en charge [Autorisations V1] et Pris en charge [Autorisations V2] dans le tableau. Pour plus d'informations sur ces autorisations requises, consultez les sections situées après le tableau.

Source des journaux Type de journal CloudWatch Logs Amazon S3 Firehose

Journaux API d'accès à Amazon Gateway

Journaux vended

Pris en charge [Autorisations V1]

AWS AppSync journaux

Journaux personnalisés

Pris en charge

Amazon Aurora Mes SQL journaux

Journaux personnalisés

Pris en charge

Amazon Bedrock Journalisation des bases de connaissances

Journaux vended Pris en charge [Autorisations V2] Pris en charge [Autorisations V2] Pris en charge [Autorisations V2]

Journaux d'indicateurs de qualité multimédia et SIP journaux de messages Amazon Chime

Journaux vended

Pris en charge [Autorisations V1]

CloudFront: journaux d'accès

Journaux vended Pris en charge [Autorisations V1]

AWS CloudHSM journaux d'audit

Journaux personnalisés

Pris en charge

CloudWatch De toute évidence, journaux des événements d'évaluation

Journaux vended Pris en charge [Autorisations V1] Pris en charge [Autorisations V1]

CloudWatch Journaux du moniteur Internet

Journaux vended Pris en charge [Autorisations V1]

CloudTrail journaux

Journaux personnalisés

Pris en charge

AWS CodeBuild journaux

Journaux personnalisés

Pris en charge

Amazon CodeWhisperer journaux d'événements

Journaux vended Pris en charge [Autorisations V2] Pris en charge [Autorisations V2] Pris en charge [Autorisations V2]

Amazon Cognito journaux

Journaux vended Pris en charge [Autorisations V1]

Journaux Amazon Connect

Journaux personnalisés

Pris en charge

AWS DataSync journaux

Journaux personnalisés

Pris en charge

Journaux Amazon ElastiCache (RedisOSS)

Journaux vended Pris en charge [Autorisations V1] Pris en charge [Autorisations V1]

AWS Elastic Beanstalk journaux

Journaux personnalisés

Pris en charge

Journaux Amazon Elastic Container Service

Journaux personnalisés

Pris en charge

Journaux de plan de contrôle d'Amazon Elastic Kubernetes Service

Journaux vended

Pris en charge

AWS Elemental MediaTailor Journaux

Journaux vended

Pris en charge

Amazon EventBridge Enregistrement des canalisations

Journaux vended Pris en charge [Autorisations V1] Pris en charge [Autorisations V1] Pris en charge [Autorisations V1]

AWS Fargate journaux

Journaux personnalisés

Pris en charge

AWS Fault Injection Service journaux d'expériences

Journaux vended Pris en charge [Autorisations V1]

Amazon FinSpace

Journaux vended Pris en charge [Autorisations V1] Pris en charge [Autorisations V1] Pris en charge [Autorisations V1]

AWS Global Accelerator journaux de flux

Journaux vended Pris en charge [Autorisations V1]

AWS Glue journaux des tâches

Journaux personnalisés

Pris en charge

IAMJournaux d'erreurs d'Identity Center

Journaux vended Pris en charge [Autorisations V2] Pris en charge [Autorisations V2] Pris en charge [Autorisations V2]

Journaux de conversation Amazon Interactive Video Service

Journaux vended Pris en charge [Autorisations V1] Pris en charge [Autorisations V1] Pris en charge [Autorisations V1]

AWS IoT journaux

Journaux personnalisés

Pris en charge

AWS IoT FleetWise journaux

Journaux vended Pris en charge [Autorisations V1] Pris en charge [Autorisations V1] Pris en charge [Autorisations V1]

AWS Lambda journaux

Journaux personnalisés

Pris en charge

Journaux Amazon Macie

Journaux personnalisés

Pris en charge

AWS Mainframe Modernization

Journaux vended Pris en charge [Autorisations V1] Pris en charge [Autorisations V1] Pris en charge [Autorisations V1]

Journaux Amazon Managed Service for Prometheus

Journaux vended

Pris en charge [Autorisations V1]

Journaux des MSK courtiers Amazon

Journaux vended

Pris en charge [Autorisations V1]

Pris en charge [Autorisations V1] Pris en charge [Autorisations V1]

Journaux Amazon MSK Connect

Journaux vended

Pris en charge [Autorisations V1]

Pris en charge [Autorisations V1] Pris en charge [Autorisations V1]

Journaux généraux et d'audit d'Amazon MQ

Journaux personnalisés

Pris en charge

AWS Journaux de Network Firewall

Journaux vended

Pris en charge [Autorisations V1]

Pris en charge [Autorisations V1] Pris en charge [Autorisations V1]

Journaux d'accès de Network Load Balancer

Journaux vended Pris en charge [Autorisations V1]

OpenSearch journaux

Journaux personnalisés

Pris en charge

Journaux d'ingestion d'Amazon OpenSearch Service

Journaux vended Pris en charge [Autorisations V1] Pris en charge [Autorisations V1] Pris en charge [Autorisations V1]

AWS OpsWorks journaux

Journaux personnalisés

Pris en charge

Journaux de la base de données ServicePostgre SQL relationnelle Amazon

Journaux personnalisés

Pris en charge

AWS RoboMaker journaux

Journaux personnalisés

Pris en charge

Journaux de DNS requêtes publics d'Amazon Route 53

Journaux vended

Pris en charge

Journaux de requête Amazon Route 53 Resolver

Journaux vended

Pris en charge [Autorisations V1]

Pris en charge [Autorisations V1]

SageMaker Événements Amazon

Journaux vended

Pris en charge [Autorisations V1]

Événements destinés aux SageMaker employés d'Amazon

Journaux vended

Pris en charge [Autorisations V1]

AWS Journaux de site à site VPN

Journaux vended

Pris en charge [Autorisations V1]

Pris en charge [Autorisations V1]

Pris en charge [Autorisations V1]

Journaux d'Amazon Simple Email Service

Journaux vended Pris en charge [Autorisations V2] Pris en charge [Autorisations V2] Pris en charge [Autorisations V2]

Journaux Amazon Simple Notification Service

Journaux personnalisés

Pris en charge

Journaux des politiques de protection des données d'Amazon Simple Notification Service

Journaux personnalisés

Pris en charge

EC2Fichiers de flux de données des instances Spot

Journaux vended

Pris en charge [Autorisations V1]

AWS Step Functions Journaux du flux de travail Express et du flux de travail standard

Journaux vended

Pris en charge [Autorisations V1]

Journaux d'audit et journaux d'état de Storage Gateway

Journaux vended

Pris en charge [Autorisations V1]

AWS Transfer Family journaux

Journaux vended

Pris en charge [Autorisations V1]

Pris en charge [Autorisations V1]

Pris en charge [Autorisations V1]

Accès vérifié par AWS journaux

Journaux vended

Pris en charge [Autorisations V1]

Pris en charge [Autorisations V1]

Pris en charge [Autorisations V1]

Journaux de flux d'Amazon Virtual Private Cloud

Journaux vended

Pris en charge

Pris en charge [Autorisations V1] Pris en charge [Autorisations V1]

Journaux d'accès VPC à Amazon Lattice

Journaux vended Pris en charge [Autorisations V1] Pris en charge [Autorisations V1] Pris en charge [Autorisations V1]

AWS WAF journaux

Journaux vended Pris en charge [Autorisations V1] Pris en charge [Autorisations V1]

Pris en charge

Amazon WorkMail journaux

Journaux vended Pris en charge [Autorisations V2] Pris en charge [Autorisations V2] Pris en charge [Autorisations V2]

Journalisation nécessitant des autorisations supplémentaires [V1]

Certains AWS services utilisent une infrastructure commune pour envoyer leurs CloudWatch journaux à Logs, Amazon S3 ou Firehose. Pour permettre aux services AWS répertoriés dans le tableau suivant d'envoyer leurs journaux vers ces destinations, vous devez être connecté en tant qu'utilisateur disposant de certaines autorisations.

En outre, des autorisations doivent être accordées AWS pour permettre l'envoi des journaux. AWS peut créer automatiquement ces autorisations lors de la configuration des journaux, ou vous pouvez les créer vous-même avant de configurer la journalisation. Pour la livraison entre comptes, vous devez créer vous-même les politiques d'autorisation manuellement.

Si vous choisissez de configurer AWS automatiquement les autorisations et les politiques de ressources nécessaires lorsque vous ou un membre de votre organisation configurez l'envoi des journaux pour la première fois, l'utilisateur qui configure l'envoi des journaux doit disposer de certaines autorisations, comme expliqué plus loin dans cette section. Vous pouvez également créer les politiques de ressources vous-même, de sorte que les utilisateurs qui configurent l'envoi des journaux n'ont pas besoin d'autant d'autorisations.

Le tableau suivant résume les types de journaux et les destinations des journaux auxquels s'appliquent les informations de cette section.

Les sections suivantes fournissent plus de détails pour chacune de ces destinations.

Logs envoyés à CloudWatch Logs

Important

Lorsque vous configurez les types de journaux dans la liste suivante à envoyer à CloudWatch Logs, vous AWS créez ou modifiez les politiques de ressources associées au groupe de journaux recevant les journaux, si nécessaire. Continuez à lire cette section pour voir les détails.

Cette section s'applique lorsque les types de journaux répertoriés dans le tableau de la section précédente sont envoyés à CloudWatch Logs :

Autorisations des utilisateurs

Pour pouvoir configurer l'envoi de l'un de ces types de CloudWatch journaux à Logs pour la première fois, vous devez être connecté à un compte avec les autorisations suivantes.

  • logs:CreateLogDelivery

  • logs:PutResourcePolicy

  • logs:DescribeResourcePolicies

  • logs:DescribeLogGroups

    Note

    Lorsque vous spécifiez le logs:DescribeLogGroupslogs:DescribeResourcePolicies, ou l'logs:PutResourcePolicyautorisation, veillez à définir la Resource ligne ARN de manière à utiliser un * caractère générique, au lieu de ne spécifier qu'un seul nom de groupe de journaux. Par exemple, "Resource": "arn:aws:logs:us-east-1:111122223333:log-group:*"

Si l'un de ces types de journaux est déjà envoyé à un groupe de CloudWatch journaux dans Logs, vous n'avez besoin que de l'logs:CreateLogDeliveryautorisation pour configurer l'envoi d'un autre de ces types de journaux à ce même groupe de journaux.

Politique de ressources du groupe de journaux

Le groupe de journaux dans lequel les journaux sont envoyés doit avoir une politique de ressources qui inclut certaines autorisations. Si le groupe de journaux n'a actuellement aucune politique de ressources et que l'utilisateur qui configure la journalisation dispose des logs:DescribeLogGroups autorisations logs:PutResourcePolicylogs:DescribeResourcePolicies, et pour le groupe de journaux, crée AWS automatiquement la politique suivante pour celui-ci lorsque vous commencez à envoyer les CloudWatch journaux à Logs.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSLogDeliveryWrite20150319", "Effect": "Allow", "Principal": { "Service": [ "delivery.logs.amazonaws.com" ] }, "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-1:0123456789:log-group:my-log-group:log-stream:*" ], "Condition": { "StringEquals": { "aws:SourceAccount": ["0123456789"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:0123456789:*"] } } } ] }

Si le groupe de journaux dispose d'une politique de ressources mais que cette politique ne contient pas l'instruction indiquée dans la politique précédente, et que l'utilisateur qui configure la journalisation dispose des autorisations logs:PutResourcePolicy, logs:DescribeResourcePolicies et logs:DescribeLogGroups pour le groupe de journaux, cette instruction est ajoutée à la politique de ressources du groupe de journaux.

Considérations sur la limite de taille de la politique de ressources des groupes de journaux

Ces services doivent répertorier chaque groupe de journaux auquel ils envoient des journaux dans la politique de ressources, et les politiques de ressources de CloudWatch journaux sont limitées à 5 120 caractères. Un service qui envoie des journaux à un grand nombre de groupes de journaux peut respecter cette limite.

Pour atténuer ce problème, CloudWatch Logs surveille la taille des politiques de ressources utilisées par le service qui envoie les journaux, et lorsqu'il détecte qu'une politique approche la limite de taille de 5 120 caractères, CloudWatch Logs les active automatiquement /aws/vendedlogs/* dans la politique de ressources de ce service. Vous pouvez alors commencer à utiliser des groupes de journaux dont les noms commencent par /aws/vendedlogs/ comme destinations des journaux provenant de ces services.

Journaux envoyés à Amazon S3

Lorsque vous configurez les journaux à envoyer à Amazon S3, vous AWS créez ou modifiez les politiques de ressources associées au compartiment S3 qui reçoit les journaux, si nécessaire.

Les journaux publiés directement sur Amazon S3 le sont dans un compartiment existant que vous spécifiez. Un ou plusieurs fichiers journaux sont créés toutes les cinq minutes dans le compartiment spécifié.

Lorsque vous livrez des journaux pour la première fois à un compartiment Amazon S3, le service qui livre les journaux enregistre le propriétaire du compartiment pour s'assurer que les journaux sont livrés uniquement à un compartiment appartenant à ce compte. Par conséquent, pour changer le propriétaire du compartiment Amazon S3, vous devez recréer ou mettre à jour l'abonnement au journal dans le service d'origine.

Note

CloudFront utilise un modèle d'autorisation différent de celui des autres services qui envoient des journaux vendus à S3. Pour plus d'informations, consultez Autorisations requises pour configurer la journalisation standard et pour accéder à vos fichiers journaux.

En outre, si vous utilisez le même compartiment S3 pour les journaux CloudFront d'accès et une autre source de journaux, l'activation ACL du compartiment pour octroie CloudFront également l'autorisation à toutes les autres sources de journaux qui utilisent ce compartiment.

Important

Si vous envoyez des journaux vers un compartiment Amazon S3 et que la politique du compartiment contient un NotPrincipal élément NotAction ou, l'ajout automatique des autorisations de livraison des journaux au compartiment et la création d'un abonnement aux journaux échoueront. Pour créer un abonnement aux journaux avec succès, vous devez ajouter manuellement les autorisations de livraison des journaux à la politique de compartiment, puis créer l'abonnement aux journaux. Pour plus d'informations, consultez les instructions de cette section.

Si le compartiment est chiffré côté serveur à l'aide d'une AWS KMS clé gérée par le client, vous devez également ajouter la politique de clé pour votre clé gérée par le client. Pour de plus amples informations, veuillez consulter Amazon S3.

Autorisations des utilisateurs

Pour pouvoir configurer l'envoi de l'un de ces types de journaux à Amazon S3 pour la première fois, vous devez être connecté à un compte disposant des autorisations suivantes.

  • logs:CreateLogDelivery

  • S3:GetBucketPolicy

  • S3:PutBucketPolicy

Si l'un de ces types de journaux est déjà envoyé vers un compartiment Amazon S3, il vous suffit de disposer de l'autorisation logs:CreateLogDelivery pour configurer l'envoi d'un autre de ces types de journaux vers le même compartiment.

Politique de ressources du compartiment S3

Le compartiment S3 où les journaux sont envoyés doit avoir une politique de ressources qui inclut certaines autorisations. Si le compartiment n'a actuellement aucune politique de ressources et que l'utilisateur qui configure la journalisation dispose des S3:PutBucketPolicy autorisations S3:GetBucketPolicy et des autorisations pour le compartiment, il crée AWS automatiquement la politique suivante pour celui-ci lorsque vous commencez à envoyer les journaux à Amazon S3.

{ "Version": "2012-10-17", "Id": "AWSLogDeliveryWrite20150319", "Statement": [ { "Sid": "AWSLogDeliveryAclCheck", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket", "Condition": { "StringEquals": { "aws:SourceAccount": ["0123456789"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:0123456789:*"] } } }, { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/AWSLogs/account-ID/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": ["0123456789"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:0123456789:*"] } } } ] }

Dans la politique précédente, pouraws:SourceAccount, spécifiez la liste des comptes IDS pour lesquels les journaux sont envoyés à ce compartiment. Pouraws:SourceArn, spécifiez la liste ARNs des ressources qui génèrent les journaux, dans le formulairearn:aws:logs:source-region:source-account-id:*.

Si le compartiment dispose d'une politique de ressources, mais que celle-ci ne contient pas la déclaration indiquée dans la politique précédente, et que l'utilisateur qui configure la journalisation dispose des autorisations S3:GetBucketPolicy et S3:PutBucketPolicy pour le compartiment, cette déclaration est ajoutée à la politique de ressources du compartiment.

Note

Dans certains cas, des AccessDenied erreurs peuvent s'afficher AWS CloudTrail si l's3:ListBucketautorisation n'a pas été accordéedelivery.logs.amazonaws.com. Pour éviter ces erreurs dans vos CloudTrail journaux, vous devez accorder l's3:ListBucketautorisation delivery.logs.amazonaws.com et inclure les Condition paramètres indiqués dans l's3:GetBucketAclautorisation définie dans la politique de compartiment précédente. Pour simplifier les choses, au lieu de créer un nouveau Statement, vous pouvez directement mettre à jour le AWSLogDeliveryAclCheck pour qu'il devienne “Action”: [“s3:GetBucketAcl”, “s3:ListBucket”]

Chiffrement côté serveur des compartiments Amazon S3

Vous pouvez protéger les données de votre compartiment Amazon S3 en activant le chiffrement côté serveur avec des clés gérées par Amazon SSE S3 (-S3) ou le chiffrement côté serveur avec une AWS KMS clé stockée dans (-). AWS Key Management Service SSE KMS Pour plus d'informations, consultez Protection des données à l'aide du chiffrement côté serveur.

Si vous choisissez SSE -S3, aucune configuration supplémentaire n'est requise. Amazon S3 gère la clé de chiffrement.

Avertissement

Si vous choisissez SSE -KMS, vous devez utiliser une clé gérée par le client, car l'utilisation d'une clé AWS gérée n'est pas prise en charge dans ce scénario. Si vous configurez le chiffrement à l'aide d'une clé AWS gérée, les journaux seront fournis dans un format illisible.

Lorsque vous utilisez une AWS KMS clé gérée par le client, vous pouvez spécifier le nom de ressource Amazon (ARN) de la clé gérée par le client lorsque vous activez le chiffrement des compartiments. Vous devez ajouter les informations suivantes à la politique de votre clé gérée par le client (pas à la politique du compartiment S3), afin que le compte de livraison des journaux puisse écrire des données dans votre compartiment S3.

Si vous choisissez SSE -KMS, vous devez utiliser une clé gérée par le client, car l'utilisation d'une clé AWS gérée n'est pas prise en charge dans ce scénario. Lorsque vous utilisez une AWS KMS clé gérée par le client, vous pouvez spécifier le nom de ressource Amazon (ARN) de la clé gérée par le client lorsque vous activez le chiffrement des compartiments. Vous devez ajouter les informations suivantes à la politique de votre clé gérée par le client (pas à la politique du compartiment S3), afin que le compte de livraison des journaux puisse écrire des données dans votre compartiment S3.

{ "Sid": "Allow Logs Delivery to use the key", "Effect": "Allow", "Principal": { "Service": [ "delivery.logs.amazonaws.com" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": ["0123456789"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:0123456789:*"] } } }

Pouraws:SourceAccount, spécifiez la liste des comptes IDS pour lesquels les journaux sont envoyés à ce compartiment. Pouraws:SourceArn, spécifiez la liste ARNs des ressources qui génèrent les journaux, dans le formulairearn:aws:logs:source-region:source-account-id:*.

Logs envoyés à Firehose

Cette section s'applique lorsque les types de journaux répertoriés dans le tableau de la section précédente sont envoyés à Firehose :

Autorisations des utilisateurs

Pour pouvoir configurer l'envoi de l'un de ces types de journaux à Firehose pour la première fois, vous devez être connecté à un compte avec les autorisations suivantes.

  • logs:CreateLogDelivery

  • firehose:TagDeliveryStream

  • iam:CreateServiceLinkedRole

Si l'un de ces types de journaux est déjà envoyé à Firehose, vous devez uniquement disposer des autorisations et pour configurer l'envoi d'un autre de ces types de journaux à Firehose. logs:CreateLogDelivery firehose:TagDeliveryStream

IAMrôles utilisés pour les autorisations

Comme Firehose n'utilise pas de politiques de ressources, il AWS utilise des IAM rôles lors de la configuration de ces journaux à envoyer à Firehose. AWS crée un rôle lié à un service nommé AWSServiceRoleForLogDelivery. Ce rôle lié au service inclut les autorisations suivantes.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "firehose:PutRecord", "firehose:PutRecordBatch", "firehose:ListTagsForDeliveryStream" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/LogDeliveryEnabled": "true" } }, "Effect": "Allow" } ] }

Ce rôle lié à un service accorde l'autorisation à tous les flux de diffusion Firehose dont la LogDeliveryEnabled balise est définie sur. true AWS attribue cette balise au flux de diffusion de destination lorsque vous configurez la journalisation.

Ce rôle lié à un service possède également une politique d'approbation qui permet au principal du service delivery.logs.amazonaws.com d'assumer le rôle lié au service nécessaire. Cette politique d'approbation est la suivante :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Journalisation nécessitant des autorisations supplémentaires [V2]

Certains AWS services utilisent une nouvelle méthode pour envoyer leurs journaux. Il s'agit d'une méthode flexible qui vous permet de configurer la livraison des journaux depuis ces services vers une ou plusieurs des destinations suivantes : CloudWatch Logs, Amazon S3 ou Firehose.

La livraison d'un journal de travail comprend trois éléments :

  • ADeliverySource, qui est un objet logique qui représente la ou les ressources qui envoient réellement les journaux.

  • ADeliveryDestination, qui est un objet logique qui représente la destination de livraison réelle.

  • ADelivery, qui connecte une source de livraison à une destination de livraison

Pour configurer la livraison des journaux entre un AWS service pris en charge et une destination, vous devez effectuer les opérations suivantes :

  • Créez une source de diffusion avec PutDeliverySource.

  • Créez une destination de livraison avec PutDeliveryDestination.

  • Si vous distribuez des journaux entre comptes, vous devez les utiliser PutDeliveryDestinationPolicydans le compte de destination pour attribuer une IAM politique à la destination. Cette politique autorise la création d'une livraison depuis la source de livraison dans le compte A vers la destination de livraison dans le compte B. Pour la livraison entre comptes, vous devez créer manuellement les politiques d'autorisation vous-même.

  • Créez une livraison en associant exactement une source de livraison et une destination de livraison, en utilisant CreateDelivery.

Les sections suivantes fournissent les détails des autorisations dont vous avez besoin lorsque vous êtes connecté pour configurer la livraison des journaux à chaque type de destination, à l'aide du processus V2. Ces autorisations peuvent être accordées à un IAM rôle avec lequel vous êtes connecté.

Important

Il est de votre responsabilité de supprimer les ressources de livraison de journaux après avoir supprimé la ressource génératrice de journaux. Pour ce faire, procédez comme suit.

  1. DeliverySupprimez-le à l'aide de l'DeleteDeliveryopération.

  2. DeliverySourceSupprimez-le à l'aide de l'DeleteDeliverySourceopération.

  3. Si le DeliveryDestination fichier associé à DeliverySource celui que vous venez de supprimer n'est utilisé que pour ce DeliverySource paramètre spécifique, vous pouvez le supprimer en utilisant l'DeleteDeliveryDestinationsopération.

Logs envoyés à CloudWatch Logs

Autorisations des utilisateurs

Pour activer l'envoi de CloudWatch journaux à Logs, vous devez être connecté avec les autorisations suivantes.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadWriteAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:GetDelivery", "logs:GetDeliverySource", "logs:PutDeliveryDestination", "logs:GetDeliveryDestinationPolicy", "logs:DeleteDeliverySource", "logs:PutDeliveryDestinationPolicy", "logs:CreateDelivery", "logs:GetDeliveryDestination", "logs:PutDeliverySource", "logs:DeleteDeliveryDestination", "logs:DeleteDeliveryDestinationPolicy", "logs:DeleteDelivery", "logs:UpdateDeliveryConfiguration" ], "Resource": [ "arn:aws:logs:region:account-id:delivery:*", "arn:aws:logs:region:account-id:delivery-source:*", "arn:aws:logs:region:account-id:delivery-destination:*" ] }, { "Sid": "ListAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:DescribeDeliveryDestinations", "logs:DescribeDeliverySources", "logs:DescribeDeliveries", "logs:DescribeConfigurationTemplates" ], "Resource": "*" }, { "Sid": "AllowUpdatesToResourcePolicyCWL", "Effect": "Allow", "Action": [ "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups" ], "Resource": [ "arn:aws:logs:region:account-id:*" ] } ] }

Politique de ressources du groupe de journaux

Le groupe de journaux dans lequel les journaux sont envoyés doit avoir une politique de ressources qui inclut certaines autorisations. Si le groupe de journaux n'a actuellement aucune politique de ressources et que l'utilisateur qui configure la journalisation dispose des logs:DescribeLogGroups autorisations logs:PutResourcePolicylogs:DescribeResourcePolicies, et pour le groupe de journaux, crée AWS automatiquement la politique suivante pour celui-ci lorsque vous commencez à envoyer les CloudWatch journaux à Logs.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSLogDeliveryWrite20150319", "Effect": "Allow", "Principal": { "Service": [ "delivery.logs.amazonaws.com" ] }, "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-1:0123456789:log-group:my-log-group:log-stream:*" ], "Condition": { "StringEquals": { "aws:SourceAccount": ["0123456789"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:0123456789:*"] } } } ] }

Considérations sur la limite de taille de la politique de ressources des groupes de journaux

Ces services doivent répertorier chaque groupe de journaux auquel ils envoient des journaux dans la politique de ressources, et les politiques de ressources de CloudWatch journaux sont limitées à 5 120 caractères. Un service qui envoie des journaux à un grand nombre de groupes de journaux peut atteindre cette limite.

Pour atténuer ce problème, CloudWatch Logs surveille la taille des politiques de ressources utilisées par le service qui envoie les journaux, et lorsqu'il détecte qu'une politique approche la limite de taille de 5 120 caractères, CloudWatch Logs les active automatiquement /aws/vendedlogs/* dans la politique de ressources de ce service. Vous pouvez alors commencer à utiliser des groupes de journaux dont les noms commencent par /aws/vendedlogs/ comme destinations des journaux provenant de ces services.

Journaux envoyés à Amazon S3

Autorisations des utilisateurs

Pour activer l'envoi de journaux à Amazon S3, vous devez être connecté avec les autorisations suivantes.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadWriteAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:GetDelivery", "logs:GetDeliverySource", "logs:PutDeliveryDestination", "logs:GetDeliveryDestinationPolicy", "logs:DeleteDeliverySource", "logs:PutDeliveryDestinationPolicy", "logs:CreateDelivery", "logs:GetDeliveryDestination", "logs:PutDeliverySource", "logs:DeleteDeliveryDestination", "logs:DeleteDeliveryDestinationPolicy", "logs:DeleteDelivery", "logs:UpdateDeliveryConfiguration" ], "Resource": [ "arn:aws:logs:region:account-id:delivery:*", "arn:aws:logs:region:account-id:delivery-source:*", "arn:aws:logs:region:account-id:delivery-destination:*" ] }, { "Sid": "ListAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:DescribeDeliveryDestinations", "logs:DescribeDeliverySources", "logs:DescribeDeliveries", "logs:DescribeConfigurationTemplates" ], "Resource": "*" }, { "Sid": "AllowUpdatesToResourcePolicyS3", "Effect": "Allow", "Action": [ "s3:PutBucketPolicy", "s3:GetBucketPolicy" ], "Resource": "arn:aws:s3:::bucket-name" } ] }

Le compartiment S3 où les journaux sont envoyés doit avoir une politique de ressources qui inclut certaines autorisations. Si le compartiment n'a actuellement aucune politique de ressources et que l'utilisateur qui configure la journalisation dispose des S3:PutBucketPolicy autorisations S3:GetBucketPolicy et des autorisations pour le compartiment, il crée AWS automatiquement la politique suivante pour celui-ci lorsque vous commencez à envoyer les journaux à Amazon S3.

{ "Version": "2012-10-17", "Id": "AWSLogDeliveryWrite20150319", "Statement": [ { "Sid": "AWSLogDeliveryAclCheck", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket", "Condition": { "StringEquals": { "aws:SourceAccount": ["0123456789"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:0123456789:delivery-source*"] } } }, { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/AWSLogs/account-ID/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": ["0123456789"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:0123456789:delivery-source:*"] } } } ] }

Dans la politique précédente, pouraws:SourceAccount, spécifiez la liste des comptes IDS pour lesquels les journaux sont envoyés à ce compartiment. Pouraws:SourceArn, spécifiez la liste ARNs des ressources qui génèrent les journaux, dans le formulairearn:aws:logs:source-region:source-account-id:*.

Si le compartiment dispose d'une politique de ressources, mais que celle-ci ne contient pas la déclaration indiquée dans la politique précédente, et que l'utilisateur qui configure la journalisation dispose des autorisations S3:GetBucketPolicy et S3:PutBucketPolicy pour le compartiment, cette déclaration est ajoutée à la politique de ressources du compartiment.

Note

Dans certains cas, des AccessDenied erreurs peuvent s'afficher AWS CloudTrail si l's3:ListBucketautorisation n'a pas été accordéedelivery.logs.amazonaws.com. Pour éviter ces erreurs dans vos CloudTrail journaux, vous devez accorder l's3:ListBucketautorisation delivery.logs.amazonaws.com et inclure les Condition paramètres indiqués dans l's3:GetBucketAclautorisation définie dans la politique de compartiment précédente. Pour simplifier les choses, au lieu de créer un nouveau Statement, vous pouvez directement mettre à jour le AWSLogDeliveryAclCheck pour qu'il devienne “Action”: [“s3:GetBucketAcl”, “s3:ListBucket”]

Chiffrement côté serveur des compartiments Amazon S3

Vous pouvez protéger les données de votre compartiment Amazon S3 en activant le chiffrement côté serveur avec des clés gérées par Amazon SSE S3 (-S3) ou le chiffrement côté serveur avec une AWS KMS clé stockée dans (-). AWS Key Management Service SSE KMS Pour plus d'informations, consultez Protection des données à l'aide du chiffrement côté serveur.

Si vous choisissez SSE -S3, aucune configuration supplémentaire n'est requise. Amazon S3 gère la clé de chiffrement.

Avertissement

Si vous choisissez SSE -KMS, vous devez utiliser une clé gérée par le client, car l'utilisation d'une clé AWS gérée n'est pas prise en charge dans ce scénario. Si vous configurez le chiffrement à l'aide d'une clé AWS gérée, les journaux seront fournis dans un format illisible.

Lorsque vous utilisez une AWS KMS clé gérée par le client, vous pouvez spécifier le nom de ressource Amazon (ARN) de la clé gérée par le client lorsque vous activez le chiffrement des compartiments. Vous devez ajouter les informations suivantes à la politique de votre clé gérée par le client (pas à la politique du compartiment S3), afin que le compte de livraison des journaux puisse écrire des données dans votre compartiment S3.

Si vous choisissez SSE -KMS, vous devez utiliser une clé gérée par le client, car l'utilisation d'une clé AWS gérée n'est pas prise en charge dans ce scénario. Lorsque vous utilisez une AWS KMS clé gérée par le client, vous pouvez spécifier le nom de ressource Amazon (ARN) de la clé gérée par le client lorsque vous activez le chiffrement des compartiments. Vous devez ajouter les informations suivantes à la politique de votre clé gérée par le client (pas à la politique du compartiment S3), afin que le compte de livraison des journaux puisse écrire des données dans votre compartiment S3.

{ "Sid": "Allow Logs Delivery to use the key", "Effect": "Allow", "Principal": { "Service": [ "delivery.logs.amazonaws.com" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": ["0123456789"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:0123456789:delivery-source:*"] } } }

Pouraws:SourceAccount, spécifiez la liste des comptes IDS pour lesquels les journaux sont envoyés à ce compartiment. Pouraws:SourceArn, spécifiez la liste ARNs des ressources qui génèrent les journaux, dans le formulairearn:aws:logs:source-region:source-account-id:*.

Logs envoyés à Firehose

Autorisations des utilisateurs

Pour activer l'envoi de logs à Firehose, vous devez être connecté avec les autorisations suivantes.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadWriteAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:GetDelivery", "logs:GetDeliverySource", "logs:PutDeliveryDestination", "logs:GetDeliveryDestinationPolicy", "logs:DeleteDeliverySource", "logs:PutDeliveryDestinationPolicy", "logs:CreateDelivery", "logs:GetDeliveryDestination", "logs:PutDeliverySource", "logs:DeleteDeliveryDestination", "logs:DeleteDeliveryDestinationPolicy", "logs:DeleteDelivery", "logs:UpdateDeliveryConfiguration" ], "Resource": [ "arn:aws:logs:region:account-id:delivery:*", "arn:aws:logs:region:account-id:delivery-source:*", "arn:aws:logs:region:account-id:delivery-destination:*" ] }, { "Sid": "ListAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:DescribeDeliveryDestinations", "logs:DescribeDeliverySources", "logs:DescribeDeliveries", "logs:DescribeConfigurationTemplates" ], "Resource": "*" }, { "Sid": "AllowUpdatesToResourcePolicyFH", "Effect": "Allow", "Action": [ "firehose:TagDeliveryStream" ], "Resource": [ "arn:aws:firehose:region:account-id:deliverystream/*" ] }, { "Sid": "CreateServiceLinkedRole", "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::account-id:role/aws-service-role/delivery.logs.amazonaws.com/AWSServiceRoleForLogDelivery" } ] }

IAMrôles utilisés pour les autorisations relatives aux ressources

Comme Firehose n'utilise pas de politiques de ressources, il AWS utilise des IAM rôles lors de la configuration de ces journaux à envoyer à Firehose. AWS crée un rôle lié à un service nommé AWSServiceRoleForLogDelivery. Ce rôle lié au service inclut les autorisations suivantes.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "firehose:PutRecord", "firehose:PutRecordBatch", "firehose:ListTagsForDeliveryStream" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/LogDeliveryEnabled": "true" } }, "Effect": "Allow" } ] }

Ce rôle lié à un service accorde l'autorisation à tous les flux de diffusion Firehose dont la LogDeliveryEnabled balise est définie sur. true AWS attribue cette balise au flux de diffusion de destination lorsque vous configurez la journalisation.

Ce rôle lié à un service possède également une politique d'approbation qui permet au principal du service delivery.logs.amazonaws.com d'assumer le rôle lié au service nécessaire. Cette politique d'approbation est la suivante :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Autorisations spécifiques au service

Outre les autorisations spécifiques à la destination répertoriées dans les sections précédentes, certains services nécessitent une autorisation explicite autorisant les clients à envoyer des journaux à partir de leurs ressources, comme couche de sécurité supplémentaire. Il autorise l'AllowVendedLogDeliveryForResourceaction pour les ressources qui vendent des journaux au sein de ce service. Pour ces services, appliquez la politique suivante et remplacez service and resource-type avec les valeurs appropriées. Pour les valeurs spécifiques aux services pour ces champs, consultez la page de documentation de ces services pour les journaux vendus.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ServiceLevelAccessForLogDelivery", "Effect": "Allow", "Action": [ "service:AllowVendedLogDeliveryForResource" ], "Resource": "arn:aws:service:region:account-id:resource-type/*" } ] }

Autorisations spécifiques à la console

Outre les autorisations répertoriées dans les sections précédentes, si vous configurez la livraison des journaux à l'aide de la console au lieu de laAPIs, vous avez également besoin des autorisations supplémentaires suivantes :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowLogDeliveryActionsConsoleCWL", "Effect": "Allow", "Action": [ "logs:DescribeLogGroups" ], "Resource": [ "arn:aws:logs:us-east-1:111122223333:log-group:*" ] }, { "Sid": "AllowLogDeliveryActionsConsoleS3", "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::*" ] }, { "Sid": "AllowLogDeliveryActionsConsoleFH", "Effect": "Allow", "Action": [ "firehose:ListDeliveryStreams", "firehose:DescribeDeliveryStream" ], "Resource": [ "*" ] } ] }

Exemple de livraison entre comptes

Dans cet exemple, deux comptes sont concernés. Le compte contenant la ressource génératrice du journal est le compte A, ID : AAAAAAAAAAAA, et le compte contenant la ressource consommatrice de journaux est le compte B, ID : BBBBBBBBBBBB.

Le compte A souhaite fournir des logs provenant de la base de Amazon Bedrock connaissances de son compte avec le ARN arn:aws:bedrock :region:AAAAAAAAAAAA:base de connaissances/XXXXXXXXXX.

Pour cet exemple, le compte A a besoin des autorisations suivantes :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowVendedLogDeliveryForKnowledgeBase", "Effect": "Allow", "Action": [ "bedrock:AllowVendedLogDeliveryForResource" ], "Resource": "arn:aws:bedrock:region:AAAAAAAAAAAA:knowledge-base/XXXXXXXXXX" }, { "Sid": "CreateLogDeliveryPermissions", "Effect": "Allow", "Action": [ "logs:PutDeliverySource", "logs:CreateDelivery" ], "Resource": [ "arn:aws:logs:region:AAAAAAAAAAAA:delivery-source:*", "arn:aws:logs:region:AAAAAAAAAAAA:delivery:*", "arn:aws:logs:region:BBBBBBBBBBBB:delivery-destination:*" ] } ] }

Création d'une source de livraison

Pour commencer, le compte A crée une source de diffusion à partir de sa base de connaissances de base :

aws logs put-delivery-source --name my-delivery-source --log-type APPLICATION_LOGS --resource-arn arn:aws:bedrock:region:AAAAAAAAAAAA:knowledge-base/XXXXXXXXXX

Ensuite, le compte B doit créer la destination de livraison en utilisant l'un des flux ci-dessous :

Configuration de la livraison vers un compartiment Amazon S3

Le compte B souhaite recevoir les logs dans son compartiment S3 avec le ARN arn:aws:s3 : ::amzn-s3-demo-bucket. Dans cet exemple, le compte B aura besoin des autorisations suivantes :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "PutLogDestinationPermissions", "Effect": "Allow", "Action": [ "logs:PutDeliveryDestination", "logs:PutDeliveryDestinationPolicy" ], "Resource": "arn:aws:logs:region:BBBBBBBBBBBB:delivery-destination:*" } ] }

Le bucket aura besoin des autorisations suivantes dans sa politique de bucket :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSLogsDeliveryWrite", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/AWSLogs/AAAAAAAAAAAA/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": ["AAAAAAAAAAAA"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:region:AAAAAAAAAAAA:delivery-source:my-delivery-source"] } } } ] }

Si le compartiment est chiffré avec SSE -KMS, assurez-vous que la politique des AWS KMS clés dispose des autorisations appropriées. Par exemple, si la KMS clé estarn:aws:kms:region:BBBBBBBBBBBB:key/X, utilisez ce qui suit :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowLogsGenerateDataKey", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" } "Action": [ "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:region:BBBBBBBBBBBB:key/X", "Condition": { "StringEquals": { "aws:SourceAccount": ["AAAAAAAAAAAA"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:region:AAAAAAAAAAAA:delivery-source:my-delivery-source"] } } } ] }

Le compte B peut ensuite créer une destination de livraison avec le compartiment S3 comme ressource de destination :

aws logs put-delivery-destination --name my-s3-delivery-destination --delivery-destination-configuration "destinationResourceArn=arn:aws:s3:::amzn-s3-demo-bucket"

Ensuite, le compte B crée une politique de destination de livraison pour sa nouvelle destination de livraison, qui autorisera le compte A à créer un journal de livraison. La politique qui sera ajoutée à la destination de livraison nouvellement créée est la suivante :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateDelivery", "Effect": "Allow", "Principal": { "AWS": "AAAAAAAAAAAA" }, "Action": [ "logs:CreateDelivery" ], "Resource": "arn:aws:logs:region:BBBBBBBBBBBB:delivery-destination:my-s3-delivery-destination" } ] }

Cette politique sera enregistrée sur l'ordinateur du compte B car destination-policy-s3.json pour associer cette ressource, le compte B exécutera la commande suivante :

aws logs put-delivery-destination-policy --delivery-destination-name my-s3-delivery-destination --delivery-destination-policy file://destination-policy-s3.json

Enfin, le compte A crée la livraison, qui lie la source de livraison dans le compte A à la destination de livraison dans le compte B.

aws logs create-delivery --delivery-source-name my-delivery-source --delivery-destination-arn arn:aws:logs:region:BBBBBBBBBBBB:delivery-destination:my-s3-delivery-destination

Configurer la diffusion vers un flux Firehose

Dans cet exemple, le compte B souhaite recevoir des logs dans son stream Firehose. Le flux Firehose possède les caractéristiques suivantes ARN et est configuré pour utiliser le type de flux DirectPut de diffusion :

arn:aws:firehose:region:BBBBBBBBBBBB:deliverystream/X

Pour cet exemple, le compte B a besoin des autorisations suivantes :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowFirehoseCreateSLR", "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::BBBBBBBBBBBB:role/aws-service-role/delivery.logs.amazonaws.com/AWSServiceRoleForLogDelivery", }, { "Sid": "AllowFirehoseTagging", "Effect": "Allow", "Action": [ "firehose:TagDeliveryStream" ], "Resource": "arn:aws:firehose:region:BBBBBBBBBBBB:deliverystream/X" }, { "Sid": "AllowFirehoseDeliveryDestination", "Effect": "Allow", "Action": [ "logs:PutDeliveryDestination", "logs:PutDeliveryDestinationPolicy" ], "Resource": "arn:aws:logs:region:BBBBBBBBBBBB:delivery-destination:*" } ] }

Le stream Firehose doit avoir la balise LogDeliveryEnabled définie sur. true

Le compte B créera ensuite une destination de livraison avec le stream Firehose comme ressource de destination :

aws logs put-delivery-destination --name my-fh-delivery-destination --delivery-destination-configuration "destinationResourceArn=arn:aws:firehose:region:BBBBBBBBBBBB:deliverystream/X"

Ensuite, le compte B crée une politique de destination de livraison pour sa nouvelle destination de livraison, qui autorisera le compte A à créer un journal de livraison. La politique à ajouter à la destination de livraison nouvellement créée est la suivante :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateDelivery", "Effect": "Allow", "Principal": { "AWS": "AAAAAAAAAAAA" }, "Action": [ "logs:CreateDelivery" ], "Resource": "arn:aws:logs:region:BBBBBBBBBBBB:delivery-destination:my-fh-delivery-destination" } ] }

Cette politique sera enregistrée sur l'ordinateur du compte B car destination-policy-fh.json pour associer cette ressource, le compte B exécute la commande suivante :

aws logs put-delivery-destination-policy --delivery-destination-name my-fh-delivery-destination --delivery-destination-policy file://destination-policy-fh.json

Enfin, le compte A crée la livraison, qui lie la source de livraison dans le compte A à la destination de livraison dans le compte B.

aws logs create-delivery --delivery-source-name my-delivery-source --delivery-destination-arn arn:aws:logs:region:BBBBBBBBBBBB:delivery-destination:my-fh-delivery-destination

Prévention du cas de figure de l’adjoint désorienté entre services

Le problème de député confus est un problème de sécurité dans lequel une entité qui n’est pas autorisée à effectuer une action peut contraindre une entité plus privilégiée à le faire. En AWS, l'usurpation d'identité interservices peut entraîner la confusion des adjoints. L’usurpation d’identité entre services peut se produire lorsqu’un service (le service appelant) appelle un autre service (le service appelé). Le service appelant peut être manipulé et ses autorisations utilisées pour agir sur les ressources d’un autre client auxquelles on ne serait pas autorisé d’accéder autrement. Pour éviter cela, AWS fournit des outils qui vous aident à protéger vos données pour tous les services avec des principaux de service qui ont eu accès aux ressources de votre compte.

Nous recommandons d'utiliser les clés aws:SourceAccountcontextuelles aws:SourceArnaws:SourceOrgID,, et de condition aws:SourceOrgPathsglobale dans les politiques de ressources afin de limiter les autorisations que CloudWatch Logs accorde à un autre service à la ressource. aws:SourceArnÀ utiliser pour associer une seule ressource à un accès multiservice. aws:SourceAccountÀ utiliser pour associer n'importe quelle ressource de ce compte à l'utilisation interservices. aws:SourceOrgIDÀ utiliser pour permettre à n'importe quelle ressource provenant de n'importe quel compte au sein d'une organisation d'être associée à l'utilisation interservices. aws:SourceOrgPathsÀ utiliser pour associer toute ressource provenant de comptes situés dans un AWS Organizations chemin à l'utilisation interservices. Pour plus d'informations sur l'utilisation et la compréhension des chemins, voir Comprendre le chemin de l' AWS Organizations entité.

Le moyen le plus efficace de se protéger contre le problème de confusion des adjoints consiste à utiliser la clé de contexte de la condition aws:SourceArn globale avec l'intégralité ARN de la ressource. Si vous ne connaissez pas l'intégralité ARN de la ressource ou si vous spécifiez plusieurs ressources, utilisez la clé de condition contextuelle aws:SourceArn globale avec des caractères génériques (*) pour les parties inconnues duARN. Par exemple, arn:aws:servicename:*:123456789012:*.

Si la aws:SourceArn valeur ne contient pas l'identifiant du compte, tel qu'un compartiment Amazon S3ARN, vous devez utiliser les deux aws:SourceAccount et aws:SourceArn limiter les autorisations.

Pour se protéger contre le problème de l'adjoint confus à grande échelle, utilisez la clé de contexte de condition globale aws:SourceOrgID ou aws:SourceOrgPaths avec l'ID de l'organisation ou le chemin de l'organisation de la ressource dans vos politiques basées sur les ressources. Lorsque vous ajoutez, supprimez et déplacez des comptes dans votre organisation, les politiques qui contiennent la clé aws:SourceOrgID ou aws:SourceOrgPaths incluront automatiquement les bons comptes et vous n'avez pas besoin de mettre manuellement à jour les polices.

Les politiques des sections précédentes de cette page indiquent comment utiliser les clés de contexte de condition globale aws:SourceArn et aws:SourceAccount pour éviter le problème de député confus.

CloudWatch Enregistre les mises à jour des politiques AWS gérées

Consultez les détails des mises à jour apportées aux politiques AWS gérées pour CloudWatch les journaux depuis que ce service a commencé à suivre ces modifications. Pour recevoir des alertes automatiques concernant les modifications apportées à cette page, abonnez-vous au RSS fil sur la page d'historique CloudWatch des documents de journalisation.

Modification Description Date

AWSServiceRoleForLogDelivery politique de rôle liée au service — Mise à jour d'une politique existante

CloudWatch Les journaux ont modifié les autorisations définies dans la IAM politique associée au AWSServiceRoleForLogDeliveryrôle lié au service. La modification suivante a été apportée :

  • La clé de condition firehose:ResourceTag/LogDeliveryEnabled": "true" a été modifiée en aws:ResourceTag/LogDeliveryEnabled": "true".

15 juillet 2021

CloudWatch Les journaux ont commencé à suivre les modifications

CloudWatch Logs a commencé à suivre les modifications apportées AWS à ses politiques gérées.

10 juin 2021