View a markdown version of this page

Cross-account contoh pengiriman - CloudWatch Log Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Cross-account contoh pengiriman

Dalam contoh ini, dua akun terlibat. Akun dengan sumber daya penghasil log adalah Akun A, ID:123456789012, dan akun dengan sumber daya yang memakan log adalah Akun B, ID:. 111122223333

Akun A ingin mengirimkan log dari basis Amazon Bedrock pengetahuan di akun mereka dengan ARN arn:aws:bedrock: ::knowledge-base/. us-east-1 123456789012 kb-12345678

Untuk contoh ini, akun A memerlukan izin berikut:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowVendedLogDeliveryForKnowledgeBase", "Effect": "Allow", "Action": [ "bedrock:AllowVendedLogDeliveryForResource" ], "Resource": "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/XXXXXXXXXX" }, { "Sid": "CreateLogDeliveryPermissions", "Effect": "Allow", "Action": [ "logs:PutDeliverySource", "logs:CreateDelivery" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:delivery-source:*", "arn:aws:logs:us-east-1:123456789012:delivery:*", "arn:aws:logs:us-east-1:444455556666:delivery-destination:*" ] } ] }

Buat sumber pengiriman

Untuk memulai, akun A membuat sumber pengiriman dengan basis pengetahuan dasar mereka:

aws logs put-delivery-source --name my-delivery-source --log-type APPLICATION_LOGS --resource-arn arn:aws:bedrock:region:AAAAAAAAAAAA:knowledge-base/XXXXXXXXXX

Selanjutnya, akun B harus membuat tujuan pengiriman menggunakan salah satu alur di bawah ini:

Konfigurasikan pengiriman ke bucket Amazon S3

Akun B ingin menerima log ke bucket S3 mereka dengan ARN arn:aws:s3: ::amzn-s3-demo-bucket Untuk contoh ini, akun B akan memerlukan izin berikut:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "PutLogDestinationPermissions", "Effect": "Allow", "Action": [ "logs:PutDeliveryDestination", "logs:PutDeliveryDestinationPolicy" ], "Resource": "arn:aws:logs:us-east-1:111122223333:delivery-destination:*" } ] }

Bucket akan memerlukan izin berikut dalam kebijakan bucket:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AWSLogsDeliveryWrite", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/AWSLogs/123456789012/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": [ "123456789012" ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:logs:us-east-1:123456789012:delivery-source:my-delivery-source" ] } } } ] }

Jika bucket dienkripsi SSE-KMS, pastikan kebijakan AWS KMS kunci memiliki izin yang sesuai. Misalnya, jika kunci KMSarn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab, gunakan yang berikut ini:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowLogsGenerateDataKey", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": [ "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Condition": { "StringEquals": { "aws:SourceAccount": [ "123456789012" ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:logs:us-east-1:123456789012:delivery-source:my-delivery-source" ] } } } ] }

Akun B kemudian dapat membuat tujuan pengiriman dengan bucket S3 sebagai sumber daya tujuan:

aws logs put-delivery-destination --name my-s3-delivery-destination --delivery-destination-configuration "destinationResourceArn=arn:aws:s3:::amzn-s3-demo-bucket"

Selanjutnya, Akun B membuat kebijakan tujuan pengiriman pada tujuan pengiriman yang baru dibuat, yang akan memberikan izin bagi Akun A untuk membuat pengiriman log. Kebijakan yang akan ditambahkan ke tujuan pengiriman yang baru dibuat adalah sebagai berikut:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowCreateDelivery", "Effect": "Allow", "Principal": { "AWS": "123456789012" }, "Action": [ "logs:CreateDelivery" ], "Resource": "arn:aws:logs:us-east-1:111122223333:delivery-destination:amzn-s3-demo-bucket" } ] }

Kebijakan ini akan disimpan di komputer Akun B sebagai destination-policy-s3.json Untuk melampirkan sumber daya ini, Akun B akan menjalankan perintah berikut:

aws logs put-delivery-destination-policy --delivery-destination-name my-s3-delivery-destination --delivery-destination-policy file://destination-policy-s3.json

Terakhir, Akun A membuat pengiriman, yang menautkan sumber pengiriman di Akun A ke tujuan pengiriman di Akun B.

aws logs create-delivery --delivery-source-name my-delivery-source --delivery-destination-arn arn:aws:logs:region:BBBBBBBBBBBB:delivery-destination:my-s3-delivery-destination

Konfigurasikan pengiriman ke aliran Firehose

Dalam contoh ini, Akun B ingin menerima log ke aliran Firehose mereka. Aliran Firehose memiliki ARN berikut dan dikonfigurasi untuk menggunakan jenis aliran pengiriman: DirectPut

arn:aws:firehose:us-east-1:111122223333:deliverystream/log-delivery-stream

Untuk contoh ini, Akun B memerlukan izin berikut:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowFirehoseCreateSLR", "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::111122223333:role/aws-service-role/delivery.logs.amazonaws.com/AWSServiceRoleForLogDelivery" }, { "Sid": "AllowFirehoseTagging", "Effect": "Allow", "Action": [ "firehose:TagDeliveryStream" ], "Resource": "arn:aws:firehose:us-east-1:111122223333:deliverystream/X" }, { "Sid": "AllowFirehoseDeliveryDestination", "Effect": "Allow", "Action": [ "logs:PutDeliveryDestination", "logs:PutDeliveryDestinationPolicy" ], "Resource": "arn:aws:logs:us-east-1:111122223333:delivery-destination:*" } ] }

Aliran Firehose harus memiliki tag yang LogDeliveryEnabled disetel ke. true

Akun B kemudian akan membuat tujuan pengiriman dengan aliran Firehose sebagai sumber daya tujuan:

aws logs put-delivery-destination --name my-fh-delivery-destination --delivery-destination-configuration "destinationResourceArn=arn:aws:firehose:region:BBBBBBBBBBBB:deliverystream/X"

Selanjutnya, Akun B membuat kebijakan tujuan pengiriman pada tujuan pengiriman yang baru dibuat, yang akan memberikan izin bagi Akun A untuk membuat pengiriman log. Kebijakan yang akan ditambahkan ke tujuan pengiriman yang baru dibuat adalah sebagai berikut:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowCreateDelivery", "Effect": "Allow", "Principal": { "AWS": "123456789012" }, "Action": [ "logs:CreateDelivery" ], "Resource": "arn:aws:logs:us-east-1:111122223333:delivery-destination:amzn-s3-demo-bucket" } ] }

Kebijakan ini akan disimpan di komputer Akun B sebagai destination-policy-fh.json Untuk melampirkan sumber daya ini, Akun B menjalankan perintah berikut:

aws logs put-delivery-destination-policy --delivery-destination-name my-fh-delivery-destination --delivery-destination-policy file://destination-policy-fh.json

Terakhir, Akun A membuat pengiriman, yang menautkan sumber pengiriman di Akun A ke tujuan pengiriman di Akun B.

aws logs create-delivery --delivery-source-name my-delivery-source --delivery-destination-arn arn:aws:logs:region:BBBBBBBBBBBB:delivery-destination:my-fh-delivery-destination