Amazon Redshift データ共有に対するアクセス許可の設定 - AWS Lake Formation

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

Amazon Redshift データ共有に対するアクセス許可の設定

このトピックでは、データ共有への招待を承諾し、フェデレーションデータベースを作成し、アクセス許可を付与するために必要なステップについて説明します。Lake Formation コンソールまたは AWS Command Line Interface (AWS CLI) を使用できます。このトピックの例では、同じアカウントのプロデューサークラスター、データカタログ、およびデータコンシューマーを示しています。

Lake Formation のクロスアカウント機能の詳細については、「Lake Formation でのクロスアカウントデータ共有」を参照してください。

データ共有にアクセス許可を設定するには
  1. データ共有への招待を確認して承諾します。

    Console
    1. でデータレイク管理者として Lake Formation コンソールにサインインしますhttps://console.aws.amazon.com/lakeformation/[Data sharing] (データ共有) ページに移動します。

    2. アクセスが許可されているデータ共有を確認します。[Status] (ステータス) 列は、データ共有の現在の参加ステータスを示します。[Pending] (保留中) ステータスは、ユーザーがデータ共有に追加されたが、招待を承諾または拒否していないことを示します。

    3. データ共有の招待に応答するには、データ共有名を選択し、招待の確認 を選択します。データ共有の承諾または拒否 で、招待の詳細を確認します。[Accept] (承諾) を選択して招待を承諾するか、[Reject] (拒否) を選択して招待を却下します。招待を拒否すると、データ共有にアクセスできなくなります。

    AWS CLI

    以下の例では、招待を表示、承諾、登録する方法を示します。 AWS アカウント ID を有効な AWS アカウント ID に置き換えます。data-share-arn を、データ共有を参照する実際の Amazon リソースネーム (ARN) に置き換えます。

    1. 保留中の招待を表示します。

      aws redshift describe-data-shares \ --data-share-arn 'arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds' \
    2. データ共有の承諾

      aws redshift associate-data-share-consumer \ --data-share-arn 'arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds' \ --consumer-arn 'arn:aws:glue:us-east-1:111122223333:catalog
    3. Lake Formation アカウントにデータ共有を登録します。RegisterResource API オペレーションを使用して、データ共有を Lake Formation に登録します。 DataShareArnは の入力パラメータですResourceArn

      注記

      これは必須の手順です。

      aws lakeformation register-resource \ --resource-arn 'arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds'
  2. データベースを作成します。

    データ共有の招待を承諾したら、データ共有に関連付けられた Amazon Redshift データベースを指すデータベースを作成する必要があります。データベースを作成するには、データレイク管理者である必要があります。

    Console
    1. [Invitations] (招待) ペインからデータ共有を選択し、[Set database details] (データベース詳細の設定) を選択します。

    2. [Set database details] (データベース詳細の設定) に、データ共有の固有の名前と ID を入力します。この識別子を使用して、メタデータ階層 (dbName.schema.table) 内のデータ共有を内部的にマッピングします。

    3. 共有データベースとテーブルに対するアクセス許可を他のユーザーに付与するには、[Next] (次へ) を選択します。

    AWS CLI

    次のサンプルコードを使用して、 を使用して Lake Formation と共有されている Amazon Redshift データベースを指すデータベースを作成します AWS CLI。

    aws glue create-database --cli-input-json \ '{ "CatalogId": "111122223333", "DatabaseInput": { "Name": "tahoedb", "FederatedDatabase": { "Identifier": "arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds", "ConnectionName": "aws:redshift" } } }'
  3. アクセス許可を付与します。

    データベースを作成したら、アカウントのユーザー、または外部 AWS アカウント と組織に許可を付与できます。Amazon Redshift データ共有にマッピングされているフェデレーティッドデータベースに対して、書き込みデータアクセス許可 (挿入、削除) とメタデータアクセス許可 (変更、削除、作成) を付与することはできません。許可の付与の詳細については、「Lake Formation 許可の管理」を参照してください。

    注記

    データレイク管理者は、フェデレーティッドデータベースのテーブルのみを表示できます。その他のアクションを実行するには、これらのテーブルに対するアクセス許可をさらに付与する必要があります。

    Console
    1. [Grant permissions] (アクセス許可の付与) 画面で、アクセス許可を付与するユーザーを選択します。

    2. [Grant] (付与) を選択します。

    AWS CLI

    以下の例を使用して、データベースとテーブルのアクセス許可を AWS CLIで付与します。

    aws lakeformation grant-permissions --input-cli-json file://input.json { "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/non-admin" }, "Resource": { "Database": { "CatalogId": "111122223333", "Name": "tahoedb" } }, "Permissions": [ "DESCRIBE" ], "PermissionsWithGrantOption": [ ] }
    aws lakeformation grant-permissions --input-cli-json file://input.json { "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/non-admin" }, "Resource": { "Table": { "CatalogId": "111122223333", "DatabaseName": "tahoedb", "Name": "public.customer" } }, "Permissions": [ "SELECT" ], "PermissionsWithGrantOption": [ "SELECT" ] }