翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
名前付きリソース方式を使用したテーブル許可の付与
Lake Formation コンソールと AWS CLI を使用して、データカタログテーブルに対する Lake Formation 許可を付与することができます。個々のテーブルに対する許可を付与する、または 1 回の付与操作で、データベース内のすべてのテーブルに対する許可を付与することができます。
データベース内のすべてのテーブルに対する許可を付与すると、データベースに対する DESCRIBE
許可を黙示的に付与することになります。その後は、データベースがコンソールの [Databases] (データベース) ページに表示され、GetDatabases
API 操作によって返されます。
付与する許可として SELECT
を選択するときは、列フィルター、行フィルター、またはセルフィルターを適用するオプションがあります。
- Console
-
以下は、名前付きリソース方式と、Lake Formation コンソールの [データレイクのアクセス許可を付与] ページを使用して、テーブル許可を付与する方法を説明する手順です。このページは、これらのセクションに分けられています。
-
[Principals] (プリンシパル) – 許可の付与先となるユーザー、ロール、AWS アカウント、組織、または組織単位。
-
[LF-Tags or catalog resources] (LF タグまたはカタログリソース) – 付与される許可の対象となるデータベース、テーブル、またはリソースリンク。
-
[Permissions] (許可) – 付与される Lake Formation 許可。
注記
テーブルリソースリンクに対する許可を付与するには、「リソースリンク許可の付与」を参照してください。
[データレイクのアクセス許可を付与] ページを開きます。
AWS Lake Formation コンソール (https://console.aws.amazon.com/lakeformation/
) を開き、データレイク管理者、データベース作成者、またはデータベースに対する grant オプション付きの Lake Formation 許可を付与されたユーザーとしてサインインします。 次のいずれかを行います:
-
ナビゲーションペインの [許可] で [データレイクの許可] を選択します。次に、[Grant] (付与) を選択します。
-
ナビゲーションペインで [Table] (テーブル) を選択します。次に、[Tables] (テーブル) ページでテーブルを選択し、[Actions] (アクション) メニューの [Permissions] (許可) で [Grant] (付与) を選択します。
注記
テーブルに対する許可は、リソースリンクを使用して付与することができます。これを実行するには、[Tables] (テーブル) ページでリソースリンクを選択し、[Actions] (アクション) メニューで [Grant on target] (ターゲットに対して付与) を選択します。詳細については、「Lake Formation でのリソースリンクの仕組み」を参照してください。
-
-
次に、[プリンシパル] セクションでプリンシパルタイプを選択して、アクセス許可の付与先となるプリンシパルを指定します。
- IAM ユーザーとロール
-
[IAM users and roles] (IAM ユーザーおよびロール) リストから、1 人、または複数のユーザーまたはロールを選択します。
- IAM アイデンティティセンター
-
[ユーザーとグループ] リストから、1 人、または複数のユーザーまたはグループを選択します。
- SAML ユーザーとグループ
-
[SAML and Amazon QuickSight users and groups] (SAML および Amazon QuickSight のユーザーとグループ) の場合は、SAML 経由でフェデレートされたユーザーまたはグループに 1 つ、または複数の Amazon リソースネーム (ARN) を入力するか、Amazon QuickSight のユーザーまたはグループに ARN を入力します。各 ARN の後で Enter キーを押します。
ARN の構築方法については、「Lake Formation の付与コマンドと取り消し AWS CLI コマンド」を参照してください。
注記
Lake Formation の Amazon QuickSight との統合がサポートされるのは、Amazon QuickSight Enterprise Edition のみです。
- 外部アカウント
-
AWS アカウント、AWS 組織、または [IAM プリンシパル] には、IAM ユーザーまたはロールの 1 つ以上の有効な AWS アカウント ID、組織 ID、組織単位 ID、または ARN を入力します。各 ID の後で [Enter] キーを押します。
組織 ID は、最初の「o-」と、その後に続く 10~32 個の小文字または数字で構成されています。
組織単位 ID は「ou-」で始まり、その後に 4~32 個の小文字または数字 (OU が含まれるルートの ID) が続きます。この文字列の後には、2 番目の「-」文字と 8~32 個の追加の小文字または数字が続きます。
-
[LF-Tags or catalog resources] (LF タグまたはカタログリソース) セクションで、データベースを選択します。次に、1 つ、または複数のテーブルを選択するか、[All tables] (すべてのテーブル) を選択します。
-
データフィルタリングを使用せずに許可を指定する
[許可] セクションで、付与するテーブル許可を選択し、オプションで付与可能な許可を選択します。
[Select] (選択) を付与する場合は、[Table and column permissions] (テーブルと列の許可) セクションの下に、[All data access] (すべてのデータアクセス) オプションがデフォルトで選択された [Data permissions] (データの許可) セクションが表示されます。デフォルトを受け入れます。
-
[Grant] (付与) を選択します。
-
データフィルタリングを使用して選択許可を指定する
[Select] (選択) 許可を選択します。他の許可は選択しないでください。
[Data permissions] (データの許可) セクションが、[Table and column permissions] (テーブルと列の許可) セクションの下に表示されます。
-
以下のいずれかを実行します。
-
シンプルな列フィルタリングのみを適用します。
-
[Simple column-based access] (シンプルな列ベースのアクセス) を選択します。
-
列を含めるか除外するかを選択してから、含める、または除外する列を選択します。
外部の AWS アカウントまたは組織に許可を付与する場合は、含めるリストのみがサポートされます。
-
(オプション) [Grantable permissions] (付与可能な許可) で、[Select] (選択) に対して grant オプションをオンにします。
Grant オプションを含めると、付与対象者は、ユーザーが付与対象者に付与する列に対する許可のみを付与できます。
注記
また、列フィルターは、列フィルターを指定し、すべての行を行フィルターとして指定するデータフィルターを作成することによってのみ、適用できます。ただし、これには追加の手順が必要になります。
-
-
列、行、またはセルのフィルタリングを適用します。
-
[Advanced cell-level filters] (高度なセルレベルのフィルター) を選択します。
-
(オプション) [View existing permissions] (既存の許可を表示) を展開します。
-
(オプション) [Create new filter] (新しいフィルターを作成) を選択します。
-
(オプション) リストされたフィルターの詳細を表示する、または新しいフィルターの作成や既存のフィルターの削除を実行するには、[Manage filters] (フィルターを管理) を選択します。
[Data filters] (データフィルター) ページは、新しいブラウザで開きます。
[Data filters] (データフィルター) ページでの作業を終えたら、[Grant permissions] (許可の付与) ページに戻り、必要に応じてページを更新して、作成した新しいデータフィルターを表示します。
-
この付与に適用する 1 つ、または複数のデータフィルターを選択します。
注記
リストにデータフィルターがない場合は、選択したテーブルに対してデータフィルターが作成されていないことを意味します。
-
-
-
[Grant] (付与) を選択します。
-
- AWS CLI
-
テーブル許可は、名前付きリソース方式と AWS Command Line Interface (AWS CLI) を使用して付与することができます。
AWS CLI を使用してテーブル許可を付与する
-
grant-permissions
コマンドを実行し、リソースとしてテーブルを指定します。
例 – 単一のテーブルに対する付与 – フィルタリングなし
以下の例は、データベース
retail
のテーブルinventory
に対するSELECT
およびALTER
を、AWS アカウント 1111-2222-3333 のユーザーdatalake_user1
に付与します。aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" "ALTER" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'
注記
登録されたロケーションに基盤となるデータを持つテーブルに対する
ALTER
許可を付与する場合は、そのロケーションに対するデータロケーション許可もプリンシパルに付与するようにしてください。詳細については、「データロケーション許可の付与」を参照してください。例 – 付与オプションを使用したすべてのテーブルに対する付与 – フィルタリングなし
次の例は、データベース
retail
内のすべてのテーブルに対する grant オプション付きのSELECT
を付与します。aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --permissions-with-grant-option "SELECT" --resource '{ "Table": { "DatabaseName": "retail", "TableWildcard": {} } }'
例 – シンプルな列フィルタリングを使用する付与
次の例は、表
persons
内の列のサブセットに対するSELECT
を付与します。これは、シンプルな列フィルタリングを使用します。aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --resource '{ "TableWithColumns": {"DatabaseName":"hr", "Name":"persons", "ColumnNames":["family_name", "given_name", "gender"]}}'
例 – データフィルターを適用する付与
この例は、
orders
テーブルに対するSELECT
を付与し、restrict-pharma
データフィルターを適用します。aws lakeformation grant-permissions --cli-input-json file://grant-params.json
以下は、ファイル
grant-params.json
の内容です。{ "Principal": {"DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1"}, "Resource": { "DataCellsFilter": { "TableCatalogId": "111122223333", "DatabaseName": "sales", "TableName": "orders", "Name": "restrict-pharma" } }, "Permissions": ["SELECT"], "PermissionsWithGrantOption": ["SELECT"] }
-