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.
CloudWatch pipelines, politiques et autorisations IAM
Cette section décrit les exigences IAM pour les CloudWatch pipelines. Les autorisations varient en fonction de votre source de données et de votre méthode d'intégration.
Le tableau suivant vous permet d'identifier les sections IAM qui s'appliquent à votre cas d'utilisation.
Note
S3-based sources (s3) nécessite une politique de ressources après la création du pipeline. CloudWatch Les sources des journaux (cloudwatch_logs) ne le font pas.
Autorisations des appelants de l'API
Le principal IAM qui appelle CreateTelemetryPipeline a besoin d'une iam:PassRole autorisation pour tous les rôles référencés dans la configuration du pipeline.
Exemple PassRole modèle de politique
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRoleForPipelineSource", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::your-account-id:role/your-source-role", "Condition": { "StringEquals": { "iam:PassedToService": [ "service-principal" ], "iam:AssociatedResourceARN": [ "arn:aws:observabilityadmin:your-region:your-account-id:telemetry-pipeline/*" ] } } } ] }
service-principalRemplacez-la par la valeur du tableau suivant en fonction de votre cas d'utilisation.
| Cas d’utilisation | Valeur principale du service |
|---|---|
| Third-party (Extraction de l'API) | telemetry-pipelines.observabilityadmin.amazonaws.com |
| Third-party (Livraison S3) | telemetry-pipelines.observabilityadmin.amazonaws.com |
| Données personnalisées provenant de S3 | telemetry-pipelines.observabilityadmin.amazonaws.com |
| Données personnalisées provenant de CloudWatch Logs | logs.amazonaws.com |
| Journaux de AWS service distribués | logs.amazonaws.com |
Note
Le Condition bloc est recommandé mais facultatif. Sans cela, le rôle peut être transféré à n'importe quel service.
Autorisations relatives aux règles de pipeline (sources de CloudWatch journaux uniquement)
Lors de l'utilisation en cloudwatch_logs tant que source, l'appelant de l'API a également besoin d'autorisations pour les opérations relatives aux règles du pipeline. L'logs:PutPipelineRuleautorisation est requise pour CreateTelemetryPipeline les UpdateTelemetryPipeline opérations. L'logs:DeletePipelineRuleautorisation est requise pour les DeleteTelemetryPipeline opérations.
Exemple Politique IAM pour les règles du pipeline CloudWatch Logs
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PipelineRuleForCloudWatchLogs", "Effect": "Allow", "Action": [ "logs:PutPipelineRule", "logs:DeletePipelineRule" ], "Resource": "*" } ] }
Autorisations relatives aux règles de pipeline pour CloudWatch les sources de métriques
Lorsque vous l'utilisez cloudwatch_metrics en tant que source, vous avez besoin d'autorisations pour les opérations relatives aux règles du pipeline. Pour créer ou mettre à jour un pipeline, accordez l'cloudwatch:PutPipelineRuleautorisation. Pour supprimer un pipeline, accordez l'cloudwatch:DeletePipelineRuleautorisation. Les pipelines de métriques ne nécessitent iam:PassRole pas de politiques relatives CloudWatch aux ressources des journaux. Vous pouvez limiter ces actions à la dataset/default ressource.
Exemple Politique IAM pour les règles du pipeline de CloudWatch métriques
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PipelineRuleForCloudWatchMetrics", "Effect": "Allow", "Action": [ "cloudwatch:PutPipelineRule", "cloudwatch:DeletePipelineRule" ], "Resource": "arn:aws:cloudwatch:your-region:your-account-id:dataset/default" } ] }
Réduire la portée grâce à des clés de condition
Politiques relatives aux rôles sources
Chaque pipeline nécessite un rôle IAM dédié que le service assume pour lire vos données. Les sous-sections suivantes fournissent les politiques complètes (autorisation et confiance) pour chaque cas d'utilisation.
Third-party sources (API Pull)
Cette section s'applique à Microsoft Office 365, à Microsoft Entra ID, à Okta SSO, à Palo Alto NGFW et à d'autres intégrations d'API fournisseurs qui stockent les informations d'identification dans Secrets Manager. AWS
Stratégie d'autorisation
La politique suivante permet au rôle de récupérer vos informations d'identification API stockées.
Exemple Politique IAM pour les sources de Secrets Manager
{ "Version": "2012-10-17", "Statement": [ { "Sid": "secrets-manager-access", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:your-region:your-account-id:secret:your-secret-name*" }, { "Sid": "kms-access", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:your-region:your-account-id:key/your-key-id" } ] }
Note
La kms:Decrypt déclaration n'est requise que si votre secret dans Secrets Manager est chiffré à l'aide d'une clé KMS gérée par le client.
Politique d’approbation
Exemple Politique de confiance pour les sources API Pull
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "telemetry-pipelines.observabilityadmin.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Configuration IAM complète pour les pipelines API Pull
L'exemple suivant montre toutes les politiques IAM nécessaires pour créer un pipeline Pull d'API tiers de bout en bout.
Politique d'identification de l'appelant — joindre à l'appel CreateTelemetryPipeline principal :
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateApiPullPipeline", "Effect": "Allow", "Action": [ "observabilityadmin:CreateTelemetryPipeline", "iam:PassRole" ], "Resource": "*" } ] }
Politique d'autorisation du rôle source : associez-le au rôle assumé par le pipeline :
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SecretsManagerAccess", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:your-region:your-account-id:secret:your-secret-name*" } ] }
Politique de confiance en matière de rôle source :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "telemetry-pipelines.observabilityadmin.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Note
Après avoir créé le pipeline, vous devez également créer une politique de ressources dans les 5 minutes. Consultez Politiques basées sur une ressource.
Note
Pour une utilisation en production, réduisez iam:PassRole la portée à l'aide des touches de condition indiquées dansAutorisations des appelants de l'API. Si votre secret utilise une clé KMS gérée par le client, ajoutez-la kms:Decrypt à la politique d'autorisation du rôle source.
Third-party sources (livraison S3)
Cette section s'applique à tout fournisseur tiers qui fournit des fichiers journaux à votre compartiment S3 (par exemple, CrowdStrike Falçon, Wiz ou Cisco Umbrella).
Stratégie d'autorisation
La politique suivante permet au rôle de lire des objets depuis S3 et de consommer des notifications SQS.
Exemple Politique IAM pour les sources S3
{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3-access", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::your-bucket-name/*" }, { "Sid": "sqs-access", "Effect": "Allow", "Action": [ "sqs:ReceiveMessage", "sqs:DeleteMessage", "sqs:ChangeMessageVisibility" ], "Resource": "arn:aws:sqs:your-region:your-account-id:your-queue-name" }, { "Sid": "kms-access", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:your-region:your-account-id:key/your-key-id" } ] }
Note
L'kms:Decryptinstruction n'est requise que si votre compartiment S3 ou votre file d'attente SQS utilise une clé KMS gérée par le client pour le chiffrement.
Politique d’approbation
Exemple Politique de confiance pour les sources de diffusion S3
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "telemetry-pipelines.observabilityadmin.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Configuration IAM complète pour les pipelines de distribution S3
L'exemple suivant montre toutes les politiques IAM nécessaires pour créer un pipeline de distribution S3 de bout en bout.
Politique d'identification de l'appelant — joindre à l'appel CreateTelemetryPipeline principal :
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateS3Pipeline", "Effect": "Allow", "Action": [ "observabilityadmin:CreateTelemetryPipeline", "iam:PassRole" ], "Resource": "*" } ] }
Politique d'autorisation du rôle source : associez-le au rôle assumé par le pipeline :
{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3Access", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::your-bucket-name/*" }, { "Sid": "SqsAccess", "Effect": "Allow", "Action": [ "sqs:ReceiveMessage", "sqs:DeleteMessage", "sqs:ChangeMessageVisibility" ], "Resource": "arn:aws:sqs:your-region:your-account-id:your-queue-name" } ] }
Politique de confiance en matière de rôle source :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "telemetry-pipelines.observabilityadmin.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Note
Après avoir créé le pipeline, vous devez également créer une politique de ressources dans les 5 minutes. Consultez Politiques basées sur une ressource.
Note
Pour une utilisation en production, réduisez iam:PassRole la portée à l'aide des touches de condition indiquées dansAutorisations des appelants de l'API. Si votre compartiment S3 ou votre file d'attente SQS utilise une clé KMS gérée par le client, ajoutez-la kms:Decrypt à la politique d'autorisation du rôle source.
Données personnalisées provenant de S3
Cette section s'applique à vos propres applications ou infrastructures qui écrivent des fichiers journaux dans un compartiment S3.
La configuration IAM est identique à. Third-party sources (livraison S3) Utilisez la même politique d'autorisation et la même politique de confiance. Le pipeline lit les données de votre bucket via les notifications d'événements SQS, quel que soit l'auteur des données.
Données personnalisées provenant de CloudWatch Logs
Cette section s'applique à la journalisation de vos propres applications dans un groupe de CloudWatch journaux (par exemple, les fonctions Lambda, les conteneurs ECS ou les applications EC2 personnalisées).
Stratégie d'autorisation
La politique suivante permet au rôle de traiter les journaux provenant des groupes de journaux que vous avez spécifiés.
Exemple Politique IAM pour les sources de CloudWatch journaux
{ "Version": "2012-10-17", "Statement": [ { "Sid": "logs-processing-access", "Effect": "Allow", "Action": [ "logs:processWithPipeline" ], "Resource": [ "arn:aws:logs:your-region:your-account-id:log-group:your-log-group-01", "arn:aws:logs:your-region:your-account-id:log-group:your-log-group-02" ] } ] }
Vous pouvez limiter cette autorisation en utilisant les touches de logs:data_source_type condition logs:data_source_name et pour limiter les sources de pipeline qui peuvent invoquer des transformations. La logs:data_source_name valeur correspond data_source_name à celle de votre configuration de pipeline et logs:data_source_type correspond à celle de data_source_type votre configuration de pipeline.
Exemple Politique d'autorisation pour les sources de CloudWatch journaux (délimitée par des clés de condition)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowProcessWithPipelineScopedDown", "Effect": "Allow", "Action": "logs:ProcessWithPipeline", "Resource": "arn:aws:logs:your-region:your-account-id:log-group:your-log-group-name", "Condition": { "StringEquals": { "aws:ResourceAccount": "your-account-id", "logs:data_source_name": "your-source-name", "logs:data_source_type": "your-source-type" } } } ] }
Note
Le rôle IAM pour les sources de CloudWatch journaux nécessite à la fois la politique de confiance (logs.amazonaws.com.rproxy.goskope.compour permettre d'assumer le rôle) et la politique d'autorisation (pour accorderlogs:ProcessWithPipeline). Sans les deux politiques, les CloudWatch pipelines ne peuvent pas transformer les événements du journal lors de l'ingestion.
Politique d’approbation
Exemple Politique de confiance pour les sources de CloudWatch journaux
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Note
Aucune politique de ressources n'est requise pour les pipelines sources CloudWatch Logs.
Configuration IAM complète pour les pipelines CloudWatch Logs
L'exemple suivant montre toutes les politiques IAM nécessaires pour créer un pipeline CloudWatch Logs de bout en bout.
Politique d'identification de l'appelant — joindre à l'appel CreateTelemetryPipeline principal :
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateLogsPipeline", "Effect": "Allow", "Action": [ "observabilityadmin:CreateTelemetryPipeline", "logs:PutPipelineRule", "logs:DeletePipelineRule", "iam:PassRole" ], "Resource": "*" } ] }
Politique d'autorisation du rôle source : associez-le au rôle assumé par le pipeline :
{ "Version": "2012-10-17", "Statement": [ { "Sid": "LogsProcessing", "Effect": "Allow", "Action": [ "logs:processWithPipeline" ], "Resource": [ "arn:aws:logs:your-region:your-account-id:log-group:your-log-group" ] } ] }
Politique de confiance en matière de rôle source :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Note
Pour une utilisation en production, réduisez iam:PassRole la portée à l'aide des touches de condition indiquées dansAutorisations des appelants de l'API.
Vendus AWS journaux de service
Cette section s'applique aux journaux de AWS service fournis aux CloudWatch journaux, tels que les journaux de flux VPC, les journaux de requêtes Route 53 et d'autres types de journaux AWS vendus.
La configuration IAM est identique à. Données personnalisées provenant de CloudWatch Logs Utilisez la même politique d'autorisation (logs:processWithPipelinelimitée au groupe de journaux) et la même politique de confiance (logs.amazonaws.com).
Comme cela utilise le type de cloudwatch_logs source, l'appelant a également besoin logs:PutPipelineRule d'logs:DeletePipelineRuleautorisations. Consultez Autorisations relatives aux règles de pipeline (sources de CloudWatch journaux uniquement).
Politiques basées sur une ressource
CloudWatch Les politiques relatives aux ressources des journaux sont requises pour les S3-based sources et les Manager-based sources de secrets (intégrations tierces). Les politiques de ressources ne sont pas requises pour CloudWatch les sources de journaux (données personnalisées ou journaux vendus).
Après l'appelCreateTelemetryPipeline, vous recevez un ARN de pipeline. Vous devez ensuite appeler logs:PutResourcePolicy pour autoriser le principal du service des CloudWatch pipelines à écrire dans le groupe de journaux configuré.
Contraintes de temps
Vous disposez de moins de 5 minutes après avoir reçu l'ARN du pipeline pour créer cette politique de ressources. Si le pipeline devient actif avant que la stratégie ne soit en place, les données sont supprimées.
Exemple journaux : PutResourcePolicy demande
{ "policyName": "resourceArn=arn:aws:logs:your-region:your-account-id:log-group:your-log-group-name:*", "policyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "telemetry-pipelines.observabilityadmin.amazonaws.com" }, "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:observabilityadmin:your-region:your-account-id:telemetry-pipeline/your-pipeline-id" } } } ] } }
Gestion des politiques relatives aux ressources
Utilisez l' AWS interface de ligne de commande pour créer ou mettre à jour CloudWatch les politiques de ressources Logs pour les CloudWatch pipelines.
Pour vérifier les politiques existantes
aws logs describe-resource-policies \ --resource-arn arn:aws:logs:your-region:your-account-id:log-group:your-log-group-name:*
Pour créer une nouvelle politique
aws logs put-resource-policy \ --regionyour-region\ --policy-name "resourceArn=arn:aws:logs:your-region:your-account-id:log-group:your-log-group-name:*" \ --policy-document file://policy.json
Pour fusionner avec une politique existante
Si une politique de ressources existe déjà, ajoutez la nouvelle instruction au Statement tableau existant dans le document de stratégie, puis appelez put-resource-policy à nouveau avec le fichier fusionné.
-
Récupérez la politique existante :
aws logs describe-resource-policies \ --resource-arn arn:aws:logs:your-region:your-account-id:log-group:your-log-group-name:* -
Ajoutez la nouvelle instruction au
Statementtableau existant :{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "existing-service.amazonaws.com" }, "Action": [ "logs:SomeAction" ] }, { "Effect": "Allow", "Principal": { "Service": "telemetry-pipelines.observabilityadmin.amazonaws.com" }, "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:observabilityadmin:your-region:your-account-id:telemetry-pipeline/your-pipeline-id" } } } ] } -
Mettez à jour la politique :
aws logs put-resource-policy \ --regionyour-region\ --policy-name "resourceArn=arn:aws:logs:your-region:your-account-id:log-group:your-log-group-name:*" \ --policy-document file://existing-policy.json
Vérifiez que la politique a été créée ou mise à jour correctement :
aws logs describe-resource-policies \ --resource-arn arn:aws:logs:your-region:your-account-id:log-group:your-log-group-name:*
Remplacez les espaces réservés suivants :
-
your-region— Votre AWS région (par exemple, us-east-1) -
your-account-id— Votre numéro de AWS compte à 12 chiffres -
your-log-group-name— Nom de votre groupe de CloudWatch journaux Logs -
your-pipeline-id— L'identifiant de votre pipeline de télémétrie (renvoyé par)CreateTelemetryPipeline
Clés d'état du pipeline
CloudWatch pipelines prend en charge les clés de condition IAM qui vous permettent de limiter les personnes autorisées à créer des pipelines en fonction du nom et du type de source. Utilisez ces conditions clés pour appliquer les politiques de gouvernance dans l'ensemble de votre organisation.
Clés de condition disponibles
observabilityadmin:SourceName-
Limite la création de pipelines à des noms de sources spécifiques. S'applique uniquement aux pipelines de logs.
observabilityadmin:SourceType-
Limite la création de pipelines à des types de sources spécifiques.
Utilisez ces clés de condition dans les politiques d'identité pour contrôler les pipelines qu'un principal peut créer.
observabilityadmin:SourceType-
Limite la création de pipelines à des types de sources spécifiques. Les valeurs prises en charge incluent
cloudwatch_logss3microsoft_office365,okta_sso, etpalo_alto_ngfw.
Exemple Restreindre la création de pipelines par type de source
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPipelineCreationForSpecificSourceType", "Effect": "Allow", "Action": "observabilityadmin:CreateTelemetryPipeline", "Resource": "*", "Condition": { "StringEquals": { "observabilityadmin:SourceType": "cloudwatch_logs" } } } ] }
Conditions de la politique de confiance relative au rôle source
Utilisez ces clés de condition dans la politique de confiance de votre rôle source pour limiter le compte qui peut assumer le rôle. Cela permet d'éviter les attaques d'adjoints confuses dans lesquelles le service pourrait agir pour le compte d'un autre compte.
aws:SourceAccount-
Limite l'attribution du rôle aux demandes provenant d'un AWS compte spécifique.
aws:SourceArn-
Limite l'attribution du rôle aux demandes provenant d'un ARN de ressource spécifique (par exemple, un groupe de journaux).
Exemple Politique de confiance avec SourceAccount condition (sources CloudWatch des journaux)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logs.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "your-account-id" }, "ArnLike": { "aws:SourceArn": "arn:aws:logs:your-region:your-account-id:log-group:*" } } } ] }
AI-assisted autorisations de configuration du processeur
Pour utiliser la configuration du AI-assisted processeur dans la console CloudWatch Pipelines, le principal IAM doit disposer de l'logs:GeneratePipelineautorisation. Cette autorisation autorise la génération de configurations de processeur à partir de descriptions en langage naturel.
Exemple Politique IAM pour la configuration des AI-assisted processeurs
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowGeneratePipeline", "Effect": "Allow", "Action": "logs:GeneratePipeline", "Resource": "*" } ] }