

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

# AWS Clean Rooms ML 的 IAM 行為
<a name="ml-behaviors"></a>

## 跨帳戶任務
<a name="ml-behaviors-cross-account-jobs"></a>

Clean Rooms ML 允許一個使用者在其帳戶中建立的特定資源由另一個使用者 AWS 帳戶 安全存取 AWS 帳戶。當 A AWS 帳戶 中的用戶端`StartAudienceGenerationJob`呼叫 AWS 帳戶 B 擁有`ConfiguredAudienceModel`的資源時，Clean Rooms ML 會為任務建立兩個 ARNs。A 中的一個 ARN， AWS 帳戶 B AWS 帳戶 中的另一個 ARN。除了 ARNs 是相同的 AWS 帳戶。

Clean Rooms ML 會為任務建立兩個 ARNs，以確保兩個帳戶都可以將自己的 IAM 政策套用至任務。例如，兩個帳戶都可以使用標籤型存取控制，並從其 AWS 組織套用政策。任務處理來自兩個帳戶的資料，因此兩個帳戶都可以刪除任務及其相關聯的資料。兩個帳戶都無法封鎖其他帳戶刪除任務。

只有一個任務執行，兩個帳戶在呼叫 時都可以看到任務`ListAudienceGenerationJobs`。兩個帳戶都可以使用 ARN `Get`搭配自己的 AWS 帳戶 ID 來呼叫任務上的 `Delete`、 和 `Export` APIs。

使用 ARN 搭配其他 AWS 帳戶 ID 時，兩者都 AWS 帳戶 無法存取任務。

任務的名稱在 中必須是唯一的 AWS 帳戶。 AWS 帳戶 B 中的名稱為 *\$1accountA-\$1name*。在 AWS 帳戶 B 中檢視任務時， AWS 帳戶 A 所選擇的名稱字 AWS 帳戶 首為 A。

