DataWorks は、MaxCompute エンジン内のデータへのアクセス権限を管理するためのデータアクセスコントロール機能を提供します。これには、権限の申請、承認、監査のワークフローが含まれます。[マイアプリケーション] ページで申請状況を追跡し、[マイ承認タスク] ページで承認を管理できます。このトピックでは、MaxCompute のデータアクセス権限を管理する方法について説明します。
背景
標準モードの DataWorks ワークスペースにおいて、本番環境の MaxCompute データソースからテーブル、リソース、関数にアクセスするには、対応する権限を申請する必要があります。これにより、本番環境のデータを安全に制御できます。
このトピックは、本番環境の MaxCompute データソースからテーブル、リソース、または関数にアクセスする必要があるシナリオに適用されます。
-
標準モードのワークスペースでは、DataWorks はデフォルトで開発環境の MaxCompute プロジェクトロールにメンバーを追加します。これにより、メンバーにはすべてのデータに対する読み取り権限が付与されます。詳細については、「Resource access and permissions for the MaxCompute engine in different workspace modes」をご参照ください。
-
標準モードのワークスペースでは、DataWorks はデフォルトで本番環境の MaxCompute プロジェクトロールにメンバーを追加しません。
-
MaxCompute のテーブル、リソース、または関数に対して申請された権限は、承認者が申請を承認した後にのみ有効になります。
前提条件
-
MaxCompute コンピューティングリソースがワークスペースにバインドされていること。
-
MaxCompute のデータアクセスコントロールの詳細を理解していること。
-
DataWorks ワークスペースの基本モードと標準モードの違いを理解していること。
データアクセスコントロールワークフロー
ユースケース
|
シナリオ |
|
|
開発環境のユーザーが、同じワークスペースの本番環境にあるテーブル、リソース、または関数にアクセスする必要がある。 |
デフォルトでは、RAM ユーザーは本番コンピューティングエンジンのアクセス ID を持たない限り、データ開発インターフェイスから本番テーブルにアクセスできません。アクセスするには、データアクセスコントロールページで権限を申請する必要があります。申請が承認されると、データ開発インターフェイスでテーブルに対する操作を実行できるようになります。 |
|
開発環境または本番環境のユーザーが、別のワークスペースの開発環境または本番環境にあるテーブル、リソース、または関数にアクセスする必要がある。 |
デフォルトでは、ワークスペースのメンバーではない RAM ユーザーは、データ開発インターフェイスでクロスプロジェクトの開発テーブルや本番テーブルにアクセスできません。クロスプロジェクトアクセスを取得するには、データアクセスコントロールページで権限を申請する必要があります。申請が承認されると、データ開発インターフェイスでテーブルに対する操作を実行できるようになります。 |
権限申請ワークフロー
データアクセス制御機能を使用すると、Permission Application、Permission Application Processing、および Permission Audit 操作を実行できます。 また、Permission Application Records および Permission Application Processing Record を表示することもできます。 開発中に RAM ユーザーが必要なテーブル権限を持っていない場合、ユーザーは Permission Application ページで対応する権限を申請できます。 承認者 (ワークスペース管理者またはテーブル所有者) が Permission Application Processing ページでリクエストを承認すると、権限が付与されます。
DataWorks の Security Center は、デフォルトの権限申請承認ワークフローを提供します。 また、[承認センター] で承認ワークフローをカスタマイズすることもできます。 MaxCompute テーブルの列レベルの権限を申請すると、DataWorks は申請された列に基づいて承認ワークフローのタイプを識別します。
リソースと関数の権限申請では、カスタム承認ワークフローと権限監査管理には対応していません。
-
権限申請者: データアクセスコントロールページで MaxCompute テーブルの権限を申請できます。申請が承認されると、マイアプリケーションページで承認結果を確認し、権限が有効になったことを確認できます。
-
権限承認者: 申請を受け取った後、承認者は マイ承認タスクページで申請の詳細を確認し、承認または却下を決定できます。処理済みの申請については、承認者は マイ承認タスクページで現在の Alibaba Cloud アカウント配下のテーブル、リソース、関数の承認結果を確認できます。
-
[Permission Audit]:Alibaba Cloud アカウント所有者またはワークスペース管理者は、[権限監査] ページに移動して、ワークスペースメンバーに付与されたテーブル権限を管理および監査できます。 ワークスペースの特定のメンバーから権限を取り消すことができます。
権限申請
データアクセス制御ページで権限を申請するには、Application Content と Application information セクションを設定する必要があります。
-
DataWorks コンソールにログインし、ターゲットリージョンに切り替えてから、左側のナビゲーションペインでをクリックします。表示されたページで、[セキュリティセンターへ移動]をクリックします。
-
Security Center の左側のナビゲーションペインで、に移動します。
-
Data Access Control ページで、権限申請タブをクリックして MaxCompute テーブル、リソース、または関数の権限を申請します。
テーブル権限申請
テーブル権限を申請する際、対象テーブルを追加した後、必要に応じてTable-level permissionsまたはSelected Columns権限を申請できます。
設定項目
説明
[Application Content]
[Data Source Type]
MaxCompute タイプを選択します。
[Application Type]
Table[Workspace]
対象の
Tableが存在するワークスペースを選択します。[MaxCompute Project]
Tableが存在するワークスペースに関連付けられている MaxCompute プロジェクト。[Schema]
テーブルが存在するスキーマ。
[Tables to Be Added]
テーブルレベルの権限を申請
テーブルレベルの
Select、Update[, ]Download[, ]Describe[, ]Alter[, ] およびDrop権限を申請できます。列レベルの権限を申請
列レベルの
Select、Update[, ] およびDownload権限を申請できます。-
MaxCompute プロジェクトで
labelsecurityが有効になっていない場合、テーブルレベルのSelectおよびUpdate権限の申請が成功すると、テーブルに新しく追加された列は自動的にSelectおよびUpdate権限を継承します。 -
MaxCompute プロジェクトで
labelsecurityが有効になっている場合は、列レベルの権限を申請してください。テーブルレベルの権限が付与された後、新しく追加された列は自動的にテーブルレベルの権限を継承しません。
リソース権限申請
設定項目
説明
[Application Content]
[Data Source Type]
MaxCompute タイプを選択します。
[Application Type]
Resource[Workspace]
対象リソースが存在するワークスペースを選択します。
[Project]
リソースが存在するワークスペースに関連付けられている MaxCompute プロジェクト。
[Resource Name]
権限を申請するリソース。
関数権限申請
設定項目
説明
[Application Content]
[Data Source Type]
MaxCompute タイプを選択します。
[Application Type]
Function[Workspace]
対象関数が存在するワークスペースを選択します。
[Project]
関数が存在するワークスペースに関連付けられている MaxCompute プロジェクト。
[Function Name]
権限を申請する関数の名前。
-
-
Application information を設定します。
設定項目
説明
[Application information]
[User]
対象リソースの権限を申請するアカウントを選択します。
-
[Current login account]: 現在 DataWorks ワークスペースにログインしている Alibaba Cloud アカウントで、対象テーブルの権限を申請します。
-
[Account Used for Scheduling]: スケジューリングアクセスIDとして設定されている RAM ユーザーに、対象テーブルの権限を申請します。
-
[Apply on Behalf of Others]: 現在 DataWorks ワークスペースにログインしているアカウントを使用して、別の Alibaba Cloud アカウントに対象テーブルの権限を申請します。このオプションを選択した場合、Username パラメーターを設定する必要があります。
[Application duration]
権限のカスタム有効期間を指定できます。権限は期限切れ後に自動的に取り消されます。
説明この機能を使用する前に、テーブルが存在する MaxCompute プロジェクトでポリシーベース認可が有効になっていることを確認してください。詳細については、「Details of data access control for MaxCompute」をご参照ください。MaxCompute Policy の詳細については、「MaxCompute Policy overview」をご参照ください。
[Reason for Application]
承認者がニーズを理解できるように、権限を申請する理由を簡潔に記述します。
-
-
Apply for Permissions をクリックして申請します。
Permission Application Records タブで、当該リクエストの承認の詳細と承認記録を表示できます。
権限承認
権限申請者が権限申請を送信した後、権限承認者は [マイ承認タスク] ページで申請を処理できます。
-
左側のナビゲーションペインで、申請 & 承認 > 自分の承認タスク を選択し、データアクセス制御 タブをクリックします。 承認待ち リストで、Application account number、Application Time、Workspace、Project name、Object name、およびその他の条件で絞り込み、現在の Alibaba Cloud アカウントでの承認待ちリクエストを表示できます。
説明1 つの申請に複数のテーブルの権限申請が含まれている場合、申請はテーブル所有者に基づいて自動的に複数の申請に分割されます。
-
対象のリクエストの Operation 列で Approval をクリックします。Approval details ダイアログでは、Application Details、Approval record などの詳細を表示できます。このダイアログでは、次の操作を実行できます。
-
リクエストの詳細と要件に基づいて、リクエストを承認するかどうかを決定します。Approval Comments を入力し、Agree または Reject をクリックしてリクエストを処理します。
-
リクエストのApplication ContentとExpiration Timeを変更します。
説明-
保留中のステップ: 承認権限を持つすべての承認者を表示します。
-
処理済みのステップ: 申請を処理した承認者のみを表示します。
承認詳細ダイアログで個々のリクエストを承認するのに加えて、[マイ承認タスク] ページですべてのリクエストを選択し、Batch Agree または Batch Reject をクリックすることもできます。Approval Comments を入力して、対象のリクエストを一括で処理します。
-
権限申請記録の表示
左側のナビゲーションペインで、[アプリケーションと承認] > [マイアプリケーション] を選択し、[データアクセス制御] タブをクリックします。 Approval status、Application Time、Workspace などの条件で絞り込んで、現在の Alibaba Cloud アカウントの申請レコードを表示できます。
また、対象のリクエストの Operation 列にある View details をクリックして、詳細情報を表示することもできます。Approval status が 承認中 のリクエストについては、後続の承認操作に進むことができます。
権限承認記録の表示
データアクセスコントロールページの [権限承認記録] タブは 非推奨になりました。リストは [申請と承認] > [マイ承認タスク] ページに移行されました。元のタブには承認記録リストが表示されなくなり、移行通知のみが表示されます。権限承認記録を表示するには、以下の手順に従ってください。
左側のナビゲーションペインで、[アプリケーション & 承認] > [マイ承認タスク] を選択し、[データアクセス制御] タブをクリックします。タスクステータスを [すべて] に設定します。Application account number、Approval Results、Workspace、およびその他の条件で絞り込むと、現在の Alibaba Cloud アカウントでの承認レコードを表示できます。
また、対象のリクエストのOperation列でView detailsをクリックして詳細情報を表示することもできます。
[Permission Audit]
権限承認が完了したら、「権限監査」タブに移動し、フィルター条件を使用して対象のリソースを検索および監査し、Authorization Informationを表示し、「操作」列でReclaim permissionまたはView permissionsをクリックできます。
[権限監査] タブは現在 MaxCompute エンジンのみをサポートしています。Hologres、DLF、Hive、Lindorm、StarRocks などの他のエンジンは、このタブでの権限監査に対応していません。
フィルタ設定
権限監査リストは、以下のフィルタ設定を完了した後にのみデータを読み込みます:
申請タイプ:現在は テーブルに固定されています。
データソースタイプ:現在は MaxCompute に固定されています。
ワークスペース:対象ワークスペースを選択します。
プロジェクト:対象 MaxCompute プロジェクトを選択します。
スキーマ:選択したプロジェクトで 3層モデルが有効になっている場合にのみ表示されます。複数選択がサポートされています。
ページの上部に固定通知が表示されます:権限監査では、削除されたワークスペース、削除されたプロジェクト、削除されたオブジェクトのフィルタリングはサポートされていません。削除されたオブジェクトは監査リストから除外されます。
リストの説明
フィルタ設定を完了すると、リストには現在の条件に一致するすべての監査可能なテーブルリソースが表示されます。行の先頭にある展開アイコンをクリックすると、テーブルの認可詳細を表示できます。展開されたセクションには次の列が含まれます:
列 |
説明 |
アカウント |
テーブルの権限を持つアカウント。 |
取得方法 |
権限の取得元 (権限申請によって取得 / 能動的に付与 / その他)。 |
権限 |
付与された権限 (Select / Update / Download / Describe / Alter / Drop など)。 |
有効期限 |
権限の有効期限。永続的な権限は永続と表示されます。 |
列レベルの権限の回収と表示
展開された行の [操作] 列には、次の 2 つのボタンがあります:
-
権限の回収: 回収する権限を選択して確認します。対応するテーブルレベルの権限がアカウントから即座に取り消されます。
-
権限を表示: 詳細ダイアログが表示され、アカウントがテーブルに対して持つすべての列レベルの権限がリストされます。ダイアログで複数の列を選択し、[列権限を回収] をクリックして取り消すことができます。
現在のアカウントで権限監査機能が有効になっていない場合、展開された行エリアに「権限なし」のプレースホルダーページが表示されます。テナント管理者に連絡して、アカウントの権限監査機能を有効にしてください。