本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
啟用稽核記錄
您可以使用稽核日誌來擷取 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 操作刪除 DeliverySource。 DeleteDeliverySource
-
如果您剛刪除的 DeliverySource 相關聯的 DeliveryDestination 僅用於此特定 DeliverySource,則您可以使用 DeleteDeliveryDestinations 操作將其移除。
使用 Amazon WorkMail 主控台設定稽核記錄
您可以在 Amazon WorkMail 主控台中設定稽核記錄:
-
開啟位於 https://https://console.aws.amazon.com/workmail/
的 Amazon WorkMail 主控台。 如有必要,請變更 AWS 區域。在主控台視窗頂端的列中,開啟選取區域清單,然後選取區域。如需詳細資訊,請參閱 Amazon Web Services 一般參考 中的 區域與端點。
-
在導覽窗格中,選擇組織,然後選擇組織的名稱。
選擇記錄設定。
選擇稽核日誌設定索引標籤。
使用適當的小工具設定所需日誌類型的交付。
-
選擇儲存。
傳送至 CloudWatch Logs 的日誌
使用者許可
若要啟用傳送日誌至 CloudWatch Logs,您登入時必須具有以下許可。
{ "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
許可,則 AWS 會在您開始將日誌傳送至 CloudWatch Logs 時自動為其建立下列政策。
日誌群組資源政策大小限制考量
這些服務必須在資源政策中列出其將日誌傳送至其中的每個日誌群組。CloudWatch Logs 資源政策限制為 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 時自動為其建立下列政策。
在先前的政策中,針對 aws:SourceAccount
,指定要交付日誌至此儲存貯體的帳戶 IDs 清單。對於 aws:SourceArn
,指定產生日誌之資源的 ARN 清單,格式為 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
參數。若要簡化此作業,而非建立新的 Statement
,您可以直接將 更新AWSLogDeliveryAclCheck
為 “Action”: [“s3:GetBucketAcl”, “s3:ListBucket”]
。
Amazon S3 儲存貯體伺服器端加密
您可以使用 Amazon S3 S3-managed金鑰 (SSE-S3) 啟用伺服器端加密,或使用存放在 AWS Key Management Service (SSE-KMS) 中的 AWS KMS 金鑰啟用伺服器端加密,來保護 Amazon S3 儲存貯體中的資料。如需詳細資訊,請參閱使用伺服器端加密保護資料。
如果您選擇 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
,指定產生日誌之資源的 ARN 清單,格式為 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。此服務連結角色包含下列許可。
此服務連結角色會針對LogDeliveryEnabled
標籤設為 的所有 Firehose 交付串流授予許可true
。當您設定記錄時,會將此標籤 AWS 提供給目的地交付串流。
此服務連結角色也有信任政策,以允許 delivery.logs.amazonaws.com
服務委託人擔任所需的服務連結角色。該信任政策如下:
主控台特定許可
除了前面各節中列出的許可之外,如果您使用主控台而非 APIs設定日誌交付,您也需要下列許可: