リソースベースのポリシーを使用したアクセスを共有する - Amazon Kinesis Data Streams

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

リソースベースのポリシーを使用したアクセスを共有する

注記

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

クロスアカウント AWS Lambda 関数とアクセスを共有する

Lambda 演算子
  1. IAM コンソールに移動して、 AWS Lambda 関数の Lambda 実行ロールとして使用する IAM ロールを作成します。必要な Kinesis Data Streams と Lambda 呼び出し権限を持つマネージド IAM ポリシー AWSLambdaKinesisExecutionRole を追加します。このポリシーは、ユーザーがアクセスする可能性のあるすべての Kinesis Data Streams リソースへのアクセスも付与します。

  2. AWS Lambda コンソールで、Kinesis Data Streams データストリームのレコードを処理する AWS Lambda 関数を作成し、実行ロールのセットアップ中に、前のステップで作成したロールを選択します。

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

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

Kinesis Data Streams リソースの所有者
  1. Lambda 関数を呼び出すクロスアカウントの Lambda 実行ロールを取得します。

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

  3. クロスアカウントの Lambda 実行ロールをプリンシパルとして指定し、アクセスを共有する正確な Kinesis Data Streams アクションを指定します。必ず kinesis:DescribeStream アクションを含めてください。Kinesis Data Streams リソースポリシーの例については、「Kinesis Data Streams のリソースベースのポリシーの例」を参照してください。

  4. [ポリシーの作成] を選択するか、PutResourcePolicy を使用してポリシーをリソースにアタッチします。

クロスアカウントの KCL コンシューマーとのアクセスを共有する

  • KCL 1.x を使用している場合は、KCL 1.15.0 以降を使用していることを確認してください。

  • KCL 2.x を使用している場合は、KCL 2.5.3 以降を使用していることを確認してください。

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

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

  3. KCL 設定の一部として、提供されたストリーム ARN を指定していることを確認してください。

    • KCL 1.x の場合: KinesisClientLibConfiguration コンストラクターを使用してストリーム ARN を指定します。

    • KCL 2.x の場合: Kinesis Client Library ConfigsBuilder にストリーム ARN または StreamTracker のみを指定できます。StreamTracker には、ライブラリによって生成される DynamoDB リーステーブルからストリーム ARN と作成エポックを指定します。拡張ファンアウトなどの登録済みの共有コンシューマーから読み込む場合は、StreamTracker を使用してコンシューマー ARN も指定してください。

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

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

  3. クロスアカウントの KCL アプリケーションの IAM ユーザーまたは IAM ロールをプリンシパルとして指定し、アクセスを共有する正確な Kinesis Data Streams アクションを指定します。Kinesis Data Streams リソースポリシーの例については、「Kinesis Data Streams のリソースベースのポリシーの例」を参照してください。

  4. [ポリシーの作成] を選択するか、PutResourcePolicy を使用してポリシーをリソースにアタッチします。

暗号化されたデータへのアクセスを共有する

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