View a markdown version of this page

Log delivery permissions - Amazon Managed Streaming for Apache Kafka

Log delivery permissions

Grant log delivery permissions to the caller role (the IAM principal that calls CreateReplicator), not to the service execution role. These permissions do not involve the source or target clusters. You only need the snippets for the destinations you enable.

Amazon CloudWatch Logs destination

Add the following statement when cloudWatchLogs.enabled is true in the logDelivery configuration.

{ "Sid": "CloudWatchLogsLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups", "logs:ListLogDeliveries" ], "Resource": [ "*" ] }
Amazon S3 destination

Add the following statements when s3.enabled is true. Replace <logBucketName> with your destination bucket name.

[ { "Sid": "S3LogDeliveryActions", "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:ListLogDeliveries" ], "Resource": [ "*" ] }, { "Sid": "S3BucketLogDeliveryActions", "Effect": "Allow", "Action": [ "s3:GetBucketPolicy", "s3:PutBucketPolicy" ], "Resource": "arn:aws:s3:::<logBucketName>" } ]
Firehose destination

Add the following statements when firehose.enabled is true. Replace <accountID> with your AWS account ID.

[ { "Sid": "FirehoseLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:ListLogDeliveries", "firehose:TagDeliveryStream" ], "Resource": [ "*" ] }, { "Sid": "FirehoseLogDeliveryServiceLinkedRole", "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::<accountID>:role/aws-service-role/delivery.logs.amazonaws.com/AWSServiceRoleForLogDelivery" } ]

For more information about vended-logs permissions, see Enabling logging from AWS services.