次の方法で共有


identityProvider を作成する

名前空間: microsoft.graph

重要

Microsoft Graph の /beta バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。

要求本文で指定された型の ID プロバイダー オブジェクトを作成します。

identityProviderBase から派生したプロバイダーの種類のうち、Microsoft Entraでは、この操作で socialIdentityProviderappleManagedIdentityProvider (外部テナントのみ)、または oidcIdentityProvider (外部テナントのみ) リソースを作成できます。

Azure AD B2C では、この操作により 、socialIdentityProviderappleManagedIdentityProviderbuiltinIdentityProvider、または openIdConnectIdentityProvider リソースを作成できます。

この API は、次の国内クラウド展開で使用できます。

グローバル サービス 米国政府機関 L4 米国政府機関 L5 (DOD) 21Vianet が運営する中国

アクセス許可

この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、「アクセス許可のリファレンス」を参照してください。

アクセス許可の種類 最小特権アクセス許可 より高い特権のアクセス許可
委任 (職場または学校のアカウント) IdentityProvider.ReadWrite.All 注意事項なし。
委任 (個人用 Microsoft アカウント) サポートされていません。 サポートされていません。
アプリケーション IdentityProvider.ReadWrite.All 注意事項なし。

重要

職場または学校アカウントを使用した委任されたシナリオでは、サインインしているユーザーに、サポートされているMicrosoft Entraロールまたはサポートされているロールのアクセス許可を持つカスタム ロールを割り当てる必要があります。 外部 ID プロバイダー管理者 は、この操作でサポートされる最小限の特権ロールです。

HTTP 要求

POST /identity/identityProviders

要求ヘッダー

名前 説明
Authorization ベアラー {token}。 必須です。 認証と認可についての詳細をご覧ください。
Content-Type application/json. 必須です。

要求本文

要求本文で、Microsoft Entra 外部 IDで socialIdentityProvideroidcIdentityProvider、または appleManagedIdentityProvider オブジェクトの JSON 表現を指定します。

Azure AD B2C では、 socialIdentityProvideropenIdConnectIdentityProvider、または appleManagedIdentityProvider オブジェクトの JSON 表現を提供します。

次の表に示すプロパティはすべて必須です。

socialIdentityProvider オブジェクト

プロパティ 説明
displayName String ID プロバイダーの表示名。
clientId 文字列 アプリケーションを ID プロバイダーに登録した際に取得したクライアント識別子です。
clientSecret String アプリケーションが ID プロバイダーに登録された際に取得したクライアント シークレットです。 これは、書き込み専用です。 読み取り操作を行うと、**** が返されます。
identityProviderType String 外部テナントと従業員テナントの場合、使用可能な値: FacebookGoogle
Azure AD B2C テナントの場合、使用可能な値: MicrosoftGoogleAmazonLinkedInFacebookGitHubTwitterWeiboQQWeChat

appleManagedIdentityProvider オブジェクト

プロパティ 説明
displayName String ID プロバイダーの表示名。
developerId String Apple の開発者 ID。
serviceId String Apple のサービス ID。
keyId String Apple のキー識別子。
certificateData String 証明書からのテキストの長い文字列である証明書データは、null 値である可能性があります。

openIdConnectIdentityProvider オブジェクト

プロパティ 説明
displayName String ID プロバイダーの表示名。
clientId 文字列 アプリケーションを ID プロバイダーに登録した際に取得したクライアント識別子です。
clientSecret String アプリケーションを ID プロバイダーに登録した際に取得したクライアント シークレットです。 clientSecret は responseType に依存しています。
  • responseTypecode場合、認証コード交換にはシークレットが必要です。
  • responseTypeid_token場合、認証パイプラインにコード交換がないため、シークレットは必要ありません。 このモードでは、id_tokenは承認応答から直接返されます。
domainHint String ドメイン ヒントを使用すると、ユーザーが使用可能な ID プロバイダーの一覧を選択するのではなく、指定した ID プロバイダーのサインイン ページに直接スキップできます。
claimsMapping claimsMapping OIDC プロバイダーが ID トークンをMicrosoft Entra IDに送信した後、Microsoft Entra IDは、受信したトークンからの要求を、認識して使用する要求Microsoft Entra IDマップできる必要があります。 この複合型は、そのマッピングをキャプチャします。
metadataUrl String OpenID Connect ID プロバイダーのメタデータ ドキュメントの URL。 すべての OpenID Connect ID プロバイダーは、サインインを実行するために必要なほとんどの情報を含むメタデータ ドキュメントを記述します。 これには、使用する URL やサービスの公開署名キーの場所などの情報が含まれます。 OpenID Connect メタデータ ドキュメントは常に、 .well-known/openid-configurationで終わるエンドポイントにあります。 追加する OpenID Connect ID プロバイダーのメタデータ URL を指定します。
responseMode String 応答モードでは、カスタム ID プロバイダーから Azure AD B2C にデータを送信するために使用されるメソッドを定義します。 使用可能な値: form_postquery
responseType String 応答の種類は、カスタム ID プロバイダーのauthorization_endpointへの最初の呼び出しで返される情報の種類を表します。 使用可能な値: codeid_tokentoken
scope String スコープは、カスタム ID プロバイダーから収集する情報とアクセス許可を定義します。

