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

自動ID管理の準備状況レポート

自動ID管理準備状況レポートは、アカウント管理者がDatabricksとIDプロバイダー(IdP)間の外部IDおよびグループメンバーシップの不一致を特定して解決するのに役立ちます。自動ID管理はIDフェデレーションが有効なワークスペース内でのみ機能するため、Databricksではアカウント内のすべてのワークスペースでIDフェデレーションを有効にすることを推奨しています。

自動ID管理の概要については、「自動ID管理」を参照してください。既存のアカウントを移行するには、「Microsoft Entra ID を使用した自動ID管理への移行」を参照してください。

不一致について

自動ID管理には、IDフェデレーションワークスペースが必要です。これは externalId を使用して、DatabricksのユーザーとグループをIDプロバイダーに直接Linkします。具体的には、Microsoft Entra IDのオブジェクトID、またはOktaのユーザーIDやグループIDを使用します。

externalIdの値が欠落しているか正しくない場合、メタデータの同期が中断され、重複したIDが作成されます。Databricksのグループメンバーシップは編集可能なため、IDプロバイダーとの同期から外れてdriftが発生し、SCIMプロビジョニングが無効になっていると問題を引き起こす可能性があります。

注記

準備状況レポートは、アカウント管理者のみが利用できます。

レポートが検出する問題

このレポートは、DatabricksでプロビジョニングされたIDのうち、IDプロバイダーに対応する一致するものがない外部IDを持つIDを発見するのに役立ちます。また、DatabricksとIDプロバイダーのグループメンバーシップ間の不一致も検出します。次の例は、レポートを使用して検出および解決できる問題を示しています。

製品内に重複したIDが表示されます

同じ名前でソースが異なる2つのIDがDatabricks管理UIに表示される場合、通常は外部IDの構成ミスが原因です。1つのアカウントIDと1つのIDプロバイダーIDの両方が、管理UIおよび共有ダイアログに表示されます。

この問題を解決するには、以下のエラーカテゴリを修正してください。

  • AIM_MISCONFIGURATION_CATEGORY_EXTERNAL_ID_NOT_IN_IDP
  • AIM_MISCONFIGURATION_CATEGORY_EXTERNAL_ID_MATCH_NAME_MISMATCH
  • AIM_MISCONFIGURATION_CATEGORY_NAME_MATCH_EXTERNAL_ID_MISMATCH

IDプロバイダーのグループメンバー数がDatabricksのカウントと一致しません

DatabricksのUIには、IDプロバイダーからのメンバー数が表示されます。このカウントには、Databricksグループには存在するがIDプロバイダーには存在しないメンバーは含まれません(ただし、それらのメンバーシップによって権限が付与される場合でも同様です)。

この問題を解決するには、以下のエラーカテゴリを修正してください:

  • AIM_MISCONFIGURATION_CATEGORY_GROUP_HAS_LOCAL_MEMBERS

IDプロバイダーグループのプロビジョニングに失敗しました

IDプロバイダーのグループをインポートする際、そのグループがDatabricksに既に存在するというエラーが表示される場合があります。Databricksではグループ名の一意性が強制されるため、既存のアカウントグループがその名前を予約していることが一般的です。

この問題を解決するには、以下のエラーカテゴリを修正してください:

  • AIM_MISCONFIGURATION_CATEGORY_NAME_MATCH_EXTERNAL_ID_MISMATCH

レディネスレポートを実行する

  1. アカウント管理者としてDatabricksアカウントコンソールにログインします。
  2. Security > Identity provider setup に移動します。
  3. Microsoft Entra IDまたはOktaの自動ID管理セットアップステップに従ってください。Microsoft Entra IDの自動ID管理を構成するまたはOktaの自動ID管理を構成するを参照してください。
  4. 自動ID管理を有効にする前に、IDプロバイダーの構成ミススキャンを起動してください。
  5. スキャンの処理が完了するまでお待ちください。アカウントのサイズによっては、数分から数時間かかる場合があります。Databricksでは、スキャンによる重大な問題が解決されたことを確認した後に、自動ID管理を有効にすることを推奨しています。自動ID管理を有効にして、後からスキャン結果を表示することもできます。
  6. スキャンが完了したら、同じセクションでスキャン結果を開きます。

これ以降、 ID管理 セクションでスキャン結果を表示し、新しいスキャンを開始できます。

スキャンが完了した後、新しいスキャンをリクエストできます。単一のプリンシパルを再確認するには、そのプリンシパルで 更新 をクリックします。問題を解決すると、そのプリンシパルは誤設定リストに表示されなくなります。

スキャン結果全体、または単一のカテゴリーの結果のCSVをダウンロードすることもできます。CSVの読み方については、「レポート出力の解釈」を参照してください。

レポート出力を解釈する

CSVエクスポートには、以下の列が含まれます:

  • principalId:Databricks内部ID。
  • principalType:プリンシパルIDのプリンシパルのタイプ。これには、ユーザー、グループ、またはService Principalを指定できます。
  • category: プリンシパル ID のエラーカテゴリ。詳細については、エラーカテゴリと修復を参照してください。
  • localPrincipalExternalId:プロビジョニングされたDatabricksプリンシパルに対してDatabricksに保存されている外部ID。
  • localPrincipalName: プロビジョニングされた Databricks プリンシパルに対して Databricks に保存されているユーザー名、アプリケーション ID、またはグループ名。
  • idpPrincipalExternalId: 特定のプリンシパルに対して ID プロバイダーに保存されている外部 ID。
  • idpPrincipalName:特定のプリンシパルに対してIDプロバイダーに保存されているユーザー名、アプリケーションID、またはグループ名。
  • localMembersWithExternalId: 外部IDを持っているが、IDプロバイダーグループのメンバーではないグループメンバーの内部ID(セミコロン区切り)。
  • localMembersWithoutExternalId:Databricksにのみ存在し、外部IDを持たないグループメンバーの内部ID(セミコロン区切り)。
  • hasMoreLocalMembersWithExternalId: CSVで提供されているよりも多くの localMembersWithExternalId メンバーが存在するかどうか。
  • hasMoreLocalMembersWithoutExternalId: CSVで提供されているよりも多くの localMembersWithoutExternalId メンバーが存在するかどうか。
  • failureReason: プリンシパルのスキャンが失敗した理由。

