翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
共有 VPC の VPC エンドポイントを使用して Amazon Keyspaces へのクロスアカウントアクセスを設定する
異なる を作成して AWS アカウント 、アプリケーションからリソースを分離できます。たとえば、Amazon Keyspaces テーブル用に 1 つのアカウントを作成し、開発環境のアプリケーション用に別のアカウントを作成し、本番環境のアプリケーション用に別のアカウントを作成するといったことができます。このトピックでは、共有 VPC のインターフェイス VPC エンドポイントを使用した Amazon Keyspaces のクロスアカウントアクセスを設定するために必要な設定手順を順を追って説明します。
Amazon Keyspaces の VPC エンドポイントを設定する方法の詳細な手順については、「ステップ 3: Amazon Keyspaces 用の VPC エンドポイントを作成する」を参照してください。
この例では、共有 VPC で次の 3 つのアカウントを使用します。
Account A:111111111111
— このアカウントには、VPC エンドポイント、VPC サブネット、Amazon Keyspaces テーブルなどのインフラストラクチャが含まれています。Account B:222222222222
— このアカウントには、Account A:111111111111
の Amazon Keyspaces テーブルに接続する必要がある開発環境のアプリケーションが含まれています。Account C:333333333333
— このアカウントには、Account A:111111111111
の Amazon Keyspaces テーブルに接続する必要がある本番環境のアプリケーションが含まれています。

Account A:111111111111
は、 Account B:222222222222
がアクセスAccount C:333333333333
する必要があるリソース (Amazon Keyspaces テーブル) を含むアカウントであり、 Account A:111111111111
は信頼するアカウントです。 Account B:222222222222
と Account C:333333333333
は、 のリソース (Amazon Keyspaces テーブル) にアクセスする必要があるプリンシパルを持つアカウントでありAccount A:111111111111
、 Account B:222222222222
と Account C:333333333333
は信頼されたアカウントです。信頼するアカウントは IAM ロールを共有して、信頼されたアカウントに権限を与えます。次の手順では、Account A:111111111111
に必要な設定ステップを簡単に説明します。
Account A:111111111111
の設定
AWS Resource Access Manager を使用してサブネットのリソース共有を作成し、プライベートサブネットを
Account B:222222222222
および と共有しますAccount C:333333333333
。Account B:222222222222
とAccount C:333333333333
は、共有されているサブネット内のリソースを表示し、作成できます。を使用した Amazon Keyspaces プライベート VPC エンドポイントを作成します AWS PrivateLink。これにより、Amazon Keyspaces サービスエンドポイントの共有サブネットと DNS エントリに複数のエンドポイントが作成されます。
Amazon Keyspaces キースペースとテーブルを作成します。
次のポリシー例に示すように、Amazon Keyspaces テーブルへの
Account A:111111111111
フルアクセス、Amazon Keyspaces システムテーブルへの読み取りアクセス、Amazon EC2 VPC リソースを記述できる IAM ロールを に作成します。{ "Version": "2012-10-17", "Statement": [ { "Sid": "CrossAccountAccess", "Effect": "Allow", "Action": [ "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcEndpoints", "cassandra:*" ], "Resource": "*" } ] }
Account B:222222222222
と が信頼されたアカウントとしてロールを引きAccount C:333333333333
受けるAccount A:111111111111
ことができるように、 で IAM ロールの信頼ポリシーを設定します。以下の例ではこれを示しています。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::222222222222:role/Cross-Account-Role-B", "arn:aws:iam::333333333333:role/Cross-Account-Role-C" ] }, "Action": "sts:AssumeRole", "Condition": {} } ] }
クロスアカウント IAM ポリシーの詳細については、『IAM ユーザーガイド』の「クロスアカウントポリシー」を参照してください。
Account B:222222222222
と Account C:333333333333
における設定
Account B:222222222222
とAccount C:333333333333
で新しいロールを作成し、Account A:111111111111
で作成した共有ロールをプリンシパルが引き受けることを許可する以下のポリシーをアタッチします。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
プリンシパルが共有ロールを引き受けることを許可するには、 AWS Security Token Service () の
AssumeRole
API を使用しますAWS STS。詳細については、「IAM ユーザーガイド」の「自分が所有 AWS アカウント している別の の IAM ユーザーへのアクセスを提供する」を参照してください。Account B:222222222222
とAccount C:333333333333
では、SIGV4 認証プラグインを利用するアプリケーションを作成できます。これにより、アプリケーションは共有ロールを引き受け、共有 VPC の VPC エンドポイントを介してAccount A:111111111111
にある Amazon Keyspaces テーブルに接続できます。SIGV4 認証プラグインの詳細については、「Amazon Keyspaces にプログラムによってアクセスするための認証情報を作成する 」を参照してください。別の AWS アカウントでロールを引き受けるようにアプリケーションを設定する方法の詳細については、 SDK およびツールリファレンスガイドの「認証とアクセス」を参照してください。 AWS SDKs