View a markdown version of this page

Contributor Insights 日誌群組存取的條件索引鍵 - Amazon CloudWatch

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Contributor Insights 日誌群組存取的條件索引鍵

若要在 Contributor Insights 中建立規則並查看其結果,使用者必須擁有 cloudwatch:PutInsightRule 許可。根據預設,具有此許可的使用者可以建立規則,以評估 CloudWatch Logs 中的任何日誌群組,然後檢視結果。結果可以包含來自這些日誌群組的貢獻者資料,其中可能包含敏感資訊。

您可以使用條件索引鍵建立 IAM 政策,授予使用者針對特定日誌群組撰寫 Contributor Insights 規則的許可,同時防止存取其他日誌群組的資料。

如需 IAM 政策中的 Condition 元素的詳細資訊,請參閱 IAM JSON 政策元素:Condition

了解 Contributor Insights 許可模型

Contributor Insights 操作使用 IAM cloudwatch: 命名空間。日誌群組操作使用 logs: 命名空間。Contributor Insights 在處理日誌群組資料時不需要或評估logs:許可。

具有 cloudwatch:PutInsightRulecloudwatch:GetInsightRuleReport許可的主體可以建立評估任何日誌群組和擷取結果的規則,即使這些日誌群組沒有任何logs:許可也一樣。

重要

彙總結果可以包含敏感資訊,例如用作參與者索引鍵的日誌欄位。僅將 cloudwatch:PutInsightRulecloudwatch:GetInsightRuleReport許可授予需要存取所有參考日誌群組間資料的委託人。

對於跨帳戶存取,如果來源帳戶設定共用日誌群組存取AWS Organizations的連結,則監控帳戶中的主體只需要cloudwatch:PutInsightRule建立以來源帳戶日誌群組為目標的規則。

限制 Contributor Insights 存取特定日誌群組

使用下列條件索引鍵來限制委託人在建立 Contributor Insights 規則時可指定的日誌群組:

  • cloudwatch:requestInsightRuleLogGroups – 符合規則中指定的日誌群組名稱

  • cloudwatch:requestInsightRuleLogGroupARNs – 符合規則中指定的日誌群組 ARNs

重要

建立規則後,無論日誌群組限制為何,具有 cloudwatch:GetInsightRuleReport 許可的任何主體都可以擷取其結果。

下列政策授予許可,以為名為 的日誌群組AllowedLogGroup和名稱開頭為 的日誌群組建立 Contributor Insights 規則AllowedWildCard。它不會授予為任何其他日誌群組建立規則的許可。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowCertainLogGroups", "Effect": "Allow", "Action": "cloudwatch:PutInsightRule", "Resource": "arn:aws:cloudwatch:*:*:insight-rule/*", "Condition": { "ForAllValues:StringLike": { "cloudwatch:requestInsightRuleLogGroups": [ "AllowedLogGroup", "AllowedWildcard*" ] } } } ] }

下列政策預設允許為任何日誌群組建立規則,但明確拒絕為名為 的日誌群組建立規則ExplicitlyDeniedLogGroup

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowInsightRulesOnLogGroupsByDefault", "Effect": "Allow", "Action": "cloudwatch:PutInsightRule", "Resource": "arn:aws:cloudwatch:*:*:insight-rule/*" }, { "Sid": "ExplicitDenySomeLogGroups", "Effect": "Deny", "Action": "cloudwatch:PutInsightRule", "Resource": "arn:aws:cloudwatch:*:*:insight-rule/*", "Condition": { "ForAllValues:StringEqualsIgnoreCase": { "cloudwatch:requestInsightRuleLogGroups": [ "/test/alpine/ExplicitlyDeniedLogGroup" ] } } } ] }

下列政策拒絕在 ARN 路徑/production/中建立以 為目標的日誌群組規則。

{ "Version": "", "Statement": [ { "Sid": "DenyProductionLogGroupsByARN", "Effect": "Deny", "Action": "cloudwatch:PutInsightRule", "Resource": "*", "Condition": { "ForAnyValue:StringLike": { "cloudwatch:requestInsightRuleLogGroupARNs": [ "arn:aws:logs:*:*:log-group:*/production/*" ] } } } ] }
注意
  • 條件索引鍵與規則定義中寫入的模式字串相符,而不是與解析的日誌群組相符。

  • 如果規則將日誌群組指定為完整 ARNs,則 等條件值/production/*不相符,因為完整 ARN 字串的開頭不是該字首。使用 */production/*做為萬用字元字首,以符合 ARN 型日誌群組參考。

Contributor Insights 的安全最佳實務

遵循這些最佳實務來保護您的 Contributor Insights 組態。

  • 套用最低權限cloudwatch:GetInsightRuleReport僅對必須分析日誌群組資料的主體授予 cloudwatch:PutInsightRule

  • 使用條件索引鍵限制日誌群組 – 限制委託人可以在 Contributor Insights 規則中參考的日誌群組

  • 保護敏感欄位 – 在 Contributor Insights 處理敏感日誌資料之前,使用 CloudWatch Logs 資料保護來遮罩敏感日誌資料。如需詳細資訊,請參閱使用遮罩功能保護敏感日誌資料

  • 考慮貢獻者金鑰敏感性 – 貢獻者金鑰可能會在規則結果中公開 IP 地址或使用者識別符等值

  • 檢閱跨帳戶存取 – 稽核 AWS Organizations 連結組態,以確認只有預期的監控帳戶可以針對來源帳戶日誌群組建立規則