メインコンテンツまでスキップ

パイプラインの ID、権限、特権を管理する

ID、権限、および特権は、パイプラインとそれらが生成するデータを誰が実行、管理、およびクエリできるかを制御します。

Databricks では、すべての新しいパイプラインに Unity Catalog を使用することをお勧めします。デフォルトでは、 Unity Catalogで設定されたパイプラインで作成されたマテリアライズドビューとストリーミングテーブルは、パイプライン所有者のみがクエリできます。 「パイプラインで Unity Catalog を使用する」を参照してください。

パイプラインがレガシーHive metastoreにデータセットを公開する場合は、 「レガシーHive metastoreでLakeflow Spark宣言型パイプラインを使用する」を参照してください。

ID 構成に関する一般的なベスト プラクティスについては、 「ID のベスト プラクティス」を参照してください。

パイプラインの更新にはどのような ID が使用されますか?

パイプラインは、パイプライン所有者のIDを使用して更新を処理します。新しいパイプライン所有者を割り当てて、パイプラインの実行に使用されるIDを変更します。パイプライン所有者の変更を参照してください。

Databricks では、サービスプリンシパルをパイプライン所有者として設定することをお勧めします。 「サービスプリンシパル」を参照してください。

パイプラインの更新を実行できるのは誰ですか?

パイプラインの更新は、 CAN RUN 、 CAN MANAGE 、またはIS OWNER権限を持つ任意のユーザーまたはサービスプリンシパルによって実行できます。

誰がパイプラインとその出力を表示できますか?

パイプラインを開いてその詳細を表示するには、ユーザーはパイプラインで少なくともCAN VIEW権限が必要です。パイプラインの権限レベルとその各権限が付与する機能の完全なリストについては、Lakeflow Spark宣言型パイプライン ACLを参照してください。

ストリーミングテーブルまたはマテリアライズドビューをサポートするパイプラインを表示するには、管理者以外のユーザーも、パイプラインに対する権限に加えて、そのストリーミングテーブルまたはマテリアライズドビューに対するREFRESH権限が必要です。REFRESH権限がない場合、パイプラインのURLには パイプラインが利用できません と表示されます。

パイプラインの権限を構成する

権限を管理するには、パイプラインに対するCAN MANAGEまたはIS OWNER権限が必要です。パイプラインはアクセス制御リスト (ACL) を使用して権限を制御します。権限とその機能の完全なリストについては、 「 Lakeflow Spark宣言型パイプライン ACL」を参照してください。

  1. サイドバーで、 [ジョブとパイプライン] をクリックします。
  2. パイプラインの 名前 を選択します。
  3. 共有 をクリックします。 権限設定 ダイアログが表示されます。
  4. ユーザー、グループ、またはサービスプリンシパルの選択 をクリックし、ユーザー、グループ、またはサービスプリンシパルを選択します。
  5. 権限のドロップダウンメニューから権限を選択します。
  6. [ 追加 ] をクリックします。
  7. 保存 をクリックします。

パイプライン所有者を変更

パイプライン所有者は、パイプラインの更新が実行されるIDです。所有者を変更すると、今後の更新に使用されるIDが変更されます。

パイプラインの所有者を変更するには、メタストア管理者とワークスペース管理者の両方である必要があります。UI または REST API を使用して、所有者を変更します。

UIを使用します

  1. サイドバーで、 [ジョブとパイプライン] をクリックします。
  2. パイプラインの**名前**を選択します。
  3. 共有 をクリックします。 権限設定 ダイアログが表示されます。
  4. 現在の所有者をクリアしてから、新しい所有者を選択します。所有者は、ユーザーまたはサービスプリンシパルにすることができます。Databricks はサービスプリンシパルをお勧めします。See サービスプリンシパル.
  5. 保存 をクリックします。

REST APIを使用してください

一部の内部管理パイプラインなど、UIで所有者コントロールが利用できない場合は、パイプライン権限の設定 REST API 操作で所有者を変更します。新しい所有者のIS_OWNER権限レベルでuser_name(サービスプリンシパルの場合はservice_principal_name)を指定します。

JSON
{
"access_control_list": [
{
"user_name": "new.owner@example.com",
"permission_level": "IS_OWNER"
}
]
}

ユーザーがメタストア管理者とワークスペース管理者の両方ではない場合

組織内にメタストア管理者とワークスペース管理者の両方がいない場合は、Databricksの担当者にお問い合わせいただき、パイプライン所有者を変更してください。

管理者以外のユーザーが Unity Catalog 対応パイプラインからドライバー ログを表示できるようにする

デフォルトでは、パイプラインの所有者とワークスペース管理者のみが、Unity Catalog 対応パイプラインを実行するクラスターからのドライバー ログを表示できます。 パイプライン設定の configuration オブジェクトに次の Spark 構成パラメーターを追加することで、CAN MANAGE、CAN VIEW、または CAN RUN のアクセス許可を持つ任意のユーザーのドライバー ログへのアクセスを有効にすることができます。

JSON
{
"configuration": {
"spark.databricks.acl.needAdminPermissionToViewLogs": "false"
}
}