本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
啟用稽核記錄
您可以使用稽核日誌來擷取 Amazon WorkMail 組織用量的詳細資訊。稽核日誌可用來監控使用者對信箱的存取、稽核可疑活動,以及偵錯存取控制和可用性提供者組態。
注意
AmazonWorkMailFullAccess 受管政策不包含管理日誌交付所需的所有必要許可。如果您使用此政策進行管理 WorkMail,請確定用於設定日誌交付的委託人 (例如,擔任的角色) 也具有所有必要的許可。
Amazon WorkMail 支援稽核日誌的三個交付目的地: CloudWatch Logs、Amazon S3 和 Amazon Data Firehose。如需詳細資訊,請參閱《Amazon CloudWatch Logs 使用者指南》中的需要其他許可 【V2】 的記錄。
除了在記錄下列出的需要額外許可 【V2】 的許可之外,Amazon WorkMail 還需要額外的許可來設定日誌交付:workmail:AllowVendedLogDeliveryForResource
。
工作日誌交付包含三個元素:
-
DeliverySource,一種邏輯物件,代表傳送日誌的資源。對於 Amazon WorkMail,它是 Amazon WorkMail Organization。
-
DeliveryDestination,這是代表實際交付目的地的邏輯物件。
-
交付,將交付來源連接到交付目的地。
若要設定 Amazon WorkMail 與目的地之間的日誌傳遞,您可以執行下列動作:
-
使用 建立交付來源PutDeliverySource。
-
使用 建立交付目的地PutDeliveryDestination。
-
如果您要跨帳戶交付日誌,則必須PutDeliveryDestinationPolicy在目的地帳戶中使用 將IAM政策指派給目的地。此政策授權從帳戶 A 中的交付來源建立交付至帳戶 B 中的交付目的地。
-
使用 ,透過完全配對一個交付來源和一個交付目的地來建立交付CreateDelivery。
以下各節提供您在登入時必須擁有的許可詳細資訊,以設定將日誌交付至每種類型的目的地。您可以將這些許可授予您登入的 IAM角色。
重要
刪除日誌產生資源後,您有責任移除日誌交付資源。
若要在刪除日誌產生資源後移除日誌交付資源,請遵循下列步驟。
-
使用 DeleteDelivery操作刪除交付。
-
DeliverySource 使用 DeleteDeliverySource操作刪除 。
-
如果與您剛刪除DeliverySource的 DeliveryDestination相關聯的 僅用於此特定 DeliverySource,則您可以使用 DeleteDeliveryDestinations操作將其移除。
使用 Amazon WorkMail 主控台設定稽核記錄
您可以在 Amazon WorkMail 主控台中設定稽核記錄:
-
在 開啟 Amazon WorkMail 主控台https://console.aws.amazon.com/workmail/
。 如有必要,請變更 AWS 區域。在主控台視窗頂端的列中,開啟選取區域清單,然後選取區域。如需詳細資訊,請參閱 Amazon Web Services 一般參考 中的 區域與端點。
-
在導覽窗格中,選擇組織,然後選擇組織的名稱。
選擇記錄設定。
選擇稽核日誌設定索引標籤。
使用適當的小工具設定所需日誌類型的交付。
-
選擇 Save (儲存)。
傳送至日誌的 CloudWatch 日誌
使用者許可
若要啟用將日誌傳送至 CloudWatch 日誌,您必須使用以下許可登入。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadWriteAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:GetDelivery", "logs:GetDeliverySource", "logs:PutDeliveryDestination", "logs:GetDeliveryDestinationPolicy", "logs:DeleteDeliverySource", "logs:PutDeliveryDestinationPolicy", "logs:CreateDelivery", "logs:GetDeliveryDestination", "logs:PutDeliverySource", "logs:DeleteDeliveryDestination", "logs:DeleteDeliveryDestinationPolicy", "logs:DeleteDelivery" ], "Resource": [ "arn:aws:logs:
region
:account-id
:delivery:*", "arn:aws:logs:region
:account-id
:delivery-source:*", "arn:aws:logs:region
:account-id
:delivery-destination:*" ] }, { "Sid": "ListAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:DescribeDeliveryDestinations", "logs:DescribeDeliverySources", "logs:DescribeDeliveries", "logs:DescribeLogGroups" ], "Resource": "*" }, { "Sid": "AllowUpdatesToResourcePolicyCWL", "Effect": "Allow", "Action": [ "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups" ], "Resource": [ "arn:aws:logs:region
:account-id
:*" ] } { "Sid":"AllowLogDeliveryForWorkMail", "Effect":"Allow", "Action":[ "workmail:AllowVendedLogDeliveryForResource" ], "Resource":[ "arn:aws:workmail:region
:account-id
:organization/organization-id
" ] } ] }
日誌群組和資源政策
日誌送往的日誌群組必須具有包含特定許可的資源政策。如果日誌群組目前沒有資源政策,且設定日誌的使用者具有日誌群組的 logs:PutResourcePolicy
、 logs:DescribeResourcePolicies
和 logs:DescribeLogGroups
許可,則當您開始將日誌傳送至 CloudWatch 日誌時, AWS 會自動為其建立下列政策。
{ "Version":"2012-10-17", "Statement":[ { "Sid":"AWSLogDeliveryWrite20150319", "Effect":"Allow", "Principal":{ "Service":[ "delivery.logs.amazonaws.com" ] }, "Action":[ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource":[ "arn:aws:logs:
region
:account-id
:log-group:my-log-group:log-stream:*" ], "Condition":{ "StringEquals":{ "aws:SourceAccount":[ "account-id
" ] }, "ArnLike":{ "aws:SourceArn":[ "arn:aws:logs:region
:account-id
:*" ] } } } ] }
日誌群組資源政策大小限制考量
這些服務必須在資源政策中列出其傳送日誌的每個日誌群組。 CloudWatch 日誌資源政策限制為 5,120 個字元。傳送日誌至大量日誌群組的服務可能會達到此限制。
為了緩解這種情況, CloudWatch Logs 會監控傳送日誌的服務所使用的資源政策大小。當它偵測到政策接近 5,120 個字元的大小限制時, CloudWatch Logs 會在該服務的資源政策/aws/vendedlogs/*
中自動啟用 。然後,您就可以開始使用名稱開頭為 /aws/vendedlogs/
的日誌群組,作為這些服務的日誌目的地。
傳送至 Amazon S3 的日誌
使用者許可
若要啟用傳送日誌至 Amazon S3,您登入時必須具有以下許可。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadWriteAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:GetDelivery", "logs:GetDeliverySource", "logs:PutDeliveryDestination", "logs:GetDeliveryDestinationPolicy", "logs:DeleteDeliverySource", "logs:PutDeliveryDestinationPolicy", "logs:CreateDelivery", "logs:GetDeliveryDestination", "logs:PutDeliverySource", "logs:DeleteDeliveryDestination", "logs:DeleteDeliveryDestinationPolicy", "logs:DeleteDelivery" ], "Resource": [ "arn:aws:logs:
region
:account-id
:delivery:*", "arn:aws:logs:region
:account-id
:delivery-source:*", "arn:aws:logs:region
:account-id
:delivery-destination:*" ] }, { "Sid": "ListAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:DescribeDeliveryDestinations", "logs:DescribeDeliverySources", "logs:DescribeDeliveries", "logs:DescribeLogGroups" ], "Resource": "*" }, { "Sid": "AllowUpdatesToResourcePolicyS3", "Effect": "Allow", "Action": [ "s3:PutBucketPolicy", "s3:GetBucketPolicy" ], "Resource": "arn:aws:s3:::bucket-name
" } { "Sid":"AllowLogDeliveryForWorkMail", "Effect":"Allow", "Action":[ "workmail:AllowVendedLogDeliveryForResource" ], "Resource":[ "arn:aws:workmail:region
:account-id
:organization/organization-id
" ] } ] }
日誌送往的 S3 儲存貯體必須具有包含特定許可的資源政策。如果儲存貯體目前沒有資源政策,且使用者設定記錄具有儲存貯體的 S3:GetBucketPolicy
和 S3:PutBucketPolicy
許可,則 AWS 會在您開始將日誌傳送至 Amazon S3 時自動為其建立下列政策。
{ "Version":"2012-10-17", "Id":"AWSLogDeliveryWrite20150319", "Statement":[ { "Sid":"AWSLogDeliveryAclCheck", "Effect":"Allow", "Principal":{ "Service":"delivery.logs.amazonaws.com" }, "Action":"s3:GetBucketAcl", "Resource":"arn:aws:s3:::my-bucket", "Condition":{ "StringEquals":{ "aws:SourceAccount":[ "
account-id
" ] }, "ArnLike":{ "aws:SourceArn":[ "arn:aws:logs:region
:account-id
:delivery-source:*" ] } } }, { "Sid":"AWSLogDeliveryWrite", "Effect":"Allow", "Principal":{ "Service":"delivery.logs.amazonaws.com" }, "Action":"s3:PutObject", "Resource":"arn:aws:s3:::my-bucket/AWSLogs/account-id
/*", "Condition":{ "StringEquals":{ "s3:x-amz-acl":"bucket-owner-full-control", "aws:SourceAccount":[ "account-id
" ] }, "ArnLike":{ "aws:SourceArn":[ "arn:aws:logs:region
:account-id
:delivery-source:*" ] } } } ] }
在先前的政策中,針對 aws:SourceAccount
,指定要交付至此儲存貯IDs體之日誌的帳戶清單。對於 aws:SourceArn
,以 形式指定產生日誌ARNs的資源清單arn:aws:logs:
。source-region
:source-account-id
:*
如果儲存貯體具有資源政策,但該政策不包含先前政策中顯示的陳述式,且設定記錄的使用者具有儲存貯體的 S3:GetBucketPolicy
和 S3:PutBucketPolicy
許可,則該陳述式會附加至儲存貯體的資源政策。
注意
在某些情況下, AWS CloudTrail 如果尚未將s3:ListBucket
許可授予 ,您可能會在 中看到AccessDenied
錯誤delivery.logs.amazonaws.com
。若要避免日誌 CloudTrail中的這些錯誤,您必須將 s3:ListBucket
許可授予 delivery.logs.amazonaws.com
。您還必須在上述儲存貯體政策中包含與s3:GetBucketAcl
許可集一起顯示的Condition
參數。若要簡化此作業,您可以直接將 更新AWSLogDeliveryAclCheck
為 Statement
,而不是建立新的 “Action”: [“s3:GetBucketAcl”, “s3:ListBucket”]
。
Amazon S3 儲存貯體伺服器端加密
您可以使用 Amazon S3 S3-managed金鑰 (SSE-S3) 啟用伺服器端加密,或使用存放在 AWS Key Management Service (SSE-) 中的 AWS KMS 金鑰啟用伺服器端加密,來保護 Amazon S3 儲存貯體中的資料KMS。如需詳細資訊,請參閱使用伺服器端加密保護資料。
如果您選擇 SSE-S3,則不需要額外的組態。Amazon S3 會處理加密金鑰。
警告
如果您選擇 SSE-KMS,則必須使用客戶受管金鑰,因為此案例 AWS 受管金鑰 不支援使用 。如果您使用 AWS 受管金鑰設定加密,日誌將以無法讀取的格式交付。
當您使用客戶受管 AWS KMS 金鑰時,您可以在啟用儲存貯體加密時指定客戶受管金鑰的 Amazon Resource Name (ARN)。將下列項目新增至客戶受管金鑰的金鑰政策 (而非 S3 儲存貯體的儲存貯體政策),以便日誌交付帳戶可以寫入 S3 儲存貯體。
如果您選擇 SSE-KMS,則必須使用客戶受管金鑰,因為此案例不支援使用 AWS 受管金鑰。當您使用客戶受管 AWS KMS 金鑰時,您可以在啟用儲存貯體加密時指定客戶受管金鑰的 Amazon Resource Name (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":[ "
account-id
" ] }, "ArnLike":{ "aws:SourceArn":[ "arn:aws:logs:region
:account-id
:delivery-source:*" ] } } }
針對 aws:SourceAccount
,指定要交付至此儲存貯IDs體之日誌的帳戶清單。對於 aws:SourceArn
,以 形式指定產生日誌ARNs的資源清單arn:aws:logs:
。source-region
:source-account-id
:*
傳送至 Firehose 的日誌
使用者許可
若要啟用傳送日誌至 Firehose,您必須使用以下許可登入。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadWriteAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:GetDelivery", "logs:GetDeliverySource", "logs:PutDeliveryDestination", "logs:GetDeliveryDestinationPolicy", "logs:DeleteDeliverySource", "logs:PutDeliveryDestinationPolicy", "logs:CreateDelivery", "logs:GetDeliveryDestination", "logs:PutDeliverySource", "logs:DeleteDeliveryDestination", "logs:DeleteDeliveryDestinationPolicy", "logs:DeleteDelivery" ], "Resource": [ "arn:aws:logs:
region
:account-id
:delivery:*", "arn:aws:logs:region
:account-id
:delivery-source:*", "arn:aws:logs:region
:account-id
:delivery-destination:*" ] }, { "Sid": "ListAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:DescribeDeliveryDestinations", "logs:DescribeDeliverySources", "logs:DescribeDeliveries", "logs:DescribeLogGroups" ], "Resource": "*" }, { "Sid": "AllowUpdatesToResourcePolicyFH", "Effect": "Allow", "Action": [ "firehose:TagDeliveryStream" ], "Resource": [ "arn:aws:firehose:region
:account-id
:deliverystream/*" ] }, { "Sid": "CreateServiceLinkedRole", "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::account-id
:role/aws-service-role/delivery.logs.amazonaws.com/AWSServiceRoleForLogDelivery" } { "Sid":"AllowLogDeliveryForWorkMail", "Effect":"Allow", "Action":[ "workmail:AllowVendedLogDeliveryForResource" ], "Resource":[ "arn:aws:workmail:region
:account-id
:organization/organization-id
" ] } ] }
IAM 用於資源許可的角色
由於 Firehose 不使用資源政策,因此在設定將這些日誌傳送至 Firehose AWS 時使用IAM角色。 AWS 建立名為 的服務連結角色 AWSServiceRoleForLogDelivery。 此服務連結角色包含下列許可。
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "firehose:PutRecord", "firehose:PutRecordBatch", "firehose:ListTagsForDeliveryStream" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/LogDeliveryEnabled": "true" } }, "Effect": "Allow" } ] }
當您設定記錄時,此服務連結角色會授予所有 Firehose 交付串流的許可,該串流的LogDeliveryEnabled
標籤會設為 true
. AWS gives this tag to the destination delivery stream。
此服務連結角色也有信任政策,以允許 delivery.logs.amazonaws.com
服務委託人擔任所需的服務連結角色。該信任政策如下:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
主控台特定許可
除了前面各節中列出的許可之外,如果您使用 主控台而不是 設定日誌交付APIs,您也需要下列許可:
{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowLogDeliveryActions", "Effect":"Allow", "Action":[ "firehose:DescribeDeliveryStream", "s3:ListBucket", "s3:GetBucketLocation" ], "Resource":[ "arn:aws:logs:
region
:account-id
:log-group:*", "arn:aws:firehose:region
:account-id
:deliverystream/*", "arn:aws:s3:::*" ] }, { "Sid":"ListAccessForDeliveryDestinations", "Effect":"Allow", "Action":[ "logs:DescribeLogGroups", "firehose:ListDeliveryStreams", "s3:ListAllMyBuckets" ], "Resource":"*" } ] }