

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

# 名前付きリソース方式を使用したテーブル許可の付与
<a name="granting-table-permissions"></a>

Lake Formation コンソールまたは を使用して AWS CLI 、データカタログテーブルに対する Lake Formation アクセス許可を付与できます。個々のテーブルに対する許可を付与する、または 1 回の付与操作で、データベース内のすべてのテーブルに対する許可を付与することができます。

データベース内のすべてのテーブルに対する許可を付与すると、データベースに対する `DESCRIBE` 許可を黙示的に付与することになります。その後は、データベースがコンソールの **[Databases]** (データベース) ページに表示され、`GetDatabases` API 操作によって返されます。この `DESCRIBE` アクセス許可の自動付与は、属性ベースのアクセス制御 (ABAC) を使用する場合には適用されません。属性を使用してデータベース内のすべてのテーブルにアクセス許可を付与する場合、Lake Formation はデータベースに `DESCRIBE` アクセス許可を暗黙的に付与しません。

付与する許可として `SELECT` を選択するときは、列フィルター、行フィルター、またはセルフィルターを適用するオプションがあります。

------
#### [ Console ]

以下は、名前付きリソース方式と、Lake Formation コンソールの **[データレイクのアクセス許可を付与]** ページを使用して、テーブル許可を付与する方法を説明する手順です。このページは、これらのセクションに分けられています。
+  **プリンシパルタイプ** – アクセス許可の付与先となるユーザー、ロール、 AWS アカウント、組織、または組織単位。一致する属性を持つプリンシパルにアクセス許可を付与することもできます。
+  **[LF-Tags or catalog resources]** (LF タグまたはカタログリソース) – 付与する許可の対象となるデータベース、テーブル、またはリソースリンク。
+  **[Permissions]** (許可) – 付与される Lake Formation 許可。

**注記**  
テーブルリソースリンクに対する許可を付与するには、「[リソースリンク許可の付与](granting-link-permissions.md)」を参照してください。

1. 「アクセス許可の付与」ページを開きます。

   [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/) で AWS Lake Formation コンソールを開き、データレイク管理者、テーブル作成者、またはテーブルに対するアクセス許可が付与されたユーザーとして、グラントオプションを使用してサインインします。

   次のいずれかを行います。
   + ナビゲーションペインの **[アクセス許可]** で **[データの許可]** を選択します。次に、**[Grant]** (付与) を選択します。
   + ナビゲーションペインで **[Table]** (テーブル) を選択します。次に、**[Tables]** (テーブル) ページでテーブルを選択し、**[Actions]** (アクション) メニューの **[Permissions]** (許可) で **[Grant]** (付与) を選択します。
**注記**  
テーブルに対する許可は、リソースリンクを使用して付与することができます。これを実行するには、**[Tables]** (テーブル) ページでリソースリンクを選択し、**[Actions]** (アクション) メニューで **[Grant on target]** (ターゲットに対して付与) を選択します。詳細については、「[Lake Formation でのリソースリンクの仕組み](resource-links-about.md)」を参照してください。

