

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à.

# Cross-account esempio di consegna
<a name="vended-logs-crossaccount-example"></a>

In questo esempio, sono coinvolti due account. L'account con la risorsa che genera il log è Account A, ID:{{123456789012}}, e l'account con la risorsa che consuma il log è Account B, ID:. {{111122223333}}

L'account A desidera fornire i log dalla Amazon Bedrock knowledge base del proprio account con l'ARN arn:aws:bedrock: ::knowledge-base/. {{us-east-1}} {{123456789012}} {{kb-12345678}}

Per questo esempio, l'account A necessita delle seguenti autorizzazioni:

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

------

## Crea una fonte di consegna
<a name="crossaccount-example-create-source"></a>

Per iniziare, l'account A crea una fonte di consegna con la sua base di conoscenza fondamentale:

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

Successivamente, l'account B deve creare la destinazione di consegna utilizzando uno dei seguenti flussi:
+ [Configura la consegna a un bucket Amazon S3](#crossaccount-example-delivery-S3)
+ [Configura la consegna a uno stream Firehose](#crossaccount-example-delivery-Firehose)

## Configura la consegna a un bucket Amazon S3
<a name="crossaccount-example-delivery-S3"></a>

L'account B desidera ricevere i log nel proprio bucket S3 con l'ARN arn:aws:s3: ::amzn-s3-demo-bucket. Per questo esempio, l'account B avrà bisogno delle seguenti autorizzazioni:

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

------

Il bucket avrà bisogno delle seguenti autorizzazioni nella sua policy del 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 il bucket è crittografato con SSE-KMS, assicurati che la policy AWS KMS chiave disponga delle autorizzazioni appropriate. Ad esempio, se la chiave KMS è`arn:aws:kms:{{us-east-1}}:{{111122223333}}:key/{{1234abcd-12ab-34cd-56ef-1234567890ab}}`, utilizza quanto segue:

------
#### [ 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"
                    ]
                }
            }
        }
    ]
}
```

------

L'account B può quindi creare una destinazione di consegna con il bucket S3 come risorsa di destinazione:

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

Successivamente, l'Account B crea una politica di destinazione di consegna sulla destinazione di consegna appena creata, che autorizzerà l'Account A a creare un registro di consegna. La politica che verrà aggiunta alla destinazione di consegna appena creata è la seguente:

------
#### [ 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}}"
        }
    ]
}
```

------

Questa politica verrà salvata nel computer dell'Account B in quanto `destination-policy-s3.json` Per allegare questa risorsa, l'Account B eseguirà il seguente comando:

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

Infine, l'Account A crea la spedizione, che collega l'origine della consegna nell'Account A alla destinazione della consegna nell'Account 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
```

## Configura la consegna a uno stream Firehose
<a name="crossaccount-example-delivery-Firehose"></a>

In questo esempio, l'Account B desidera ricevere i log del proprio stream Firehose. Lo stream Firehose ha il seguente ARN ed è configurato per utilizzare il tipo di flusso di DirectPut consegna:

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

 Per questo esempio, l'Account B necessita delle seguenti autorizzazioni:

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

------

Lo stream Firehose deve avere il tag `LogDeliveryEnabled` impostato su. `true`

L'account B creerà quindi una destinazione di consegna con lo stream Firehose come risorsa di destinazione:

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

Successivamente, l'Account B crea una politica di destinazione di consegna sulla destinazione di consegna appena creata, che autorizzerà l'Account A a creare un registro di consegna. La politica da aggiungere alla destinazione di consegna appena creata è la seguente:

------
#### [ 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}}"
        }
    ]
}
```

------

Questa politica verrà salvata nel computer dell'Account B poiché `destination-policy-fh.json` per allegare questa risorsa, l'Account B esegue il seguente comando:

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

Infine, l'Account A crea la spedizione, che collega l'origine della consegna nell'Account A alla destinazione della consegna nell'Account 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
```