セキュリティ設定では、データセキュリティとアクセスをきめ細かく制御できます。SPARK バッチタスク(Spark Jar、PySpark)のスイッチと認証モードを構成して、データセキュリティを確保できます。このトピックでは、厳格な権限モードを設定し、SPARK バッチタスク(Spark Jar、PySpark)を構成する方法について説明します。
前提条件
セキュリティ設定機能を使用するには、インテリジェント開発版または基本開発版を購入する必要があります。
厳格な権限モード
背景情報
Dataphin 管理センターは、プロジェクトセーフモード設定機能をサポートしています。この設定がないと、以下のセキュリティ問題が発生する可能性があります。
ユーザーは、プロジェクト管理者の認識なしに、異なるプロジェクト間で DDL 操作を実行できます。
説明詳細については、「DDL 文」をご参照ください。
同じプロジェクト内で、ユーザーは開発環境で本番環境のデータを直接操作できるため、データ漏洩や本番環境の偶発的な変更につながる可能性があります。
次の表では、開発者ロールを例として、セーフモードが有効または無効になっている場合のプロジェクトに対する操作権限を示します。
操作
デフォルト(権限モードが無効)
クロスプロジェクトセーフモード(有効)
本番データセーフモード(有効)
現在のプロジェクトの開発環境におけるすべてのテーブル操作
サポートされています
-
-
現在のプロジェクトの本番環境におけるすべてのテーブル操作
サポートされています
-
サポートされていません
クロスプロジェクトクエリ
サポートされています
-
-
クロスプロジェクト DDL
サポートされています
サポートされていません
-
重要セーフモードを有効にすると、プロジェクトデータのセキュリティは向上しますが、システムパフォーマンスに影響を与える可能性があります。ビジネス要件に基づいて有効にすることをお勧めします。
現在の操作は、クロスプロジェクトセーフモードまたは本番データセーフモード機能によって管理されていないことを示します。
厳格な権限モードのデフォルト構成
Dataphin ホームページの上部メニューバーで、[管理センター] > [仕様設定] を選択します。
左側のナビゲーションウィンドウで、[データアクセス] > [セキュリティ設定] を選択して、[セキュリティ設定] ページに移動します。
[セキュリティ設定] ページで、[厳格な権限モード] タブをクリックし、[デフォルト構成] 領域で、クロスプロジェクトセーフモードと本番データセーフモードを有効または無効にします。
厳格な権限モード
説明
クロスプロジェクトセキュリティモード
無効:ターゲットオブジェクトを操作する権限がある場合は、クロスプロジェクトで DDL タスクを実行できます。
有効:クロスプロジェクトでの DDL タスク(テーブルの作成、削除、変更を含む)の実行と送信を禁止します。
本番データセキュリティモード
無効:開発環境で本番環境データを変更できます。
有効:開発環境では本番環境データを変更できません(テーブルの追加、削除、変更を含む)。
説明有効にした後、本番環境データを変更するには、公開プロセスを実行する必要があります。詳細については、「公開センター」をご参照ください。
厳格な権限モードのプロジェクト構成
個別に構成されていないプロジェクトは、デフォルト構成に準拠します。
各プロジェクトは、セーフモードを一度だけ構成できます。
[厳格な権限モード] タブで、[セーフモード構成を追加] ボタンをクリックします。
[セーフモード構成を追加] ダイアログボックスで、厳格な権限モードを有効にする必要があるプロジェクトを選択します。
パラメータ
説明
プロジェクト
セーフモードを構成する必要があるプロジェクトを選択します。複数選択がサポートされています。
クロスプロジェクトセキュリティモード
有効:任意のプロジェクトから現在のプロジェクトへの DDL(作成、削除、変更)を禁止します。
無効:権限を持つアカウントがプロジェクト間で DDL 操作を実行することを許可します。
本番データセキュリティモード
有効:任意のプロジェクトからプロジェクトの本番環境の DDL(作成、削除、変更)を禁止します。
無効:権限を持つアカウントがプロジェクトの本番環境データに対して DDL を実行することを許可します。
説明有効にした後、本番環境データを変更するには、公開プロセスを実行する必要があります。詳細については、「公開センター」をご参照ください。
[OK] をクリックして、プロジェクトレベルの厳格な権限モードの構成を完了します。
プロジェクト構成リスト
プロジェクト構成リストで、プロジェクト名、クロスプロジェクトセーフモード、および本番データセーフモードの状態を表示できます。
(オプション)プロジェクト名でターゲットプロジェクトを検索できます。
ターゲットプロジェクトで次の操作を実行できます。
操作
説明
セーフモードの説明を表示
クロスプロジェクトセーフモードまたは本番データセーフモードの後の
アイコンをクリックし、[図を表示] をクリックして、クロスプロジェクトセーフモードと本番データセーフモードの制御の詳細を理解できます。編集
プロジェクトを追加または削除したり、クロスプロジェクトセーフモードと本番データセーフモードの状態を有効または無効にしたりできます。
削除
プロジェクトセーフモード構成を削除した後、元に戻すことはできません。慎重に操作してください。
SPARK_JAR_ON_MAX_COMPUTE タスク
制限事項
SPARK_JAR_ON_MAX_COMPUTE タスクを利用する場合、読み取り権限と書き込み権限を含む、論理テーブルへのアクセスの認証が必要となります。
異なるコンピューティングエンジンは、さまざまなバージョンの SPARK_JAR_ON_MAX_COMPUTE タスクをサポートしています(たとえば、MaxCompute エンジンはデフォルトで SPARK V2.4.5 ですが、Hadoop エンジンのバージョンは未定です)。
SPARK_JAR_ON_MAX_COMPUTE タスク認証モードは、MaxCompute エンジンで有効にできますが、Hadoop エンジン(Inceptor を除く)では使用できません。
コンピュートエンジンが ArgoDB、Lindorm、StarRocks、GaussDB(DWS)、Databricks、Doris、または SelectDB の場合、このタスクの構成はサポートされていません。
手順
[セキュリティ設定] ページで、[SPARK_JAR_ON_MAX_COMPUTE タスク] タブをクリックして、SPARK_JAR_ON_MAX_COMPUTE タスクと認証モードを有効または無効にします。
SPARK_JAR_ON_MAX_COMPUTE タスク
説明
SPARK_JAR_ON_MAX_COMPUTE
無効:元の SPARK_JAR_ON_MAX_COMPUTE タスクは、引き続き編集、削除、実行、送信、および公開できます。
有効:SPARK_JAR_ON_MAX_COMPUTE タスクの作成をサポートします。
認証モード
無効:OpenAPI 機能モジュールが有効になっている場合にのみ有効にできます。
有効:認証が有効になると、SPARK バッチタスク(Spark Jar、PySpark)のデータアクセスは権限検証を受けます。元のタスクに対応する権限がない場合、タスクの実行は失敗します。
説明有効にした後、論理テーブルにアクセスできます。データテーブルには、論理プロジェクトとセクションを使用してアクセスできます。
[OK] をクリックして、構成を確定します。
関数認証構成
デフォルトでは、すべてのプロジェクトのオフライン関数は、project_name.function_name 形式を使用して呼び出すことができます。関数認証が追加されたプロジェクトの場合、関数を使用するための権限をリクエストする必要があります。
背景情報
このプロジェクトで作成された関数は、プロジェクト間で呼び出すことができるため、データセキュリティに大きなリスクをもたらします。データセキュリティを強化するには、オフライン関数の呼び出しを制御する必要があります。
[セキュリティ設定] ページで、[関数認証設定] タブをクリックし、[プロジェクトの追加] ボタンをクリックします。
[プロジェクトの追加] ダイアログボックスで、パラメーターを構成します。
プロジェクト:関数が属するプロジェクトを追加します。
重要本番環境のタスクが選択したプロジェクトの関数を呼び出す場合、この操作により本番タスクでエラーが報告される可能性があります。注意して操作してください。
[OK] をクリックして、追加を完了します。
プロジェクト設定リスト
追加されたプロジェクトの名前、環境、および説明情報を表示できます。
プロジェクト名のキーワードを使用して検索できます。
ターゲットプロジェクトで次の操作を実行できます。
削除:ターゲットプロジェクトの操作列にある 削除 アイコンをクリックします。削除後、そのプロジェクトの関数は、プロジェクト間で呼び出されたときに認証されなくなります。