コンピュート ポリシーの作成と管理
この記事では、ワークスペースでポリシーを作成および管理する方法について説明します。 ポリシー定義の記述に関する情報については、「 コンピュート ポリシー リファレンス」を参照してください。
ポリシーには Premiumプラン以上が必要です。
コンピュート ポリシーとは?
ポリシーは、ワークスペース管理者が一連のポリシー ルールに基づいてユーザーまたはグループのコンピュート作成アクセス許可を制限するために使用できるツールです。
ポリシーには、次の利点があります。
- ユーザーによるクラスターの作成を所定の設定に制限します。
- ユーザーによるクラスターの作成を特定の数に制限します。
- (一部の値を修正および非表示にすることによって)ユーザーインターフェースを簡素化し、より多くのユーザーが独自のクラスターを作成できるようにします。
- クラスターごとの最大コストを制限してコストを制御します(時間単位の価格に寄与する値を持つ属性に制限を設定します)。
- クラスターをスコープとするライブラリのインストールを強制します。
ポリシーを作成する
これらは、ポリシーを作成するための基本的な手順です。 ポリシーを定義する方法については、「 コンピュート ポリシー リファレンス」を参照してください。
- サイドバーの
[ コンピュート ]をクリックします。
- [ ポリシー ] タブをクリックします。
- 「 ポリシーの作成 」をクリックします。
- ポリシーに名前を付けます。ポリシー名では大文字と小文字が区別されません。
- 必要に応じて、[ ファミリ ] ドロップダウンからポリシー ファミリを選択します。 これにより、ポリシーの作成元となるテンプレートが決まります。
- ポリシーの [ 説明 ] を入力します。これは、他のユーザーがポリシーの目的を知るのに役立ちます。
- 「 定義」 タブで、 ポリシー定義を入力します。
- ライブラリ タブで、ポリシー をコンピュートにインストールするコンピュート スコープのライブラリを追加します。ポリシーへのライブラリの追加を参照してください。
- [アクセス許可 ] タブで、ポリシーのアクセス許可を割り当て、必要に応じて、ユーザーがそのポリシーを使用して作成できるリソースの最大数を設定します。
- 作成 をクリックします。
ポリシー ファミリを使用する
ポリシーを作成するときに、ポリシーファミリーの使用を選択できます。 ポリシー ファミリは、一般的なコンピュートのユース ケースに対応するように設計された、事前に設定されたルールを含む Databricks提供のポリシー テンプレートです。
ポリシーファミリーを使用する場合、ポリシーのルールはポリシーファミリーから継承されます。 ポリシーファミリを選択した後、ポリシーをそのまま作成することも、ルールを追加するか、特定のルールを上書きすることもできます。 ポリシー ファミリの詳細については、「 デフォルト ポリシー」および「ポリシー ファミリ」を参照してください。
ポリシーへのライブラリの追加
ライブラリをポリシーに追加して、ライブラリがコンピュート リソースに自動的にインストールされるようにすることができます。ポリシーには最大 500 個のライブラリを追加できます。
以前にinitスクリプトを使用してコンピュートスコープのライブラリを追加したことがあるかもしれません。 Databricks 、ライブラリのインストールにはinitスクリプトの代わりにコンピュートポリシーを使用することをお勧めします。
ポリシーにライブラリを追加するには:
-
[ ポリシーの作成 ] ページの下部にある [ ライブラリ ] タブをクリックします。
-
[ライブラリの追加 ] をクリックします。
-
「ライブラリソース 」オプションのいずれかを選択し、以下に概説する指示に従います。
ライブラリのソース
手順
ワークスペース
ワークスペースファイルを選択するか、Whl、zip 形式のホイールハウス、JAR、ZIP、tar、または requirements.txt ファイルをアップロードします。 「ワークスペース ファイルからのライブラリのインストール」を参照してください
ボリューム
ボリュームから Whl、JAR、または requirements.txt ファイルを選択します。 ボリュームからのライブラリーのインストールを参照してください。
ファイルパス/S3
ライブラリの種類を選択し、ライブラリ オブジェクトへの完全な URI を指定します (例:
s3://bucket-name/path/to/library.whl
)。 オブジェクトストレージからのライブラリのインストールを参照してください。PyPI
PyPI パッケージ名を入力します。 PyPI パッケージを参照してください。
Maven
Maven 座標を指定します。 「Maven または Spark パッケージ」を参照してください。
CRAN
パッケージの名前を入力します。 CRAN パッケージを参照してください。
DBFS (非推奨)
JAR または Whl ファイルを DBFSルートに読み込みます。DBFS に格納されたファイルは、どのワークスペース ユーザーでも変更できるため、これはお勧めしません。
-
[ 追加 ] をクリックします。
ポリシーにライブラリを追加した場合の影響
ライブラリをポリシーに追加する場合:
- ユーザーは、このポリシーを使用するコンピュートにコンピュートスコープのライブラリをインストールまたはアンインストールすることはできません。
- 既存のコンピュートの UI、 REST API、または CLI を使用して構成されたライブラリは、次回コンピュートを再起動したときに削除されます。
- このポリシー in ジョブ コンピュート リソースを使用するタスクの依存関係ライブラリは無効になります。
ポリシーのアクセス許可
デフォルトでは、ワークスペース管理者はすべてのポリシーに対する権限を持っています。 管理者以外のユーザーには、ポリシーにアクセスするためのポリシーに対するアクセス許可が付与されている必要があります。
ユーザーが無制限のクラスター作成権限を持っている場合、 Unrestricted ポリシーにもアクセスできます。 これにより、完全に構成可能なコンピュート リソースを作成できます。
ユーザーがどのポリシーにもアクセスできない場合、ポリシー ドロップダウン は UI に表示されません。
ユーザーあたりのコンピュートリソースの数を制限する
ポリシーのアクセス許可を使用すると、ユーザーごとにコンピュート リソースの最大数を設定できます。 これにより、ユーザーがそのポリシーを使用して作成できるリソースの数が決まります。 ユーザーが制限を超えると、操作は失敗します。
ポリシーを使用してユーザーが作成できるリソースの数を制限するには、ポリシー UI の [アクセス許可 ] タブの [ ユーザーあたりの最大コンピュート リソース ] 設定に値を入力します。
Databricks は、制限を維持するためにリソースを事前に終了しません。 ユーザーが 3 つのコンピュート リソースをポリシーと共に実行しており、ワークスペース管理者が制限を 1 つに減らした場合、3 つのリソースは引き続き実行されます。 制限に準拠するために、追加のリソースを手動で終了する必要があります。
ポリシーを管理する
ポリシーを作成したら、編集、クローニング、および削除できます。
また、ポリシーを使用するコンピュート リソースを表示して、ポリシーの採用を監視することもできます。 ポリシー ページで、表示したいポリシーをクリックします。次に、「 コンピュート 」タブまたは 「ジョブ」 タブをクリックして、ポリシーを使用するリソースのリストを表示します。
ポリシーの編集
ポリシーを編集して、そのアクセス許可またはその定義を更新することができます。 ポリシーを編集するには、ポリシー ページからポリシーを選択し、[ 編集 ] をクリックします。 [編集 ] をクリックした後、[ アクセス許可 ] タブをクリックして、ポリシーのアクセス許可を更新できます。その後、ポリシーの定義を更新することもできます。
ポリシーの定義を更新した後、そのポリシーを使用して作成されたコンピュート リソースは、新しいポリシー定義で自動的に更新されません。 ポリシー コンプライアンス enforcement を使用して、これらのコンピュート リソースのすべてまたは一部を更新することを選択できます。 「ポリシーコンプライアンスの強制」を参照してください。
ポリシーのクローニング
クローニング機能を使用して、既存のポリシーから新しいポリシーを作成することもできます。 クローニングするポリシーを開き、[ クローニング] ボタンをクリックします。 次に、変更するフィールドの値を変更し、[ 作成 ] をクリックします。
ポリシーを削除する
ポリシー ページからポリシーを選択し、[ 削除 ] をクリックします。 ポリシーを削除してもよろしいか尋ねられたら、もう一度 [削除 ] をクリックします。
削除されたポリシーによって管理されているコンピュートは引き続き実行できますが、ユーザーが無制限のクラスター作成権限を持っていない限り、編集することはできません。
ポリシーコンプライアンスを徹底する
ポリシーを編集した後、そのポリシーを使用して作成されたコンピュート リソースは、新しいポリシー ルールに準拠するように自動的に更新されません。 ポリシーによって管理されるコンピュート リソースの一覧を表示するには、UI でポリシーをクリックし、 次にコンピュート タブをクリックして関連する汎用コンピュートを表示する か、ジョブ タブをクリックしてポリシーによって管理されるコンピュートで実行されるジョブの一覧を表示します。
これらのリストは、コンピュート リソースが現在のポリシー 定義とコンプライアンスから外れているかどうかも教えてくれます。
ポリシーに準拠するようにコンピュート リソースを更新するには:
- ポリシー ページで、更新したポリシーをクリックします。
- 「 コンピュート 」タブまたは 「ジョブ」 タブをクリックして、ポリシーを使用するリソースまたはジョブのリストを表示します。 コンプライアンス 列は、現在のポリシー定義でコンプライアンス内にあるリソースを示します。
- 「 すべて修正 」をクリックして、コンプライアンス違反のリスト内のすべてのコンピュート・リソースを更新します。 また、リソースの行にある 「修正 」ボタンをクリックして、コンピュートリソースを個別に更新することもできます。
- (オプション)現在実行中のコンピュートにポリシーを適用する場合は、 Enforce 稼働中のクラスター にチェックを入れてください。 これにより、実行中のコンピュート リソースがすぐに再起動されます。
- [適用 ] をクリックして更新を行います。強制操作が完了すると、行われた変更の概要が表示されます。
- [ 完了 ] をクリックします。
さらに、コンプライアンス外の汎用コンピュート リソースには、コンピュートの詳細 UI に コンプライアンス外 ラベルが含まれています。 コンピュート リソースに対する CAN MANAGE 権限を持つユーザーは、このページから [その他 ] をクリックし、[ コンプライアンスの修正 ] をクリックしてコンプライアンスを適用できます。