

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon S3 に送信されたログ
<a name="AWS-logs-infrastructure-S3"></a>

Amazon S3 にログを送信するように設定すると、 は、必要に応じてログを受信している S3 バケットに関連付けられたリソースポリシー AWS を作成または変更します。

Amazon S3 に直接発行されたログは、指定する既存のバケットに発行されます。指定したバケットで、5 分おきに 1 つ以上のログが作成されます。

ログを Amazon S3 バケットに初めて配信する場合、ログを配信するサービスはバケットの所有者を記録し、ログがこのアカウントに属するバケットにのみ配信されるようにします。その結果、Amazon S3 バケット所有者を変更するには、元のサービスでログサブスクリプションを再作成または更新する必要があります。

**注記**  
CloudFront は、S3 に vended log を送信する他のサービスとは異なるアクセス許可モデルを使用します。詳細については、「[標準ログ記録の設定およびログファイルへのアクセスに必要なアクセス許可](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html#AccessLogsBucketAndFileOwnership)」を参照してください。  
さらに、CloudFront アクセスログと別のログソースに同じ S3 バケットを使用する場合、CloudFront のバケットで ACL を有効にすると、このバケットを使用する他のすべてのログソースにもアクセス許可が付与されます。

**重要**  
Amazon S3 バケットにログを送信していて、バケットポリシーに `NotAction` または `NotPrincipal` 要素が含まれている場合、バケットにログ配信アクセス許可を自動的に追加し、ログサブスクリプションを作成すると失敗します。ログサブスクリプションを正常に作成するには、バケットポリシーにログ配信アクセス許可を手動で追加してから、ログサブスクリプションを作成する必要があります。詳細については、このセクションの指示を参照してください。  
バケットにカスタマーマネージド AWS KMS キーを使用したサーバー側の暗号化がある場合は、カスタマーマネージドキーのキーポリシーも追加する必要があります。詳細については、「[Amazon S3 バケットのサーバー側の暗号化](#AWS-logs-SSE-KMS-S3)」を参照してください。  
レプリケート先バケットで SSE-KMS とバケットキーが有効になっている場合、アタッチされたカスタマーマネージド KMS キーポリシーはすべてのリクエストで想定どおりに動作しなくなります。詳細については、「[Amazon S3 バケットキーを使用した SSE-KMS のコストの削減](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-key.html)」を参照してください。  
カスタマーマネージド AWS KMS キーで販売ログと S3 暗号化を使用している場合は、バケットを設定するときに AWS KMS キー ID の代わりに完全修飾キー ARN を使用する必要があります。詳細については「[PUT バケットの暗号化](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-encryption.html)」を参照してください。

**ユーザーアクセス許可**

これらのタイプのログの Amazon S3 への送信を初めてセットアップするには、以下のアクセス許可でアカウントにログインする必要があります。
+ `logs:CreateLogDelivery`
+ `S3:GetBucketPolicy`
+ `S3:PutBucketPolicy`

これらのタイプのログのいずれかが Amazon S3 バケットにすでに送信されている場合、これらの中の別のログを同じバケットに送信するためのセットアップに必要となるのは `logs:CreateLogDelivery` アクセス許可のみです。

**S3 バケットのリソースポリシー**

ログが送信されている S3 バケットには、特定のアクセス許可が含まれるリソースポリシーが必要です。現在バケットにリソースポリシーがなく、ロギングをセットアップしているユーザーがバケットに対する `S3:GetBucketPolicy` および `S3:PutBucketPolicy` 許可を持っているという場合は、Amazon S3 へのログの送信を開始するときに AWS が以下のポリシーを自動的に作成します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "AWSLogDeliveryWrite20150319",
    "Statement": [
        {
            "Sid": "AWSLogDeliveryAclCheck",
            "Effect": "Allow",
            "Principal": {
                "Service": "delivery.logs.amazonaws.com"
            },
            "Action": "s3:GetBucketAcl",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": [
                        "0123456789"
                    ]
                },
                "ArnLike": {
                    "aws:SourceArn": [
                        "arn:aws:logs:us-east-1:111122223333:*"
                    ]
                }
            }
        },
        {
            "Sid": "AWSLogDeliveryWrite",
            "Effect": "Allow",
            "Principal": {
                "Service": "delivery.logs.amazonaws.com"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/AWSLogs/account-ID/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": "bucket-owner-full-control",
                    "aws:SourceAccount": [
                        "0123456789"
                    ]
                },
                "ArnLike": {
                    "aws:SourceArn": [
                        "arn:aws:logs:us-east-1:111122223333:*"
                    ]
                }
            }
        }
    ]
}
```

------

前のポリシーでは、`aws:SourceAccount` にはこのバケットにログが配信されるアカウント ID のリストを指定します。`aws:SourceArn` には、ログを生成するリソースの ARN のリストを `arn:aws:logs:source-region:source-account-id:*` の形式で指定します。

バケットにリソースポリシーがあるが、上記のポリシーにあるステートメントがそのポリシーに含まれておらず、ロギングをセットアップしているユーザーがバケットに対する `S3:GetBucketPolicy` および `S3:PutBucketPolicy` アクセス許可を持っているという場合は、そのステートメントがバケットのリソースポリシーに追加されます。

**注記**  
アクセス`s3:ListBucket`許可 AWS CloudTrail が に付与されていない場合、 に`AccessDenied`エラーが表示されることがあります`delivery.logs.amazonaws.com`。CloudTrail ログにこのようなエラーが表示されないようにするには、`s3:ListBucket` が `delivery.logs.amazonaws.com` にアクセスアクセス許可を付与し、前述のバケットポリシーで設定された `s3:GetBucketAcl` アクセス許可で示されている `Condition` パラメータを含める必要があります。これを簡単にするには、新しい `Statement` を作成する代わりに、`AWSLogDeliveryAclCheck` を `“Action”: [“s3:GetBucketAcl”, “s3:ListBucket”]` であるように直接更新することができます

## Amazon S3 バケットのサーバー側の暗号化
<a name="AWS-logs-SSE-KMS-S3"></a>

Amazon S3 バケット内のデータを保護するには、Amazon S3-managedキーによるサーバー側の暗号化 (SSE-S3) または に保存されている AWS KMS キーによるサーバー側の暗号化 AWS Key Management Service (SSE-KMS) を有効にします。詳細については、「[サーバー側の暗号化を使用したデータの保護](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html)」を参照してください。

SSE-S3 を選択した場合、追加の設定は必要ありません。Amazon S3 が暗号化キーを処理します。

**警告**  
SSE-KMS を選択した場合、このシナリオでは マネージドキーの使用はサポートされていないため、カスタマー AWS マネージドキーを使用する必要があります。 AWS マネージドキーを使用して暗号化を設定すると、ログは読み取り不可能な形式で配信されます。

カスタマーマネージド AWS KMS キーを使用する場合、バケット暗号化を有効にするときに、カスタマーマネージドキーの Amazon リソースネーム (ARN) を指定できます。ログデリバリーアカウントが S3 バケットに書き込めるように、カスタマーマネージドキーのキーポリシー (S3 バケットのバケットポリシーではありません) に次を追加する必要があります。

このシナリオでは AWS マネージドキーの使用がサポートされていないため、SSE-KMS を選択した場合は、カスタマーマネージドキーを使用する必要があります。カスタマーマネージド AWS KMS キーを使用する場合、バケット暗号化を有効にするときに、カスタマーマネージドキーの Amazon リソースネーム (ARN) を指定できます。ログデリバリーアカウントが S3 バケットに書き込めるように、カスタマーマネージドキーのキーポリシー (S3 バケットのバケットポリシーではありません) に次を追加する必要があります。

```
{
    "Sid": "Allow Logs Delivery to use the key", 
    "Effect": "Allow", 
    "Principal": {
        "Service": [ "delivery.logs.amazonaws.com" ] 
    }, 
    "Action": [ 
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:DescribeKey"
    ],
    "Resource": "*",
    "Condition": {
        "StringEquals": {
            "aws:SourceAccount": ["0123456789"]
        },
        "ArnLike": {
            "aws:SourceArn": ["arn:aws:logs:us-east-1:0123456789:*"]
        }
        }
}
```

`aws:SourceAccount` には、このバケットにログが配信されるアカウント ID のリストを指定します。`aws:SourceArn` には、ログを生成するリソースの ARN のリストを `arn:aws:logs:source-region:source-account-id:*` の形式で指定します。