QLDB のジャーナルエクスポート権限 - Amazon Quantum Ledger Database (Amazon QLDB)

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

QLDB のジャーナルエクスポート権限

Amazon QLDB でジャーナルエクスポートリクエストを送信する前に、指定した Amazon S3 バケットへの書き込みアクセス許可を QLDB に付与する必要があります。Amazon S3 バケットのカスタマーマネージド AWS KMS key をエクスポートジョブのオブジェクト暗号化タイプに選択する場合は、指定した対称暗号化キーを使用するためのアクセス許可を QLDB に付与する必要もあります。Simple Storage Service (Amazon S3) は非対称 KMS キーをサポートしていません。

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

注記

ジャーナルエクスポートをリクエストするときに QLDB にロールを渡すには、IAM ロールリソースで iam:PassRole アクションを実行するためのアクセス許可が必要です。これは、QLDB 台帳リソースへの qldb:ExportJournalToS3 アクセス許可に追加されるものです。

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

この例では、お客様に代わって Simple Storage Service (Amazon S3) バケットにオブジェクトを書き込むことを QLDB に許可するロールを作成します。詳細については、「IAM ユーザーガイド」の「AWS のサービスに権限を委任するロールの作成」を参照してください。

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

許可ポリシーを作成する

以下のステップを完了して、QLDB ジャーナルエクスポートジョブに対するアクセス許可ポリシーを作成します。この例で示しているのは、指定したバケットにオブジェクトを書き込むためのアクセス許可を QLDB に付与する Simple Storage Service (Amazon S3) バケットポリシーです。該当する場合、QLDB に対称暗号化 KMS キーの使用を許可するキーポリシーも示しています。

Simple Storage Service (Amazon S3) バケットポリシーの詳細については、「Amazon Simple Storage Service ユーザーガイド」の「バケットポリシーとユーザーポリシーの使用」を参照してください。 AWS KMS キーポリシーの詳細については、「AWS Key Management Service デベロッパーガイド」の「AWS KMSでキーポリシーを使用する」を参照してください。

注記

Amazon S3 バケットと KMS キーは、QLDB 台帳 AWS リージョン と同じ に存在する必要があります。

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

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

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

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

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

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

    • Simple Storage Service (Amazon S3) オブジェクトの暗号化にカスタマーマネージド KMS キーを使用する場合は、以下のポリシードキュメントの例を使用します。このポリシーを使用するには、この例の DOC-EXAMPLE-BUCKETus-east-11234567890121234abcd-12ab-34cd-56ef-1234567890ab を自分の情報と置き換えます。

      { "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBJournalExportS3Permission", "Action": [ "s3:PutObjectAcl", "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" }, { "Sid": "QLDBJournalExportKMSPermission", "Action": [ "kms:GenerateDataKey" ], "Effect": "Allow", "Resource": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ] }
    • 他の暗号化タイプの場合は、以下のポリシードキュメントの例を使用します。このポリシーを使用するには、以下の例の DOC-EXAMPLE-BUCKET を自分の Simple Storage Service (Amazon S3) バケット名と置き換えます。

      { "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBJournalExportS3Permission", "Action": [ "s3:PutObjectAcl", "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" } ] }
  6. [ポリシーの確認] を選択します。

    注記

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

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

IAM ロールを作成する

QLDB ジャーナルエクスポートジョブのアクセス許可ポリシーを作成したら、次に IAM ロールを作成し、それにポリシーをアタッチできます。

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

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

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

  4. [サービス] または [ユースケース][QLDB] を選択し、次に [QLDB] ユースケースを選択します。

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

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

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

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

      IAM には、アカウントの AWS 管理ポリシーとカスタマー管理ポリシーのリストが含まれます。

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

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

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

    重要

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

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

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

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

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

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

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

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

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

{ "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:*" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } ] }
注記

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

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

IAM ロールを作成した後、QLDB コンソールに戻り、[Create export job] (エクスポートジョブの作成) ページを更新すると、新しいロールが見つかります。