

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

# 共享特征组目录
<a name="feature-store-cross-account-discoverability-share-feature-group-catalog"></a>

特征组目录 `DefaultFeatureGroupCatalog` 包含资源拥有者账户拥有的*所有* 特征组实体。目录可由资源所有者账户共享，以便向单个或多个资源用户账户授予可发现性。具体方法是在 AWS Resource Access Manager (AWS RAM) 中创建一个资源共享。功能组是 Amazon SageMaker Feature Store 中的主要资源，由功能定义和记录组成，由功能商店管理。有关特征组的更多信息，请参阅 [Feature Store 概念](feature-store-concepts.md)。

可发现性是指资源用户账户可以搜索可发现的资源。可发现资源的查看方式就像在自己的账户中一样（不包括标签）。当允许特征组目录可被发现时，默认情况下不向资源使用者账户授予访问权限（只读、读写或管理员权限）。访问权限是在资源级别授予，而不是在账户级别授予。有关授予访问权限的信息，请参阅[启用跨账户访问](feature-store-cross-account-access.md)。

要启用跨账户可发现性，您需要使用 AWS RAM 开发者指南中的[AWS RAM 创建资源共享说明指定 SageMaker AI 资源](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-create)目录和功能组目录。在下文中，我们给出了使用 AWS RAM 控制台说明的规范。

1. **指定资源共享详细信息**：
   + 资源类型：选择 **SageMaker AI 资源目录**。
   + ARN：选择具有如下格式的特征组目录 ARN：`arn:aws:sagemaker:us-east-1:111122223333:sagemaker-catalog/DefaultFeatureGroupCatalog`

     *`us-east-1`* 是资源所在的区域，*`111122223333`* 是资源拥有者账户 ID。
   + 资源 ID：选择 `DefaultFeatureGroupCatalog`。

1. **关联托管权限**：
   + 托管权限：选择 `AWSRAMPermissionSageMakerCatalogResourceSearch`。

1. **向主体授予访问权限**：
   + 选择主体类型（AWS 账户、组织或组织部门），然后输入相应的 ID。

     如果您是一个组织，您可能需要利用 AWS Organizations。通过 Organization AWS 账户 s，您可以与个人、组织中的所有账户或组织单位 (OU) 共享资源。这就简化了权限的应用，而无需为每个账户应用权限。有关共享资源和在其中授予权限的更多信息 AWS，请参阅《 AWS Resource Access Manager 开发人员指南》[AWS Organizations中的启用资源共享](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs)。

1. **审核和创建**：
   + 审核，然后选择**创建资源共享**。

可能需要花几分钟时间，才能完成资源共享和主体（或资源使用者账户）关联。设置资源共享和主体关联后，指定的资源使用者账户会收到加入资源共享的邀请。资源使用者帐户可以通过在 AWS RAM 控制台中打开 “[与我共享：资源共享](https://console.aws.amazon.com/ram/home#SharedResourceShares)” 页面来查看和接受邀请。有关接受和查看中资源的更多信息 AWS RAM，请参阅[访问与您共享的 AWS 资源](https://docs.aws.amazon.com/ram/latest/userguide/working-with-shared.html)。在以下情况下不会发送邀请：
+ 如果您是组织中的一员， AWS Organizations 并且在您的组织中共享已启用。在这种情况下，组织中的主体无需邀请即可自动访问共享资源。
+ 如果您与拥有 AWS 账户 该资源的用户共享，则该账户中的委托人无需邀请即可自动访问共享资源。

有关接受和使用资源共享的更多信息，请参阅[搜索可发现资源](feature-store-cross-account-discoverability-use.md)。

## 使用共享功能组目录 适用于 Python (Boto3) 的 AWS SDK
<a name="feature-store-cross-account-discoverability-sagemaker-catalog-resource-type-python-sdk-example"></a>

您可以使用 fo 适用于 Python (Boto3) 的 AWS SDK r AWS RAM APIs 来创建资源共享。以下代码是该区域*`111122223333`*内资源所有者账户 ID 的示例*us-east-1*。资源所有者正在创建名为 *`test-cross-account-catalog`* 的资源共享。它们与资源用户账户 ID *`444455556666`* 共享特征组目录。要将 Python 开发工具包用于 AWS RAM APIs，请将`AWSRAMPermissionSageMakerCatalogResourceSearch`策略与执行角色挂钩。有关更多信息，请参阅[AWS RAM APIs](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ram/client/create_resource_share.html)。

```
#Call list resource catalogs as a prerequisite for RAM share
sagemaker_client.list_resource_catalogs()

# Share DefaultFeatureGroupCatalog with other account
ram_client = boto3.client("ram")
response = ram_client.create_resource_share(
    name='test-cross-account-catalog', # Change to your custom resource share name
    resourceArns=[
        'arn:aws:sagemaker:us-east-1:111122223333:sagemaker-catalog/' + 'DefaultFeatureGroupCatalog', # Change 111122223333 to the resource owner account ID
    ],
    principals=[
        '444455556666', # Change 444455556666 to the resource consumer account ID
    ],
    permissionArns = ["arn:aws:ram::aws:permission/AWSRAMPermissionSageMakerCatalogResourceSearch"] # AWSRAMPermissionSageMakerCatalogResourceSearch is the only policy allowed for SageMaker Catalog
)
```

主体是安全系统的参与者。在基于资源的策略中，允许的委托人是 IAM 用户、IAM 角色、根账户或其他 AWS 服务。