

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# とオンライン特徴量グループを共有する AWS Resource Access Manager
<a name="feature-store-cross-account-access-online-store"></a>

 AWS Resource Access Manager (AWS RAM) を使用すると、Amazon SageMaker Feature Store オンライン特徴量グループを他の と安全に共有できます AWS アカウント。チームのメンバーは複数のアカウントにまたがる特徴量グループや特徴量を検索してアクセスできるため、データ整合性が向上し、コラボレーションが効率化され、作業の重複が減ります。

リソース所有者アカウントは、 を使用してアクセス許可を付与 AWS アカウント することで、他の個人とリソースを共有できます AWS RAM。リソースコンシューマーアカウントは、リソースが共有 AWS アカウント されている であり、リソース所有者アカウントから付与されたアクセス許可によって制限されます。組織の場合は AWS Organizations、リソースを個人と共有できる 、組織内のすべての AWS アカウントアカウント、または組織単位 (OU) で活用できます。各アカウントにアクセス許可を適用する必要はありません。説明ビデオと AWS RAM 概念と利点の詳細については、 AWS RAM 「 ユーザーガイド」の[「What is AWS Resource Access Manager?](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html)」を参照してください。

 AWS アカウントごとの API あたりの 1 秒あたりのトランザクション数 (TPS) にはソフト上限があることに注意が必要です。最大 TPS 制限は、リソース所有者アカウント内のリソースの*すべての*トランザクションに適用されるため、リソースコンシューマーアカウントからのトランザクションもこの上限にカウントされます。サービスクォータとクォータの引き上げをリクエストする方法の詳細については、「[AWS サービスクォータ](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)」を参照してください。

このセクションでは、リソース所有者アカウントが特徴量グループを選択し、リソースコンシューマーアカウントにアクセス許可 (読み取り専用、読み取り/書き込み、管理者) を付与する方法と、アクセス許可を持つリソースコンシューマーアカウントがそれらの特徴量グループを使用する方法を説明します。アクセス許可では、リソースコンシューマーアカウントは特徴量グループを検索して検出することはできません。リソースコンシューマーアカウントがリソース所有者アカウントから特徴量グループを検索して検出できるようにするには、リソース所有者アカウントがリソースコンシューマーアカウントに検出許可を付与する必要があります。これにより、リソース所有者アカウント内のすべての特徴量グループがリソースコンシューマアカウントによって検出可能になります。検出許可の付与の詳細については、「[クロスアカウント検出可能性を有効にする](feature-store-cross-account-discoverability.md)」を参照してください。

以下のトピックでは、 AWS RAM コンソールを使用して Feature Store オンラインストアリソースを共有する方法を示します。コンソールまたは AWS Command Line Interface (AWS CLI) AWS を使用して 内でリソースを共有し、アクセス許可を付与する方法については、 AWS RAM [「リソースの共有 AWS](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html)」を参照してください。

**Topics**
+ [特徴量グループエンティティの共有](feature-store-cross-account-access-online-store-share-feature-group.md)
+ [アクセス許可のあるオンラインストアの共有リソースを使用する](feature-store-cross-account-access-online-store-use.md)

# 特徴量グループエンティティの共有
<a name="feature-store-cross-account-access-online-store-share-feature-group"></a>

リソース所有者アカウントとして、 AWS Resource Access Manager () でリソース共有を作成することで、Amazon SageMaker Feature Store の特徴量グループリソースタイプを使用して特徴量グループエンティティを共有できますAWS RAM。

「 AWS RAM ユーザーガイド」の[AWS 「リソースの共有](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-create)」の手順とともに、次の手順を使用します。

 AWS RAM コンソールを使用して特徴量グループリソースタイプを共有する場合は、次の選択を行う必要があります。

1. **リソース共有の詳細の指定**: 
   + リソースタイプ: **[SageMaker AI 特徴量グループ]** を選択します。
   + ARN: `arn:aws:sagemaker:us-east-1:111122223333:feature-group/your-feature-group-name` の形式で特徴量グループ ARN を選択します。

     `us-east-1` はリソースのリージョン、`111122223333` はリソース所有者のアカウント ID、`your-feature-group-name` は共有している特徴量グループのことです。
   + リソース ID: アクセス許可を付与したい特徴量グループ、`your-feature-group-name` を選択します。

1. **マネージドアクセス許可の関連付け**: 
   + マネージドアクセス許可: アクセス許可を選択します。アクセス許可の詳細については、[クロスアカウントアクセスを有効にする](feature-store-cross-account-access.md) を参照してください。

1. **プリンシパルへのアクセス許可の付与**:
   + プリンシパルタイプ (AWS アカウント、組織、組織単位、IAM ロール、または IAM ユーザー) を選択し、適切な ID または ARN を入力します。

