Okta のSCIMプロビジョニングを構成する

この記事では、Okta を使用して Databricks プロビジョニングを設定する方法について説明します。 ユーザーとグループを Databricks にプロビジョニングするには、Okta テナントが Okta ライフサイクル管理機能を使用している必要があります。

プロビジョニングの設定は、Databricks アカウント レベルまたは Databricks ワークスペース レベルで設定できます。

Databricks ユーザーは、Google クラウド ID アカウント (または GSuite アカウント) を使用してアカウントとワークスペースに対して認証を行います ( 「シングル サインオン」を参照)。 Oktaを使用してユーザーをアカウントまたはワークスペースにプロビジョニングする場合、そのユーザーは認証のためにGoogle クラウドIDアカウントも持っている必要があります。

Databricks では、ユーザー、サービスプリンシパル、およびグループをアカウント レベルにプロビジョニングし、 ID フェデレーションを使用してユーザーとグループをワークスペースに割り当てることをお勧めします。 ID フェデレーションが有効になっていないワークスペースがある場合は、引き続きユーザー、サービスプリンシパル、およびグループをそれらのワークスペースに直接プロビジョニングする必要があります。

プロビジョニングに対する ID フェデレーションの影響の説明や、アカウント レベルとワークスペース レベルのプロビジョニングを使用するタイミングに関するアドバイスなど、Databricks での SCIM プロビジョニングの詳細については、「 ID プロバイダーからユーザーとグループを同期する」を参照してください。

顔立ち

Databricksは、Okta統合ネットワーク(OIN)のプロビジョニング・アプリとして利用でき、Oktaを使用してユーザーとグループをDatabricksで自動的にプロビジョニングできます。

Databricks Oktaアプリケーションを使用すると、次のことができます。

  • Databricks アカウントまたはワークスペースにユーザーを招待する

  • 招待ユーザーまたはアクティブなユーザーをグループに追加する

  • Databricks アカウントまたはワークスペースの既存のユーザーを非アクティブ化する

  • グループとグループ メンバーシップを管理する

  • プロファイルの更新と管理

要件

  • Databricks アカウントには Premium プランが必要です。

  • Okta開発者ユーザーである必要があります。

  • Databricks アカウントのプロビジョニングを設定するには、Databricks アカウント管理者である必要があります。

  • Databricks ワークスペースのプロビジョニングを設定するには、Databricks ワークスペース管理者である必要があります。

Okta を使用したアカウントレベルのSCIMプロビジョニングの設定

このセクションでは、Okta SCIMコネクタを構成して、ユーザーとグループをアカウントにプロビジョニングする方法について説明します。

Databricks でSCIMトークンとアカウントのSCIM URLを取得する

  1. アカウント管理者として、Databricks アカウント コンソールにログインします。

    1. [設定 ] をクリックします 。 ユーザー設定アイコン

    2. [ ユーザー プロビジョニング] をクリックします。

    3. [ ユーザー プロビジョニングを有効にする] をクリックします。

      SCIM トークンとアカウントの SCIM URL をコピーします。 これらを使用して、Oktaでコネクタを構成します。

SCIM トークンはアカウント SCIM API /api/2.0/accounts/{account_id}/scim/v2/ に制限されており、他の Databricks REST APIsに対する認証には使用できません。

Okta でのSCIMプロビジョニングの構成

  1. Okta管理ポータルにログインします。

  2. アプリケーション 」に移動し 、「アプリ・カタログの参照」をクリックします。

  3. [ アプリ統合の参照] カタログで Databricks を検索します。

  4. [ 統合の追加] をクリックします。

  5. [ 追加] Databricks で、次のように構成します。

    • [アプリケーション ラベル] に、 アプリケーションの名前を入力します。

    • [ ユーザーにアプリケーション アイコンを表示しない] を選択します。

    • [ Oktaモバイルアプリにアプリケーションアイコンを表示しない]を選択します。

  6. [ 完了] をクリックします。

  7. [ プロビジョニング] をクリックし、次のように入力します。

    • [プロビジョニング ベース URL] に、 Databricksからコピーした SCIM URL を入力します。

    • [プロビジョニング API トークン] に、Databricks からコピーした SCIM トークンを入力します。

  8. [ API 資格情報のテスト] をクリックし、接続が成功したことを確認して、[ 保存] をクリックします。

  9. [プロビジョニング] タブをリロードします。追加の設定は、API 資格情報のテストが成功した後に表示されます。

  10. Oktaの変更をDatabricksにプッシュするときの動作を構成するには、[ アプリへのプロビジョニング]をクリックします。

    • [ 編集] をクリックします。 必要な機能を有効にします。 Databricks では、ユーザー の作成ユーザー属性の更新、および ユーザーの非アクティブ化を有効にすることをお勧めします。

    • [ Databricks 属性マッピング] で、 Databricks 属性マッピングを確認します。 これらのマッピングは、上記で有効にしたオプションによって異なります。 必要に応じてマッピングを追加および編集できます。 Oktaドキュメントの [プロビジョニング]ページでのアプリケーション属性のマッピング を参照してください。

  11. Databricksの変更をOktaにプッシュするときの動作を構成するには、[ Oktaへ]をクリックします。 既定の設定は、Databricks プロビジョニングに適しています。 デフォルト設定と属性マッピングを更新する場合は、Oktaドキュメントの 「プロビジョニングとプロビジョニング解除 」を参照してください。

