1. S3 ログアカウントバケットの構成#
ここでは ログ集約バケットの設定方法について説明します。構成の前提を以下とします。
- ログアカウントの払い出しが完了していること
- バケットの命名が決まっていること
- 事前に管理(支払い)アカウントのOrganizationsから組織ID(o-で始まるID)を確認しておくこと
本作業はログアカウントで実施します
1.1. ログバケットの作成#
1.AWS 管理コンソールから S3
を開きます。
2.ログ用のバケットを作成します。命名はあらかじめ決めておきます。ログバケットの暗号化は必須ではありませんが KMS 暗号化または S3 暗号化による暗号化を行います。
画面はS3の標準暗号化です
3.作成したログバケットをクリックし アクセス許可
タブをクリックします。
4.バケットポリシーから 編集
ボタンをクリックします。以下のポリシーをコピペします。
バケット名と組織名は適切なものへの書き換えます
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AWSConsolidatedLogs",
"Effect": "Allow",
"Principal": {
"Service": [
"config.amazonaws.com",
"delivery.logs.amazonaws.com",
"logs.amazonaws.com",
"cloudtrail.amazonaws.com"
]
},
"Action": "s3:GetBucketAcl",
"Resource": "arn:aws:s3:::バケット名"
},
{
"Sid": "AWSConsolidatedLogs",
"Effect": "Allow",
"Principal": {
"Service": [
"config.amazonaws.com",
"delivery.logs.amazonaws.com",
"logs.amazonaws.com",
"cloudtrail.amazonaws.com"
]
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::バケット名/*",
"Condition": {
"StringEquals": {
"s3:x-amz-acl": "bucket-owner-full-control"
}
}
},
{
"Sid": "AWSConsolidatedLogs",
"Effect": "Allow",
"Principal": {
"Service": [
"config.amazonaws.com",
"delivery.logs.amazonaws.com",
"logs.amazonaws.com",
"cloudtrail.amazonaws.com"
]
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::バケット名/*",
"Condition": {
"StringEquals": {
"aws:PrincipalOrgID": "Organizations組織ID"
}
}
},
{
"Sid": "AllowSSLRequestsOnly",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::バケット名",
"arn:aws:s3:::バケット名/*"
],
"Condition": {
"Bool": {
"aws:SecureTransport": "false"
}
}
}
]
}
変更の保存
をクリックします。これにてログバケットの設定は完了となります。