メインコンテンツへスキップ
ユーザー属性プロファイル (UAP) は、SCIMSAMLOIDC などのプロトコル間で、ユーザー属性を一貫した方法で定義、管理、マッピングするための共通の仕組みを提供します。Self-Service Enterprise Configuration と組み合わせた UAP により、管理者はユーザー属性を定義し、そのプロファイルを認証プロトコル全体に適用することで、ユーザーのアイデンティティデータをより柔軟に制御できます。

仕組み

  • プロファイル定義 管理者は、以下を含む属性を定義するために ユーザー属性プロファイル を作成します。
    • 属性の表示方法
    • 属性を必須にする方法
    • 属性を Auth0 や外部 ID システムにマッピングする方法
  • 柔軟な適用範囲 プロファイルは Self-Service Enterprise Configuration フローに関連付けられていますが、プロビジョニング、オンボーディング、権限管理向けに設計されています。
  • 統合マッピングレイヤー 各属性は認証プロトコルをまたいだマッピングをサポートしており、Okta や Entra ID などの特定のプロバイダーや接続戦略に対して値を上書きすることもできます。

属性マッピングとオーバーライド

UAP は、複数のプロトコルにまたがる属性定義と、プロバイダー固有の要件に対応するための戦略オーバーライドをサポートしています。 属性マッピング
プロトコル説明
Auth0 MappingAuth0 に保存される標準属性 (emailnameapp_metadata.department) 。
OIDC Mapping標準 OIDC クレーム (subpreferred_usernamezoneinfo) 。OIDC の標準クレームの詳細については、Standard Claims を参照してください。
SAML Mapping1 つ以上のアサーション URI をサポートします ((http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress).) 。
SCIM Mappingプロビジョニング属性 (name.familyNameaddresses[type eq "work"].country) 。
戦略オーバーライド 一部のプロバイダーでは、標準外のマッピングが使用されます。UAP では、これらをオーバーライドできます。
プロトコル説明
SAMLexternalId ではなく userName をマッピングします。
WAAD (Entra ID)OIDC 識別子として oid を使用します。
OktaOkta 固有のクレームを使用して、middleName や federated_groups などの属性をマッピングします。

ユーザーID

user_id プロパティは、OIDC クレーム、SAML 属性、または SCIM 属性を Auth0 のユーザーIDにどのようにマッピングするかを定義します。すべての Auth0 ユーザーには ID が必要なため、このマッピングは必須です。
  • OIDC では、選択肢は固定されています (通常は sub、Azure AD では oid、Google では email) 。
    • SAML と SCIM では、マッピングはより柔軟で、複数の属性候補を指定できます。

ユーザー属性

user_attributes プロパティには、システムが IdP から受信したクレームを解釈し、それらを Auth0 ユーザープロファイル属性として保存するためのマッピング情報が含まれます。 各属性は、キーと値のペアとして指定する必要があります。
  • キーは属性名に対応します。
    • 値は、次の項目を含むオブジェクトです。
      • label
      • description
      • profile_required
      • auth0_mapping
      • saml_mapping
      • scim_mapping
      • oidc_mapping は、次のプロパティを持つオブジェクトです
        • mapping は IdP から受信するクレームを表します (context object をサポートする ${variable} 構文を使用したリテラル値、動的コンテキストオブジェクト、またはその両方)
        • display_name は、セルフサービスフローでエンドユーザーに表示されるラベルです

戦略オーバーライド

strategy_overrides プロパティを使用すると、個々のIDプロバイダー (IdP) に対する例外を指定できます。これは、すべてのIdPが同じ識別子やクレームを公開するわけではないためです。 各オーバーライドでは、user_id または user_attributes で定義されたデフォルト値を置き換える、プロトコル固有のマッピングを定義します。

ユーザー識別子

"user_id": {
  "oidc_mapping": "sub",
  "saml_mapping": [
    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier",
    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn",
    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"
  ],
  "scim_mapping": "externalId",
  "strategy_overrides": {
    "waad": {
      "oidc_mapping": "oid"
    },
    "samlp": {
      "scim_mapping": "userName"
    },
    "google-apps": {
      "oidc_mapping": "email"
    }
  }
},
  • 既定の識別子: SCIM では externalId を使用します。
  • SAML: 複数の識別子 URI をサポートします。
  • OIDC: sub を使用します。
  • オーバーライド: SAML と WAAD ではマッピングをカスタマイズできます。

メールアドレス属性

"email": {
  "description": "Email",
  "label": "Email",
  "profile_required": true,
  "auth0_mapping": "email",
  "scim_mapping": "emails[primary eq true].value",
  "oidc_mapping": {
    "mapping": "${context.tokenset.email}",
    "display_name": "email"
  },
  "saml_mapping": [
    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
  ],
  "strategy_overrides": {
    "waad": {
      "scim_mapping": "emails[type eq \"work\"].value"
    }
  }
}
  • ほとんどのプロファイルに推奨されます。
  • Auth0、OIDC、SAML、SCIM で共通です。
  • WAAD のオーバーライドにより、勤務先のメールアドレスに正しくマッピングされます。

ユーザー属性プロファイルを作成する

Auth0 Dashboard または Management API を使用して、Self-Service Enterprise Configuration 経由で UAP を定義できます。現時点では、Self-Service Enterprise Configuration エクスペリエンスから設定できます。

Auth0 Dashboard で設定する

  1. Authentication > Enterprise > Self-Service Enterprise Configuration に移動します。
  2. +Create Profile を選択します。
  3. 新しいプロファイルの 名前 と、必要に応じて 説明 を入力します。
  4. 既存のプロファイルを選択するか、+Create New を選択して、ユーザー属性プロファイルのエントリを追加します。
    • 新しいプロファイルの場合は、User Profile Attribute Name を入力します。
    • プロファイル属性が、使用する Auth0 属性に適切にマッピングされていることを確認します。
  5. Create を選択します。
新しい UAP を SSO 用に設定できます。

Management API で設定する

ユーザー属性プロファイルを管理するには、次の Management API エンドポイントを使用できます。
  • POST /api/v2/user-attribute-profiles
  • GET /api/v2/user-attribute-profiles
  • PATCH /api/v2/user-attribute-profiles/{id}
  • GET /api/v2/user-attribute-profiles/{id}
  • GET /api/v2/user-attribute-profiles/templates
  • GET /api/v2/user-attribute-profiles/templates/{id}

詳細はこちら