為了`StartAudienceGenerationJob`讓跨帳戶成功， AWS 帳戶 B 必須使用類似下列範例的資源政策，在 AWS 帳戶 B 中的新任務和 AWS 帳戶 B `ConfiguredAudienceModel`中的 上允許該動作：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Clean-Rooms-CAMA-ID",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "111122223333" 
                ]
            },
            "Action": [
                "cleanrooms-ml:StartAudienceGenerationJob"
            ],
            "Resource": [
                "arn:aws:cleanrooms-ml:us-east-1:444455556666:configured-audience-model/id",
                "arn:aws:cleanrooms-ml:us-east-1:444455556666:audience-generation-job/*"
            ],
            "Condition":{"StringEquals":{"cleanrooms-ml:CollaborationId":"UUID"}}
        }
    ]
}
```

------

**注意**  
此 AWS Clean Rooms ML 資源政策參考兩個不同的 AWS 帳戶 IDs以支援跨帳戶受眾產生：  
**111122223333** - 這是包含授權開始產生受眾任務之委託人 （使用者、角色或服務） 的帳戶。此帳戶會啟動 ML 處理工作流程。
**444455556666** - 這是擁有 AWS Clean Rooms ML 資源的帳戶 （已設定的受眾模型和受眾產生任務）。此帳戶託管 ML 模型並管理任務執行。
**其他組態備註：**  
**陳述式 ID (Sid)**：`CAMA-ID`將 AWS Clean Rooms 取代為您實際的對象模型應用程式 (CAMA) 識別符，讓政策陳述式易於識別。
**資源 IDs**：將 *ID* 取代為您設定的對象模型的實際 ID，並將 *UUID* 取代為您的特定協同合作 ID。
**條件**： `cleanrooms-ml:CollaborationId`條件可確保對象產生任務只能在指定的 AWS Clean Rooms 協同合作內容中啟動，提供額外的安全界限。
此跨帳戶組態可讓一個組織管理 ML 模型和基礎設施，同時允許授權合作夥伴在其協作協議範圍內啟動受眾產生程序的案例。

如果您使用 [AWS Clean Rooms ML API](https://docs.aws.amazon.com/cleanrooms-ml/latest/APIReference/Welcome.html) 來建立`manageResourcePolicies`設定為 true 的已設定外觀模型， 會為您 AWS Clean Rooms 建立此政策。

此外， AWS 帳戶 A 中呼叫者的身分政策需要 的`StartAudienceGenerationJob`許可`arn:aws:cleanrooms-ml:us-west-1:AccountA:audience-generation-job/*`。因此，有三種適用於動作 的 IAM 資源`StartAudienceGenerationJob`： AWS 帳戶 A 任務、 AWS 帳戶 B 任務和 AWS 帳戶 B `ConfiguredAudienceModel`。

**警告**  
 AWS 帳戶 啟動任務的 會收到有關任務的 AWS CloudTrail 稽核日誌事件。 AWS 帳戶 擁有 的 `ConfiguredAudienceModel`不會收到 AWS CloudTrail 稽核日誌事件。

## 標記任務
<a name="ml-behaviors-tagging"></a>

當您設定 `childResourceTagOnCreatePolicy=FROM_PARENT_RESOURCE` 參數 時`CreateConfiguredAudienceModel`，您帳戶中從該已設定的外觀模型建立的所有類似區段產生任務，預設會具有與已設定的外觀模型相同的標籤。設定的類似模型是父系，而類似區段的產生任務是子系。

如果您要在自己的帳戶中建立任務，任務的請求標籤會覆寫父標籤。其他帳戶建立的任務絕不會在您的帳戶中建立標籤。如果您設定 ，`childResourceTagOnCreatePolicy=FROM_PARENT_RESOURCE`而另一個帳戶建立任務，則有兩個任務複本。您帳戶中的複本具有父資源標籤，而任務提交者帳戶中的複本具有來自請求的標籤。

## 驗證協作者
<a name="ml-behaviors-validating"></a>

將許可授予 AWS Clean Rooms 協同合作的其他成員時，資源政策應包含條件索引鍵 `cleanrooms-ml:CollaborationId`。這會強制執行 `collaborationId` 參數包含在 [StartAudienceGenerationJob](https://docs.aws.amazon.com/cleanrooms-ml/latest/APIReference/API_StartAudienceGenerationJob.html) 請求中。當 `collaborationId` 參數包含在請求中時，Clean Rooms ML 會驗證協同合作是否存在、任務提交者是協同合作的作用中成員，而已設定的外觀模型擁有者是協同合作的作用中成員。

當 AWS Clean Rooms 管理您設定的外觀模型資源政策 ( `manageResourcePolicies` 參數位於 [CreateConfiguredAudienceModelAssociation 請求](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateConfiguredAudienceModelAssociation.html)`TRUE`中） 時，會在資源政策中設定此條件金鑰。因此，您必須在 [StartAudienceGenerationJob](https://docs.aws.amazon.com/cleanrooms-ml/latest/APIReference/API_StartAudienceGenerationJob.html) `collaborationId`中指定 。

## 跨帳戶存取權
<a name="ml-behaviors-cross-account-access"></a>

`StartAudienceGenerationJob` 只能跨帳戶呼叫 。所有其他 Clean Rooms ML APIs只能與您自己的帳戶中的資源搭配使用。這可確保您的訓練資料、類似模型組態和其他資訊保持私有。

Clean Rooms ML 永遠不會顯示 Amazon S3 或跨帳戶 AWS Glue 的位置。訓練資料位置、已設定的類似模型輸出位置，以及類似區段產生任務種子位置絕不會在帳戶間顯示。除非在協同合作中啟用查詢記錄，否則種子資料是否來自 SQL 查詢，且查詢本身不會在帳戶之間顯示。如果您是另一個帳戶提交的`Get`對象產生任務，服務不會顯示種子位置。