自動アイデンティティ管理準備レポートは、アカウント管理者がAzure DatabricksとIDプロバイダー(IdP)間の外部IDおよびグループメンバーシップの乖離を特定し解決するのに役立ちます。 自動アイデンティティ管理はアイデンティティフェデレーテッドワークスペース内でのみ機能するため、Databricksはアカウント内のすべてのワークスペース間でアイデンティティフェデレーションを有効にすることを推奨しています。
自動 ID 管理の概要については、「 自動 ID 管理」を参照してください。 既存アカウントの移行については、「Microsoft Entra IDによる自動ID管理への移行」をご覧ください。
相違について
自動アイデンティティ管理にはアイデンティティフェデレーテッドワークスペースが必要です。
externalIdを使って、Azure Databricksユーザーやグループを直接IDプロバイダーにリンクします。具体的にはMicrosoft Entra IDのオブジェクトIDやOktaのユーザーIDやグループIDです。
欠落または誤った externalId 値はメタデータ同期を破り、重複したアイデンティティを生み出します。 Azure Databricksのグループメンバーシップは編集可能であるため、IDプロバイダーとの同期がずれてSCIMプロビジョニングをオフにすると問題を引き起こすことがあります。
Note
準備度レポートはアカウント管理者のみが利用可能です。
報告書が検出した問題点
このレポートは、Azure Databricksでプロビジョニングされた外部IDとあなたのアイデンティティプロバイダーに対応していないIDの発見に役立ちます。 また、Azure Databricksとアイデンティティプロバイダーのグループメンバーシップ間の差異も検出します。 以下の例は、レポートが検出し解決するのに役立つ問題を示しています。
製品内に重複したアイデンティティが現れます
同じ名前の2つのIDが異なるソースでAzure Databricksの管理UIに現れた場合、通常は外部IDの設定ミスが原因です。 管理者のUIや共有ダイアログには、1アカウントIDと1IDプロバイダーIDの両方が表示されます。
この問題を解決するには、以下のエラーカテゴリーを修正してください:
AIM_MISCONFIGURATION_CATEGORY_EXTERNAL_ID_NOT_IN_IDPAIM_MISCONFIGURATION_CATEGORY_EXTERNAL_ID_MATCH_NAME_MISMATCHAIM_MISCONFIGURATION_CATEGORY_NAME_MATCH_EXTERNAL_ID_MISMATCH
アイデンティティプロバイダーのグループメンバー数がAzure Databricksのカウントと一致しません
Azure DatabricksのUIは、アイデンティティプロバイダーからのメンバー数を表示します。 このカウントは、Azure Databricksグループに存在し、アイデンティティプロバイダーには存在しないメンバーを除外しています。ただし、それらのメンバーシップは依然として権限を付与しています。
この問題を解決するために、以下のエラーカテゴリを修正してください:
AIM_MISCONFIGURATION_CATEGORY_GROUP_HAS_LOCAL_MEMBERS
アイデンティティプロバイダーグループのプロビジョニングが失敗した場合
アイデンティティプロバイダーグループをインポートすると、そのグループがすでにAzure Databricksに存在しているというエラーが出ることがあります。 既存のアカウントグループは通常、名前を保留します。なぜならAzure Databricksは一意のグループ名を強制するためです。
この問題を解決するために、以下のエラーカテゴリを修正してください:
AIM_MISCONFIGURATION_CATEGORY_NAME_MATCH_EXTERNAL_ID_MISMATCH
Azure Databricksのユーザーまたはサービスプリンシパルの表示名がアイデンティティプロバイダーと一致しません
ユーザーやサービスプリンシパルの一意な名前(ユーザーのユーザー名やサービスプリンシパルのアプリケーションID)はアイデンティティプロバイダーのアイデンティティと一致しますが、その表示名は異なります。 自動 ID 管理では一意の名前で照合されるため、次回の同期時に Azure Databricks の表示名は ID プロバイダーの値で上書きされます。 このカテゴリはユーザーおよびサービスプリンシパルのみに適用されます。 グループの表示名の不一致は確認されません。
この問題を解決するために、以下のエラーカテゴリを修正してください:
AIM_MISCONFIGURATION_CATEGORY_NAME_MATCH_DISPLAY_NAME_MISMATCH
準備状況レポートを実行
- Azure Databricksアカウントコンソールにアカウント管理者としてログインしてください。
- セキュリティ>アイデンティティプロバイダーの設定に進みます。
- アイデンティティ管理セクションで新しいスキャンを開始します。 自動ID管理が有効かどうかに関わらずスキャンを開始できます。
- スキャン処理が終わるのを待ちましょう。 これには口座の規模によって数分から数時間かかることもあります。
- スキャンが完了したら、同じセクションでスキャン結果を開きます。
スキャンが完了した後、新しいスキャンをリクエストできます。 単一の校長を再確認するには、その校長の 「更新 」をクリックしてください。 問題を解決した後は、誤設定リストにはプリンシパルが表示されなくなります。
また、スキャン結果全体や単一カテゴリーの結果のCSVをダウンロードすることも可能です。 CSVの読み方については 「レポート出力の解釈 」を参照してください。
レポートの出力を解釈する
CSVエクスポートには以下の列が含まれています:
-
principalId: Azure Databricks 内部 ID です。 -
principalType: プリンシパル ID のプリンシパルの種類。 ユーザー、グループ、またはサービス プリンシパルを指定できます。 -
category:主IDの誤差カテゴリ。 詳細は「 エラーカテゴリーおよび修復」 を参照してください。 -
localPrincipalExternalId: Azure Databricksに保存されている、プロビジョニングされたAzure Databricksプリンシパルの外部ID。 -
localPrincipalName: Azure Databricks に保存されている、プロビジョニングされた Azure Databricks プリンシパルのユーザー名、アプリケーション ID、またはグループ名。 -
idpPrincipalExternalId: 特定のプリンシパルに対してアイデンティティプロバイダーに保存されている外部ID。 -
idpPrincipalName: 特定のプリンシパルに対して、アイデンティティプロバイダーに保存されているユーザー名、アプリケーションID、またはグループ名。 -
localPrincipalDisplayName: Azure Databricks に保存されている表示名は、プロビジョニングされたAzure Databricks principalのためです。 -
idpPrincipalDisplayName: 特定のプリンシパルに対して識別プロバイダーに保存される表示名。 -
localMembersWithExternalId:外部IDを持ちながらアイデンティティプロバイダーグループに属していないグループメンバーのセミコロン分離された内部ID。 -
localMembersWithoutExternalId: Azure Databricksにのみ存在し外部IDを持たないグループメンバーのセミコロン分離された内部ID。 -
hasMoreLocalMembersWithExternalId: CSVで記載されているメンバー数よりもlocalMembersWithExternalIdが多いかどうか。 -
hasMoreLocalMembersWithoutExternalId: CSVで記載されているメンバー数よりもlocalMembersWithoutExternalIdが多いかどうか。 -
failureReason校長のスキャンが失敗した理由だ。
エラーカテゴリーと是正
レポートは以下のエラーカテゴリーに分類されます。 各カテゴリーはエラーの意味と解決方法を説明しています。 影響を受ける各プリンシパルを、カテゴリに対応する解決策を使用して修正します。
AIM_MISCONFIGURATION_CATEGORY_EXTERNAL_ID_NOT_IN_IDP
プロビジョニングされたアイデンティティは外部IDセットを持っていますが、アイデンティティプロバイダー内の同じタイプのIDとは一致しません。
externalIdの設定が間違っています。
解決するには、以下を行います。
-
externalIdを有効な値に更新するか、削除してください。 新しいexternalIdを設定する場合は、他のアイデンティティが使わないようにしてください。 プリンシパルの外部 ID を更新するまたはグループの外部 ID を削除するを参照してください。 - どの
externalIdを使うか判断するには、AIM_MISCONFIGURATION_CATEGORY_NAME_MATCH_EXTERNAL_ID_MISMATCHカテゴリを参照してください。
解決されない場合: externalId がアイデンティティプロバイダーのアイデンティティにリンクされるべき場合、 externalId が間違っているアイデンティティとアイデンティティプロバイダーからの重複アイデンティティが現れる可能性があります。
AIM_MISCONFIGURATION_CATEGORY_EXTERNAL_ID_MATCH_NAME_MISMATCH
Azure Databricks の ID には外部 ID があり、その外部 ID は ID プロバイダー内で異なる一意の名前を持つ ID に対応付けられています。
解決するには、以下を行います。
- ユーザーおよびサービスプリンシパル:Azure Databricksのユーザー名を更新してください。 変更を依頼するためにサポートチケットを提出してください。
- グループ:どのアカウントグループがグループ名を予約しているか確認してください(Azure Databricksはユニークなグループ名を強制します)。 もしそうなら、アカウントグループの名前を変更して外部グループがその名前を主張できるようにします。
解決されない場合:ユーザーがログインすると、同じexternalIdでも異なるユーザー名を持つ2人目のユーザーが生成されることがよくあります。 グループの場合、外部グループの名前は、対応する ID プロバイダー側のグループ名と同期できないことがよくあります。
AIM_MISCONFIGURATION_CATEGORY_NAME_MATCH_EXTERNAL_ID_MISMATCH
Azure Databricks の ID は、ID プロバイダーの ID と名前は一意に一致していますが、externalId は一致しません。
解決するには、ほとんどの場合、Azure Databricks externalIdをアイデンティティプロバイダーのアイデンティティに更新します。 これがあなたの設定に合っているか確認してください。IDプロバイダーやローカルデータによって異なる場合があります。
idpPrincipalExternalId フィールドを使用して、使用する externalId を見つけてから、プリンシパルの外部 ID を更新 に従ってください。
未解決の場合:重複したアイデンティティが見られます。1つは誤ったまたは欠落externalId、もう1つはアイデンティティ提供者からのものです。 同じ名前のアイデンティティプロバイダーグループをプロビジョニングしても失敗することがあります。なぜなら、アカウントグループがすでにその名前を使っているため(Azure Databricksは一意のグループ名を強制します)、
AIM_MISCONFIGURATION_CATEGORY_NAME_MATCH_DISPLAY_NAME_MISMATCH
Azure Databricksのユーザーやサービスプリンシパルは、アイデンティティプロバイダーのアイデンティティと一意の名前が一致しますが、その表示名は異なります。 一意の名前はユーザーのユーザー名、またはサービスプリンシパルのアプリケーションIDです。 自動アイデンティティ管理は一意の名前に一致するため、アイデンティティプロバイダーの表示名を真実の情報源として扱います。 このカテゴリはユーザーおよびサービスプリンシパルのみに適用されます。 グループは、表示名の不一致についてはチェックされません。
解決するには、IDプロバイダーの表示名が正しいか確認してください。 Azure Databricksの表示名を維持したい場合は、次の同期前にアイデンティティプロバイダーのユーザーまたはサービスプリンシパルを更新してください。
解決されない場合:次の同期でAzure Databricksの表示名がアイデンティティプロバイダーの値に上書きされます。 これは表示名に頼る場合、例えばそれを参照する自動化で混乱を招きます。
AIM_MISCONFIGURATION_CATEGORY_GROUP_HAS_LOCAL_MEMBERS
Azure Databricksグループには、externalIdの有無にかかわらず、識別提供者に対応するメンバーシップを持たないメンバーがいます。
解決のために、アイデンティティプロバイダーを真実の出典にしてください:DatabricksはSCIMを使ってローカルに追加されたメンバーをグループから削除することを推奨しています。 もしメンバーがグループに属している場合は、そのメンバーをアイデンティティプロバイダーに作成し、アイデンティティプロバイダーグループに追加します。 影響を受けるメンバーについては出力の localMembersWithExternalId および localMembersWithoutExternalId フィールドをご覧ください。
未解決の場合:メンバーはアイデンティティプロバイダーグループから権限を受け継ぎますが、アイデンティティプロバイダーには表示されず、権限の監査が困難になります。 UI上のメンバー数はアイデンティティプロバイダーメンバーのみを反映しているため、これらのメンバーは除外されます。
プリンシパルの外部IDを更新してください
externalIdを更新するには、アカウントSCIM APIを使ってください。 完全なリクエスト形式については、 Account SCIM v2.1 APIリファレンスを参照してください。
Tip
APIコールをログに残し、問題が発生した場合に変更をロールバックできるようにしましょう。
プリンシパルタイプの PATCH リクエストをエンドポイントに送ります:
PATCH https://<account-console-url>/api/2.1/accounts/<account-id>/scim/v2/<Users|Groups|ServicePrincipals>/<databricks-id>
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [
{
"op": "replace",
"path": "externalId",
"value": "<new-external-id>"
}
]
}
グループの外部IDを削除してください
グループの externalId を削除するには、Account SCIM APIを使います。 値を空の文字列に設定します。
Note
Azure Databricksは現在、この操作をグループのみでサポートしています。
PATCH https://<account-console-url>/api/2.1/accounts/<account-id>/scim/v2/Groups/<databricks-id>
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [
{
"op": "replace",
"path": "externalId",
"value": ""
}
]
}
その他のリソース
| 資源 | Description |
|---|---|
| 自動アイデンティティ管理 | 自動アイデンティティ管理の概要と、SCIMなしでIDを同期する方法。 |
| Microsoft Entra IDによる自動ID管理への移行 | 既存アカウントを自動ID管理に移行します。 |