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

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

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

Databricksユーザーは、Google Cloud Identity アカウント (または GSuite アカウント) を使用して アカウント および ワークスペース に対して認証を行います。シングル サインオンをご覧ください。 Okta を使用してアカウントまたはワークスペースにユーザーをログインする場合、そのユーザーは認証のために Google Cloud Identity アカウントも持っている必要があります。

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

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

機能

Databricks 、Okta Integration Network (OIN) の IT アプリとして利用可能であり、これにより、Okta を IT ユーザーやグループにDatabricksで自動的に使用できるようになります。

Databricks Okta アプリケーションを使用すると、次のことが可能になります。

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

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

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

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

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

要件

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

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

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

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

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

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

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

  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 の追加で、以下を構成します。

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

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

    • [ Do not display application icon in the Okta Mobile App(Oktaモバイルアプリにアプリケーションアイコンを表示しない)]を選択します。

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

  7. 「プロビジョニング」をクリックし、以下を入力します。

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

    • API[赤い トークン] に、 からコピーした トークンを入力します。SCIMDatabricks

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

  9. プロビジョニングタブを再読み込みします。 API 資格情報のテストが成功すると、追加の設定が表示されます。

  10. Okta の変更をDatabricksにプッシュする際の動作を構成するには、 [App にプッシュ]をクリックします。

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

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

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

統合をテストする

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

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

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

  3. 割り当て」をクリックし、「 ユーザーに割り当て」をクリックします。

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

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

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

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

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

プレビュー

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

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

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

  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 にプッシュする際の動作を構成するには、 [To App]をクリックします。

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

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

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

統合をテストする

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

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

  2. [割り当て]タブをクリックし、 [ユーザーに割り当てる] をクリックします

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

  4. ユーザーの詳細を確認します。 「 完了」をクリックします。

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

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

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

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

DatabricksスペースからOktaにユーザーをインポートする

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

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

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

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

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

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

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

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

ユーザーを削除すると次のような影響が生じることに注意してください。

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

    • ユーザーが所有するジョブは失敗になります。

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

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

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

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 から直接削除する必要があります。

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

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

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

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

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

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

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

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

  • adminsグループは Databricks で予約されているグループであり、削除できません。

  • Databricks ではグループの名前を変更できません。Okta でもグループの名前を変更しないでください。

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

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