翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 ポリシーエディタを使用してポリシーを作成するには
にサインイン AWS Management Console し、 でIAMコンソールを開きますhttps://console.aws.amazon.com/iam/
。 -
左側のナビゲーション列で、[ポリシー] を選択します。
[Policies] (ポリシー) を初めて選択する場合は、[Welcome to Managed Policies] (マネージドポリシーにようこそ) ページが表示されます。[今すぐ始める] を選択します。
-
ページの上部で、[ポリシーを作成] を選択します。
-
JSON タブを選択します。
-
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
" } ] }
-
-
[ポリシーの確認] を選択します。
注記
Visual エディタとJSONタブはいつでも切り替えることができます。ただし、ビジュアルエディタタブでポリシーを変更またはレビューを選択すると、 IAMはポリシーを再構築してビジュアルエディタ用に最適化する場合があります。詳細については、IAM「 ユーザーガイド」の「ポリシーの再構築」を参照してください。
-
[ポリシーの確認] ページに作成するポリシーの [名前] と [説明] を入力します。ポリシーの [Summary] (概要) を参照して、ポリシーによって付与された許可を確認します。次に、[Create policy] (ポリシーの作成) を選択して作業を保存します。
IAM ロールを作成する
QLDB ストリームのアクセス許可ポリシーを作成したら、IAMロールを作成してポリシーをアタッチできます。
( QLDBコンソール) IAMのサービスロールを作成するには
にサインイン AWS Management Console し、 でIAMコンソールを開きますhttps://console.aws.amazon.com/iam/
。 -
IAM コンソールのナビゲーションペインで、ロール を選択し、ロール の作成 を選択します。
-
信頼できるエンティティタイプ で、AWS のサービス を選択します。
-
サービスまたはユースケース では、 を選択しQLDB、QLDBユースケースを選択します。
-
[Next (次へ)] を選択します。
-
前のステップで作成したポリシーの横にあるボックスをオンにします。
-
(オプション) アクセス許可の境界を設定します。このアドバンスド機能は、サービスロールで使用できますが、サービスにリンクされたロールではありません。
-
[アクセス許可の境界の設定] セクションを開き、[アクセス許可の境界を使用してロールのアクセス許可の上限を設定する] を選択します。
IAM には、 アカウント内の AWS マネージドポリシーとカスタマーマネージドポリシーのリストが含まれています。
アクセス許可の境界として使用するポリシーを選択します。
-
-
[Next (次へ)] を選択します。
-
このロールの目的を識別しやすいロール名またはロール名サフィックスを入力します。
重要
ロールに名前を付けるときは、次のことに注意してください。
-
ロール名は AWS アカウント内で一意である必要があります。大文字と小文字を区別することはできません。
例えば、
PRODROLE
とprodrole
の両方の名前でロールを作成することはできません。ロール名がポリシーまたは の一部として使用される場合ARN、ロール名は大文字と小文字が区別されますが、サインインプロセス中など、コンソールでロール名がカスタマーに表示される場合、ロール名は大文字と小文字が区別されません。 -
他のエンティティがロールを参照する可能性があるため、ロールを作成した後にロール名を編集することはできません。
-
-
(オプション) [説明] にロールの説明を入力します。
-
(オプション) ロールのユースケースとアクセス許可を編集するには、[ステップ 1: 信頼されたエンティティを選択] または [ステップ 2: アクセス権限を追加] のセクションで [編集] を選択します。
-
(オプション) ロールの識別、整理、検索を簡単にするには、キーと値のペアとしてタグを追加します。でタグを使用する方法の詳細についてはIAM、 IAM ユーザーガイドのAWS Identity and Access Management 「リソースのタグ」を参照してください。
-
ロールを確認したら、[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ストリームの作成 ページを更新します。