本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS CloudTrail 資源型政策範例
本節提供 CloudTrail Lake 儀表板、事件資料存放區和頻道以資源為基礎的政策範例。
CloudTrail 支援下列類型的資源型政策:
-
用於 CloudTrail Lake 整合的頻道的資源型政策與 外部的事件來源整合 AWS。通道的資源型政策會定義哪些主體實體 (帳戶、使用者、角色和聯合身分使用者) 可在通道上呼叫
PutAuditEvents
,將事件傳送至目的地事件資料存放區。如需建立與 CloudTrail Lake 整合的詳細資訊,請參閱 建立與事件來源以外的整合 AWS。 -
以資源為基礎的政策,以控制哪些主體可以在您的事件資料存放區上執行動作。您可以使用資源型政策來提供事件資料存放區的跨帳戶存取權。
-
儀表板上的資源型政策, CloudTrail 可讓您在為儀表板設定重新整理排程時,以您定義的間隔重新整理 CloudTrail Lake 儀表板。如需詳細資訊,請參閱使用 CloudTrail 主控台設定自訂儀表板的重新整理排程。
頻道的資源型政策範例
通道的資源型政策會定義哪些主體實體 (帳戶、使用者、角色和聯合身分使用者) 可在通道上呼叫 PutAuditEvents
,將事件傳送至目的地事件資料存放區。
政策所需的資訊取決於整合類型。
-
對於方向整合, CloudTrail 需要政策以包含合作夥伴的 AWS 帳戶 IDs,並要求您輸入由 partner. CloudTrail automatic 提供的唯一外部 ID,當您使用 CloudTrail 主控台建立整合時,將合作夥伴的 AWS 帳戶 IDs 自動新增至資源政策。請參閱合作夥伴的文件,了解如何取得政策所需的 AWS 帳戶 號碼。
-
對於解決方案整合,您必須指定至少一個 AWS 帳戶 ID 作為主體,並且可以選擇輸入外部 ID 以防止混淆代理人。
資源型政策的需求如下:
-
政策至少包含一個陳述式。政策最多可以有 20 個陳述式。
-
每個陳述式至少包含一個主體。委託人是帳戶、使用者、角色或聯合身分使用者。陳述式最多可以有 50 個主體。
-
政策中ARN定義的資源必須符合ARN政策連接的頻道。
-
政策僅包含一個動作:
cloudtrail-data:PutAuditEvents
除非政策拒絕擁有者存取資源,否則頻道擁有者可以呼叫頻道PutAuditEvents
API上的 。
範例:提供通道存取權給主體
下列範例授予許可給使用 ARNs arn:aws:iam::111122223333:root
、 arn:aws:iam::444455556666:root
和 的委託人arn:aws:iam::123456789012:root
,以使用 呼叫 CloudTrail 頻道PutAuditEventsAPI上的 ARN arn:aws:cloudtrail:us-east-1:777788889999:channel/EXAMPLE-80b5-40a7-ae65-6e099392355b
。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ChannelPolicy", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root", "arn:aws:iam::123456789012:root" ] }, "Action": "cloudtrail-data:PutAuditEvents", "Resource": "arn:aws:cloudtrail:us-east-1:777788889999:channel/EXAMPLE-80b5-40a7-ae65-6e099392355b" } ] }
範例:使用外部 ID 預防混淆代理人
下列範例使用外部 ID 來處理和預防混淆代理人。混淆代理人問題屬於安全性議題,其中沒有執行動作許可的實體可以強制具有更多許可的實體執行該動作。
整合合作夥伴建立要在政策中使用的外部 ID。然後,在建立整合的過程中向您提供該外部 ID。該值可為任何唯一字串,例如密碼短語或帳戶號碼。
如果對 的呼叫PutAuditEvents
API包含政策中定義的外部 ID 值arn:aws:iam::444455556666:root
,則範例會授予許可給具有 ARNs arn:aws:iam::111122223333:root
、 和 的主體arn:aws:iam::123456789012:root
,以在 CloudTrail 頻道資源PutAuditEventsAPI上呼叫 。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ChannelPolicy", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root", "arn:aws:iam::123456789012:root" ] }, "Action": "cloudtrail-data:PutAuditEvents", "Resource": "arn:aws:cloudtrail:us-east-1:777788889999:channel/EXAMPLE-80b5-40a7-ae65-6e099392355b", "Condition": { "StringEquals": { "cloudtrail:ExternalId": "uniquePartnerExternalID" } } } ] }
事件資料存放區的資源型政策範例
以資源為基礎的政策可讓您控制哪些主體可以在事件資料存放區上執行動作。
您可以使用以資源為基礎的政策來提供跨帳戶存取,以允許選取的委託人查詢您的事件資料存放區、列出和取消查詢,以及檢視查詢結果。
對於 CloudTrail Lake 儀表板,資源型政策用於允許 在您的事件資料存放區 CloudTrail 上執行查詢,以在重新整理儀表板時填入儀表板小工具的資料。 CloudTrail Lake 可讓您選擇在建立自訂儀表板或啟用主控台上的反白顯示儀表板時,將預設資源型政策附加至您的事件資料存放區。 CloudTrail
事件資料存放區的資源型政策支援下列動作:
-
cloudtrail:StartQuery
-
cloudtrail:CancelQuery
-
cloudtrail:ListQueries
-
cloudtrail:DescribeQuery
-
cloudtrail:GetQueryResults
-
cloudtrail:GenerateQuery
-
cloudtrail:GenerateQueryResultsSummary
-
cloudtrail:GetEventDataStore
當您建立或更新事件資料存放區,或在 CloudTrail 主控台上管理儀表板時,您可以選擇將資源型政策新增至事件資料存放區。您也可以執行 put-resource-policy命令,將資源型政策連接至事件資料存放區。
資源型政策包含一或多個陳述式。例如,它可以包含一個允許 CloudTrail 查詢儀表板的事件資料存放區的陳述式,以及另一個允許跨帳戶存取以查詢事件資料存放區的陳述式。您可以從 CloudTrail 主控台的事件資料存放區詳細資訊頁面更新現有事件資料存放區的資源型政策。
對於組織事件資料存放區, 會 CloudTrail 建立預設資源型政策,列出委派管理員帳戶在組織事件資料存放區上可執行的動作。此政策中的許可衍生自 中的委派管理員許可 AWS Organizations。此政策會在組織事件資料存放區或組織變更後自動更新 (例如,已註冊或移除 CloudTrail 委派管理員帳戶)。
範例:允許 CloudTrail 執行查詢以重新整理儀表板
若要在重新整理期間填入 CloudTrail Lake 儀表板上的資料,您需要允許 代表您 CloudTrail 執行查詢。若要這樣做,請將資源型政策連接至與儀表板小工具相關聯的每個事件資料存放區,其中包含允許 CloudTrail 執行StartQuery
操作以填入小工具資料的陳述式。
以下是 陳述式的要求:
-
唯一的
Principal
是cloudtrail.amazonaws.com
。 -
唯一
Action
允許的是cloudtrail:StartQuery
。 -
Condition
僅包含儀表板 ARN() 和 AWS 帳戶 ID。對於AWS:SourceArn
,您可以提供儀表板陣列 ARNs。
下列範例政策包含一個陳述式,允許 CloudTrail 對名為 example-dashboard1
和 的兩個自訂儀表板example-dashboard2
,以及帳戶 AWSCloudTrail-Highlights
的 Highlights 儀表板,在事件資料存放區上執行查詢123456789012
。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": [ "cloudtrail:StartQuery" ], "Condition": { "StringLike": { "AWS:SourceArn": [ "arn:aws:cloudtrail:us-east-1:123456789012:dashboard/example-dashboard1", "arn:aws:cloudtrail:us-east-1:123456789012:dashboard/example-dashboard2", "arn:aws:cloudtrail:us-east-1:123456789012:dashboard/AWSCloudTrail-Highlights" ], "AWS:SourceAccount": "123456789012" } } } ] }
範例:允許其他帳戶查詢事件資料存放區並檢視查詢結果
您可以使用資源型政策來提供事件資料存放區的跨帳戶存取權,以允許其他帳戶在您的事件資料存放區上執行查詢。
下列範例政策包含 陳述式,允許帳戶 111122223333
、999999999999
、 777777777777
和 中的根使用者111111111111
對帳戶 ID 擁有的事件資料存放區執行查詢並取得查詢結果555555555555
。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "policy1", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::777777777777:root", "arn:aws:iam::999999999999:root", "arn:aws:iam::111111111111:root" ] }, "Action": [ "cloudtrail:StartQuery", "cloudtrail:GetEventDataStore", "cloudtrail:GetQueryResults" ], "Resource": "arn:aws:cloudtrail:us-east-1:555555555555:eventdatastore/example80-699f-4045-a7d2-730dbf313ccf" } ] }
儀表板的資源型政策範例
您可以設定 CloudTrail Lake 儀表板的重新整理排程,允許 以您在設定重新整理排程時定義的間隔代表您重新整理 CloudTrail 儀表板。若要這樣做,您需要將資源型政策連接至儀表板, CloudTrail 以允許 在儀表板上執行StartDashboardRefresh
操作。
資源型政策的需求如下:
-
唯一的
Principal
是cloudtrail.amazonaws.com
。 -
政策中唯一
Action
允許的是cloudtrail:StartDashboardRefresh
。 -
Condition
僅包含儀表板ARN和 AWS 帳戶 ID。
下列範例政策允許 CloudTrail 重新整理名為 的帳戶 exampleDash
的儀表板123456789012
。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": [ "cloudtrail:StartDashboardRefresh" ], "Condition": { "StringEquals": { "AWS:SourceArn": "arn:aws:cloudtrail:us-east-1:123456789012:dashboard/exampleDash", "AWS:SourceAccount":"123456789012" } } } ] }