DataWorks は、[製品管理] と [サービスの使用] に対して包括的な権限管理システムを提供します。DataWorks は、グローバルレベルおよびワークスペースレベルのサービスに対する権限を管理するために使用できる、グローバルレベルおよびワークスペースレベルのロールを提供します。このトピックでは、DataWorks がロールベースのアクセス制御 (RBAC) モデルを使用してサービスに対する権限を管理する方法について説明します。
DataWorks の製品管理権限とは、ユーザーが DataWorks コンソールで操作を実行するために必要な権限です。たとえば、[ワークスペース] ページでワークスペースを作成、無効化、または削除する場合、[リソースグループ] ページで専用リソースグループを作成または構成する場合、[アラート連絡先] ページでアラート連絡先を構成する場合には、製品管理権限が付与されている必要があります。DataWorks は RAM ポリシーを使用して製品管理権限を管理します。詳細については、「RAM ポリシーを使用して DataWorks 製品および DataWorks コンソールのエンティティに対する権限を管理する」をご参照ください。
グローバルレベルおよびワークスペースレベルのサービス
DataWorks コンソール にログインして DataWorks サービスのページに移動したら、ページの左上隅にある
アイコンをクリックします。次の図に示す DataWorks のすべてのサービスが表示されます。
サービスをクリックすると、そのサービスのページに移動できます。サービスのページで、次の方法でサービスがワークスペースレベルかグローバルレベルかを判断できます。
ワークスペース名がトップナビゲーションバーに表示されている場合、サービスはワークスペースレベルのサービスです (例:[datastudio])。
ワークスペース名がトップナビゲーションバーに表示されていない場合、サービスはグローバルレベルのサービスです (例:[データマップ])。
ワークスペースレベルのサービスとグローバルレベルのサービスを区別する方法については、このトピックの「付録:ワークスペースレベルのサービスとグローバルレベルのサービスの区別」セクションをご参照ください。
グローバルレベルおよびワークスペースレベルのロール
DataWorks のサービスに対する権限は、RBAC モデルに基づいて管理されます。DataWorks は、グローバルレベルおよびワークスペースレベルのサービスに対する権限を管理するために使用できる、グローバルレベルおよびワークスペースレベルのロールを提供します。RAM ユーザーまたは RAM ロールであるユーザーにロールを割り当てると、ユーザーは特定のサービスに対する必要な権限を持ちます。
主要用語:
ユーザー:RAM ユーザーと RAM ロールが含まれます。
ロール:ワークスペースレベルとグローバルレベルのロールが含まれます。
権限:ワークスペースレベルとグローバルレベルのサービスに対する権限が含まれます。
DataWorks は、組み込みのグローバルレベルおよびワークスペースレベルのロールを提供します。これらの組み込みロールをユーザーに割り当てて、特定のサービスに対する権限をユーザーに付与できます。ビジネス要件に基づいて、カスタムのグローバルレベルまたはワークスペースレベルのロールを作成することもできます。次の図は、ユーザー、ロール、および権限の関係を示しています。
すべてのタイプのロールの中で、グローバルレベルのロールである [テナント管理者] ロールのみがすべてのサービスに対する権限を持ちます。
[テナントメンバー] ロールは、Alibaba Cloud アカウントに属するすべての RAM ユーザーに自動的に割り当てられます。
カスタムグローバルレベルロールは、[テナントメンバー] ロールよりも高い権限優先度を持ちます。
たとえば、Alibaba Cloud アカウントに属する RAM ユーザー A には [テナントメンバー] ロールが自動的に割り当てられ、[データマップ] にアクセスできます。テナント管理者が [データマップ] に対する権限を持たないカスタムグローバルレベルロールを作成し、そのカスタムグローバルレベルロールを RAM ユーザー A に割り当てると、RAM ユーザー A はデータマップにアクセスできなくなります。
グローバルレベルのロールの権限
DataWorks は、テナント管理者、テナントメンバー、テナントセキュリティ管理者、データディレクトリ管理者、メタデータ収集管理者、データガバナンス管理者というグローバルレベルのロールを提供します。次の表に、グローバルレベルのロールの権限を示します。
ロール | 権限 | 承認者 | 説明 |
[テナント管理者] | DataWorks コンソール での操作を実行する権限を除く、すべての DataWorks サービスに対する権限 | テナント所有者 (Alibaba Cloud アカウント)、AliyunDataWorksFullAccess ポリシーがアタッチされている RAM ユーザー、AdministratorAccess 権限を持つユーザー、[テナント管理者] ロールが割り当てられている RAM ユーザー。[テナント管理者] ロールが割り当てられている RAM ユーザーは、他の RAM ユーザーにテナント管理者ロールを割り当てることができます。 | このロールは DataWorks で完全な権限を持ち、すべての DataWorks サービスで操作を実行できます。 |
[テナントメンバー] | 開発ロールと同じ権限:
| 承認は不要です。Alibaba Cloud アカウントに属するすべての RAM ユーザーに [テナントメンバー] ロールが自動的に割り当てられます。 | Alibaba Cloud アカウントに属するすべての RAM ユーザーと RAM ロールに [テナントメンバー] ロールが自動的に割り当てられます。 |
[テナントセキュリティ管理者] | Security Center、承認センター、および Data Security Guard に対するすべての権限 | [テナント管理者] は、RAM ユーザーに [テナントセキュリティ管理者] ロールを割り当てることができます。 | このロールは、ワークスペースのセキュリティ構成を管理するために使用されます。 |
[データガバナンス管理者] | サービスをアクティブ化したり、チェック項目を作成、有効化、無効化したりする権限を除く、[データガバナンスセンター] に対する通常の権限と管理権限 | [テナント管理者] は、ユーザーに [データガバナンス管理者] ロールを割り当てることができます。 | このロールは、データガバナンスセンターを管理するために使用されます。 |
[データディレクトリ管理者] | [データマップ] に対する通常の権限、および [データマップ] 内の [データディレクトリ] を管理する権限 | [テナント管理者] は、ユーザーに [データディレクトリ管理者] ロールを割り当てることができます。 | このロールは、データマップ内のデータディレクトリを管理するために使用されます。 |
[メタデータ収集管理者] | [データマップ] に対する通常の権限と [メタデータ収集] 権限 | [テナント管理者] は、ユーザーに [メタデータ収集管理者] ロールを割り当てることができます。 | このロールは、データマップ内のメタデータ収集を管理するために使用されます。 |
ワークスペースレベルのロールの権限
DataWorks は、さまざまな組み込みワークスペースレベルロールを提供し、ビジネス要件に基づいてカスタムワークスペースレベルロールを作成できます。
組み込みワークスペースレベルロール
DataWorks は、次の組み込みワークスペースレベルロールを提供します:[ワークスペース所有者]、[データアナリスト]、[ワークスペース管理者]、[開発]、[O&M]、[デプロイ]、[訪問者]、[セキュリティ管理者]、[モデル設計者]。
説明ワークスペースの所有者は、ワークスペースを作成する Alibaba Cloud アカウントに属する RAM ユーザーではなく、Alibaba Cloud アカウントです。[ワークスペース所有者] ロールを他のユーザーに割り当てることはできません。組み込みワークスペースレベルロールのワークスペースレベルサービスに対する権限の詳細については、「組み込みワークスペースレベルロールの権限」をご参照ください。
カスタムワークスペースレベルロール
DataWorks では、カスタムワークスペースレベルロールを作成し、ワークスペースレベルサービスに対する権限をロールに付与できます。カスタムワークスペースレベルロールの作成方法については、「ワークスペースレベルのサービスに対する権限を管理する」をご参照ください。
ワークスペースレベルのロールの権限は、DataWorks サービスと計算エンジンの 2 種類のオブジェクトに有効です。計算エンジンに対する権限には、計算エンジン内のテーブルやリソースなどの項目を追加、削除、変更、およびクエリする権限が含まれます。次の表に、これらの 2 種類のオブジェクトに対する組み込みおよびカスタムワークスペースレベルロールの権限を示します。
オブジェクト | 組み込みロール | カスタムロール |
DataWorks サービス | DataWorks は、ワークスペースレベルの各組み込みロールのワークスペースレベルのサービスに対する権限を事前に定義しています。詳細については、「組み込みのワークスペースレベルロールの権限」をご参照ください。 | カスタムのワークスペースレベルロールを作成する場合は、ワークスペースレベルのサービスに対するロールの権限を指定する必要があります。 |
MaxComputeコンピューティングエンジン |
| カスタムワークスペースレベルロールを作成するときに、カスタムワークスペースレベルロールをMaxComputeロールにマッピングすると、カスタムワークスペースレベルロールには、マッピングされたMaxComputeロールの権限が付与されます。 |
DataWorks サービス | EMR クラスターを DataWorks ワークスペースに登録すると、ワークスペースメンバーと EMR クラスターの Lightweight Directory Access Protocol (LDAP) アカウント間のマッピングを設定して、ワークスペースメンバーが関連する EMR コンピューティングエンジンでマッピングされた LDAP アカウントの権限を持つようにすることができます。詳細については、「EMR クラスターを DataWorks に登録する」をご参照ください。 | |
Cloudera's Distribution including Apache Hadoop (CDH) コンピュートエンジン | CDHクラスターをDataWorksワークスペースに登録すると、ワークスペースメンバーとCDHクラスターのLinuxアカウントまたはKerberosアカウント間のマッピングを設定して、ワークスペースメンバーが関連するCDHコンピューティングエンジンでマッピングされたLinuxアカウントまたはKerberosアカウントの権限を持つようにすることができます。詳細については、「ワークスペースの作成と管理」をご参照ください。 | |
MaxCompute 計算エンジン | DataWorks で計算エンジンを使用するには、関連するデータソースを追加する必要があります。標準モードの DataWorks ワークスペースにデータソースを追加する場合は、開発環境と本番環境で関連する計算エンジンのスケジューリングアクセス ID を指定する必要があります。たとえば、AnalyticDB for PostgreSQL データベースにアクセスする場合、DataWorks ワークスペースに AnalyticDB for PostgreSQL データソースを追加するときに、AnalyticDB for PostgreSQL データベースへのアクセスに使用するユーザー名とパスワードを指定する必要があります。 組み込みまたはカスタムのワークスペースレベルのロールが割り当てられているユーザーは、関連するコンピューティングエンジンでタスクを実行するために、データソースを追加するときに指定したスケジューリングアクセス ID を使用します。MaxCompute コンピューティングエンジン以外のコンピューティングエンジンに対する権限は、ワークスペースレベルのロールに直接付与されません。権限は、データソースを追加するときに指定したスケジューリングアクセス ID に基づいて決定されます。 | |
概要:
DataWorks は、ワークスペースに追加したデータソースのロールにマッピングされた、組み込みのワークスペースレベルのロールを提供します。このようにして、組み込みのワークスペースレベルのロールは、マッピングされたロールの権限を持ちます。これにより、組み込みのワークスペースレベルのロールが割り当てられたユーザーは、関連する計算エンジンで指定された操作を実行できます。
DataWorks は、カスタムのワークスペースレベルのロールをサポートしています。カスタムのワークスペースレベルのロールを作成するときは、カスタムのワークスペースレベルのロールを計算エンジンのロールにマッピングできます。このようにして、カスタムのワークスペースレベルのロールは、計算エンジンに対する特定の権限を持ちます。
ワークスペースレベルのロールをユーザーに割り当てると、ユーザーは DataWorks サービスと計算エンジンの両方に対する権限を持ちます。次の例では、MaxCompute を使用して、組み込みおよびカスタムのワークスペースレベルのロールが割り当てられたユーザーに権限を付与する方法について説明します。
シナリオ 1:組み込みのワークスペースレベルのロールをユーザーに割り当てる
ワークスペース管理者ロールが割り当てられたユーザーによって、RAM ユーザーが DataWorks ワークスペースにメンバーとして追加され、RAM ユーザーには組み込みのワークスペースレベルのロールである [開発] ロールが割り当てられます。
説明ワークスペースメンバーを追加してワークスペースメンバーに権限を付与する方法については、「ワークスペースレベルのサービスに対する権限の管理」をご参照ください。
RAM ユーザーが DataWorks ワークスペースにメンバーとして追加され、開発ロールが割り当てられると、RAM ユーザーは、関連する MaxCompute データソースがワークスペースに追加されている DataWorks サービスと MaxCompute 計算エンジンに対する特定の権限を持ちます。DataWorks:[開発] ロールが RAM ユーザーに割り当てられると、RAM ユーザーはワークスペース内のノードのコードを開発およびコミットできますが、ノードのコードを本番環境にデプロイすることはできません。[ワークスペース所有者]、[ワークスペース管理者]、および [O&M] ロールのみが、ノードのコードを本番環境にデプロイする権限を持ちます。
MaxCompute:[開発] ロールが RAM ユーザーに割り当てられると、MaxCompute 計算エンジンの [role_project_dev] ロールが RAM ユーザーに割り当てられます。Role_Project_Dev ロールは、開発環境で MaxCompute 計算エンジンで実行される MaxCompute プロジェクトと、プロジェクト内のテーブルに対する特定の権限を持ちます。
説明ワークスペース管理者ロールを RAM ユーザーに割り当てて、DataWorks に対するさまざまな権限を RAM ユーザーに付与できます。ただし、RAM ユーザーは本番環境のテーブルにアクセスすることはできません。
RAM ユーザーとは、本番環境で MaxCompute プロジェクトにアクセスするために使用される ID として指定されていない RAM ユーザーを指します。
シナリオ 2:カスタムのワークスペースレベルのロールをユーザーに割り当てる
ワークスペース管理者ロールが割り当てられたユーザーによって、RAM ユーザーが DataWorks ワークスペースにメンバーとして追加され、RAM ユーザーにはカスタムのワークスペースレベルのロールが割り当てられます。
カスタムのワークスペースレベルのロールを作成するときは、このロールが、関連する MaxCompute データソースがワークスペースに追加されている MaxCompute 計算エンジンのロールにマッピングされているかどうかを指定できます。カスタムのワークスペースレベルのロールが RAM ユーザーに割り当てられると、RAM ユーザーは DataWorks サービスと MaxCompute 計算エンジンに対する特定の権限を持ちます。説明カスタムのワークスペースレベルのロールを作成する方法については、「ワークスペースレベルのサービスに対する権限の管理」をご参照ください。ワークスペースメンバーを追加してワークスペースメンバーに権限を付与する方法については、「ワークスペースレベルのサービスに対する権限の管理」をご参照ください。
DataWorks:カスタムのワークスペースレベルのロールが RAM ユーザーに割り当てられると、RAM ユーザーには、カスタムのワークスペースレベルのロールが操作を実行できる DataWorks サービスに対する権限が付与されます。
MaxCompute:
カスタムのワークスペースレベルのロールが MaxCompute 計算エンジンのロールにマッピングされていない場合、RAM ユーザーは MaxCompute 計算エンジンに対する権限を持ちません。RAM ユーザーは、MaxCompute 計算エンジンで実行される MaxCompute プロジェクト内のオブジェクトを照会するコマンドを実行できません。
カスタムのワークスペースレベルのロールが MaxCompute 計算エンジンのロールにマッピングされている場合、RAM ユーザーはマッピングされた MaxCompute ロールの権限を持ちます。
説明RAM ユーザーが本番環境で MaxCompute 計算エンジンのスケジューリングアクセス ID として指定されている場合、RAM ユーザーは MaxCompute 計算エンジンで操作を実行したり、テーブルにアクセスしたりできます。その他のシナリオでは、RAM ユーザーがワークスペースにメンバーとして追加された後でも、RAM ユーザーは本番環境の MaxCompute 計算エンジンで操作を実行したり、テーブルにアクセスしたりすることはできません。RAM ユーザーが本番環境の MaxCompute 計算エンジンで操作を実行したり、テーブルにアクセスしたりするには、RAM ユーザーは [セキュリティセンター] で必要な権限を申請する必要があります。権限の申請方法については、「テーブルに対する権限の要求」トピックの「セキュリティセンターでテーブルに対する権限を要求する(最新バージョン)」セクションをご参照ください。MaxCompute 計算エンジンへのアクセスに使用できる ID については、「ワークスペースの作成と管理」をご参照ください。
付録: DataWorks 組み込みワークスペースレベルロールと MaxCompute ロールのマッピング
次の表は、DataWorks 組み込みワークスペースレベルロールと MaxCompute ロールのマッピングについて説明しています。また、開発環境と本番環境における各ロールの権限についても説明しています。
DataWorks ワークスペースメンバーロール | MaxCompute ロール | DataWorks 開発環境および関連 MaxCompute プロジェクトのデータに対する権限 | DataWorks 本番環境および関連 MaxCompute プロジェクトのデータに対する権限 | DataWorks における権限の説明 |
ワークスペース管理者 | Role_Project_Admin |
| デフォルトでは権限がありません。必要な権限は [セキュリティセンター] で申請する必要があります。 | ワークスペース管理者ロールを持つユーザーは、ワークスペースの管理者です。管理者は、ワークスペースの基本プロパティ、データソース、計算エンジンの構成、メンバーを管理する権限を持ち、ワークスペースメンバーにワークスペース管理者、開発、運用管理、デプロイ、または閲覧者のロールを割り当てることができます。 |
開発 | Role_Project_Dev |
| 開発ロールを持つユーザーは、ワークフロー、スクリプトファイル、リソース、ユーザー定義関数 (UDF)、テーブル、デプロイタスクの作成、およびテーブルの削除を行う権限を持ちますが、デプロイ操作を実行する権限は持ちません。 | |
運用管理 | Role_Project_Pe | このロールは、プロジェクト、およびプロジェクト内の関数、リソース、インスタンス、ジョブ に対するすべての権限と、プロジェクト内のパッケージに対する読み取り権限、およびプロジェクト内のテーブルに対する読み取り権限と記述権限を持ちます。 説明 運用管理ロールは、MaxCompute 計算エンジンに対する権限を持ちますが、DataWorks コンソールでノードを実行する権限は持ちません。 | 運用管理ロールを持つユーザーは、ワークスペース管理者ロールによって付与されたデプロイ権限とオンライン運用管理権限を持ちますが、データ開発操作を実行する権限は持ちません。 | |
デプロイ | Role_Project_Deploy | デフォルトでは権限がありません。 | デプロイロールを持つユーザーは、オンライン運用管理権限を除き、運用管理ロールと同様の権限を持ちます。 | |
データアナリスト | Role_Project_Data_Analyst | デフォルトでは権限がありません。 | デフォルトでは、データアナリストロールを持つユーザーは、DataAnalysis に対する権限のみを持ちます。 | |
閲覧者 | Role_Project_Guest | デフォルトでは権限がありません。 | 閲覧者ロールを持つユーザーは、データを表示する権限を持ちますが、ワークフローやコードを変更する権限は持ちません。 | |
セキュリティ管理者 | Role_Project_Security | デフォルトでは権限がありません。 | セキュリティ管理者ロールを持つユーザーは、Data Security Guard でのみ使用でき、Data Security Guard で機密データ識別ルールを構成し、データリスクを監査する権限を持ちます。 | |
モデル設計者 | Role_Project_Erd | デフォルトでは権限がありません。 | モデル設計者ロールを持つユーザーは、データウェアハウス計画、データ標準、ディメンションモデリング、およびデータメトリックでモデルを表示し、パラメーター構成を変更する権限を持ちますが、モデルを公開する権限は持ちません。 | |
N/A | Project Owner | この ID はプロジェクトの所有者であり、プロジェクトに対するすべての権限を持ちます。 | このロールは、本番環境でも開発環境と同じ権限を持ちます。 | N/A |
N/A | Super_Administrator | このロールはプロジェクトのスーパー管理者であり、プロジェクトの管理権限と、プロジェクト内のすべてのリソースタイプに対するすべての権限を持ちます。 | このロールは、本番環境でも開発環境と同じ権限を持ちます。 | N/A |
N/A | Admin | プロジェクトを作成すると、システムはこのプロジェクトの Admin ロールを作成し、プロジェクト内のすべてのオブジェクトにアクセスし、ユーザーまたはロールを管理し、ユーザーまたはロールに権限を付与する権限を付与します。 Project Owner ロールとは異なり、Admin ロールには、ユーザーに Admin ロールを割り当て、プロジェクトのセキュリティポリシーを構成し、プロジェクトの認証モデルを変更し、Admin ロールの権限を変更する権限はありません。 Project Owner ロールは、Admin ロールをユーザーに割り当て、セキュリティ構成を管理する権限をユーザーに付与できます。 | このロールは、本番環境でも開発環境と同じ権限を持ちます。 | N/A |
付録: ワークスペースレベルのサービスとグローバルレベルのサービスの区別
[datastudio] などのワークスペースレベルのサービスの場合、ワークスペース名はトップ ナビゲーション バーに表示されます。
[data Map] などのグローバルレベルのサービスの場合、ワークスペース名はトップ ナビゲーション バーに表示されません。