本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CloudWatch 調查功能的安全性
本節包含 CloudWatch 調查如何與 AWS 安全性和許可功能整合的相關主題。
主題
預設 CloudWatch 調查許可、保留和加密
如果您使用預設設定執行調查,但未在您的帳戶中執行其他設定,調查會使用目前主控台工作階段可用的許可,而且只會使用唯讀許可存取遙測資料。不需要調查群組 IAM 角色組態或許可政策。不過,這表示調查對資料的存取權受登入使用者許可的限制。
此調查僅適用於啟動調查的同個使用者。調查只在 24 小時內供檢視,之後會刪除,無復原選項。
調查資料會以 AWS 擁有的金鑰進行靜態加密。您無法檢視或管理 AWS 擁有的金鑰,也無法將其用於其他用途或稽核其用途。不過,您不需要採取任何動作或變更任何設定即可使用這些金鑰。如需詳細資訊,請參閱 AWS KMS 金鑰。
CloudWatch 調查群組的使用者許可
AWS 已建立三個 受管 IAM 政策,可供使用 CloudWatch 調查群組的使用者使用。
-
AIOpsConsoleAdminPolicy:使得管理員能夠在帳戶中設定 CloudWatch 調查、存取 CloudWatch 調查動作、管理信任的身分傳播,以及管理與 IAM Identity Center 的整合和組織存取權。
-
AIOpsOperatorAccess:授與使用者執行調查動作的權限,包括啟動調查。還授與存取調查事件所需的其他許可。
-
AIOpsReadOnlyAccess:授與對 CloudWatch 調查和其他相關服務的唯讀許可。
我們建議您使用三個 IAM 主體,授與其中一個 AIOpsConsoleAdminPolicy IAM 政策,授與另一個 AIOpsOperatorAccess 政策,授與第三個 AIOpsReadOnlyAccess 政策。這些主體可以是 IAM 角色 (建議) 或 IAM 使用者。然後,使用 CloudWatch 調查的使用者將使用其中一個主體登入。
產生事件報告的權限
事件報告產生需要額外的許可,以允許 AI 收集事件、事實,然後建立報告。
具有 AIOpsConsoleAdminPolicy 的使用者可以產生、編輯和複製事件報告。根據預設,您的調查群組會獲指派 AIOpsAssistantPolicy,讓其存取 資源。不過,它沒有產生調查報告所需的許可。若要授予調查群組許可,以將調查資料整理到事件報告中,您必須新增類似下列範例的政策,其中包含其他許可,或將其他動作做為內嵌政策新增至群組:
新的 受管政策AIOpsAssistantIncidentReportPolicy提供必要的許可,並自動新增至 2025 年 10 月 10 日之後建立的調查群組。如需詳細資訊,請參閱AIOpsAssistantIncidentReportPolicy。
Database Insights 的其他許可
若要在調查期間使用 Database Insights 功能,必須將 AmazonRDSPerformanceInsightsFullAccess 受管政策連結至您用來執行調查的 IAM 角色或使用者。CloudWatch 調查功能需要這些許可,才能為您的 Amazon RDS 資料庫執行個體建立和存取效能分析報告。
若要連結此政策,請使用 IAM 主控台將 AmazonRDSPerformanceInsightsFullAccess 受管政策新增至您的調查主體。如需此受管政策及其許可的詳細資訊,請參閱 AmazonRDSPerformanceInsightsFullAccess。
如何在調查期間控制 CloudWatch 調查功能可存取的資料
當您在帳戶中設定調查群組時,可以指定 CloudWatch 調查功能在調查期間存取您的資源時,必須擁有哪些許可。為此,您可以將 IAM 角色指派給調查群組。
若要讓 CloudWatch 調查功能存取資源,並能夠提出建議和假設,建議的方法是將 AIOpsAssistantPolicy 連結至調查群組角色。這會授予調查群組在調查期間分析 AWS 資源的許可。如需此角色之完整內容的詳細資訊,請參閱AIOpsAssistantPolicy。
除了連接 AIOpsAssistantPolicy 之外,您也可以選擇將 AWS generalReadOnlyAccess 連接至調查群組角色。這樣做的原因是,透過發行的新 AWS 服務和動作的許可,更頻繁地 AWS 更新 ReadOnlyAccess。AIOpsAssistantPolicy 亦將針對新動作進行更新,但更新頻率不高。
如果想要縮小授與 CloudWatch 調查功能的許可範圍,可以將自訂 IAM 政策連結到調查群組 IAM 角色,而非連結 AIOpsAssistantPolicy 政策。為此,可以使用 AIOpsAssistantPolicy 的內容啟動自訂政策,然後移除您不想授與 CloudWatch 調查功能的許可。如此可防止 CloudWatch 調查功能根據您未授與存取權的 AWS 服務或動作提出建議。
注意
CloudWatch 調查功能所能存取的任何內容,皆可新增至調查中並供調查作業員檢視。我們建議您將 CloudWatch 調查許可與調查群組作業員擁有的許可保持一致。
允許 CloudWatch 調查功能在調查期間解密加密的資料
如果您使用 中的客戶受管金鑰加密下列任何服務中的資料 AWS KMS,而且您希望 CloudWatch 調查能夠從這些服務解密資料並將其包含在調查中,則需要將一或多個額外的 IAM 政策連接到調查群組 IAM 角色。
-
AWS Step Functions
政策陳述式應包含加密內容的內容金鑰,以協助縮小許可範圍。例如,下列政策可讓 CloudWatch 調查功能解密 Step Functions 狀態機器的資料。
如需有關這些政策類型和使用這些內容金鑰的詳細資訊,請參閱《 AWS Key Management Service 開發人員指南》中的 kms:ViaService 和 kms:EncryptionContext:context-key,以及《IAM 使用者指南》中的 aws:SourceArn。
調查資料加密
對於調查資料的加密, AWS 提供兩個選項:
從調查產生的事件報告會使用與父調查相同的加密設定。這可在您的調查資料和文件中維持一致的安全狀態
注意
CloudWatch 調查會使用 AWS 擁有的金鑰自動啟用靜態加密,無需付費。如果您使用客戶受管金鑰,則需支付 AWS KMS 費用。如需定價的詳細資訊,請參閱 AWS Key Management Service
定價
如需 的詳細資訊 AWS KMS,請參閱 AWS Key Management Service。
為您的調查群組使用客戶自管金鑰
您可以將調查群組與客戶自管金鑰建立關聯,然後,在該群組中建立的所有調查,都將使用客戶自管金鑰來加密您的靜態調查資料。
CloudWatch 調查功能對客戶自管金鑰的使用,需符合下列條件:
-
CloudWatch 調查僅支援具有預設 AWS KMS 金鑰規格 和 的對稱加密金鑰
SYMMETRIC_DEFAULT,其用量定義為ENCRYPT_DECRYPT。 -
若要讓使用者使用客戶自管金鑰建立或更新調查群組,該使用者必須具備
kms:DescribeKey、kms:GenerateDataKey和kms:Decrypt許可。 -
若要讓使用者在使用客戶自管金鑰的調查群組中建立或更新調查,該使用者必須具備
kms:GenerateDataKey和kms:Decrypt許可。 -
若要讓使用者在使用客戶自管金鑰的調查群組中檢視調查資料,該使用者必須具備
kms:Decrypt許可。
設定調查以使用 AWS KMS 客戶自管金鑰
首先,如果還沒有要使用的對稱金鑰,請使用下列命令新建一個。
aws kms create-key
命令輸出包含金鑰 ID 和金鑰的 Amazon Resource Name (ARN)。在本節的後續步驟中,您將需要這些資訊。以下為此輸出的範例。
{ "KeyMetadata": { "Origin": "AWS_KMS", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Description": "", "KeyManager": "CUSTOMER", "Enabled": true, "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "CreationDate": 1478910250.94, "Arn": "arn:aws:kms:us-west-2:111122223333:key/6f815f63-e628-448c-8251-e4EXAMPLE", "AWSAccountId": "111122223333", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }
設定金鑰許可
接著,設定金鑰許可。根據預設,所有 AWS KMS 金鑰都是私有的。只有資源擁有者可以使用它來加密和解密資料。然而,資源擁有者可以授予其他使用者和資源存取金鑰的許可。在此步驟中,您將給予 AI 操作服務主體許可來使用金鑰。此服務主體必須位於存放 KMS 金鑰的相同 AWS 區域中。
根據最佳實務,建議您將 KMS 金鑰的使用限制為您指定的 AWS 帳戶或資源。
設定許可的第一步是將金鑰的預設政策儲存為 policy.json。為此,請使用下列命令。將 key-id 替換為金鑰的 ID。
aws kms get-key-policy --key-idkey-id--policy-name default --output text > ./policy.json
在文字編輯器中開啟 policy.json 檔案,並將下列政策區段新增至該政策。使用逗號從新區段中分隔現有陳述式。這些新區段使用Condition區段來增強 AWS KMS 金鑰的安全性。如需詳細資訊,請參閱 AWS KMS 金鑰和加密內容。
此政策為服務主體提供許可,原因如下:
-
aiops服務需要取得資料金鑰的GenerateDataKey許可,並使用該資料金鑰來加密靜態儲存的資料。從資料儲存區讀取資料時,需要Decrypt許可才能解密資料。當您使用aiopsAPI 讀取資料或者更新調查或調查事件時,即會發生解密。更新操作會在解密後擷取現有資料、更新資料,並在加密後將更新的資料儲存在資料儲存區 -
CloudWatch 警示服務可以建立調查或調查事件。這些建立操作會驗證發起人是否有權存取為調查群組定義的 AWS KMS 金鑰。政策陳述式會將
GenerateDataKey和Decrypt許可授與 CloudWatch 警示服務,使之能夠代表您建立調查。
注意
下列政策假設您遵循使用三個 IAM 主體的建議,並授與其中一個 AIOpsConsoleAdminPolicy IAM 政策,授與另一個 AIOpsOperatorAccess 政策,授與第三個 AIOpsReadOnlyAccess 政策。這些主體可以是 IAM 角色 (建議) 或 IAM 使用者。然後,使用 CloudWatch 調查功能的使用者將使用其中一個主體登入。
對於下列政策,您將需要這三個主體的 ARN。
{ "Sid": "Enable AI Operations Admin for the DescribeKey permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{account-id}:role/{AIOpsConsoleAdmin}" }, "Action": [ "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "aiops.{region}.amazonaws.com" } } }, { "Sid": "Enable AI Operations Admin and Operator for the Decrypt and GenerateDataKey permissions", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::{account-id}:role/{AIOpsConsoleAdmin}", "arn:aws:iam::{account-id}:role/{AIOpsOperator}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "aiops.{region}.amazonaws.com" }, "ArnLike": { "kms:EncryptionContext:aws:aiops:investigation-group-arn": "arn:aws:aiops:{region}:{account-id}:investigation-group/*" } } }, { "Sid": "Enable AI Operations ReadOnly for the Decrypt permission", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{account-id}:role/{AIOpsReadOnly}" }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "aiops.{region}.amazonaws.com" }, "ArnLike": { "kms:EncryptionContext:aws:aiops:investigation-group-arn": "arn:aws:aiops:{region}:{account-id}:investigation-group/*" } } }, { "Sid": "Enable the AI Operations service to have the DescribeKey permission", "Effect": "Allow", "Principal": { "Service": "aiops.amazonaws.com" }, "Action": [ "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "{account-id}" }, "StringLike": { "aws:SourceArn": "arn:aws:aiops:{region}:{account-id}:investigation-group/*" } } }, { "Sid": "Enable the AI Operations service to have the Decrypt and GenerateDataKey permissions", "Effect": "Allow", "Principal": { "Service": "aiops.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "{account-id}" }, "StringLike": { "aws:SourceArn": "arn:aws:aiops:{region}:{account-id}:investigation-group/*" }, "ArnLike": { "kms:EncryptionContext:aws:aiops:investigation-group-arn": "arn:aws:aiops:{region}:{account-id}:investigation-group/*" } } }, { "Sid": "Enable CloudWatch to have the Decrypt and GenerateDataKey permissions", "Effect": "Allow", "Principal": { "Service": "aiops.alarms.cloudwatch.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "ArnLike": { "kms:EncryptionContext:aws:aiops:investigation-group-arn": "arn:aws:aiops:{region}:{account-id}:investigation-group/*" }, "StringEquals": { "aws:SourceAccount": "{account-id}", "kms:ViaService": "aiops.{region}.amazonaws.com" }, "StringLike": { "aws:SourceArn": "arn:aws:cloudwatch:{region}:{account-id}:alarm:*" } } }
更新政策之後,輸入下列命令將其指派給金鑰。
aws kms put-key-policy --key-idkey-id--policy-name default --policy file://policy.json
將金鑰與調查群組關聯起來
當您使用 CloudWatch 主控台建立調查群組時,您可以選擇將 AWS KMS 金鑰與調查群組建立關聯。如需詳細資訊,請參閱設定調查群組。
也可以將客戶自管金鑰與現有的調查群組關聯起來。
變更您的加密組態
您可以更新調查群組,以切換使用客戶自管金鑰或服務擁有的金鑰。也可以從使用一個客戶自管金鑰變更為使用另一個。當您進行此類變更時,變更會套用至變更後建立的新調查。先前的調查仍然與舊的加密組態相關聯。目前進行中的調查也會繼續使用新資料的原始金鑰。
只要先前使用的金鑰處於作用中狀態,且 Amazon Q 可以存取該金鑰以進行調查,您就可以擷取使用該方法加密的舊調查,以及目前調查中使用上一個金鑰加密的資料。如果您刪除先前使用的金鑰或撤銷其存取權,則無法擷取使用該金鑰加密的調查資料。
跨區域推論
CloudWatch 調查使用跨區域推論將流量分散到不同 AWS 區域。雖然資料只會存放在主要區域中,但在使用跨區域推論時,您的調查資料可能會移動到主要區域之外。所有資料都會透過 Amazon 的安全網路進行加密傳輸。
如需各區域跨區域推論分佈的詳細資訊,請參閱下表。
| 支援的 CloudWatch 調查地理位置 | 調查區域 | 可能的推論區域 |
|---|---|---|
| 美國 (US) | 美國東部 (維吉尼亞北部) | 美國東部 (維吉尼亞北部)、美國東部 (俄亥俄)、美國西部 (奧勒岡) |
| 美國東部 (俄亥俄) | 美國東部 (維吉尼亞北部)、美國東部 (俄亥俄)、美國西部 (奧勒岡) | |
| 美國西部 (奧勒岡) | 美國東部 (維吉尼亞北部)、美國東部 (俄亥俄)、美國西部 (奧勒岡) | |
| 歐洲 (歐洲) | 歐洲 (法蘭克福) | 歐洲 (法蘭克福)、歐洲 (愛爾蘭)、歐洲 (巴黎)、歐洲 (斯德哥爾摩) |
| 歐洲 (愛爾蘭) | 歐洲 (法蘭克福)、歐洲 (愛爾蘭)、歐洲 (巴黎)、歐洲 (斯德哥爾摩) | |
| 歐洲 (西班牙) | 歐洲 (法蘭克福)、歐洲 (愛爾蘭)、歐洲 (巴黎)、歐洲 (斯德哥爾摩) | |
| 歐洲 (斯德哥爾摩) | 歐洲 (法蘭克福)、歐洲 (愛爾蘭)、歐洲 (巴黎)、歐洲 (斯德哥爾摩) | |
| 亞太地區 (AP) | 亞太地區 (香港) | 美國東部 (維吉尼亞北部)、美國東部 (俄亥俄)、美國西部 (奧勒岡) |
| 亞太地區 (孟買) | 美國東部 (維吉尼亞北部)、美國東部 (俄亥俄)、美國西部 (奧勒岡) | |
| 亞太地區 (新加坡) | 美國東部 (維吉尼亞北部)、美國東部 (俄亥俄)、美國西部 (奧勒岡) | |
| 亞太地區 (悉尼) | 美國東部 (維吉尼亞北部)、美國東部 (俄亥俄)、美國西部 (奧勒岡) | |
| 亞太地區 (東京) | 美國東部 (維吉尼亞北部)、美國東部 (俄亥俄)、美國西部 (奧勒岡) | |
| 亞太地區 (馬來西亞) | 美國東部 (維吉尼亞北部)、美國東部 (俄亥俄)、美國西部 (奧勒岡) | |
| 亞太區域 (泰國) | 美國東部 (維吉尼亞北部)、美國東部 (俄亥俄)、美國西部 (奧勒岡) |