1. 次に、**[プリンシパル]** セクションで、プリンシパルまたは一致する属性を持つプリンシパルを指定して、アクセス許可を付与します。  
**IAM ユーザーとロール**  
**[IAM users and roles]** (IAM ユーザーおよびロール) リストから、1 人、または複数のユーザーまたはロールを選択します。  
**IAM アイデンティティセンター**  
**[ユーザーとグループ]** リストから、1 人、または複数のユーザーまたはグループを選択します。  
**SAML ユーザーとグループ**  
**SAML およびクイックユーザーおよびグループ**の場合は、SAML を介してフェデレーションされたユーザーまたはグループの 1 つ以上の Amazon リソースネーム (ARNs)、またはクイックユーザーまたはグループの ARNs を入力します。各 ARN の後で Enter キーを押します。  
ARN の構築方法については、「[Lake Formation の許可と取り消し AWS CLI コマンド](lf-permissions-reference.md#perm-command-format)」を参照してください。  
Lake Formation と Quick の統合は、Quick Enterprise Edition でのみサポートされています。  
**外部アカウント**  
**AWS アカウント 、 AWS 組織**、または **IAM プリンシパル**には、IAM ユーザーまたはロールの 1 つ以上の AWS アカウント IDs、組織 IDs、組織単位 IDs、または ARN を入力します。各 ID の後で **[Enter]** キーを押します。  
組織 ID は、最初の「o-」と、その後に続く 10～32 個の小文字または数字で構成されています。  
組織単位 ID は「ou-」で始まり、その後に 4～32 個の小文字または数字 (OU が含まれるルートの ID) が続きます。この文字列の後には、2 番目の「-」文字と 8～32 個の追加の小文字または数字が続きます。  
属性別のプリンシパル  
属性のキーと値を指定します。複数の値を選択する場合は、OR 演算子で属性式を作成することになります。つまり、IAM ロールまたはユーザーに割り当てられた属性タグ値のいずれかが一致した場合、ロール/ユーザーはリソースに対するアクセス許可を取得します。  
 同じアカウントまたは別のアカウントで一致する属性を持つプリンシパルにアクセス許可を付与するかどうかを指定して、アクセス許可の範囲を選択します。

1. **[LF-Tags or catalog resources]** (LF タグまたはカタログリソース) セクションで、データベースを選択します。次に、1 つ、または複数のテーブルを選択するか、**[All tables]** (すべてのテーブル) を選択します。  
![\[[LF-Tags or catalog resources] (LF タグまたはカタログリソース) セクションには、水平に配置された 2 つのタイルがあり、各タイルにはオプションボタンと説明テキストが含まれています。オプションは、[LF タグに一致するリソース] と [名前付きの Data Catalog リソース] です。名前付き Data Catalog リソースが選択されています。タイルの下には、[Database] (データベース) と [Table] (テーブル) の 2 つのドロップダウンリストがあります。[Database] (データベース) ドロップダウンリストには、その下に選択したデータベース名が含まれるタイルがあります。[Table] (テーブル) ドロップダウンリストには、その下に選択したテーブル名が含まれるタイルがあります。\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/grant-target-resources-tables-section-2.png)

1. 

**データフィルタリングを使用せずにアクセス許可を指定します。**

   **[許可]** セクションで、付与するテーブル許可を選択し、オプションで付与可能な許可を選択します。  
![\[[Table and column permissions] (テーブルと列の許可) セクションには、[Table permissions] (テーブルの許可) と [Grantable permissions] (付与可能な許可) の 2 つのサブセクションがあります。各サブセクションには、[Alter] (変更)、[Insert] (挿入)、[Drop] (ドロップ)、[Delete] (削除)、[Select] (選択)、[Describe] (記述)、および [Super] (スーパー) の可能な Lake Formation 許可ごとのチェックボックスがあります。[Super] (スーパー) 許可は他の許可の右側に設置されており、「This permission allows the principal to grant any of the permissions to the left, and supersedes those grantable permissions」(この許可は、プリンシパルが左側にあるどの許可でも付与できるようにし、これらの付与可能な許可に優先します」という説明があります。\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/grant-table-permissions-section-no-filter.png)

   **[選択]** を付与する場合は、**[テーブルと列のアクセス許可]** セクションの下に、**[すべてのデータアクセス]** オプションがデフォルトで選択された **[データの許可]** セクションが表示されます。デフォルトを受け入れます。  
![\[このセクションには水平に配置された 3 つのタイルがあり、それぞれにオプションボタンと説明があります。オプションボタンは、[All data access] (すべてのデータアクセス) (選択済み)、[Simple column-based access] (シンプルな列ベースのアクセス)、および [Advanced cell-level filters] (高度なセルレベルのフィルター) です。\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/grant-select-all-data-access.png)

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

1. 

**データフィルタリングを使用して**選択**許可を指定する**

   **[Select]** (選択) 許可を選択します。他の許可は選択しないでください。

   **[Data permissions]** (データの許可) セクションが、**[Table and column permissions]** (テーブルと列の許可) セクションの下に表示されます。

1. 以下のいずれかを実行します。
   + シンプルな列フィルタリングのみを適用します。

     1. **[Simple column-based access]** (シンプルな列ベースのアクセス) を選択します。  
![\[最上部のセクションは、[Table and column permissions] (テーブルと列の許可) セクションです。これは、前述のスクリーンショットで説明されています。これには、テーブル許可と付与可能な許可のチェックボックスが含まれています。最下部のセクションである [Data permission] (データ許可) には 3 つのタイルが水平に配置されており、各タイルにはオプションボタンと説明があります。オプションは、[All data access] (すべてのデータアクセス)、[Simple column-based access] (シンプルな列ベースのアクセス)、および [Advanced cell-level filters] (高度なセルレベルのフィルター) です。[Simple column-based access] (シンプルな列ベースのアクセス) オプションが選択されています。タイルの下には、[Choose permission filter] (許可フィルターの選択) というラベルが付いたオプションボタングループがあります。オプションには、[列を含める] と [列を除外する] があります。オプショングループの下には [Select columns] (列の選択) ドロップダウンリストがあり、その下には、[Select] (選択) というラベルが付いた単一のチェックボックスがあります。\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/grant-table-permissions-section-column-filter.png)

     1. 列を含めるか除外するかを選択してから、含める、または除外する列を選択します。

        外部 AWS アカウントまたは組織に許可を付与する場合、インクルードリストのみがサポートされます。

     1. (オプション) **[Grantable permissions]** (付与可能な許可) で、[Select] (選択) に対して grant オプションをオンにします。

         Grant オプションを含めると、付与対象者は、ユーザーが付与対象者に付与する列に対する許可のみを付与できます。
**注記**  
また、列フィルターは、列フィルターを指定し、すべての行を行フィルターとして指定するデータフィルターを作成することによってのみ、適用できます。ただし、これには追加の手順が必要になります。
   + 列、行、またはセルのフィルタリングを適用します。

     1. **[Advanced cell-level filters]** (高度なセルレベルのフィルター) を選択します。  
![\[[Data permissions] (データの許可) というタイトルのこのセクションは、[Table permissions] (テーブルの許可) セクションの下にあります。これには水平に配置された 3 つのタイルがあり、各タイルにオプションボタンと説明があります。オプションは、[All data access] (すべてのデータアクセス)、[Simple column-based access] (シンプルな列ベースのアクセス)、および [Advanced cell-level filters] (高度なセルレベルのフィルター) です。[Advanced cell-level filters] (高度なセルレベルのフィルター) オプションが選択されています。そのタイルの下には [View existing permissions] (既存の許可を表示) というラベルがあり、左側に一覧表示用の三角形があります。既存の許可は一覧表示されていません。その下には、[Data filters to grant] (付与するデータフィルター) というタイトルのセクションがあります。タイトルの右側には、更新、[Manage filters] (フィルターを管理)、および [Create new filter] (新しいフィルターを作成) の 3 つのボタンがあります。タイトルとボタンの下には、プレースホルダテキストである「Find filter」(フィルターを検索) が表示されたテキストフィールドがあります。その下には、既存のフィルターの表があります。各行の左側にチェックボックスがあります。列の見出しは、[Filter name] (フィルター名)、[Table] (テーブル)、[Database] (データベース)、および [Table catalog ID] (テーブルカタログ ID) です。2 つの行があります。最初の行のフィルター名は restrict-pharma です。2 行目の名前は no-pharma です。\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/grant-table-permissions-section-cell-filter.png)

     1. (オプション) **[View existing permissions]** (既存の許可を表示) を展開します。

     1. (オプション) **[Create new filter]** (新しいフィルターを作成) を選択します。

     1. (オプション) リストされたフィルターの詳細を表示する、または新しいフィルターの作成や既存のフィルターの削除を実行するには、**[Manage filters]** (フィルターを管理) を選択します。

        **[Data filters]** (データフィルター) ページは、新しいブラウザで開きます。

        **[Data filters]** (データフィルター) ページでの作業を終えたら、**[Grant permissions]** (許可の付与) ページに戻り、必要に応じてページを更新して、作成した新しいデータフィルターを表示します。

     1. この付与に適用する 1 つ、または複数のデータフィルターを選択します。
**注記**  
リストにデータフィルターがない場合は、選択したテーブルに対してデータフィルターが作成されていないことを意味します。

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

------
#### [ AWS CLI ]

テーブル許可は、名前付きリソース方式と AWS Command Line Interface (AWS CLI) を使用して付与することができます。

**を使用してテーブルのアクセス許可を付与するには AWS CLI**
+ `grant-permissions` コマンドを実行し、リソースとしてテーブルを指定します。

**Example – 単一のテーブルに対する付与 – フィルタリングなし**  
次の例では`ALTER`、データベース `datalake_user1`の テーブルの AWS アカウント 1111-2222-3333 `inventory`のユーザーに `SELECT`と を付与します`retail`。  

```
1. aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" "ALTER" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'
```
登録されたロケーションに基盤となるデータを持つテーブルに対する `ALTER` 許可を付与する場合は、そのロケーションに対するデータロケーション許可もプリンシパルに付与するようにしてください。詳細については、「[データロケーション許可の付与](granting-location-permissions.md)」を参照してください。

**Example – 付与オプションを使用したすべてのテーブルに対する付与 – フィルタリングなし**  
次の例は、データベース `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": {} } }'
```<a name="simple-column-filter-example"></a>

**Example – シンプルな列フィルタリングを使用する付与**  
次の例は、表 `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"]}}'
```

**Example – データフィルターを適用する付与**  
この例は、`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"]
}
```

------

**関連情報**  
[Lake Formation 許可の概要](lf-permissions-overview.md)
[Lake Formation でのデータフィルタリングとセルレベルのセキュリティ](data-filtering.md)
[Lake Formation のペルソナと IAM 許可のリファレンス](permissions-reference.md)
 [リソースリンク許可の付与](granting-link-permissions.md)
 [共有 Data Catalog テーブルとデータベースへのアクセスと表示](viewing-shared-resources.md) 