

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

# 名前付きリソース方式を使用したデータベースのアクセス許可の付与
<a name="granting-database-permissions"></a>

以下は、名前付きリソース方式を使用してデータベース許可を付与する方法を説明する手順です。

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

Lake Formation コンソールの「**アクセス許可を付与**」ページを使用します。このページは、以下のセクションに分かれています。
+  **プリンシパルタイプ** – **[プリンシパル]** セクションには、アクセス許可の付与先となる IAM ユーザー、ロール、IAM アイデンティティセンターのユーザーとグループ、 AWS アカウント、組織、または組織単位が含まれます。**[属性別のプリンシパル]** セクションでは、IAM ロールにアタッチされた属性のキーと値を指定できます。
+  **[LF タグまたはカタログリソース]** – 付与する許可の対象となるデータベース、テーブル、ビュー、またはリソースリンク。
+  **[Permissions]** (許可) – 付与される Lake Formation 許可。

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

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

   [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/) で AWS Lake Formation コンソールを開き、データレイク管理者、データベース作成者、またはデータベースに対する**付与可能なアクセス許可**を持つ IAM ユーザーとしてサインインします。

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

1. **[プリンシパル]** セクションで、プリンシパルを指定するか、属性を使用してプリンシパルにアクセス許可を付与します。  
![[プリンシパル] セクションには 4 つのタイルがあります。各タイルには、オプションボタンとテキストがあります。](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/identity-center-grant-perm.png)  
**IAM ユーザーとロール**  
**[IAM users and roles]** (IAM ユーザーおよびロール) リストから、1 人、または複数のユーザーまたはロールを選択します。  
**IAM アイデンティティセンター**  
**[ユーザーとグループ]** リストから、1 人、または複数のユーザーまたはグループを選択します。ユーザーまたはグループをさらに追加するには、**[追加]** を選択します。  
**SAML ユーザーとグループ**  
**SAML および Quick ユーザーおよびグループ**の場合は、SAML を介してフェデレーションされたユーザーまたはグループの 1 つ以上の Amazon リソースネーム (ARNs)、または Amazon Quick ユーザーまたはグループの 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 タグまたはカタログリソース]** セクションで、**[名前付きのデータカタログリソース]** を選択します。  
![[LF-Tags or catalog resources] (LF タグまたはカタログリソース) セクションには、水平に配置された 2 つのタイルがあり、各タイルにはオプションボタンと説明テキストが含まれています。オプションは、[LF タグに一致するリソース] と [名前付きのデータカタログリソース] です。タイルの下には、[Database] (データベース) と [Table] (テーブル) の 2 つのドロップダウンリストがあります。[Database] (データベース) ドロップダウンリストには、その下に選択したデータベース名が含まれるタイルがあります。](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/grant-target-resources-section-2.png)

1. **[Database]** (データベース) のリストから、1 つ、または複数のデータベースを選択します。1 つ以上の**テーブル**や**データフィルター**を選択することもできます。

1. **[Permissions]** (許可) セクションで、許可と付与可能な許可を選択します。**[Database permissions]** (データベースの許可) で、付与する許可を 1 つ、または複数選択します。  
![[Permissions] (許可) セクションには、水平に配置された 2 つのタイルがあります。各タイルには、オプションボタンとテキストがあります。[Database permissions] (データベースの許可) タイルが選択されています。もう 1 つのタイルである [Column-based permissions] (列ベースの許可) は、テーブル許可に関連していることから無効になっています。タイルの下には、付与するデータベース許可のチェックボックスのグループがあります。チェックボックスには、[Create Table] (テーブルの作成)、[Alter] (変更)、[Drop] (ドロップ)、[Describe] (記述)、および [Super] (スーパー) があります。そのグループの下には、付与可能な許可のための、同じチェックボックスがある別のグループがあります。](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/grant-target-db-permissions-section.png)
**注記**  
登録されたロケーションをポイントするロケーションプロパティを持ったデータベースに対する `Create Table` または `Alter` を付与した後は、プリンシパルにもそのロケーションに対するデータロケーション許可を付与するようにしてください。詳細については、「[データロケーション許可の付与](granting-location-permissions.md)」を参照してください。

