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.
| Caso d’uso | Metodo di integrazione | Tipo di sorgente nella configurazione della pipeline | Sezioni IAM di cui hai bisogno |
|---|---|---|---|
| Third-party integrazioni (API Pull) | Pipeline estrae dall'API del fornitore utilizzando credenziali memorizzate | microsoft_office365, okta_sso, palo_alto_ngfw e così via. |
Autorizzazioni API per chi chiama + Third-party fonti (API Pull) + Policy delle risorse |
| Third-party integrazioni (consegna S3) | Il fornitore consegna i file al tuo bucket S3 | s3 |
Autorizzazioni API per chi chiama + Third-party fonti (consegna S3) + Policy delle risorse |
| Dati personalizzati da S3 | Le tue applicazioni scrivono su S3, la pipeline legge dal bucket | s3 |
Autorizzazioni API per chi chiama + Dati personalizzati da S3 + Policy delle risorse |
| Dati personalizzati provenienti da Logs CloudWatch | Le tue applicazioni accedono a un gruppo di CloudWatch log Logs | cloudwatch_logs |
Autorizzazioni API per chi chiama + Dati personalizzati provenienti da Logs CloudWatch |
| Registri dei servizi forniti AWS | AWS i servizi forniscono i log ai CloudWatch log (VPC Flow Logs, Route 53) | cloudwatch_logs |
Autorizzazioni API per chi chiama + Venduto AWS registri di servizio |
Nota
S3-based sources (s3) richiedono una politica delle risorse dopo la creazione della pipeline. CloudWatch I log sources (cloudwatch_logs) non lo fanno.
Autorizzazioni API per chi chiama
Il principale IAM che effettua la chiamata CreateTelemetryPipeline necessita iam:PassRole dell'autorizzazione 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/*" ] } } } ] }
Sostituisci service-principal con il valore della tabella seguente 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 provenienti da Logs CloudWatch | logs.amazonaws.com |
| Registri dei servizi venduti AWS | logs.amazonaws.com |
Nota
Il Condition blocco è consigliato ma facoltativo. Senza di esso, il ruolo può essere passato a qualsiasi servizio.
Autorizzazioni per le regole della pipeline (solo sorgenti di CloudWatch log)
Quando viene utilizzato cloudwatch_logs come sorgente, il chiamante API necessita anche delle autorizzazioni per le operazioni sulle regole della pipeline. L'logs:PutPipelineRuleautorizzazione è richiesta per CreateTelemetryPipeline le operazioni e. UpdateTelemetryPipeline L'logs:DeletePipelineRuleautorizzazione è necessaria 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": "*" } ] }
Politiche relative al ruolo di origine
Ogni pipeline richiede un ruolo IAM dedicato che il servizio assume per leggere i dati. Le seguenti sottosezioni 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 politica consente al ruolo di recuperare le credenziali API archiviate.
Esempio Politica IAM per i sorgenti 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
L'kms:Decryptistruzione è richiesta solo se il segreto in Secrets Manager è crittografato con una chiave KMS gestita dal cliente.
Policy di trust
Esempio Politica di attendibilità 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 di terze parti end-to-end.
Politica di identità del chiamante: allega 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: allega 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, devi anche 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 i tasti di condizione mostrati inAutorizzazioni API per chi chiama. 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 politica consente al ruolo di leggere oggetti da S3 e utilizzare le notifiche SQS.
Esempio Policy IAM per 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 utilizzano 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 policy IAM necessarie per creare una pipeline di distribuzione S3 end-to-end.
Politica di identità del chiamante: allega 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: allega 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, devi anche 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 i tasti di condizione mostrati inAutorizzazioni API per chi chiama. Se il bucket S3 o la coda SQS utilizzano una chiave KMS gestita dal cliente, kms:Decrypt aggiungila alla politica di autorizzazione del ruolo di origine.
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 la stessa politica di fiducia. La pipeline legge dal tuo bucket le notifiche degli eventi SQS indipendentemente da chi ha scritto i dati.
Dati personalizzati provenienti da Logs CloudWatch
Questa sezione si applica alle tue applicazioni che accedono a un gruppo di log CloudWatch Logs (ad esempio, funzioni Lambda, contenitori ECS o applicazioni EC2 personalizzate).
Policy di autorizzazione
La seguente politica consente al ruolo di elaborare i log dei gruppi di log specificati.
Esempio Politica IAM per le fonti dei 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" ] } ] }
Puoi limitare questa autorizzazione utilizzando le chiavi logs:data_source_name and logs:data_source_type condition per limitare le sorgenti della pipeline che possono richiamare trasformazioni. Il logs:data_source_name valore corrisponde alla configurazione della data_source_name pipeline e logs:data_source_type corrisponde a quella della configurazione della data_source_type pipeline.
Esempio Politica di autorizzazione per le sorgenti di CloudWatch Logs (delimitata dalle 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.govskope.caper consentire l'assunzione del ruolo) sia la politica di autorizzazione (da concedere). logs:ProcessWithPipeline Senza entrambe le politiche, le CloudWatch pipeline non possono trasformare gli eventi di registro durante l'ingestione.
Policy di trust
Esempio Politica di attendibilità 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 delle risorse per le pipeline di origine di CloudWatch Logs.
Configurazione IAM completa per CloudWatch le pipeline Logs
L'esempio seguente mostra tutte le policy IAM necessarie per creare una pipeline di CloudWatch Logs end-to-end.
Politica di identità del chiamante: allega 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: allega 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 i tasti di condizione mostrati inAutorizzazioni API per chi chiama.
Venduto AWS registri di servizio
Questa sezione si applica ai log di AWS servizio forniti ai CloudWatch log, come i log di flusso VPC, i log delle query Route 53 e altri tipi di log forniti. AWS
La configurazione IAM è identica a. Dati personalizzati provenienti da Logs CloudWatch Utilizza la stessa politica di autorizzazione (logs:processWithPipelinelimitata al gruppo di log) e la stessa politica di attendibilità (logs.amazonaws.com).
Poiché utilizza il tipo di cloudwatch_logs sorgente, il chiamante necessita anche delle autorizzazioni logs:PutPipelineRule e logs:DeletePipelineRule delle autorizzazioni. Per informazioni, consulta Autorizzazioni per le regole della pipeline (solo sorgenti di CloudWatch log).
Policy delle risorse
CloudWatch Le politiche relative alle risorse di Logs sono necessarie per le S3-based fonti e le Manager-based fonti Secrets (integrazioni di terze parti). Le politiche relative alle risorse non sono necessarie per le fonti dei CloudWatch log (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 politica delle risorse. Se la pipeline diventa attiva prima che la policy sia in vigore, i dati verranno eliminati.
Esempio registri: 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
Utilizza la AWS CLI per creare o aggiornare le politiche delle risorse di CloudWatch Logs per le pipeline. CloudWatch
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 unirsi a una politica esistente
Se esiste già una politica in materia di risorse, aggiungete la nuova istruzione all'Statementarray esistente nel documento di policy, quindi put-resource-policy richiamate con il file unito.
-
Recupera la politica 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 istruzione 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 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://existing-policy.json
Conferma che la politica è 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 gruppo di log di CloudWatch Your 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 e quali account possono assumere ruoli di origine. Utilizza queste chiavi di condizione per applicare le politiche di governance in tutta l'organizzazione.
CreateTelemetryPipeline condizioni
Usa 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 sorgenti 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 sorgente
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPipelineCreationForSpecificSourceType", "Effect": "Allow", "Action": "observabilityadmin:CreateTelemetryPipeline", "Resource": "*", "Condition": { "StringEquals": { "observabilityadmin:SourceType": "cloudwatch_logs" } } } ] }
Ruolo di origine, condizioni della politica di fiducia
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 confusi attacchi secondari 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 una risorsa ARN specifica (ad esempio, un gruppo di log).
Esempio Politica di fiducia con SourceAccount condizione (Registra le fonti) 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 principale 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 AI-assisted la configurazione del processore
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowGeneratePipeline", "Effect": "Allow", "Action": "logs:GeneratePipeline", "Resource": "*" } ] }