QLDB のストリームアクセス許可 - Amazon Quantum 台帳データベース (Amazon QLDB)

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

QLDB のストリームアクセス許可

重要

サポート終了通知: 既存のお客様は、07/31/2025 のサポート終了QLDBまで Amazon を使用できます。詳細については、「Amazon QLDB 台帳を Amazon Aurora Postgre に移行するSQL」を参照してください。

Amazon QLDB ストリームを作成する前に、指定した Amazon Kinesis Data Streams リソースへのQLDB書き込みアクセス許可を指定する必要があります。Kinesis ストリームのサーバー側の暗号化にマネージド AWS KMS key カスタマーを使用している場合は、指定した対称暗号化キーを使用するQLDBアクセス許可も提供する必要があります。Kinesis Data Streams は非対称KMSキー をサポートしていません。

QLDB ストリームに必要なアクセス許可を付与するには、適切なアクセス許可ポリシーを持つIAMサービスロールをQLDB引き受けることができます。サービスロールは、ユーザーに代わってアクションを実行するためにサービスが引き受けるIAMロールです。IAM 管理者は、 内からサービスロールを作成、変更、削除できますIAM。詳細については、「 ユーザーガイド」の「アクセス許可を に委任するロールを作成する AWS のサービス」を参照してください。 IAM

注記

ジャーナルストリームをリクエストQLDBするときにロールを に渡すには、IAMロールリソースに対してiam:PassRoleアクションを実行するアクセス許可が必要です。これは、QLDBストリームサブリソースのqldb:StreamJournalToKinesisアクセス許可に追加されます。

QLDB を使用して へのアクセスを制御する方法についてはIAM、「」を参照してくださいAmazon での のQLDB仕組み IAM。QLDB ポリシーの例については、「」を参照してくださいAmazon のアイデンティティベースのポリシーの例 QLDB

この例では、 がユーザーに代わって Kinesis データストリームにデータレコードをQLDB書き込むことができるロールを作成します。詳細については、「 ユーザーガイド」の「アクセス許可を に委任するロールの作成 AWS のサービス」を参照してください。 IAM

でQLDBジャーナル AWS アカウント を初めてストリーミングする場合は、まず以下を実行して、適切なポリシーを持つIAMロールを作成する必要があります。または、QLDBコンソールを使用してロールを自動的に作成することもできます。それ以外の場合は、前に作成したロールを選択できます。

許可ポリシーを作成する

QLDB ストリームのアクセス許可ポリシーを作成するには、次の手順を実行します。この例では、指定した Kinesis データストリームにデータレコードを書き込むQLDBアクセス許可を付与する Kinesis Data Streams ポリシーを示しています。該当する場合、この例は対称暗号化キーQLDBの使用を許可するKMSキーポリシーも示しています。

Kinesis Data Streams ポリシーの詳細については、Amazon Kinesis Data Streams デベロッパーガイド」の「 および を使用してユーザーが生成したキーを使用するアクセス許可を使用した Amazon Kinesis Data Streams リソースへのアクセスの制御IAM」を参照してください。 KMS Amazon Kinesis AWS KMS キーポリシーの詳細については、AWS Key Management Service 「 デベロッパーガイド」の「キーポリシーの使用 AWS KMS」を参照してください。

注記

Kinesis データストリームとKMSキーは、台QLDB帳と同じ AWS リージョン アカウントにある必要があります。

JSON ポリシーエディタを使用してポリシーを作成するには
  1. にサインイン AWS Management Console し、 でIAMコンソールを開きますhttps://console.aws.amazon.com/iam/

  2. 左側のナビゲーション列で、[ポリシー] を選択します。

    [Policies] (ポリシー) を初めて選択する場合は、[Welcome to Managed Policies] (マネージドポリシーにようこそ) ページが表示されます。[今すぐ始める] を選択します。

  3. ページの上部で、[ポリシーを作成] を選択します。

  4. JSON タブを選択します。

  5. JSON ポリシードキュメントを入力します。

    • Kinesis ストリームのサーバー側の暗号化にカスタマーマネージドKMSキーを使用している場合は、次のポリシードキュメントの例を使用します。このポリシーを使用するには、us-east-1, 123456789012, kinesis-stream-name および 1234abcd-12ab-34cd-56ef-1234567890ab 自分の情報を含む の例。

      { "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBStreamKinesisPermissions", "Action": [ "kinesis:PutRecord*", "kinesis:DescribeStream", "kinesis:ListShards" ], "Effect": "Allow", "Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/kinesis-stream-name" }, { "Sid": "QLDBStreamKMSPermission", "Action": [ "kms:GenerateDataKey" ], "Effect": "Allow", "Resource": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ] }
    • それ以外の場合は、以下のポリシードキュメントの例を使用します。このポリシーを使用するには、us-east-1, 123456789012 および kinesis-stream-name 自分の情報を含む の例。

      { "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBStreamKinesisPermissions", "Action": [ "kinesis:PutRecord*", "kinesis:DescribeStream", "kinesis:ListShards" ], "Effect": "Allow", "Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/kinesis-stream-name" } ] }
  6. [ポリシーの確認] を選択します。

    注記

    Visual エディタJSONタブはいつでも切り替えることができます。ただし、ビジュアルエディタタブでポリシーを変更またはレビューを選択すると、 IAMはポリシーを再構築してビジュアルエディタ用に最適化する場合があります。詳細については、IAM「 ユーザーガイド」の「ポリシーの再構築」を参照してください。

  7. [ポリシーの確認] ページに作成するポリシーの [名前] と [説明] を入力します。ポリシーの [Summary] (概要) を参照して、ポリシーによって付与された許可を確認します。次に、[Create policy] (ポリシーの作成) を選択して作業を保存します。

