Data Lake Formation では、データカタログ、データベース、テーブル、カラム、関数の 5 つのレベルできめ細かい権限を設定できます。本トピックでは、データ操作に必要な権限について説明し、所有者権限について解説します。
権限管理
権限設定
データカタログの権限を有効化または無効化できます。詳細については、「権限設定」をご参照ください。
背景情報
権限を設定するには、次の 3 つの要素を指定します。
|
要素 |
説明 |
|
プリンシパル |
権限が付与されるユーザーまたはロールです。ユーザーは RAM ユーザーまたは RAM ロールである必要があります。ロールは、ロール管理機能を使用してデータレイクで作成する必要があります。 プリンシパルは、次のいずれかの形式で指定できます。
|
|
リソース |
データレイクで管理されるリソースには、次のものがあります。
|
|
アクション |
使用可能なアクションは、リソースタイプによって異なります。たとえば、データベースは Create Table および 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 以降 (予定) |
サポート対象 |
サポート対象 |
サポート対象 |
サポート対象 |
|