エラーのカテゴリと修復

レポートは、問題を以下のエラーカテゴリにグループ化します。各カテゴリでは、エラーの意味とその解決方法を説明しています。各カテゴリの解決策を使用して、影響を受ける各プリンシパルを修正してください。

AIM_MISCONFIGURATION_CATEGORY_EXTERNAL_ID_NOT_IN_IDP

プロビジョニングされたIDには外部IDが設定されていますが、IDプロバイダー内の同じタイプのどのIDとも一致しません。externalIdの構成が正しくありません。

解決するには:

  1. externalIdを有効な値に更新するか、削除してください。新しいexternalIdを設定する場合は、他のIDで使用されていないことを確認してください。プリンシパルの外部IDを更新するまたはグループの外部IDを削除するを参照してください。
  2. 使用する externalId を判別するには、AIM_MISCONFIGURATION_CATEGORY_NAME_MATCH_EXTERNAL_ID_MISMATCH カテゴリーを参照してください。

未解決の場合 : externalId がIDプロバイダーのIDにLinkされるべきである場合、重複したIDが表示されることがあります。1つは誤った externalId を持つもの、もう1つはIDプロバイダーからのものです。

AIM_MISCONFIGURATION_CATEGORY_EXTERNAL_ID_MATCH_NAME_MISMATCH

DatabricksのIDには、IDプロバイダー内で異なる一意の名前を持つIDにマップされる外部IDがあります。

解決するには:

  • ユーザーおよびService Principal :Databricksのユーザー名を更新します。変更を依頼するには、サポートチケットを提出してください。
  • グループ : アカウントグループがいずれかのグループ名を予約していないか確認します (Databricks ではグループ名の一意性が強制されます)。その場合は、外部グループがその名前を使用できるように、アカウントグループの名前を変更してください。

未解決の場合 :ユーザーがログインすると、同じ externalId を持ちながら異なるユーザー名を持つ2番目のユーザーが頻繁に作成されます。グループの場合、外部グループはその名前をIDプロバイダー側の対応するグループと同期できないことがよくあります。

AIM_MISCONFIGURATION_CATEGORY_NAME_MATCH_EXTERNAL_ID_MISMATCH

Databricks IDはIDプロバイダーのIDと一意の名前が一致していますが、そのexternalIdが一致していません。

解決するには、ほとんどの場合、Databricks externalId をIDプロバイダーのIDと一致するように更新します。IDプロバイダーやローカルデータによって異なる可能性があるため、セットアップに対してこれが正しいことを確認してください。idpPrincipalExternalId フィールドを使用して使用する externalId を見つけ、プリンシパルの外部IDを更新するの手順に従ってください。

未解決の場合 :重複したIDが表示される可能性があります。1つはexternalIdが正しくないか欠落しているもの、もう1つはIDプロバイダーからのものです。同じ名前のアカウントグループがすでに存在するため、同じ名前のIDプロバイダーグループのプロビジョニングも失敗する可能性があります(Databricksではグループ名の一意性が強制されます)。

AIM_MISCONFIGURATION_CATEGORY_GROUP_HAS_LOCAL_MEMBERS

Databricksグループには、externalIdの有無にかかわらず、IDプロバイダーに対応するメンバーシップを持たないメンバーが含まれています。

これを解決するには、ID プロバイダーを信頼できる唯一のソースにします。Databricks では、SCIM を使用してローカルで追加されたメンバーをグループから削除することを推奨しています。メンバーがグループに属している必要がある場合は、ID プロバイダーでそのメンバーを作成し、ID プロバイダーのグループに追加してください。影響を受けるメンバーについては、出力の localMembersWithExternalId フィールドと localMembersWithoutExternalId フィールドを参照してください。

解決されない場合 : メンバーはIDプロバイダーグループからアクセス権限を継承しますが、IDプロバイダーには表示されないため、アクセス権限の監査が困難になります。UI上のメンバー数はIDプロバイダーのメンバーのみを反映しているため、これらのメンバーは除外されます。

プリンシパルの外部IDを更新する

externalId を更新するには、アカウント SCIM API を使用します。完全なリクエスト形式については、「アカウント SCIM v2.1 APIリファレンス」を参照してください。

ヒント

プロセス中に問題が発生した場合に変更をロールバックできるように、実行する API 呼び出しをログに記録してください。

プリンシパルタイプのEndpointにPATCHリクエストを送信します:

Text
PATCH https://<account-console-url>/api/2.1/accounts/<account-id>/scim/v2/<Users|Groups|ServicePrincipals>/<databricks-id>
JSON
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [
{
"op": "replace",
"path": "externalId",
"value": "<new-external-id>"
}
]
}

グループの外部IDを削除する

グループのexternalIdを削除するには、アカウントSCIM APIを使用してください。値を空の文字列に設定します。

注記

Databricksでは現在、この操作はグループに対してのみサポートされています。

Text
PATCH https://<account-console-url>/api/2.1/accounts/<account-id>/scim/v2/Groups/<databricks-id>
JSON
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [
{
"op": "replace",
"path": "externalId",
"value": ""
}
]
}

その他のリソース