本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
管理安全湖訂戶的資料存取
在資料寫入 S3 儲存貯體時,可以存取 Amazon Security Lake 中來源資料的訂閱者會收到來源新物件的通知。依預設,訂閱者會透過其提供的 HTTPS 端點通知有關新物件的相關資訊。或者,您也可以輪詢 Amazon Simple Queue Service (Amazon SQS),向訂閱者收到有關新物件的通知。
建立具有資料存取權之訂戶的先決條件
您必須先完成下列先決條件,才能在 Security Lake 中建立具有資料存取權的訂閱者。
驗證許可
若要驗證您的許可,請使用 IAM 檢閱附加到 IAM 身分的 IAM 政策。然後,將這些策略中的資訊與下列 (權限) 動作清單進行比較,您必須在將新資料寫入資料湖時通知訂閱者。
您需要執行下列動作的權限:
-
iam:CreateRole
-
iam:DeleteRolePolicy
-
iam:GetRole
-
iam:PutRolePolicy
-
lakeformation:GrantPermissions
-
lakeformation:ListPermissions
-
lakeformation:RegisterResource
-
lakeformation:RevokePermissions
-
ram:GetResourceShareAssociations
-
ram:GetResourceShares
-
ram:UpdateResourceShare
除了上述清單之外,您還需要執行下列動作的權限:
-
events:CreateApiDestination
-
events:CreateConnection
-
events:DescribeRule
-
events:ListApiDestinations
-
events:ListConnections
-
events:PutRule
-
events:PutTargets
-
s3:GetBucketNotification
-
s3:PutBucketNotification
-
sqs:CreateQueue
-
sqs:DeleteQueue
-
sqs:GetQueueAttributes
-
sqs:GetQueueUrl
-
sqs:SetQueueAttributes
取得訂閱者的外部 ID
若要建立訂閱者,除了訂閱者的 AWS 帳戶 ID 之外,您還需要取得其外部 ID。外部 ID 是訂閱者提供給您的唯一識別碼。安全湖會將外部 ID 新增至其建立的訂閱者 IAM 角色。當您透過 API 或在 Security Lake 主控台中建立訂閱者時,可以使用外部識別碼 AWS CLI。
如需有關外部 ID 的詳細資訊,請參閱 IAM 使用者指南中的如何在將資 AWS 源存取權授予第三方時使用外部 ID。
重要
如果您打算使用 Security Lake 主控台新增訂閱者,可以略過下一個步驟並繼續執行建立具有資料存取權的訂閱者。Security Lake 主控台提供簡化的入門程序,並建立所有必要的 IAM 角色,或代表您使用現有的角色。
如果您打算使用安全湖 API 或 AWS CLI 新增訂閱者,請繼續執行下一個步驟以建立 IAM 角色以叫用 EventBridge API 目的地。
建立 IAM 角色以叫用 EventBridge API 目的地 (API 和 AWS CLI唯一步驟)
如果您是透過 API 使用安全湖 AWS CLI,或者在 AWS Identity and Access Management (IAM) 中建立角色,以授予 Amazon EventBridge 許可以叫用 API 目的地,並將物件通知傳送至正確的 HTTPS 端點。
建立此 IAM 角色之後,您需要角色的 Amazon 資源名稱 (ARN) 才能建立訂閱者。如果訂閱者輪詢來自 Amazon Simple Queue Service (Amazon SQS) 的資料,或直接從中查詢資料,則不需要此 IAM 角色。 AWS Lake Formation如需此類型資料存取方法 (存取類型) 的詳細資訊,請參閱管理安全湖訂戶的查詢存取。
將下列政策附加到您的 IAM 角色:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowInvokeApiDestination", "Effect": "Allow", "Action": [ "events:InvokeApiDestination" ], "Resource": [ "arn:aws:events:{
us-west-2
}:{123456789012
}:api-destination/AmazonSecurityLake*/*" ] } ] }
將以下信任政策附加到您的 IAM 角色,以 EventBridge 允許擔任該角色:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowEventBridgeToAssume", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Security Lake 會自動建立 IAM 角色,允許訂閱者從資料湖讀取資料 (或輪詢 Amazon SQS 佇列中的事件,如果這是慣用的通知方法)。此角色受到名為的受 AWS 管理策略保護AmazonSecurityLakePermissionsBoundary。
建立具有資料存取權的訂閱者
選擇下列其中一種存取方法,建立可存取目前資料的訂戶 AWS 區域。
若要隨後變更訂閱者的通知方法 (Amazon SQS 佇列或 HTTPS 端點),請使用UpdateSubscriberNotification作業,或者,如果您使用的是 AWS CLI,請執行命update-subscriber-notification
範例物件通知訊息
{ "source": "aws.s3", "time": "2021-11-12T00:00:00Z", "account": "123456789012", "region": "ca-central-1", "resources": [ "arn:aws:s3:::example-bucket" ], "detail": { "bucket": { "name": "example-bucket" }, "object": { "key": "example-key", "size": 5, "etag": "b57f9512698f4b09e608f4f2a65852e5" }, "request-id": "N4N7GDK58NMKJ12R", "requester": "securitylake.amazonaws.com" } }
更新資料訂閱者
您可以變更訂戶使用的來源,以更新訂戶。您也可以指派或編輯訂閱者的標籤。標籤是一個標籤,您可以定義並指派給特定類型的 AWS 資源,包括訂閱者。如需進一步了解,請參閱 標記 Amazon 安全湖資源。
選擇其中一種存取方法,然後依照下列步驟為現有訂閱定義新來源。
移除資料訂閱者
如果您不想讓訂閱者使用 Security Lake 的資料,您可以依照下列步驟移除訂閱者。