View a markdown version of this page

Exemplo de entrega entre contas - CloudWatch Registros da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exemplo de entrega entre contas

Neste exemplo, duas contas estão envolvidas. A conta com o recurso gerador de registros é Conta A, ID:123456789012, e a conta com o recurso que consome registros é Conta B, ID:. 111122223333

A conta A deseja fornecer registros da base de Amazon Bedrock conhecimento em sua conta com o ARN arn:aws:bedrock: ::knowledge-base/. us-east-1 123456789012 kb-12345678

Neste exemplo, a conta A precisa das seguintes permissões:

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:*" ] } ] }

Criar origem de entrega

Para começar, a conta A cria uma origem de entrega com sua base de conhecimentos do Bedrock:

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

Em seguida, a conta B deve criar o destino da entrega usando um dos fluxos abaixo:

Configurar entrega para um bucket do Amazon S3

A conta B deseja receber os logs no bucket do S3 com o ARN arn:aws:s3: ::amzn-s3-demo-bucket. Neste exemplo, a conta B precisará das seguintes permissões:

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:*" } ] }

O bucket precisará das seguintes permissões em sua política de 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" ] } } } ] }

Se o bucket for criptografado com SSE-KMS, certifique-se de que a política de AWS KMS chaves tenha as permissões apropriadas. Por exemplo, se a chave do KMS for arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab, use o seguinte:

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" ] } } } ] }

A conta B pode então criar um destino de entrega tendo o bucket do S3 como recurso de destino:

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

Em seguida, a conta B cria uma política de destino de entrega em seu destino de entrega recém-criado, o que dará à conta A permissão para criar uma entrega de logs. A política que será adicionada ao destino de entregas recém-criado é a seguinte:

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" } ] }

Essa política será salva no computador da conta B como destination-policy-s3.json. Para anexar esse recurso, a conta B executará o seguinte comando:

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

Por fim, a conta A cria a entrega, que vincula a origem da entrega na conta A ao destino da entrega na conta 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

Configurar entrega em um fluxo do Firehose

Neste exemplo, a conta B quer receber logs em seu fluxo do Firehose. O stream do Firehose tem o seguinte ARN e está configurado para usar o tipo de stream de entrega: DirectPut

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

Neste exemplo, a conta B precisa das seguintes permissões:

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:*" } ] }

O fluxo do Firehose deve ter a tag LogDeliveryEnabled definida como true.

A conta B pode então criar um destino de entrega tendo o fluxo do Firehose como recurso de destino:

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

Em seguida, a conta B cria uma política de destino de entrega em seu destino de entrega recém-criado, o que dará à conta A permissão para criar uma entrega de logs. A política que será adicionada ao destino de entrega recém-criado é a seguinte:

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" } ] }

Essa política será salva no computador da conta B como destination-policy-fh.json. Para anexar esse recurso, a conta B executa o seguinte comando:

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

Por fim, a conta A cria a entrega, que vincula a origem da entrega na conta A ao destino da entrega na conta 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