1. (オプション) **[Grantable permissions]** (付与可能な許可) で、付与対象者がそれぞれの AWS アカウント内の他のプリンシパルに付与できる許可を選択します。このオプションは、外部アカウントから IAM プリンシパルにアクセス許可を付与する場合はサポートされません。

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

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

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

**を使用してデータベースのアクセス許可を付与するには AWS CLI**
+ `grant-permissions` コマンドを実行し、付与される許可に応じて、データベースまたは Data Catalog をリソースとして指定します。

  次の例では、{{<account-id>}} を有効な AWS アカウント ID に置き換えます。  
**Example – データベースを作成するための付与**  

  この例では、`CREATE_DATABASE` をユーザー `datalake_user1` に付与します。この許可が付与されるリソースは Data Catalog であるため、コマンドは `resource` パラメータとして空の `CatalogResource` 構造を指定します。

  ```
  1. aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::{{<account-id>}}:user/datalake_user1 --permissions "CREATE_DATABASE" --resource '{ "Catalog": {}}'
  ```  
**Example – 指定されたデータベースでテーブルを作成するための付与**  

  次の例は、データベース `retail` での `CREATE_TABLE` をユーザー `datalake_user1` に付与します。

  ```
  1. aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::{{<account-id>}}:user/datalake_user1 --permissions "CREATE_TABLE" --resource '{ "Database": {"Name":"retail"}}'
  ```  
**Example – Grant オプションを使用して外部 AWS アカウントに付与する**  

  次の例は、データベース `retail` に対する grant オプション付きの `CREATE_TABLE` を外部アカウント 1111-2222-3333 に付与します。

  ```
  1. aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333 --permissions "CREATE_TABLE" --permissions-with-grant-option "CREATE_TABLE" --resource '{ "Database": {"Name":"retail"}}'
  ```  
**Example – 組織への付与**  

  次の例は、データベース `issues` に対する grant オプション付きの `ALTER` を組織 `o-abcdefghijkl` に付与します。

  ```
  1. aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:organizations::111122223333:organization/o-abcdefghijkl --permissions "ALTER" --permissions-with-grant-option "ALTER" --resource '{ "Database": {"Name":"issues"}}'
  ```  
**Example - 同じアカウントで `ALLIAMPrincipals` に付与**  

  次の例では、同じアカウントのすべてのプリンシパルにデータベース `retail` への `CREATE_TABLE` アクセス許可を付与します。このオプションを使用すると、アカウント内のすべてのプリンシパルがデータベースにテーブルを作成し、統合クエリエンジンが共有データベースとテーブルにアクセスできるようにするテーブルリソースリンクを作成できます。このオプションは、プリンシパルがクロスアカウント付与を受け取っていて、リソースリンクを作成するアクセス許可を持っていない場合に特に役立ちます。このシナリオでは、データレイク管理者がプレースホルダーデータベースを作成して `ALLIAMPrincipal` グループに `CREATE_TABLE` アクセス許可を付与し、アカウント内の各 IAM プリンシパルがプレースホルダーデータベースにリソースリンクを作成できるようにします。

  ```
  1. aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333:IAMPrincipals --permissions "CREATE_TABLE"  --resource '{ "Database": {"Name":"temp","CatalogId":"111122223333"}}' 
  ```  
**Example - 外部アカウントでの `ALLIAMPrincipals` への付与**  

  次の例では、外部アカウントのすべてのプリンシパルにデータベース `retail` への `CREATE_TABLE` を付与します。このオプションにより、アカウント内の各プリンシパルがデータベースにテーブルを作成できます。

  ```
  1. aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333:IAMPrincipals --permissions "CREATE_TABLE"  --resource '{ "Database": {"Name":"retail","CatalogId":"123456789012"}}'
  ```

**注記**  
登録されたロケーションをポイントするロケーションプロパティを持ったデータベースに対する `CREATE_TABLE` または `ALTER` を付与した後は、プリンシパルにもそのロケーションに対するデータロケーション許可を付与するようにしてください。詳細については、「[データロケーション許可の付与](granting-location-permissions.md)」を参照してください。

------

**関連情報**  
 [Lake Formation 許可のリファレンス](lf-permissions-reference.md) 
 [アカウントと共有されたデータベースまたはテーブルに対する許可の付与](regranting-shared-resources.md) 
 [共有 Data Catalog テーブルとデータベースへのアクセスと表示](viewing-shared-resources.md) 