

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

# リソースベースのポリシーを使用したアクセスを共有する
<a name="resource-based-policy-examples"></a>

**注記**  
既存のリソースベースのポリシーを更新すると既存のポリシーが置き換えられるため、新しいポリシーには必要な情報をすべて含めるようにしてください。

## クロスアカウント AWS Lambda 関数とアクセスを共有する
<a name="Resource-based-policy-examples-lambda"></a>

**Lambda 演算子**

1. [IAM コンソール](https://console.aws.amazon.com/iam/)に移動して、 AWS Lambda 関数の [Lambda 実行ロールとして使用する IAM ロール](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html)を作成します。必要な Kinesis Data Streams と Lambda 呼び出し権限を持つマネージド IAM ポリシー `AWSLambdaKinesisExecutionRole` を追加します。このポリシーは、ユーザーがアクセスする可能性のあるすべての Kinesis Data Streams リソースへのアクセスも付与します。

1. [AWS Lambda コンソール](https://console.aws.amazon.com/lambda/home)で、[Kinesis Data Streams データストリームのレコードを処理する ](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html) AWS Lambda 関数を作成し、実行ロールのセットアップ中に、前のステップで作成したロールを選択します。

1. リソースポリシーを設定するための実行ロールを Kinesis Data Streams リソースの所有者に提供します。

1. Lambda 関数のセットアップを完了します。

**Kinesis Data Streams リソースの所有者**

1. Lambda 関数を呼び出すクロスアカウントの Lambda 実行ロールを取得します。

1. Amazon Kinesis Data Streams コンソールで、データストリームを選択します。**[データストリーム共有]** タブを選択し、**[共有ポリシーの作成]** ボタンをクリックしてビジュアルポリシーエディタを起動します。登録済みのコンシューマーをデータストリーム内で共有するには、コンシューマーを選択し、次に **[共有ポリシーの作成]** を選択します。JSON ポリシーを直接作成することもできます。

1. クロスアカウントの Lambda 実行ロールをプリンシパルとして指定し、アクセスを共有する正確な Kinesis Data Streams アクションを指定します。必ず `kinesis:DescribeStream` アクションを含めてください。Kinesis Data Streams リソースポリシーの例については、「[Kinesis Data Streams のリソースベースのポリシーの例](controlling-access.md#kinesis-stream-sharing-iam-examples)」を参照してください。

1. **[ポリシーの作成]** を選択するか、[PutResourcePolicy](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutResourcePolicy.html) を使用してポリシーをリソースにアタッチします。

## クロスアカウントの KCL コンシューマーとのアクセスを共有する
<a name="Resource-based-policy-examples-kcl-consumers"></a>
+ KCL 1.x を使用している場合は、KCL 1.15.0 以降を使用していることを確認してください。
+ KCL 2.x を使用している場合は、KCL 2.5.3 以降を使用していることを確認してください。

**KCL 演算子**

1. KCL アプリケーションを実行する IAM ユーザーまたは IAM ロールをリソース所有者に提供します。

1. リソース所有者にデータストリームまたはコンシューマー ARN を依頼してください。

1. KCL 設定の一部として、提供されたストリーム ARN を指定していることを確認してください。
   + KCL 1.x の場合: [KinesisClientLibConfiguration](https://github.com/awslabs/amazon-kinesis-client/blob/v1.x/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/KinesisClientLibConfiguration.java#L738-L821) コンストラクターを使用してストリーム ARN を指定します。
   + KCL 2.x の場合: Kinesis Client Library [ConfigsBuilder](https://github.com/awslabs/amazon-kinesis-client/blob/master/amazon-kinesis-client/src/main/java/software/amazon/kinesis/common/ConfigsBuilder.java#L155-L176) にストリーム ARN または [StreamTracker](https://github.com/awslabs/amazon-kinesis-client/blob/master/amazon-kinesis-client/src/main/java/software/amazon/kinesis/processor/StreamTracker.java) のみを指定できます。StreamTracker には、ライブラリによって生成される DynamoDB リーステーブルからストリーム ARN と作成エポックを指定します。拡張ファンアウトなどの登録済みの共有コンシューマーから読み込む場合は、StreamTracker を使用してコンシューマー ARN も指定してください。

**Kinesis Data Streams リソースの所有者**

1. KCL アプリケーションを実行するクロスアカウントの IAM ユーザーまたは IAM ロールを取得します。

1. Amazon Kinesis Data Streams コンソールで、データストリームを選択します。**[データストリーム共有]** タブを選択し、**[共有ポリシーの作成]** ボタンをクリックしてビジュアルポリシーエディタを起動します。登録済みのコンシューマーをデータストリーム内で共有するには、コンシューマーを選択し、次に **[共有ポリシーの作成]** を選択します。JSON ポリシーを直接作成することもできます。

1. クロスアカウントの KCL アプリケーションの IAM ユーザーまたは IAM ロールをプリンシパルとして指定し、アクセスを共有する正確な Kinesis Data Streams アクションを指定します。Kinesis Data Streams リソースポリシーの例については、「[Kinesis Data Streams のリソースベースのポリシーの例](controlling-access.md#kinesis-stream-sharing-iam-examples)」を参照してください。

1. **[ポリシーの作成]** を選択するか、[PutResourcePolicy](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutResourcePolicy.html) を使用してポリシーをリソースにアタッチします。

## 暗号化されたデータへのアクセスを共有する
<a name="sharing-access-to-encrypted-data"></a>

 AWS マネージド KMS キーでデータストリームのサーバー側の暗号化を有効にしていて、リソースポリシーを介してアクセスを共有する場合は、カスタマーマネージドキー (CMK) の使用に切り替える必要があります。詳細については、「[Kinesis Data Streams 用のサーバー側の暗号化とは?](what-is-sse.md)」を参照してください。さらに、KMS のクロスアカウント共有機能を使用して、共有プリンシパルエンティティが CMK にアクセスできるようにする必要があります。共有プリンシパルエンティティの IAM ポリシーも必ず変更してください。詳細については、「[その他のアカウントのユーザーに KMS キーの使用を許可する](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html)」を参照してください。