チュートリアル: SCIM エンドポイントを検証する
このチュートリアルでは、Microsoft Entra SCIM Validator を使って、プロビジョニング サーバーが Azure SCIM クライアントと互換性があることを検証する方法について説明します。 このチュートリアルは、SCIM 互換サーバーを構築して、Microsoft Entra プロビジョニング サービスで ID を管理する必要がある開発者を対象としています。
このチュートリアルでは、次の作業を行う方法について説明します。
- テスト方法を選択する
- テスト方法を構成する
- SCIM エンドポイントを検証する
前提条件
- アクティブなサブスクリプションを持つ Microsoft Entra アカウント。 無料でアカウントを作成できます。
- SCIM 2.0 標準に準拠し、プロビジョニング サービス要件を満たす SCIM エンドポイント。 詳細については、「チュートリアル: Microsoft Entra ID の SCIM エンドポイントのプロビジョニングを開発および計画する」を参照してください。
テスト方法を選択する
最初の手順では、SCIM エンドポイントを検証するテスト方法を選択します。
Web ブラウザーを開き、SCIM Validator https://scimvalidator.microsoft.com/ に移動します。
3 つのテスト オプションのいずれかを選択します。 既定の属性を使用する、スキーマを自動的に検出する、またはスキーマをアップロードすることができます。
既定の属性を使用する - システムでは既定の属性が用意されており、ニーズに合わせてこれを変更します。
スキーマを検出する - エンドポイントで /Schemas がサポートされている場合、このオプションによって、サポートされている属性をツールで検出できます。 このオプションを使用すると、アプリのビルド時にアプリを更新するオーバーヘッドが軽減されるため、このオプションをお勧めします。
Upload Microsoft Entra Schema (Microsoft Entra スキーマのアップロード) - Microsoft Entra ID 上のサンプル アプリからダウンロードしたスキーマをアップロードします。
テスト方法を構成する
テスト方法を選択したら、次の手順ではこれを構成します。
- 既定の属性オプションを使用している場合は、指定されたすべてのフィールドに入力します。
- スキーマの検出オプションを使用している場合は、SCIM エンドポイントの URL とトークンを入力します。
- スキーマをアップロードする場合は、アップロードする .json ファイルを選択します。 このオプションには、Microsoft Entra 管理センター上のサンプル アプリからエクスポートした .json ファイルを指定できます。 スキーマをエクスポートする方法については、「方法: プロビジョニング構成をエクスポートし、既知の良好な状態にロールバックする」を参照してください。
注意
"グループ属性" をテストするには、[Enable Group Tests] (グループ テストを有効にする) を選択してください。
- 属性リストの末尾にある [属性の追加] オプションと、ページの右側にあるマイナス (-) 記号を使用して、ユーザーとグループの両方の種類のリスト属性を必要に応じて編集します。
- ユーザー属性とグループ属性の両方の一覧から結合プロパティを選択します。
注意
結合プロパティ (一致属性とも呼ばれます) は、ソースでユーザーとグループのリソースを一意に照会し、ターゲット システムで照合できる属性です。
SCIM エンドポイントを検証する
最後に、エンドポイントをテストして検証する必要があります。
[Test Schema] (スキーマのテスト) を選択してテストを開始します。
合格したテストと失敗したテストの概要を含む結果を確認します。
[詳細の表示] タブを選択し、問題を確認して修正します。
すべてのテストに合格するまで、スキーマのテストを続行します。
SCIM Validator での式の使用
SCIM Validator では、式を使用して属性に必要な値を生成できます。
式を使用する方法
- [属性] ページに移動します。
- カスタマイズする属性の値の列に希望の式を入力します。
- テストの実行
Note
これらの式は、User 属性と Group 属性の両方で機能します。
使用可能な式
次の表は、使用可能な式の一覧を示しています。
Expression | 意味 | 例 | 結果 |
---|---|---|---|
generateRandomString {Count of String Characters} | 指定したアルファベット文字の数でランダムな文字列を生成する | {%generateRandomString 6%}@contoso.com | CXJHYP@contoso.com |
generateRandomNumber {Count of Numbers} | 指定した桁数の乱数を生成する | {%generateRandomNumber 4%} | 8821 |
generateAlphaNumeric {Count of Characters} | 指定した文字数のアルファベットと数字の組み合わせでランダムな文字列を生成する | {%generateAlphaNumeric 7%} | 59Q2M9W |
generateAlphaNumericWithSpecialCharacters {Count of Characters} | 指定した文字数に基づいて、アルファベット、数字、特殊文字が混在するランダム文字列を生成する | {%generateAlphaNumericWithSpecialCharacters 8%}TEST | D385N05’TEST |
式の前または後に値を追加して目的の結果を得ることができます。たとえば、{% generateRandomString 6 %}@contoso.com を userName 属性の値フィールドに追加すると、contoso.com ドメインを保持しながらすべてのテストで新しい userName 値が生成されます。
リソースをクリーンアップする
テストで作成した Azure リソースが不要になった場合は、必ず削除してください。
Microsoft Entra SCIM Validator に関する既知の問題
- 論理的な削除 (無効化) はまだサポートされていません。
- タイム ゾーン形式がランダムに生成されるため、この検証を試みるシステムではエラーが発生します。
- パッチ ユーザーの削除属性によって、特定のシステムの必須属性の削除が試行される場合があります。 このようなエラーは無視する必要があります。