Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
CloudWatch Pipelines, IAM-Richtlinien und -Berechtigungen
Dieser Abschnitt enthält detaillierte IAM-Anforderungen für CloudWatch Pipelines, einschließlich Berechtigungen für API-Aufrufer, quellenspezifische Richtlinien, Vertrauensbeziehungen und Ressourcenrichtlinien.
Berechtigungen für API-Aufrufer
Jede in der Pipeline-Konfiguration angegebene Rolle, die die CreateTelemetryPipeline API aufruft (z. B. S3-Quellrollen, Secrets Manager Manager-Zugriffsrollen oder CloudWatch Logs-Quellrollen), muss über spezifische Berechtigungen zum Übergeben von Rollen verfügen.
PassRole permissions
Erforderlich für alle in der Pipeline-Konfiguration angegebenen Rollen (S3-Quellrollen, Secrets Manager Manager-Zugriffsrollen oder CloudWatch Logs-Quellrollen).
Beispiel IAM-Richtlinie für S3-Quellen
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRoleForS3Source", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::your-account-id:role/your-s3-source-role" } ] }
Beispiel IAM-Richtlinie für Secrets Manager Manager-Quellen
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRoleForSecretsManagerSource", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::your-account-id:role/your-secrets-manager-role" } ] }
Beispiel IAM-Richtlinie für Protokollquellen CloudWatch
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRoleForCloudWatchLogsSource", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::your-account-id:role/your-cloudwatch-logs-role"" } ] }
Berechtigungen für Pipeline-Regeln
Wenn Sie cloudwatch_logs source for Create/Update operations (logs:PutPipelineRule) und Delete operations (logs:DeletePipelineRule) verwenden, muss die Rolle auch über Berechtigungen zur Ausführung dieser Operationen verfügen.
Beispiel IAM-Richtlinie für CloudWatch Log-Pipeline-Regeln
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PipelineRuleForCloudWatchLogs", "Effect": "Allow", "Action": [ "logs:PutPipelineRule", "logs:DeletePipelineRule" ], "Resource": "*" } ] }
Reduzierung des Umfangs mit Bedingungsschlüsseln
Um die Berechtigungsrichtlinie auf Telemetrie-Pipelines zu beschränken, können Sie Bedingungsschlüssel angeben, wie in den folgenden Beispielen gezeigt:
Beispiel IAM-Richtlinie für S3-Quellen (einfach)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRoleForS3Source", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::your-account-id:role/your-s3-source-role" } ] }
Beispiel IAM-Richtlinie für S3-Quellen (eingeschränkt mit Bedingungsschlüsseln)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRoleForS3Source", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::your-account-id:role/your-s3-source-role", "Condition": { "StringEquals": { "iam:PassedToService": [ "telemetry-pipelines.observabilityadmin.amazonaws.com" ], "iam:AssociatedResourceARN": [ "arn:aws:observabilityadmin:your-region:your-account-id:telemetry-pipeline/*" ] } } } ] }
Beispiel IAM-Richtlinie für Secrets Manager Manager-Quellen (einfach)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRoleForSecretsManagerSource", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::your-account-id:role/your-secrets-manager-role" } ] }
Beispiel IAM-Richtlinie für Secrets Manager Manager-Quellen (eingeschränkt mit Bedingungsschlüsseln)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRoleForSecretsManagerSource", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::your-account-id:role/your-secrets-manager-role", "Condition": { "StringEquals": { "iam:PassedToService": [ "telemetry-pipelines.observabilityadmin.amazonaws.com" ], "iam:AssociatedResourceARN": [ "arn:aws:observabilityadmin:your-region:your-account-id:telemetry-pipeline/*" ] } } } ] }
Beispiel IAM-Richtlinie für CloudWatch Protokollquellen (eingeschränkt mit Bedingungsschlüsseln)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRoleForCloudWatchLogsSource", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::your-account-id:role/your-cloudwatch-logs-role", "Condition": { "StringEquals": { "iam:PassedToService": [ "logs.amazonaws.com" ], "iam:AssociatedResourceARN": [ "arn:aws:observabilityadmin:your-region:your-account-id:telemetry-pipeline/*" ] } } } ] }
Quellspezifische IAM-Richtlinien
Verschiedene Quelltypen erfordern spezifische IAM-Berechtigungen für den Zugriff auf ihre jeweiligen Datenquellen.
CloudWatch Protokolliert Quellen
Für CloudWatch Protokollquellen muss jede in der Pipeline-Konfiguration angegebene IAM-Rolle eine Vertrauensbeziehung mit logs.amazonaws.com haben.
Beispiel Vertrauensrichtlinie für IAM-Rollen für CloudWatch Protokollquellen (einfach)
{ "Version": "2012-10-17", "Statement": [ { ""Effect": "Allow", "Principal": { "Service": "logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
S3-Quellen
Für S3-Quellen müssen Kunden eine IAM-Rolle mit Berechtigungen für den Zugriff auf S3-Objekte und SQS-Warteschlangen bereitstellen.
Beispiel IAM-Richtlinie für S3-Quellen
{ "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", "Condition": { "Comment": "Only required if S3 buckets and/or SQS queue uses KMS encryption" } } ] }
Quellen, die AWS Secrets Manager verwenden
Für Quellen, die auf AWS Secrets Manager verweisen (Microsoft Office 365, Microsoft Entra ID, Palo Alto NGFW), müssen Kunden eine IAM-Rolle mit Secrets Manager Manager-Zugriff bereitstellen.
Beispiel IAM-Richtlinie für Secrets Manager Manager-Quellen
{ "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", "Condition": { "Comment": "Only required if Secrets Manager uses KMS encryption" } } ] }
Vertrauensstellungen
Jede in der Pipeline-Konfiguration angegebene IAM-Rolle muss über eine Vertrauensbeziehung mit dem Dienstprinzipal der CloudWatch Pipelines verfügen.
Vertrauensrichtlinie für die Pipeline-Rolle
Alle Pipeline-Rollen müssen dem telemetry-pipelines.observabilityadmin.amazonaws.com Dienstprinzipal vertrauen.
Beispiel Vertrauensrichtlinie für Pipeline-Rollen
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "telemetry-pipelines.observabilityadmin.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Ressourcenrichtlinien
CloudWatch Für Pipelines, die in Protokollgruppen schreiben, sind Ressourcenrichtlinien für Protokolle erforderlich, mit Ausnahme von Pipelines, die die cloudwatch_logs Quelle verwenden.
CloudWatch Protokolliert die Ressourcenrichtlinie
Nach dem Aufruf der CreateTelemetryPipeline API erhalten Sie einen Pipeline-ARN. Bei Pipelines, bei denen sich die Quelle nicht befindetcloudwatch_logs, müssen Kunden anrufen, logs:PutResourcePolicy damit der CloudWatch Pipeline-Dienstprinzipal in die konfigurierte Protokollgruppe schreiben kann.
Zeitliche Beschränkung
Sie haben ein begrenztes Zeitfenster (weniger als 5 Minuten), um die Ressourcenrichtlinie nach Erhalt des Pipeline-ARN zu erstellen. Wenn die Pipeline aktiv wird, bevor die Richtlinie in Kraft ist, werden Daten gelöscht.
Beispiel Protokolle: PutResourcePolicy Anfrage
{ "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" } } } ] } }
Verwaltung von Ressourcenrichtlinien
Dieses Handbuch enthält Schritte zum Erstellen oder Aktualisieren einer CloudWatch Protokollressourcenrichtlinie für Telemetrie-Pipelines mithilfe der AWS CLI.
Suchen Sie nach vorhandenen Richtlinien:
aws logs describe-resource-policies --resource-arn arn:aws:logs:your-region:your-account-id:log-group:your-log-group-name:*
Dadurch werden alle vorhandenen Ressourcenrichtlinien zurückgegeben, die der Protokollgruppe zugeordnet sind. Suchen Sie nach Richtlinien, die möglicherweise bereits mit Ihrer Protokollgruppe verknüpft sind.
Wenn keine Ressourcenrichtlinie existiert, erstellen Sie eine neue:
aws logs put-resource-policy \ --region <YOUR-REGION> \ --policy-name "resourceArn": "arn:aws:logs:your-region:your-account-id:log-group:your-log-group-name:*"\ --policy-document '{ "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" } } } ] }'
Ersetzen die folgenden Platzhalter:
-
your-region- Ihre AWS Region (z. B. us-east-1) -
your-account-id- Ihre 12-stellige Konto-ID AWS -
your-log-group-name- Name Ihrer CloudWatch Logs-Protokollgruppe -
your-pipeline-id- Ihre Telemetrie-Pipeline-ID
Wenn bereits eine Ressourcenrichtlinie existiert, führen Sie die neue Anweisung damit zusammen:
-
Rufen Sie die bestehende Richtlinie ab:
aws logs describe-resource-policies --resource-arn arn:aws:logs:your-region:your-account-id:log-group:your-log-group-name:* -
Öffnen Sie die neue Anweisung
existing-policy.jsonund fügen Sie sie dem vorhandenenStatementArray hinzu:{ "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" } } } ] } -
Aktualisieren Sie die Richtlinie:
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
Bestätigen Sie, dass die Richtlinie erfolgreich erstellt oder aktualisiert wurde:
aws logs describe-resource-policies --resource-arn arn:aws:logs:your-region:your-account-id:log-group:your-log-group-name:*