1. **確認と作成**: 
   + 確認したら、**[リソース共有を作成]** を選択します。

アクセス許可を付与してもリソースコンシューマーアカウントには検出許可が付与されないため、アクセス許可を持つリソースコンシューマーアカウントはそれらの特徴量グループを検索して検出することができません。リソースコンシューマーアカウントがリソース所有者アカウントから特徴量グループを検索して検出できるようにするには、リソース所有者アカウントがリソースコンシューマーアカウントに検出許可を付与する必要があります。これにより、リソース所有者アカウント内のすべての特徴量グループがリソースコンシューマアカウントによって検出可能になります。**検出許可の付与の詳細については、「[クロスアカウント検出可能性を有効にする](feature-store-cross-account-discoverability.md)」を参照してください。

リソースコンシューマーアカウントにアクセス許可しか付与されていない場合でも、特徴量グループのエンティティは AWS RAMに表示できます。のリソースを表示するには AWS RAM、「 AWS RAM ユーザーガイド」の[「共有されているリソースへのアクセス AWS](https://docs.aws.amazon.com/ram/latest/userguide/working-with-shared.html)」を参照してください。

リソース共有とプリンシパル、またはリソースコンシューマーアカウントの関連付けが完了するまでに数分かかることがあります。リソース共有とプリンシパルの関連付けが設定されると、指定されたリソースコンシューマーアカウントは、リソース共有への参加の招待を受け取ります。リソースコンシューマーアカウントは、 AWS RAM コンソールで「共有[先: リソース共有](https://console.aws.amazon.com/ram/home#SharedResourceShares)」ページを開いて招待を表示および承諾できます。以下の場合、招待は送信されません。
+ の組織に属 AWS Organizations していて、組織内の共有が有効になっている場合、組織内のプリンシパルは招待なしで共有リソースに自動的にアクセスできます。
+ リソースを所有 AWS アカウント する と共有する場合、そのアカウントのプリンシパルは招待なしで共有リソースに自動的にアクセスします。

でのリソース共有の受け入れと使用の詳細については AWS RAM、「 AWS RAM ユーザーガイド」の[「共有 AWS リソースの使用](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-shared.html)」を参照してください。

## を使用してオンラインストアの機能グループを共有する AWS SDK for Python (Boto3)
<a name="feature-store-cross-account-access-online-store-python-sdk-example"></a>

 AWS SDK for Python (Boto3) AWS RAM APIsを使用してリソース共有を作成できます。次のコードは、リソース所有者アカウント ID `111122223333` が `'test-cross-account-fg'` という名前のリソース共有を作成し、リソースコンシューマーアカウント ID `444455556666` を使用して `'my-feature-group'` という名前の特徴量グループを共有して、アクセス許可 `AWSRAMPermissionSageMakerFeatureGroupReadOnly` を付与する例です。アクセス許可の詳細については、[クロスアカウントアクセスを有効にする](feature-store-cross-account-access.md) を参照してください。Python SDK for AWS RAM APIs を使用するには、フル AWS RAM アクセス管理ポリシーを実行ロールにアタッチする必要があります。詳細については、[「create\$1resource\$1share](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ram/client/create_resource_share.html) AWS RAM API」を参照してください。

```
import boto3

# Choose feature group name
feature_group_name = 'my-feature-group' # Change to your feature group name 

# Share 'my-feature-group' with other account
ram_client = boto3.client("ram")
response = ram_client.create_resource_share(
    name='test-cross-account-fg', # Change to your custom resource share name
    resourceArns=[
        'arn:aws:sagemaker:us-east-1:111122223333:feature-group/' + feature_group_name, # Change 111122223333 to the resource owner account ID
    ],
    principals=[
        '444455556666', # Change 444455556666 to the resource consumer account ID
    ],
    permissionArns = ["arn:aws:ram::aws:permission/AWSRAMPermissionSageMakerFeatureGroupReadOnly"]
)
```

プリンシパルはセキュリティシステムのアクターです。リソースベースのポリシーでは、許可されるプリンシパルは IAM ユーザー、IAM ロール、ルートアカウント、または別の AWS のサービスです。

# アクセス許可のあるオンラインストアの共有リソースを使用する
<a name="feature-store-cross-account-access-online-store-use"></a>

リソース所有者アカウントは、共有リソースの検出許可、読み取り専用、書き込み、または管理者のアクセス許可をリソースコンシューマーアカウントに付与する必要があります。以下のセクションでは、共有リソースへの招待を受け入れる方法を説明し、共有特徴量グループを表示して操作する方法の例を示します。

** AWS RAMを使用して共有リソースへのアクセスの招待を受け入れる**

リソースコンシューマーアカウントは、リソース所有者アカウントからアクセス許可が付与されると、リソース共有への参加の招待を受け取ります。共有リソースへの招待を受け入れるには、 AWS RAM コンソールで[共有: リソース共有](https://console.aws.amazon.com/ram/home#SharedResourceShares)ページを開き、招待を表示して応答します。以下の場合、招待は送信されません。
+ の組織に属 AWS Organizations していて、組織内の共有が有効になっている場合、組織内のプリンシパルは招待なしで共有リソースに自動的にアクセスできます。
+ リソースを所有 AWS アカウント する と共有する場合、そのアカウントのプリンシパルは招待なしで共有リソースに自動的にアクセスします。

でのリソース共有の受け入れと使用の詳細については AWS RAM、「 AWS RAM ユーザーガイド」の[「共有 AWS リソースの使用](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-shared.html)」を参照してください。

## AWS RAM コンソールで共有リソースを表示する
<a name="feature-store-cross-account-access-online-store-use-view"></a>

アクセス許可を付与しても、リソースコンシューマーアカウントには検出許可が付与されないため、アクセス許可を持つリソースコンシューマーアカウントはそれらの特徴量グループを検索したり検出したりできません。リソースコンシューマーアカウントがリソース所有者アカウントから特徴量グループを検索して検出できるようにするには、リソース所有者アカウントがリソースコンシューマーアカウントに検出許可を付与する必要があります。これにより、リソース所有者アカウント内のすべての特徴量グループがリソースコンシューマアカウントによって検出可能になります。検出許可の付与の詳細については、「[クロスアカウント検出可能性を有効にする](feature-store-cross-account-discoverability.md)」を参照してください。

 AWS RAM コンソールで共有リソースを表示するには、 AWS RAM コンソールで[「共有先: リソース共有](https://console.aws.amazon.com/ram/home#SharedResourceShares)」ページを開きます。

## 共有特徴量グループの読み取り/書き込みアクションの例
<a name="feature-store-cross-account-access-online-store-use-read-write-actions"></a>

リソースコンシューマーアカウントにリソース所有者アカウントから適切な許可が付与されると、Feature Store SDK を使用して共有リソースに対してアクションを実行できます。そのためには、リソース ARN を `FeatureGroupName` として指定します。Feature Group ARN を取得するには、 AWS SDK for Python (Boto3) [https://boto3.amazonaws.com/v1/documentation/api/1.26.98/reference/services/sagemaker/client/describe_feature_group.html#describe-feature-group](https://boto3.amazonaws.com/v1/documentation/api/1.26.98/reference/services/sagemaker/client/describe_feature_group.html#describe-feature-group)関数を使用するか、コンソール UI を使用します。コンソール UI を使用して特徴量グループの詳細を表示する方法については、「[コンソールから特徴量グループの詳細を表示する](feature-store-use-with-studio.md#feature-store-view-feature-group-detail-studio)」を参照してください。

以下の例では、`PutRecord` と `GetRecord` を共有特徴量グループエンティティとともに使用しています。[https://boto3.amazonaws.com/v1/documentation/api/1.26.98/reference/services/firehose/client/put_record.html#put-record](https://boto3.amazonaws.com/v1/documentation/api/1.26.98/reference/services/firehose/client/put_record.html#put-record) および の AWS SDK for Python (Boto3) ドキュメントのリクエストとレスポンスの構文を参照してください[https://boto3.amazonaws.com/v1/documentation/api/1.26.98/reference/services/sagemaker-featurestore-runtime/client/get_record.html#get-record](https://boto3.amazonaws.com/v1/documentation/api/1.26.98/reference/services/sagemaker-featurestore-runtime/client/get_record.html#get-record)。

```
import boto3

sagemaker_featurestore_runtime = boto3.client('sagemaker-featurestore-runtime')

# Put record into feature group named 'test-fg' within the resource owner account ID 111122223333
featurestore_runtime.put_record(
    FeatureGroupName="arn:aws:sagemaker:us-east-1:111122223333:feature-group/test-fg", 
    Record=[value.to_dict() for value in record] # You will need to define record prior to calling PutRecord
)
```

```
import boto3

sagemaker_featurestore_runtime = boto3.client('sagemaker-featurestore-runtime')

# Choose record identifier
record_identifier_value = str(2990130)

# Get record from feature group named 'test-fg' within the resource owner account ID 111122223333
featurestore_runtime.get_record(
    FeatureGroupName="arn:aws:sagemaker:us-east-1:111122223333:feature-group/test-fg", 
    RecordIdentifierValueAsString=record_identifier_value
)
```

アクセス許可を特徴量グループエンティティに付与する方法については、「[特徴量グループエンティティの共有](feature-store-cross-account-access-online-store-share-feature-group.md)」を参照してください。