Amazon Redshift で他の AWS アカウントからのデータ共有を関連付ける
Amazon Redshift では、他の AWS アカウント アカウントから共有されたデータ共有を関連付けて、組織の垣根を越えてシームレスかつ安全にデータを共有できます。データ共有は、1 つ以上の Amazon Redshift データベースからのデータをカプセル化する共有可能なデータベースオブジェクトです。以下のセクションでは、データ共有を関連付ける手順を説明します。
- Console
-
コンシューマー管理者は、他のアカウントから共有された 1 つまたは複数のデータ共有を、AWSアカウント全体、またはアカウント内の特定の名前空間に関連付けることができます。
AWS Management Consoleにサインインして、https://console.aws.amazon.com/redshiftv2/
で Amazon Redshift コンソールを開きます。 -
ナビゲーションメニューで [Datashares] (データ共有) を選択します。データ共有リストページが表示されます。[From other accounts (その他のアカウント)] を選択します。
-
[Datashares from other accounts] (他のアカウントからのデータ共有) セクションで、関連付けを行うデータ共有を選択し、[Associate] (関連付け) をクリックします。データ共有の [関連付け] ページが表示されたら、以下の関連付けタイプのいずれかを選択します。
-
AWS アカウント内の異なる AWS リージョンをまたいで、既存および将来のすべての名前空間をデータ共有に関連付けるには、[AWS アカウント全体] を選択します。
-
データ共有が AWS Glue Data Catalog に公開されている場合、データ共有を AWS アカウント全体に関連付けることしかできません。
-
-
ここから [許可されているアクセス許可] を選択できます。選択肢として、次のものがあります。
-
読み取り専用 — 読み取り専用を選択した場合、UPDATE や INSERT などの書き込みアクセス許可は、プロデューサー側で付与および承認されていたとしても、コンシューマーでは使用できません。
-
読み取りと書き込み — コンシューマーデータ共有ユーザーは、プロデューサーによって付与および承認されたすべてのアクセス許可 (読み取りと書き込みの両方) を持ちます。
-
-
または、1 つまたは複数の AWS リージョンと特定の名前空間をデータ共有と関連付ける場合は、[特定の AWS リージョンと名前空間] を選択します。[リージョンを追加] を選択して、特定の AWS リージョンと名前空間をデータ共有に追加します。[Add AWS Region] (Amazon リージョンの追加) ページが表示されます。
-
[AWS Region] (Amazon リージョン) をクリックします。
-
次のいずれかを行います。
-
このリージョン内の既存および将来のすべての名前空間をデータ共有に追加するには、[すべての名前空間を追加] を選択します。
-
このリージョンにある 1 つ以上の特定の名前空間をデータ共有に追加するには、[特定の名前空間を追加] を選択します。
-
1 つまたは複数の名前空間を選択し、[AWS リージョンを追加] を選択します。
-
-
[関連付ける] を選択してください。
プロデューサーが戻って承認の設定を変更することができますが、この場合、コンシューマーの関連付け設定に影響する可能性があります。
データ共有を Lake Formation アカウントに関連付ける場合は、Lake Formation コンソールに移動してデータベースを作成し、データベースに対するアクセス許可を定義します。詳細については、AWS Lake Formation デベロッパーガイドの「Amazon Redshift データ共有に対するアクセス許可の設定」を参照してください。AWS Glue データベースまたはフェデレーションデータベースを作成したら、クエリエディタ v2 または任意の優先 SQL クライアントをコンシューマークラスターで使用して、データをクエリできます。
データ共有の関連付けが完了すると、データを共有することが可能になります。
注記
データ共有の関連付けはいつでも変更できます。関連付け先を AWS リージョンや名前空間から AWS アカウント全体に変更すると、Amazon Redshift が特定のリージョンおよび名前空間に関する情報を AWS アカウントの情報で上書きします。AWS アカウント にあるすべての AWS リージョンと名前空間が、データ共有にアクセスできるようになります。
- API
-
注記
このセクションの手順は、プロデューサー管理者が共有データベースオブジェクトに対して特定のアクションを許可した後、およびデータ共有が別のアカウントと共有されている場合は、プロデューサーのセキュリティ管理者がアクセスを承認した後で実行されます。
コンシューマーセキュリティ管理者は以下を決定します。
-
アカウント内のすべての名前空間、アカウント内の特定の地域の名前空間、または特定の名前空間がデータ共有にアクセスできるかどうか。
-
名前空間にデータ共有へのアクセス権がある場合、それらの名前空間に書き込みのアクセス許可があるかどうか。
コンシューマーのセキュリティ管理者は、データ共有を次のコマンドに関連付けることができます。
associate-data-share-consumer --data-share-arn <value> --consumer-identifier <value> [--allow-writes | --no-allow-writes]
コマンドの詳細については、「associate-data-share-consumer」を参照してください。
コンシューマーセキュリティ管理者は、データ共有を名前空間に関連付けるときに明示的に
allow-writes
を true に設定して、INSERT コマンドと UPDATE コマンドを使用可能にする必要があります。設定しない場合、ユーザーは SELECT、USAGE、EXECUTE などの読み取り操作しか実行できません。データ共有の名前空間の関連付けを変更するには、別の値を指定して再度
associate-data-share-consumer
を呼び出します。以前の関連付けは新しい関連付けで上書きされるため、最初にallow-writes
の関連付けと設定したものの、no-allow-writes
の関連付けと指定を行っていた場合や、単に値を指定しなかった場合は、コンシューマーの書き込みのアクセス許可は取り消されます。 -