統合 をテストする

構成をテストするには、Oktaを使用してユーザーをDatabricksアカウントに招待します。

  1. Oktaで、[ アプリケーション ]に移動し、[ Databricks]をクリックします。

  2. [ プロビジョニング] をクリックします。

  3. [割り当て ]、[ユーザーに割り当てる] の順にクリックします。

  4. Oktaユーザーを検索し、[ 割り当て]をクリックします。

  5. ユーザーの詳細を確認し、[割り当て] をクリックして 戻り、[ 完了] をクリックします。

  6. アカウント コンソール にログインし、[アカウントコンソールのユーザー管理アイコン ユーザー管理 ] をクリックして 、ユーザーが追加されたことを確認します。

この簡単なテストの後、「 Oktaを使用してDatabricksでユーザーとグループを管理する」の説明に従って一括操作を実行できます。

Okta (レガシー) を使用してワークスペースレベルの SCIM プロビジョニングをセットアップする

プレビュー

この機能はパブリックプレビュー段階です。

このセクションでは、OktaからDatabricksワークスペースへのプロビジョニングを直接設定する方法について説明します。

Databricks で API トークンと SCIM URL を取得する

  1. Databricks ワークスペース管理者として、個人用アクセス トークンを生成します。 「トークン管理」を参照してください。個人用アクセストークンは安全な場所に保管してください。

    重要

    この個人用アクセストークンを所有するユーザーは、Okta内で管理することはできません。 そうしないと、Oktaからユーザーを削除すると、SCIM統合が中断されます。

  2. Oktaの構成に必要な次のURLをメモします。

    https://<databricks-instance>/api/2.0/preview/scim/v2

    <databricks-instance> を Databricks デプロイの ワークスペース URL に置き換えます。「 ワークスペース オブジェクトの識別子を取得する」を参照してください。

このブラウザタブは開いたままにしておきます。

Okta の Databricks SAMLアプリケーションでSCIMプロビジョニングを構成す

  1. [アプリケーション]に移動し 、[Databricks]をクリックします。

  2. [ プロビジョニング] をクリックします。 上記のセクションから取得した次の情報を入力します。

    • プロビジョニング ベース URL: プロビジョニング エンドポイント

    • プロビジョニングAPIトークン: 個人用アクセストークン

  3. [ API 資格情報のテスト] をクリックします。

  4. [プロビジョニング] タブをリロードします。追加の設定は、API 資格情報のテストが成功した後に表示されます。

  5. Oktaの変更をDatabricksにプッシュするときの動作を構成するには、[ アプリへ]をクリックします。

    • [全般] で、[編集] をクリックします。必要な機能を有効にします。 Databricks では、少なくとも [ ユーザーの作成 ] を有効にすることをお勧めします。

    • [ Databricks 属性マッピング] で、 Databricks 属性マッピングを確認します。 これらのマッピングは、上記で有効にしたオプションによって異なります。 必要に応じてマッピングを追加および編集できます。 Oktaドキュメントの [プロビジョニング]ページでのアプリケーション属性のマッピング を参照してください。

  6. Databricksの変更をOktaにプッシュするときの動作を構成するには、[ Oktaへ]をクリックします。 既定の設定は、Databricks プロビジョニングに適しています。 デフォルト設定と属性マッピングを更新する場合は、Oktaドキュメントの 「プロビジョニングとプロビジョニング解除 」を参照してください。

統合 をテストする

構成をテストするには、Oktaを使用してユーザーをDatabricksワークスペースに招待します。

  1. Oktaで、[ アプリケーション ]に移動し、[ Databricks]をクリックします。

  2. [ プロビジョニング] をクリックします。

  3. [割り当て ]、[ユーザーに割り当てる] の順にクリックします。

  4. Oktaユーザーを検索し、[ 割り当て]をクリックします。

  5. ユーザーの詳細を確認し、[ 割り当てて戻る] をクリックします。 [ 完了] をクリックします。

  6. Databricks ワークスペースの管理者設定ページで、 [ID とアクセス ] タブをクリックし、 [ ユーザー ] セクションに移動して、ユーザーが追加されたことを確認します。 少なくとも、ユーザーにワークスペース権限を付与します。

この簡単なテストの後、次のセクションで説明するように、一括操作を実行できます。

Oktaを使用して Databricks 内のユーザーとグループを管理する

このセクションでは、DatabricksアカウントまたはワークスペースへのOkta SCIMプロビジョニングを使用して実行できる一括操作について説明します。

Databricks ワークスペースからOkta へのユーザーのインポート

