共有のVPCエンドポイントを使用して Amazon Keyspaces へのクロスアカウントアクセスを設定する VPC - Amazon Keyspaces (Apache Cassandra 向け)

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

共有のVPCエンドポイントを使用して Amazon Keyspaces へのクロスアカウントアクセスを設定する VPC

異なる を作成できます。 AWS アカウント は、リソースをアプリケーションから分離します。たとえば、Amazon Keyspaces テーブル用に 1 つのアカウントを作成し、開発環境のアプリケーション用に別のアカウントを作成し、本番環境のアプリケーション用に別のアカウントを作成するといったことができます。このトピックでは、共有 のインターフェイスVPCエンドポイントを使用して Amazon Keyspaces のクロスアカウントアクセスを設定するために必要な設定手順について説明しますVPC。

Amazon Keyspaces のVPCエンドポイントを設定する詳細な手順については、「」を参照してくださいステップ 3: Amazon Keyspaces のVPCエンドポイントを作成する

この例では、共有 で次の 3 つのアカウントを使用しますVPC。

  • Account A – このアカウントには、VPCエンドポイント、VPCサブネット、Amazon Keyspaces テーブルなどのインフラストラクチャが含まれています。

  • Account B — このアカウントには、Account A の Amazon Keyspaces テーブルに接続する必要がある開発環境のアプリケーションが含まれています。

  • Account C — このアカウントには、Account A の Amazon Keyspaces テーブルに接続する必要がある本番環境のアプリケーションが含まれています。

同じ 内の同じ組織が所有する 内の 3 つの異なるアカウントを示す図 AWS リージョン 共有 を使用する VPC。

Account AAccount BAccount C がアクセスする必要のあるリソースがあるアカウントなので、Account A信頼するアカウントです。 Account BAccount C は、Account A 内のリソースにアクセスする必要のあるプリンシパルを持つアカウントなので、 Account BAccount C は、信頼されるアカウントです。信頼するアカウントは、 IAMロールを共有することで、信頼されたアカウントに アクセス許可を付与します。次の手順では、Account A に必要な設定ステップを簡単に説明します。

Account A の設定
  1. 使用アイテム AWS Resource Access Manager は、サブネットのリソース共有を作成し、プライベートサブネットを Account Bおよび と共有しますAccount C

    Account BAccount C は、共有されているサブネット内のリソースを表示し、作成できます。

  2. を使用した Amazon Keyspaces プライベートVPCエンドポイントの作成 AWS PrivateLink。 これにより、Amazon Keyspaces サービスエンドポイントの共有サブネットとDNSエントリに複数のエンドポイントが作成されます。

  3. Amazon Keyspaces キースペースとテーブルを作成します。

  4. 次のポリシー例に示すように、Amazon Keyspaces テーブルへのフルアクセス、Amazon Keyspaces システムテーブルへの読み取りアクセス、Amazon EC2VPCリソースを記述できる IAMロールを作成します。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "CrossAccountAccess", "Effect": "Allow", "Action": [ "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcEndpoints", "cassandra:*" ], "Resource": "*" } ] }
  5. 次の例に示すように、 Account Bと が信頼されたアカウントとして引き受けAccount CることができるIAMロール信頼ポリシーを設定します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111111111111:root" }, "Action": "sts:AssumeRole", "Condition": {} } ] }

    クロスアカウントIAMポリシーの詳細については、「 ユーザーガイド」の「クロスアカウントポリシーIAM」を参照してください。

Account BAccount C における設定
  1. Account BAccount C で新しいロールを作成し、Account A で作成した共有ロールをプリンシパルが引き受けることを許可する以下のポリシーをアタッチします。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

    プリンシパルが共有ロールを引き受けることを許可するには、 AssumeRoleAPIの を使用します。 AWS Security Token Service (AWS STS)。 詳細については、「別の のIAMユーザーにアクセス権を付与する」を参照してください。 AWS アカウント ユーザーガイドで所有している IAM 。

  2. Account B および ではAccount C、SIGV4認証プラグインを利用するアプリケーションを作成できます。これにより、アプリケーションは共有ロールを引き受け、共有 のVPCエンドポイントAccount Aを介して にある Amazon Keyspaces テーブルに接続できますVPC。SIGV4 認証プラグインの詳細については、「」を参照してくださいAmazon Keyspaces へのプログラムによるアクセス用の認証情報を作成する