Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
CloudWatch pipeline, politiche e autorizzazioni IAM
Questa sezione fornisce i requisiti IAM per CloudWatch le pipeline. Le autorizzazioni variano in base all'origine dei dati e al metodo di integrazione.
La tabella seguente ti aiuta a identificare quali sezioni IAM si applicano al tuo caso d'uso.
Nota
S3-based sources (s3) richiedono una politica delle risorse dopo la creazione della pipeline. CloudWatch I log source (cloudwatch_logs) non lo fanno.
Autorizzazioni per i chiamanti dell'API
Il principale IAM che chiama CreateTelemetryPipeline necessita dell'iam:PassRoleautorizzazione per tutti i ruoli a cui si fa riferimento nella configurazione della pipeline.
Esempio PassRole modello di policy
{ "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/*" ] } } } ] }
Sostituiscilo service-principal con il valore della seguente tabella in base al tuo caso d'uso.
| Caso d’uso | Valore principale del servizio |
|---|---|
| Third-party (API Pull) | telemetry-pipelines.observabilityadmin.amazonaws.com |
| Third-party (consegna S3) | telemetry-pipelines.observabilityadmin.amazonaws.com |
| Dati personalizzati da S3 | telemetry-pipelines.observabilityadmin.amazonaws.com |
| Dati personalizzati dai registri CloudWatch | logs.amazonaws.com |
| Log di AWS servizio venduti | logs.amazonaws.com |
Nota
Il Condition blocco è consigliato ma facoltativo. Senza di esso, il ruolo può essere passato a qualsiasi servizio.
Autorizzazioni relative alle regole della pipeline (solo sorgenti di CloudWatch log)
Quando si utilizza cloudwatch_logs come fonte, il chiamante dell'API necessita anche delle autorizzazioni per le operazioni relative alle regole della pipeline. L'logs:PutPipelineRuleautorizzazione è richiesta per CreateTelemetryPipeline le operazioni. UpdateTelemetryPipeline L'logs:DeletePipelineRuleautorizzazione è richiesta per DeleteTelemetryPipeline le operazioni.
Esempio Politica IAM per le regole della pipeline CloudWatch Logs
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PipelineRuleForCloudWatchLogs", "Effect": "Allow", "Action": [ "logs:PutPipelineRule", "logs:DeletePipelineRule" ], "Resource": "*" } ] }
Autorizzazioni delle regole di pipeline per le fonti Metrics CloudWatch
Quando si utilizza cloudwatch_metrics come fonte, sono necessarie le autorizzazioni per le operazioni con le regole della pipeline. Per creare o aggiornare una pipeline, concedi l'autorizzazione. cloudwatch:PutPipelineRule Per eliminare una pipeline, concedete l'cloudwatch:DeletePipelineRuleautorizzazione. Le pipeline di metriche non richiedono iam:PassRole né CloudWatch registrano le politiche relative alle risorse. È possibile limitare queste azioni alla dataset/default risorsa.
Esempio Politica IAM per le regole della pipeline di CloudWatch metriche
{ "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" } ] }
Riduzione dell'ambito con chiavi di condizione
Politiche relative ai ruoli di origine
Ogni pipeline richiede un ruolo IAM dedicato che il servizio assume per leggere i tuoi dati. Le sottosezioni seguenti forniscono le politiche complete (autorizzazione e fiducia) per ogni caso d'uso.
Third-party fonti (API Pull)
Questa sezione si applica a Microsoft Office 365, Microsoft Entra ID, Okta SSO, Palo Alto NGFW e alle integrazioni API di altri fornitori che memorizzano le credenziali in Secrets Manager. AWS
Policy di autorizzazione
La seguente policy consente al ruolo di recuperare le credenziali API archiviate.
Esempio Politica IAM per le fonti di 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" } ] }
Nota
La kms:Decrypt dichiarazione è richiesta solo se il tuo segreto in Secrets Manager è crittografato con una chiave KMS gestita dal cliente.
Policy di trust
Esempio Politica di fiducia per le fonti API Pull
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "telemetry-pipelines.observabilityadmin.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Configurazione IAM completa per le pipeline API Pull
L'esempio seguente mostra tutte le policy IAM necessarie per creare una pipeline API Pull end-to-end di terze parti.
Politica di identità del chiamante: allegata alla chiamata principale: CreateTelemetryPipeline
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateApiPullPipeline", "Effect": "Allow", "Action": [ "observabilityadmin:CreateTelemetryPipeline", "iam:PassRole" ], "Resource": "*" } ] }
Politica di autorizzazione del ruolo di origine: da associare al ruolo assunto dalla 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*" } ] }
Politica di attendibilità del ruolo di origine:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "telemetry-pipelines.observabilityadmin.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Nota
Dopo aver creato la pipeline, è inoltre necessario creare una politica delle risorse entro 5 minuti. Per informazioni, consulta Policy delle risorse.
Nota
Per l'uso in produzione, riduci l'ambito iam:PassRole utilizzando le chiavi di condizione mostrate inAutorizzazioni per i chiamanti dell'API. Se il tuo segreto utilizza una chiave KMS gestita dal cliente, aggiungila kms:Decrypt alla politica di autorizzazione del ruolo di origine.
Third-party fonti (consegna S3)
Questa sezione si applica a qualsiasi fornitore di terze parti che fornisce file di registro al bucket S3 (ad esempio, CrowdStrike Falcon, Wiz o Cisco Umbrella).
Policy di autorizzazione
La seguente policy consente al ruolo di leggere oggetti da S3 e utilizzare le notifiche SQS.
Esempio Politica IAM per i sorgenti 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" } ] }
Nota
L'kms:Decryptistruzione è richiesta solo se il bucket S3 o la coda SQS utilizza una chiave KMS gestita dal cliente per la crittografia.
Policy di trust
Esempio Politica di fiducia per le fonti di distribuzione S3
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "telemetry-pipelines.observabilityadmin.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Configurazione IAM completa per le pipeline di distribuzione S3
L'esempio seguente mostra tutte le politiche IAM necessarie per creare una pipeline di distribuzione S3 end-to-end.
Politica di identità del chiamante: allegata alla chiamata principale: CreateTelemetryPipeline
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateS3Pipeline", "Effect": "Allow", "Action": [ "observabilityadmin:CreateTelemetryPipeline", "iam:PassRole" ], "Resource": "*" } ] }
Politica di autorizzazione del ruolo di origine: da associare al ruolo assunto dalla 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" } ] }
Politica di attendibilità del ruolo di origine:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "telemetry-pipelines.observabilityadmin.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Nota
Dopo aver creato la pipeline, è inoltre necessario creare una politica delle risorse entro 5 minuti. Per informazioni, consulta Policy delle risorse.
Nota
Per l'uso in produzione, riduci l'ambito iam:PassRole utilizzando le chiavi di condizione mostrate inAutorizzazioni per i chiamanti dell'API. Se il bucket S3 o la coda SQS utilizza una chiave KMS gestita dal cliente, aggiungila alla politica di autorizzazione del ruolo di origine. kms:Decrypt
Dati personalizzati da S3
Questa sezione si applica alle tue applicazioni o infrastrutture che scrivono file di registro in un bucket S3.
La configurazione IAM è identica a. Third-party fonti (consegna S3) Utilizza la stessa politica di autorizzazione e politica di fiducia. La pipeline legge i dati dal bucket tramite le notifiche degli eventi SQS indipendentemente da chi ha scritto i dati.
Dati personalizzati dai log CloudWatch
Questa sezione si applica alle tue applicazioni che effettuano l'accesso a un gruppo di CloudWatch log Logs (ad esempio, funzioni Lambda, contenitori ECS o applicazioni EC2 personalizzate).
Policy di autorizzazione
La seguente politica consente al ruolo di elaborare i log dai gruppi di log specificati.
Esempio Politica IAM per le fonti di CloudWatch log
{ "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" ] } ] }
È possibile limitare l'ambito di questa autorizzazione utilizzando le chiavi di logs:data_source_type condizione logs:data_source_name e per limitare le fonti della pipeline che possono richiamare le trasformazioni. Il logs:data_source_name valore corrisponde alla configurazione data_source_name della pipeline e logs:data_source_type corrisponde alla configurazione della data_source_type pipeline.
Esempio Politica di autorizzazione per le fonti CloudWatch Logs (descritta con chiavi di condizione)
{ "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" } } } ] }
Nota
Il ruolo IAM per le fonti CloudWatch Logs richiede sia la politica di fiducia (logs.amazonaws.com.rproxy.goskope.comper consentire l'assunzione del ruolo) sia la politica di autorizzazione (per la concessionelogs:ProcessWithPipeline). Senza entrambe le politiche, le CloudWatch pipeline non possono trasformare gli eventi di log durante l'inserimento.
Policy di trust
Esempio Politica di fiducia per le fonti di log CloudWatch
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Nota
Non è necessaria alcuna politica in materia di risorse per le pipeline di origine di CloudWatch Logs.
Configurazione IAM completa per le pipeline CloudWatch Logs
L'esempio seguente mostra tutte le policy IAM necessarie per creare una pipeline CloudWatch Logs end-to-end.
Politica di identità del chiamante: allegata alla chiamata principale: CreateTelemetryPipeline
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateLogsPipeline", "Effect": "Allow", "Action": [ "observabilityadmin:CreateTelemetryPipeline", "logs:PutPipelineRule", "logs:DeletePipelineRule", "iam:PassRole" ], "Resource": "*" } ] }
Politica di autorizzazione del ruolo di origine: da associare al ruolo assunto dalla 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" ] } ] }
Politica di attendibilità del ruolo di origine:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Nota
Per l'uso in produzione, riduci l'ambito iam:PassRole utilizzando le chiavi di condizione mostrate inAutorizzazioni per i chiamanti dell'API.
Venduto AWS registri di servizio
Questa sezione si applica ai log AWS di servizio forniti a CloudWatch Logs, come VPC Flow Logs, Query Log di Route 53 e altri tipi di log AWS venduti.
La configurazione IAM è identica a. Dati personalizzati dai log CloudWatch Utilizza la stessa politica di autorizzazione (logs:processWithPipelinelimitata al gruppo di log) e la stessa politica di fiducia (logs.amazonaws.com).
Poiché utilizza il tipo di cloudwatch_logs origine, anche il chiamante necessita logs:PutPipelineRule di autorizzazioni. logs:DeletePipelineRule Per informazioni, consulta Autorizzazioni relative alle regole della pipeline (solo sorgenti di CloudWatch log).
Policy delle risorse
CloudWatch Le policy relative alle risorse di log sono obbligatorie per le S3-based fonti e Secrets Manager-based (integrazioni di terze parti). Le politiche relative alle risorse non sono richieste per le fonti CloudWatch Logs (dati personalizzati o log forniti).
Dopo la chiamataCreateTelemetryPipeline, riceverai un ARN della pipeline. È quindi necessario chiamare logs:PutResourcePolicy per consentire al responsabile del servizio CloudWatch pipelines di scrivere nel gruppo di log configurato.
Vincoli di tempo
Hai meno di 5 minuti dalla ricezione dell'ARN della pipeline per creare questa policy sulle risorse. Se la pipeline diventa attiva prima che la policy sia in vigore, i dati verranno eliminati.
Esempio log: richiesta PutResourcePolicy
{ "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" } } } ] } }
Gestione delle politiche relative alle risorse
Usa la AWS CLI per creare o aggiornare le politiche delle risorse di CloudWatch Logs per le CloudWatch pipeline.
Per verificare le politiche esistenti
aws logs describe-resource-policies \ --resource-arn arn:aws:logs:your-region:your-account-id:log-group:your-log-group-name:*
Per creare una nuova politica
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
Per fondersi con una politica esistente
Se esiste già una policy sulle risorse, aggiungete la nuova istruzione all'Statementarray esistente nel documento della politica, quindi richiamate put-resource-policy nuovamente con il file unito.
-
Recupera la policy esistente:
aws logs describe-resource-policies \ --resource-arn arn:aws:logs:your-region:your-account-id:log-group:your-log-group-name:* -
Aggiungi la nuova dichiarazione all'
Statementarray esistente:{ "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" } } } ] } -
Aggiorna la policy:
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
Conferma che la policy è stata creata o aggiornata correttamente:
aws logs describe-resource-policies \ --resource-arn arn:aws:logs:your-region:your-account-id:log-group:your-log-group-name:*
Sostituire i seguenti segnaposto:
-
your-region— La tua AWS regione (ad esempio, us-east-1) -
your-account-id— L'ID del tuo account a 12 cifre AWS -
your-log-group-name— Il nome del tuo gruppo CloudWatch di log Logs -
your-pipeline-id— L'ID della pipeline di telemetria (restituito da)CreateTelemetryPipeline
Chiavi relative alle condizioni della pipeline
CloudWatch pipelines supporta le chiavi di condizione IAM che consentono di limitare chi può creare pipeline in base al nome e al tipo di origine. Usa queste chiavi di condizione per applicare le politiche di governance in tutta l'organizzazione.
Chiavi di condizione disponibili
observabilityadmin:SourceName-
Limita la creazione di pipeline a nomi di sorgente specifici. Si applica solo alle pipeline di log.
observabilityadmin:SourceType-
Limita la creazione di pipeline a tipi di origine specifici.
Utilizza queste chiavi di condizione nelle politiche di identità per controllare quali pipeline può creare un principale.
observabilityadmin:SourceType-
Limita la creazione di pipeline a tipi di origine specifici. I valori supportati includono
cloudwatch_logs,s3,microsoft_office365okta_sso, e.palo_alto_ngfw
Esempio Limita la creazione di pipeline in base al tipo di origine
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPipelineCreationForSpecificSourceType", "Effect": "Allow", "Action": "observabilityadmin:CreateTelemetryPipeline", "Resource": "*", "Condition": { "StringEquals": { "observabilityadmin:SourceType": "cloudwatch_logs" } } } ] }
Condizioni della politica di fiducia del ruolo di origine
Utilizza queste chiavi di condizione nella politica di fiducia del tuo ruolo di origine per limitare l'account che può assumere il ruolo. In questo modo si evitano attacchi confusi da vice, in cui il servizio potrebbe agire per conto di un altro account.
aws:SourceAccount-
Limita l'assunzione del ruolo alle richieste provenienti da un account specifico. AWS
aws:SourceArn-
Limita l'assunzione del ruolo alle richieste provenienti da un ARN di risorse specifico (ad esempio, un gruppo di log).
Esempio Politica di fiducia con SourceAccount condizione (fonti di log) CloudWatch
{ "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 autorizzazioni di configurazione del processore
Per utilizzare la configurazione AI-assisted del processore nella console delle CloudWatch pipeline, il responsabile IAM deve disporre dell'logs:GeneratePipelineautorizzazione. Questa autorizzazione autorizza la generazione di configurazioni del processore a partire da descrizioni in linguaggio naturale.
Esempio Politica IAM per la configurazione del processore AI-assisted
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowGeneratePipeline", "Effect": "Allow", "Action": "logs:GeneratePipeline", "Resource": "*" } ] }