DatabricksからOktaにユーザーをインポートするには、[インポート]タブに移動し 、[今すぐインポート]をクリックします。Eemailアドレスによって既存のOktaユーザーと自動的に照合されないユーザーの割り当てを確認して確認するよう求められます。

Databricks アカウントにユーザーとグループの割り当てを追加する

ユーザーとグループの割り当てを確認または追加するには、[ 割り当て ] タブに移動します。 Databricksでは、 Everyone という名前の Okta グループをアカウント レベルの SCIM プロビジョニング アプリケーションに追加することをお勧めします。 これにより、組織内のすべてのユーザーが Databricks アカウントに同期されます。

グループを Databricks にプッシュする

OktaからDatabricksにグループをプッシュするには、[ プッシュグループ] タブに移動します。 Databricks に既に存在するユーザーは、Eメール アドレスで照合されます。

アカウント からユーザーまたはグループを削除する

OktaのアカウントレベルのDatabricksアプリケーションからユーザーを削除すると、そのユーザーはDatabricksアカウントから削除され、それらのワークスペースでIDフェデレーションが有効になっているかどうかに関係なく、すべてのワークスペースにアクセスできなくなります。

Oktaのアカウント・レベルの Databricks ・アプリケーションからグループを削除すると、そのグループ内のすべてのユーザーがアカウントから削除され、アクセスしていたワークスペースにアクセスできなくなります(別のグループのメンバーであるか、アカウントまたはワークスペースへのアクセスが直接許可されている場合を除く)。 Databricks では、アカウント内のすべてのワークスペースへのアクセスを失わせる場合を除き、アカウント レベルのグループを削除しないことをお勧めします。

ユーザーを削除すると、次の結果に注意してください。

  • ユーザーが生成したトークンを使用するアプリケーションまたはスクリプトは、Databricks にアクセスできなくなります APIs

    • ユーザーが所有するジョブが失敗する

    • ユーザーが所有するクラスター 停止

    • クエリまたはユーザーが作成し、実行を所有者として資格情報を使用して共有するダッシュボードは、共有が失敗しないように新しい所有者に割り当てる必要があります

非アクティブ化されたユーザーをワークスペース から削除する

OktaのワークスペースレベルのDatabricksアプリケーションからユーザーを削除すると、そのユーザーはDatabricksワークスペースで 非アクティブ化 されますが、ワークスペースからは削除されません。 非アクティブ化されたユーザーには、 workspace-access または databricks-sql-access 資格がありません。 非アクティブ化されたユーザーの再アクティブ化は、Oktaにユーザーを再追加するか、Databricks SCIM APIを直接使用することで元に戻すことができます。 Databricks ワークスペースからのユーザーの削除は中断を伴い、元に戻すことはできません。

重要

Okta SCIMプロビジョニング・アプリを構成した管理者を非アクティブ化しないでください。 そうしないと、SCIM 統合は Databricks に対して認証できません。

Databricks ワークスペースからユーザーを削除するには:

  1. 管理者設定ページで、[ ユーザー ] タブに移動します。

  2. ユーザーの行の末尾にある [x ] をクリックします。

ユーザーを削除すると、次の結果に注意してください。

  • ユーザーによって生成されたトークンを使用するアプリケーションまたはスクリプトは、Databricks API にアクセスできなくなります。

  • ユーザーが所有するジョブは失敗します

  • ユーザーが所有するクラスターは停止します

  • ユーザーが作成し、所有者として実行資格情報を使用して共有されたクエリーまたはダッシュボードは、共有が失敗しないように、新しい所有者に割り当てる必要があります。

制限

  • ワークスペースレベルのOktaアプリケーションからユーザーを削除すると、ユーザーを削除するのではなく、Databricksでユーザーが非アクティブ化されます。 Databricks からユーザーを直接削除する必要があります

  • 非アクティブ化されたユーザーを削除するには、まったく同じEメールアドレスを使用してOktaに再度追加します。

トラブルシューティングとヒント

  • Databricksプロファイルに名または姓がないユーザーは、新しいユーザーとしてOktaにインポートできません。

  • プロビジョニングのセットアップ前に Databricks に存在していたユーザー:

    • Oktaユーザーにすでに存在し、Eメール・アドレス(ユーザー名)に基づいて照合される場合、自動的にOktaユーザーにリンクされます。

    • 既存のユーザーに手動でリンクするか、自動的に一致しない場合はOktaで新しいユーザーとして作成できます。

  • 個別に割り当てられ、グループのメンバーシップを通じて複製されたユーザー権限は、ユーザーのグループ メンバーシップが削除された後も残ります。

  • Databricks ワークスペースから削除されたユーザーは、そのワークスペースにアクセスできなくなりますが、他の Databricks ワークスペースには引き続きアクセスできる場合があります。

  • admins グループは Databricks の予約済みグループであり、削除できません。

  • Databricks のグループの名前を変更することはできません。Oktaで名前を変更しようとしないでください。

  • Databricks グループ API またはグループ UI を使用して、Databricks ワークスペース レベルの グループ のメンバーの一覧を取得できます。

  • Databricks のユーザー名と Eメール アドレスを更新することはできません。