Data Lake Formation では、データカタログ、データベース、テーブル、カラム、関数の 5 つのレベルで詳細な権限を設定できます。このトピックでは、データ操作に必要な権限と所有者権限について説明します。
権限管理
権限設定
データカタログの権限を有効または無効にできます。詳細については、「権限設定」をご参照ください。
背景情報
権限を設定するには、次の 3 つの要素を指定します。
|
要素 |
説明 |
|
プリンシパル |
権限が付与されるユーザーまたはロールです。ユーザーは RAM ユーザーまたは RAM ロールである必要があります。ロールは、データレイクのロール管理機能を使用して作成する必要があります。 プリンシパルは、次のいずれかのフォーマットで指定できます。
|
|
リソース |
データレイクで管理されるリソースには、以下が含まれます。
|
|
アクション |
利用可能なアクションはリソースタイプによって異なります。たとえば、データベースは CreateTable および List 権限をサポートし、テーブルは Select および Update 権限をサポートし、カラムは Select 権限のみをサポートします。 |
権限の概要
次の表に、Data Lake Formation でサポートされている権限を示します。
|
リソース |
アクション |
説明 |
|
データカタログ |
Alter |
プリンシパルはデータカタログを変更できます。たとえば、 |
|
Drop |
プリンシパルはデータカタログを削除できます。たとえば、 |
|
|
Grant |
プリンシパルはデータカタログに対する権限を付与できます。たとえば、 |
|
|
Create Database |
プリンシパルはデータカタログにデータベースを作成できます。たとえば、 |
|
|
データベース |
Describe |
プリンシパルはデータベースのメタデータを表示したり、データベースに切り替えたりできます。たとえば、 |
|
Alter |
プリンシパルはデータベースを変更できます。たとえば、 |
|
|
Drop |
プリンシパルはデータベースを削除できます。たとえば、 |
|
|
Create Table |
プリンシパルはデータベースにテーブルを作成できます。たとえば、 |
|
|
List |
プリンシパルはデータベース内のリソースのリストを表示できます。たとえば、 重要
|
|
|
テーブル |
Describe |
プリンシパルはテーブルのメタデータを表示できます。たとえば、 |
|
Alter |
プリンシパルはテーブルを変更できます。たとえば、 |
|
|
Drop |
プリンシパルはテーブルを削除できます。たとえば、 |
|
|
Select |
プリンシパルはテーブルからデータを読み取ることができます。たとえば、 |
|
|
Update |
プリンシパルはテーブル内のデータを更新できます。たとえば、 |
|
|
カラム |
Select |
プリンシパルはカラムからデータを読み取ることができます。たとえば、 |
|
関数 |
Describe |
プリンシパルは関数のメタデータを表示できます。 |
|
Alter |
プリンシパルは関数を変更できます。 |
|
|
Drop |
プリンシパルは関数を削除できます。 |
|
|
Execute |
プリンシパルは関数を使用または実行できます。 |
所有者権限
所有者
リソースの作成者がその所有者です。データベースまたはテーブルの所有者は、その基本情報で確認できます。
-
RAM ユーザーが Data Lake Formation でデータベースまたはテーブルを作成した場合、その RAM ユーザーがリソース所有者になります。所有者は、ユーザーのプリンシパルフォーマットによって識別されます。
-
Linux または LDAP ユーザーが E-MapReduce エンジンで SQL コマンドを実行してリソースを作成した場合、そのユーザーがリソース所有者になります。
-
Databricks エンジンはリソース所有者をサポートしていません。
-
オープンソースのビッグデータシステムとの統合のため、Data Lake Formation は、同じユーザー名を持つ RAM ユーザーと Linux または LDAP ユーザーを同等の所有者として扱います。たとえば、
acs:ram::<Alibaba Cloud アカウント ID>:user/user_aとして指定された所有者は、user_aとして指定された所有者と同等です。 -
Alibaba Cloud アカウントがリソース所有者である場合、同等の Linux または LDAP ユーザーは存在しません。
acs:ram::<Alibaba Cloud アカウント ID>:rootとして指定された所有者は、rootとして指定された所有者と同等ではないことに注意してください。 -
Data Lake Formation コンソールでは、 で RAM ユーザーのユーザー名を確認できます。E-MapReduce エンジンを使用する場合、ユーザー管理を使用して、RAM ユーザーと同じ名前の Linux または LDAP ユーザーを追加します。
権限
リソース所有者は、そのリソースに対するすべての権限を持ちます。たとえば、データベースの所有者が RAM ユーザー user_a である場合、user_a は Alter Database や Drop Database などの操作を実行できます。
リソースに対する所有者権限は、その子リソースには及びません。たとえば、データベースの所有者は、データベース自体に対する所有者権限のみを持ち、そのデータベース内のテーブルに対する権限は持ちません。
検証
-
RAM ユーザーとして Data Lake Formation コンソールにログインすると、その RAM ユーザーまたは同等の ID が所有するリソースに対する所有者権限を持ちます。
-
E-MapReduce エンジンを使用してデータレイクのメタデータリソースにアクセスする場合、Linux または LDAP ユーザーとして識別され、そのユーザーまたは同等の ID が所有するリソースに対する所有者権限を持ちます。
-
Databricks エンジンは所有者権限の検証をサポートしていません。
サポートされるコンピュートエンジン
Data Lake Formation は E-MapReduce をサポートしています。次の表に、サポートの詳細を示します。
|
EMR メジャーバージョン |
Hive |
Spark |
Presto |
Impala |
|
|
EMR 3.x |
EMR-3.39.0 以前 |
サポート対象外 |
サポート対象外 |
サポート対象外 |
サポート対象外 |
|
EMR-3.40.0 |
サポート対象 |
サポート対象 |
サポート対象 |
サポート対象外 |
|
|
EMR-3.41.0 から EMR-3.43.1 |
サポート対象 |
サポート対象 |
サポート対象外 |
サポート対象外 |
|
|
EMR-3.44.0 以降 (計画中) |
サポート対象 |
サポート対象 |
サポート対象 |
サポート対象 |
|
|
EMR 5.x |
EMR-5.5.0 以前 |
サポート対象外 |
サポート対象外 |
サポート対象外 |
サポート対象外 |
|
EMR-5.6.0 |
サポート対象 |
サポート対象 |
サポート対象 |
サポート対象外 |
|
|
EMR-5.7.0 から EMR-5.9.1 |
サポート対象 |
サポート対象 |
サポート対象外 |
サポート対象外 |
|
|
EMR-5.10.0 以降 (計画中) |
サポート対象 |
サポート対象 |
サポート対象 |
サポート対象 |
|