IAM ロールを作成する

QLDB ストリームのアクセス許可ポリシーを作成したら、IAMロールを作成してポリシーをアタッチできます。

( QLDBコンソール) IAMのサービスロールを作成するには
  1. にサインイン AWS Management Console し、 でIAMコンソールを開きますhttps://console.aws.amazon.com/iam/

  2. IAM コンソールのナビゲーションペインで、ロール を選択し、ロール の作成 を選択します。

  3. 信頼できるエンティティタイプ で、AWS のサービス を選択します。

  4. サービスまたはユースケース では、 を選択しQLDBQLDBユースケースを選択します。

  5. [Next (次へ)] を選択します。

  6. 前のステップで作成したポリシーの横にあるボックスをオンにします。

  7. (オプション) アクセス許可の境界を設定します。このアドバンスド機能は、サービスロールで使用できますが、サービスにリンクされたロールではありません。

    1. [アクセス許可の境界の設定] セクションを開き、[アクセス許可の境界を使用してロールのアクセス許可の上限を設定する] を選択します。

      IAM には、 アカウント内の AWS マネージドポリシーとカスタマーマネージドポリシーのリストが含まれています。

    2. アクセス許可の境界として使用するポリシーを選択します。

  8. [Next (次へ)] を選択します。

  9. このロールの目的を識別しやすいロール名またはロール名サフィックスを入力します。

    重要

    ロールに名前を付けるときは、次のことに注意してください。

    • ロール名は AWS アカウント内で一意である必要があります。大文字と小文字を区別することはできません。

      例えば、PRODROLEprodrole の両方の名前でロールを作成することはできません。ロール名がポリシーまたは の一部として使用される場合ARN、ロール名は大文字と小文字が区別されますが、サインインプロセス中など、コンソールでロール名がカスタマーに表示される場合、ロール名は大文字と小文字が区別されません。

    • 他のエンティティがロールを参照する可能性があるため、ロールを作成した後にロール名を編集することはできません。

  10. (オプション) [説明] にロールの説明を入力します。

  11. (オプション) ロールのユースケースとアクセス許可を編集するには、[ステップ 1: 信頼されたエンティティを選択] または [ステップ 2: アクセス権限を追加] のセクションで [編集] を選択します。

  12. (オプション) ロールの識別、整理、検索を簡単にするには、キーと値のペアとしてタグを追加します。でタグを使用する方法の詳細についてはIAM、 IAM ユーザーガイドAWS Identity and Access Management 「リソースのタグ」を参照してください。

  13. ロールを確認したら、[Create role] (ロールを作成) を選択します。

次のJSONドキュメントは、 QLDB が特定のアクセス許可がアタッチされたIAMロールを引き受けることができる信頼ポリシーの例です。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "qldb.amazonaws.com" }, "Action": [ "sts:AssumeRole" ], "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:qldb:us-east-1:123456789012:stream/myExampleLedger/*" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } ] }
注記

この信頼ポリシーの例では、aws:SourceArn および aws:SourceAccount グローバル条件コンテキストキーを使用して、混乱した代理問題を回避する方法を示します。この信頼ポリシーでは、 QLDBは台帳myExampleLedgerのみのアカウント内の任意のQLDBストリーム123456789012のロールを引き受けることができます。

詳細については、「サービス間の混乱した代理の防止」を参照してください。

IAM ロールを作成したら、 QLDB コンソールに戻り、新しいロールを見つけることができるように QLDBストリームの作成 ページを更新します。