

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

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

## 跨账户作业
<a name="ml-behaviors-cross-account-jobs"></a>

Clean Rooms ML AWS 账户 允许一个人在其帐户中安全地访问另一个人创建的某些资源 AWS 账户。当 AWS 账户 A 中的客户端调用 AWS 账户 B 拥有`StartAudienceGenerationJob`的`ConfiguredAudienceModel`资源时，Clean Rooms ML 会 ARNs 为该任务创建两个资源。一个 ARN 在 AWS 账户 A 中，另一个 ARN 在 B 中 AWS 账户 除了 ARNs 它们之外，它们是相同的 AWS 账户。

Clean Rooms ML ARNs 为任务创建了两个，以确保两个账户都可以将自己的 IAM 策略应用于任务。例如，两个账户都可以使用基于标签的访问控制并应用其 AWS 组织的策略。作业处理来自两个账户的数据，因此，两个账户都可以删除作业及其关联数据。两个账户都不能阻止另一个账户删除作业。

只能执行一个作业，两个账户可以在调用 `ListAudienceGenerationJobs` 时看到该作业。两个账户都可以使用自己 AWS 账户 的 `Export` APIs ID 的 ARN 调用`Delete`、和。`Get`

使用带有另一 AWS 账户 个 ID 的 ARN 时，两者都 AWS 账户 无法访问任务。

作业的名称在 AWS 账户中必须是唯一的。 AWS 账户 B 中的名字是*\$1accountA-\$1name*。在 B 中查看作业时 AWS 账户 ，A 选择的名称以 AWS 账户 A 为前缀。 AWS 账户 

为了使跨账户`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 机器学习资源策略引用了两种不同的策略 AWS 账户 IDs 来支持跨账户受众生成：  
**111122223333**-该账户包含授权开始受众生成工作的委托人（用户、角色或服务）。此账户启动机器学习处理工作流程。
**444455556666**-这是拥有 AWS Clean Rooms 机器学习资源（配置的受众模型和受众生成作业）的账户。此账户托管 ML 模型并管理任务执行。
**其他配置说明：**  
**报表 ID (Sid)**：`CAMA-ID`替换为您的实际 AWS Clean Rooms 受众模型应用程序 (CAMA) 标识符，以使政策声明易于识别。
**资源 IDs**：*id*替换为您配置的受众模型的实际 ID 和*UUID*您的特定协作 ID。
**条件**：该`cleanrooms-ml:CollaborationId`条件可确保受众生成作业只能在指定的 AWS Clean Rooms 协作环境中启动，从而提供了额外的安全边界。
这种跨账户配置支持这样的场景：一个组织管理机器学习模型和基础架构，同时允许授权合作伙伴在其合作协议的范围内启动受众生成流程。

如果您使用 [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 审核日志事件。拥有 `ConfiguredAudienceModel` 的 AWS 账户 不会收到 AWS CloudTrail 审核日志事件。

## 标记作业
<a name="ml-behaviors-tagging"></a>

在您设置 `CreateConfiguredAudienceModel` 的 `childResourceTagOnCreatePolicy=FROM_PARENT_RESOURCE` 参数时，您的账户中通过该配置的相似模型创建的所有相似细分生成作业默认具有与配置的相似模型相同的标签。配置的相似模型是父模型，相似细分生成作业是子模型。

如果您在自己的账户中创建作业，作业的请求标签将覆盖父标签。其他账户创建的作业绝不会在您的账户中创建标签。如果您设置 `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 请求`TRUE`](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateConfiguredAudienceModelAssociation.html)中）时，将在资源策略中设置此条件密钥。因此，必须在 in `collaborationId` 中指定[StartAudienceGenerationJob](https://docs.aws.amazon.com/cleanrooms-ml/latest/APIReference/API_StartAudienceGenerationJob.html)。

## 跨账户访问
<a name="ml-behaviors-cross-account-access"></a>

只能跨账户调用 `StartAudienceGenerationJob`。所有其他 Clean Rooms ML APIs 只能与您自己账户中的资源一起使用。这可确保您的训练数据、相似模型配置和其他信息保持私密。

Clean Rooms ML 永远不会透露 Amazon S3 或各个账户 AWS Glue 的位置。训练数据位置、配置的相似模型输出位置和相似细分生成作业种子位置绝不会在账户之间可见。除非在协作中启用了查询日志记录，否则种子数据是否来自某个 SQL 查询以及查询本身在账户中都不可见。如果您获取 (`Get`) 另一个账户提交的受众生成作业，该服务不会显示种子位置。