

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

# 启用跨账户可发现性
<a name="feature-store-cross-account-discoverability"></a>

使用 AWS Resource Access Manager (AWS RAM)，您可以安全地与其他人共享功能组目录，其中包含您的所有功能组和功能资源 AWS 账户。这样，您的团队成员就可以搜索和发现跨多个账户的特征组和特征，从而提高数据一致性，简化协作并减少重复工作。

资源所有者账户可以通过使用授予权限与其他 AWS 账户 人共享资源 AWS RAM。资源使用者账户是指 AWS 账户 与之共享资源的人，受资源所有者账户授予的权限的限制。如果你是一个组织，你可能想利用这个优势 AWS Organizations，你可以与个人 AWS 账户、组织中的所有账户或组织单位 (OU) 中的所有账户共享资源，而不必对每个账户应用权限。有关教学视频以及有关 AWS RAM 概念和优势的更多信息，请参阅[什么是 AWS Resource Access Manager？](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html) 在《 AWS RAM 用户指南》中。

本节介绍资源拥有者账户如何选择特征组目录并向资源使用者账户授予可发现性权限，然后介绍具有可发现性权限的资源使用者账户如何搜索和发现资源拥有者账户中的特征组。可发现性权限不授予访问权限（只读、读写或管理员权限）。访问权限是在资源级别授予，而不是在账户级别授予。有关授予访问权限的信息，请参阅[启用跨账户访问](feature-store-cross-account-access.md)。

以下主题讨论如何共享特征组目录，以及如何在应用了可发现性权限的情况下搜索共享资源。

**Topics**
+ [共享特征组目录](feature-store-cross-account-discoverability-share-feature-group-catalog.md)
+ [搜索可发现资源](feature-store-cross-account-discoverability-use.md)

# 共享特征组目录
<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 服务。

# 搜索可发现资源
<a name="feature-store-cross-account-discoverability-use"></a>

资源拥有者账户必须向资源使用者账户授予权限，使其具有对共享资源的可发现性或访问（只读、读写或管理员）权限。在以下几节中，我们提供了有关如何接受共享资源邀请的说明，并提供了一些示例来说明如何搜索可发现特征组。

**接受共享资源邀请**

一旦资源拥有者账户授予了权限，作为资源使用者账户，您将收到加入资源共享的邀请。要接受任何共享资源的邀请，请在 AWS RAM 控制台中打开 “[与我共享：资源](https://console.aws.amazon.com/ram/home#SharedResourceShares)共享” 页面，查看和回复邀请。在以下情况下不会发送邀请：
+ 如果您是组织中的一员， AWS Organizations 并且启用了组织中的共享，则该组织中的委托人无需邀请即可自动访问共享资源。
+ 如果您与拥有 AWS 账户 该资源的用户共享，则该账户中的委托人无需邀请即可自动访问共享资源。

有关接受和使用资源共享的更多信息 AWS RAM，请参阅[回复资源共享邀请](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-shared.html)。

## 搜索可发现特征组示例
<a name="feature-store-cross-account-discoverability-use-search"></a>

与应用了可发现性权限的资源使用者账户共享资源后，该资源使用者账户就可以使用控制台 UI 和 Feature Store SDK 在 Amazon F SageMaker eature Store 中搜索和发现共享资源。请注意，您不能在标签上搜索跨账户资源。最多可查看 1000 个特征组目录。有关授予可发现性权限的更多信息，请参阅[启用跨账户可发现性](feature-store-cross-account-discoverability.md)。

有关在管理控制台中查看共享特征组的详情，请参阅 [在 Feature Store 中查找特征组](feature-store-search-feature-group-metadata.md)。

在以下示例中，当设置为时，资源使用者账户使用 SageMaker AI 搜索来搜索他们可以发现`CrossAccountFilterOption`的资源：`"CrossAccount"`

```
from sagemaker.session import Session

sagemaker_session = Session(boto_session=boto_session)

sagemaker_session.search(
    resource="FeatureGroup",
    search_expression={
        "Filters": [
            {
                "Name": "FeatureGroupName",
                "Value": "MyFeatureGroup",
                "Operator": "Contains",
            }
        ],
        "Operator": "And",
    },
    sort_by="Name",
    sort_order="Ascending",
    next_token="token",
    max_results=50,
    CrossAccountFilterOption="CrossAccount"
)
```

有关 SageMaker AI 搜索和请求参数的更多信息，请参阅 Amazon SageMaker API 参考中的[搜索](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Search.html)。