oidcIdentityProvider オブジェクト

プロパティ 説明
clientAuthentication oidcClientAuthentication クライアント認証設定。
  • oidcClientSecretAuthentication 派生複合型を使用して、client_secret_post または client_secret_jwt authentication メソッドを使用して ID プロバイダーを設定します。
  • 認証方法を使用して ID プロバイダーを設定するには、 oidcPrivateJwtKeyClientAuthenticationprivate_key_jwt 使用します。

    セキュリティ上の理由から、 client_secret_basic 認証方法はサポートされていません。
  • clientId 文字列 アプリケーションを ID プロバイダーに登録した際に取得したクライアント ID です。
    displayName String ID プロバイダーの表示名。 identityProviderBase から継承されます。
    id String ID プロバイダーの識別子。必須。 identityProviderBase から継承されます。 エンティティから継承します
    inboundClaimMapping oidcInboundClaimMappingOverride OIDC プロバイダーが ID トークンをMicrosoft Entra 外部 IDに送信した後、Microsoft Entra 外部 IDは、受信したトークンからの要求を、Microsoft Entra IDが認識して使用する要求にマップできる必要があります。 この複合型は、そのマッピングをキャプチャします。
    発行者 String 発行者 URI。 発行者 URI は、https スキームを使用した大文字と小文字が区別される URL で、スキーム、ホスト、および必要に応じてポート番号とパス のコンポーネントが含まれており、クエリまたはフラグメント コンポーネントはありません。
    手記:他のMicrosoft Entraテナントを外部 ID プロバイダーとして構成することは現在サポートされていません。 その結果、発行者 URI の microsoftonline.com ドメインは受け入れられない。
    responseType oidcResponseType 応答の種類は、カスタム ID プロバイダーのauthorization_endpointへの最初の呼び出しで返される情報の種類を表します。 使用可能な値:
  • code: 承認コード フローに従って、コードが Entra 外部 IDに返されます。 Entra 外部 IDは、token_endpointを呼び出してトークンのコードを交換します。
  • id_token: ID トークンは、カスタム ID プロバイダーから Entra 外部 IDに返されます。 (現時点では、この値はサポートされていません)。
  • token: アクセス トークンは、カスタム ID プロバイダーから Entra 外部 IDに返されます。 この値は現在サポートされていません。
  • scope String スコープは、カスタム ID プロバイダーから収集する情報とアクセス許可を定義します。
    wellKnownEndpoint String OpenID Connect ID プロバイダーのメタデータ ドキュメントの URL。 すべての OpenID Connect ID プロバイダーは、サインインを実行するために必要なほとんどの情報を含むメタデータ ドキュメントを記述します。 これには、使用する URL やサービスの公開署名キーの場所などの情報が含まれます。 OpenID Connect メタデータ ドキュメントは常に、 .well-known/openid-configurationで終わるエンドポイントにあります。
    手記: メタデータ ドキュメントには、少なくとも、 issuerauthorization_endpointtoken_endpointtoken_endpoint_auth_methods_supportedresponse_types_supportedsubject_types_supportedjwks_uriの各プロパティが含まれている必要があります。 詳細については、「 OpenID Connect Discovery の仕様」を参照してください。

    応答

    成功した場合、このメソッドは、201 Created応答コードと、Microsoft Entra テナントの応答本文の socialIdentityProvider オブジェクトの JSON 表現を返します。

    Azure AD B2C テナントの場合、このメソッドは 201 Created 応答コードと、応答本文の socialIdentityProvideropenIdConnectIdentityProvider、または appleManagedIdentityProvider オブジェクトの JSON 表現を返します。

    失敗した場合、4xx エラーが詳細情報とともに返されます。

    例 1: ソーシャル ID プロバイダーを作成する

    要求

    次の例は要求を示しています。

    POST https://graph.microsoft.com/beta/identity/identityProviders
    Content-type: application/json
    
    {
      "@odata.type": "microsoft.graph.socialIdentityProvider",
      "displayName": "Login with Amazon",
      "identityProviderType": "Amazon",
      "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
      "clientSecret": "42*****96"
    }
    

    応答

    次の例は応答を示しています。

    注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

    HTTP/1.1 201 Created
    Content-type: application/json
    
    {
        "@odata.type": "microsoft.graph.socialIdentityProvider",
        "id": "Amazon-OAUTH",
        "displayName": "Login with Amazon",
        "identityProviderType": "Amazon",
        "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
        "clientSecret": "42*****96"
    }
    

    例 2: Apple ID プロバイダーを作成する

    要求

    次の例は要求を示しています。

    POST https://graph.microsoft.com/beta/identity/identityProviders
    Content-type: application/json
    
    {
      "@odata.type": "microsoft.graph.appleManagedIdentityProvider",
      "displayName": "Apple",
      "developerId": "qazx.1234",
      "serviceId": "com.contoso.app",
      "keyId": "4294967296",
      "certificateData": "******"
    }
    

    応答

    次の例は応答を示しています。

    注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

    HTTP/1.1 201 Created
    Content-type: application/json
    
    {
      "@odata.type": "microsoft.graph.appleManagedIdentityProvider",
      "id": "Apple-Managed-OIDC",
      "displayName": "Apple",
      "developerId": "qazx.1234",
      "serviceId": "com.contoso.app",
      "keyId": "4294967296",
      "certificateData": "******"
    }
    

    例 3: OpenID Connect ID プロバイダー (B2C テナント) を作成する

    要求

    次の例は要求を示しています。

    POST https://graph.microsoft.com/beta/identity/identityProviders
    Content-type: application/json
    
    {
      "@odata.type": "microsoft.graph.openIdConnectIdentityProvider",
        "displayName": "Contoso",
        "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
        "clientSecret": "4294967296",
        "claimsMapping": {
            "userId": "myUserId",
            "givenName": "myGivenName",
            "surname": "mySurname",
            "email": "myEmail",
            "displayName": "myDisplayName"
        },
        "domainHint": "mycustomoidc",
        "metadataUrl": "https://mycustomoidc.com/.well-known/openid-configuration",
        "responseMode": "form_post",
        "responseType": "code",
        "scope": "openid"
    }
    
    

    応答

    次の例は応答を示しています。

    注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

    HTTP/1.1 201 Created
    Content-type: application/json
    
    {
      "@odata.type": "microsoft.graph.openIdConnectIdentityProvider",
      "id": "Contoso-OIDC-00001111-aaaa-2222-bbbb-3333cccc4444",
      "displayName": "Contoso",
      "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
      "clientSecret": "4294967296",
      "claimsMapping": {
          "userId": "myUserId",
          "givenName": "myGivenName",
          "surname": "mySurname",
          "email": "myEmail",
          "displayName": "myDisplayName"
      },
      "domainHint": "mycustomoidc",
      "metadataUrl": "https://mycustomoidc.com/.well-known/openid-configuration",
      "responseMode": "form_post",
      "responseType": "code",
      "scope": "openid"
    }
    

    例 4: OpenID Connect ID プロバイダー (外部テナント) を作成する

    要求

    次の例は要求を示しています。

    POST https://graph.microsoft.com/beta/identity/identityProviders
    Content-type: application/json
    
    {
      "@odata.type": "#microsoft.graph.OidcIdentityProvider",
      "displayName": "Contoso AAD B2C",
      "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
      "issuer": "https://contoso.b2clogin.com/00001111-aaaa-2222-bbbb-3333cccc4444/v2.0/",
      "wellKnownEndpoint": "https://contoso.b2clogin.com/contoso.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=B2C_1A_SIGNINEMAIL",
      "responseType": "code",
      "scope": "openid profile email offline_access",
      "clientAuthentication": {
        "@odata.type": "#microsoft.graph.oidcClientSecretAuthentication",
        "clientSecret": "4294967296"
      },
      "inboundClaimMapping": {
        "sub": "sub",
        "name": "name",
        "given_name": "given_name",
        "family_name": "family_name",
        "email": "email",
        "email_verified": "email_verified",
        "phone_number": "phone_number",
        "phone_number_verified": "phone_number_verified",
        "address": {
          "street_address": "street_address",
          "locality": "locality",
          "region": "region",
          "postal_code": "postal_code",
          "country": "country"
        }
      }
    }
    

    応答

    次の例は応答を示しています。

    注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

    HTTP/1.1 201 Created
    Content-type: application/json
    
    {
      "@odata.type": "#microsoft.graph.OidcIdentityProvider",
      "id": "12345678-abcd-1234-cdef-aaaaaaaaaaaa",
      "displayName": "Contoso AAD B2C",
      "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
      "issuer": "https://contoso.b2clogin.com/00001111-aaaa-2222-bbbb-3333cccc4444/v2.0/",
      "wellKnownEndpoint": "https://contoso.b2clogin.com/contoso.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=B2C_1A_SIGNINEMAIL",
      "responseType": "code",
      "scope": "openid profile email offline_access",
      "clientAuthentication": {
        "@odata.type": "#microsoft.graph.oidcClientSecretAuthentication",
        "clientSecret": "*****"
      },
      "inboundClaimMapping": {
        "sub": "sub",
        "name": "name",
        "given_name": "given_name",
        "family_name": "family_name",
        "email": "email",
        "email_verified": "email_verified",
        "phone_number": "phone_number",
        "phone_number_verified": "phone_number_verified",
        "address": {
          "street_address": "street_address",
          "locality": "locality",
          "region": "region",
          "postal_code": "postal_code",
          "country": "country"
        }
      }
    }