名前空間: microsoft.graph
重要
Microsoft Graph の /beta
バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。
新しい internalDomainFederation オブジェクトを 作成します。
この API は、次の国内クラウド展開で使用できます。
グローバル サービス |
米国政府機関 L4 |
米国政府機関 L5 (DOD) |
21Vianet が運営する中国 |
✅ |
✅ |
✅ |
✅ |
アクセス許可
この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。
アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、「アクセス許可のリファレンス」を参照してください。
アクセス許可の種類 |
最小特権アクセス許可 |
より高い特権のアクセス許可 |
委任 (職場または学校のアカウント) |
Domain.ReadWrite.All |
注意事項なし。 |
委任 (個人用 Microsoft アカウント) |
サポートされていません。 |
サポートされていません。 |
アプリケーション |
Domain.ReadWrite.All |
注意事項なし。 |
重要
このメソッドには 既知のアクセス許可の問題 があり、委任されたシナリオの Directory.AccessAsUser.All アクセス許可への同意が必要になる場合があります。
重要
職場または学校アカウントを使用した委任されたシナリオでは、サインインしているユーザーに、サポートされているMicrosoft Entraロールまたはサポートされているロールのアクセス許可を持つカスタム ロールを割り当てる必要があります。 この操作では、次の最小特権ロールがサポートされています。
- ドメイン名管理者
- 外部 ID プロバイダー管理者
- ハイブリッド ID 管理者
- セキュリティ管理者
HTTP 要求
POST /domains/{domainsId}/federationConfiguration
名前 |
説明 |
Authorization |
ベアラー {token}。 必須です。
認証と認可についての詳細をご覧ください。 |
Content-Type |
application/json. 必須です。 |
要求本文
要求本文で、 internalDomainFederation オブジェクトの JSON 表現を指定します。
internalDomainFederation を作成するときに、次のプロパティを指定できます。
プロパティ |
型 |
説明 |
activeSignInUri |
String |
Microsoft Entra IDでのシングル サインオン用に設定されたフェデレーション ドメインを使用して認証するときに、アクティブなクライアントによって使用されるエンドポイントの URL。
Set-EntraDomainFederationSettings PowerShell コマンドレットの ActiveLogOnUri プロパティに対応します。 |
displayName |
String |
フェデレーション ID プロバイダーの表示名。 |
federatedIdpMfaBehavior |
federatedIdpMfaBehavior |
フェデレーション ユーザーが MFA を必要とする条件付きアクセス ポリシーによって管理されるアプリケーションにアクセスするときに、フェデレーション IdP によって実行される MFA をMicrosoft Entra IDが受け入れるかどうかを決定します。 使用可能な値: acceptIfMfaDoneByFederatedIdp 、enforceMfaByFederatedIdp 、rejectMfaByFederatedIdp 、unknownFutureValue 。 詳細については、「 federatedIdpMfaBehavior 値」を参照してください。 |
isSignedAuthenticationRequestRequired |
ブール型 |
true の場合、SAML 認証要求がフェデレーション SAML IDP に送信されるときに、Microsoft Entra IDは OrgID 署名キーを使用してそれらの要求に署名します。 false (既定値) の場合、フェデレーション IDP に送信された SAML 認証要求は署名されません。 |
issuerUri |
String |
フェデレーション サーバーの発行者 URI。 |
metadataExchangeUri |
String |
リッチ クライアント アプリケーションからの認証に使用されるメタデータ交換エンドポイントの URI。 |
nextSigningCertificate |
String |
プライマリ署名証明書の有効期限が切れたときにトークンの署名に使用されるフォールバック トークン署名証明書。 フェデレーション IdP のトークン署名証明書のパブリック部分の Base 64 でエンコードされた文字列として書式設定されます。 X509Certificate2 クラスと互換性がある必要があります。
signingCertificate と同様に、自動ロールオーバー更新プログラムの外部でロールオーバーが必要な場合、新しいフェデレーション サービスが設定されている場合、またはフェデレーション サービス証明書が更新された後に新しいトークン署名証明書がフェデレーション プロパティに存在しない場合は、nextSigningCertificate プロパティが使用されます。 |
passiveSignInUri |
String |
Microsoft Entra サービスにサインインするときに Web ベースのクライアントが転送する URI。 |
passwordResetUri |
String |
クライアントが自分のパスワードをリセットするためにリダイレクトされる URI。 |
preferredAuthenticationProtocol |
authenticationProtocol |
優先認証プロトコル。 フェデレーションパッシブ認証フローを機能させるには、このパラメーターを明示的に構成する必要があります。 使用可能な値: wsFed 、saml 、unknownFutureValue 。 |
promptLoginBehavior |
promptLoginBehavior |
サインイン プロンプトの推奨動作を設定します。 使用可能な値: translateToFreshPasswordAuthentication 、nativeSupport 、disabled 、unknownFutureValue 。 |
signingCertificate |
String |
Microsoft ID プラットフォームに渡されるトークンの署名に使用される現在の証明書。 証明書は、フェデレーション IdP のトークン署名証明書のパブリック部分の Base 64 でエンコードされた文字列として書式設定され、X509Certificate2 クラスと互換性がある必要があります。 このプロパティは、次のシナリオで使用されます。 自動ロールオーバー更新プログラムの外部でロールオーバーが必要な場合 新しいフェデレーション サービスが設定されている フェデレーション サービス証明書が更新された後に、新しいトークン署名証明書がフェデレーション プロパティに存在しない場合。 Microsoft Entra IDは、現在の証明書の有効期限が切れる 30 日前に、フェデレーション サービスメタデータから新しい証明書を取得しようとする自動登録プロセスを介して証明書を更新します。 新しい証明書が使用できない場合、Microsoft Entra IDはメタデータを毎日監視し、新しい証明書が使用可能になるとドメインのフェデレーション設定を更新します。 |
signOutUri |
String |
クライアントがMicrosoft Entra サービスからサインアウトするときにリダイレクトされる URI。
Set-EntraDomainFederationSettings PowerShell コマンドレットの LogOffUri プロパティに対応します。 |
signingCertificateUpdateStatus |
signingCertificateUpdateStatus |
署名証明書の最後の更新の状態とタイムスタンプを提供します。 |
federatedIdpMfaBehavior 値
メンバー |
説明 |
acceptIfMfaDoneByFederatedIdp |
Microsoft Entra IDは、フェデレーション ID プロバイダーによって実行される MFA を受け入れます。 フェデレーション ID プロバイダーが MFA を実行しなかった場合、Microsoft Entra IDは MFA を実行します。 |
enforceMfaByFederatedIdp |
Microsoft Entra IDは、フェデレーション ID プロバイダーによって実行される MFA を受け入れます。 フェデレーション ID プロバイダーが MFA を実行しなかった場合、MFA を実行するための要求がフェデレーション ID プロバイダーにリダイレクトされます。 |
rejectMfaByFederatedIdp |
Microsoft Entra IDは常に MFA を実行し、フェデレーション ID プロバイダーによって実行される MFA を拒否します。 |
注:federatedIdpMfaBehavior は、Set-EntraDomainFederationSettings PowerShell コマンドレットの SupportsMfa プロパティの進化したバージョンです。
-
federatedIdpMfaBehavior と SupportsMfa の切り替えはサポートされていません。
-
federatedIdpMfaBehavior プロパティが設定されると、Microsoft Entra IDは SupportsMfa 設定を無視します。
-
federatedIdpMfaBehavior プロパティが設定されていない場合、Microsoft Entra ID引き続き SupportsMfa 設定が適用されます。
-
federatedIdpMfaBehavior も SupportsMfa も設定されていない場合は、既定Microsoft Entra ID動作
acceptIfMfaDoneByFederatedIdp
設定されます。
応答
成功した場合、このメソッドは応答コード 201 Created
と、応答本文に internalDomainFederation オブジェクトを返します。
例
要求
POST https://graph.microsoft.com/beta/domains/contoso.com/federationConfiguration
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.internalDomainFederation",
"displayName": "Contoso",
"issuerUri": "http://contoso.com/adfs/services/trust",
"metadataExchangeUri": "https://sts.contoso.com/adfs/services/trust/mex",
"signingCertificate": "MIIE3jCCAsagAwIBAgIQQcyDaZz3MI",
"passiveSignInUri": "https://sts.contoso.com/adfs/ls",
"preferredAuthenticationProtocol": "wsFed",
"activeSignInUri": "https://sts.contoso.com/adfs/services/trust/2005/usernamemixed",
"signOutUri": "https://sts.contoso.com/adfs/ls",
"promptLoginBehavior": "nativeSupport",
"isSignedAuthenticationRequestRequired": true,
"nextSigningCertificate": "MIIE3jCCAsagAwIBAgIQQcyDaZz3MI",
"federatedIdpMfaBehavior": "rejectMfaByFederatedIdp",
"passwordResetUri": "https://sts.contoso.com/adfs/passwordReset"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new InternalDomainFederation
{
OdataType = "#microsoft.graph.internalDomainFederation",
DisplayName = "Contoso",
IssuerUri = "http://contoso.com/adfs/services/trust",
MetadataExchangeUri = "https://sts.contoso.com/adfs/services/trust/mex",
SigningCertificate = "MIIE3jCCAsagAwIBAgIQQcyDaZz3MI",
PassiveSignInUri = "https://sts.contoso.com/adfs/ls",
PreferredAuthenticationProtocol = AuthenticationProtocol.WsFed,
ActiveSignInUri = "https://sts.contoso.com/adfs/services/trust/2005/usernamemixed",
SignOutUri = "https://sts.contoso.com/adfs/ls",
PromptLoginBehavior = PromptLoginBehavior.NativeSupport,
IsSignedAuthenticationRequestRequired = true,
NextSigningCertificate = "MIIE3jCCAsagAwIBAgIQQcyDaZz3MI",
FederatedIdpMfaBehavior = FederatedIdpMfaBehavior.RejectMfaByFederatedIdp,
PasswordResetUri = "https://sts.contoso.com/adfs/passwordReset",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Domains["{domain-id}"].FederationConfiguration.PostAsync(requestBody);
mgc-beta domains federation-configuration create --domain-id {domain-id} --body '{\
"@odata.type": "#microsoft.graph.internalDomainFederation",\
"displayName": "Contoso",\
"issuerUri": "http://contoso.com/adfs/services/trust",\
"metadataExchangeUri": "https://sts.contoso.com/adfs/services/trust/mex",\
"signingCertificate": "MIIE3jCCAsagAwIBAgIQQcyDaZz3MI",\
"passiveSignInUri": "https://sts.contoso.com/adfs/ls",\
"preferredAuthenticationProtocol": "wsFed",\
"activeSignInUri": "https://sts.contoso.com/adfs/services/trust/2005/usernamemixed",\
"signOutUri": "https://sts.contoso.com/adfs/ls",\
"promptLoginBehavior": "nativeSupport",\
"isSignedAuthenticationRequestRequired": true,\
"nextSigningCertificate": "MIIE3jCCAsagAwIBAgIQQcyDaZz3MI",\
"federatedIdpMfaBehavior": "rejectMfaByFederatedIdp",\
"passwordResetUri": "https://sts.contoso.com/adfs/passwordReset"\
}\
'
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewInternalDomainFederation()
displayName := "Contoso"
requestBody.SetDisplayName(&displayName)
issuerUri := "http://contoso.com/adfs/services/trust"
requestBody.SetIssuerUri(&issuerUri)
metadataExchangeUri := "https://sts.contoso.com/adfs/services/trust/mex"
requestBody.SetMetadataExchangeUri(&metadataExchangeUri)
signingCertificate := "MIIE3jCCAsagAwIBAgIQQcyDaZz3MI"
requestBody.SetSigningCertificate(&signingCertificate)
passiveSignInUri := "https://sts.contoso.com/adfs/ls"
requestBody.SetPassiveSignInUri(&passiveSignInUri)
preferredAuthenticationProtocol := graphmodels.WSFED_AUTHENTICATIONPROTOCOL
requestBody.SetPreferredAuthenticationProtocol(&preferredAuthenticationProtocol)
activeSignInUri := "https://sts.contoso.com/adfs/services/trust/2005/usernamemixed"
requestBody.SetActiveSignInUri(&activeSignInUri)
signOutUri := "https://sts.contoso.com/adfs/ls"
requestBody.SetSignOutUri(&signOutUri)
promptLoginBehavior := graphmodels.NATIVESUPPORT_PROMPTLOGINBEHAVIOR
requestBody.SetPromptLoginBehavior(&promptLoginBehavior)
isSignedAuthenticationRequestRequired := true
requestBody.SetIsSignedAuthenticationRequestRequired(&isSignedAuthenticationRequestRequired)
nextSigningCertificate := "MIIE3jCCAsagAwIBAgIQQcyDaZz3MI"
requestBody.SetNextSigningCertificate(&nextSigningCertificate)
federatedIdpMfaBehavior := graphmodels.REJECTMFABYFEDERATEDIDP_FEDERATEDIDPMFABEHAVIOR
requestBody.SetFederatedIdpMfaBehavior(&federatedIdpMfaBehavior)
passwordResetUri := "https://sts.contoso.com/adfs/passwordReset"
requestBody.SetPasswordResetUri(&passwordResetUri)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
federationConfiguration, err := graphClient.Domains().ByDomainId("domain-id").FederationConfiguration().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
InternalDomainFederation internalDomainFederation = new InternalDomainFederation();
internalDomainFederation.setOdataType("#microsoft.graph.internalDomainFederation");
internalDomainFederation.setDisplayName("Contoso");
internalDomainFederation.setIssuerUri("http://contoso.com/adfs/services/trust");
internalDomainFederation.setMetadataExchangeUri("https://sts.contoso.com/adfs/services/trust/mex");
internalDomainFederation.setSigningCertificate("MIIE3jCCAsagAwIBAgIQQcyDaZz3MI");
internalDomainFederation.setPassiveSignInUri("https://sts.contoso.com/adfs/ls");
internalDomainFederation.setPreferredAuthenticationProtocol(AuthenticationProtocol.WsFed);
internalDomainFederation.setActiveSignInUri("https://sts.contoso.com/adfs/services/trust/2005/usernamemixed");
internalDomainFederation.setSignOutUri("https://sts.contoso.com/adfs/ls");
internalDomainFederation.setPromptLoginBehavior(PromptLoginBehavior.NativeSupport);
internalDomainFederation.setIsSignedAuthenticationRequestRequired(true);
internalDomainFederation.setNextSigningCertificate("MIIE3jCCAsagAwIBAgIQQcyDaZz3MI");
internalDomainFederation.setFederatedIdpMfaBehavior(FederatedIdpMfaBehavior.RejectMfaByFederatedIdp);
internalDomainFederation.setPasswordResetUri("https://sts.contoso.com/adfs/passwordReset");
InternalDomainFederation result = graphClient.domains().byDomainId("{domain-id}").federationConfiguration().post(internalDomainFederation);
const options = {
authProvider,
};
const client = Client.init(options);
const internalDomainFederation = {
'@odata.type': '#microsoft.graph.internalDomainFederation',
displayName: 'Contoso',
issuerUri: 'http://contoso.com/adfs/services/trust',
metadataExchangeUri: 'https://sts.contoso.com/adfs/services/trust/mex',
signingCertificate: 'MIIE3jCCAsagAwIBAgIQQcyDaZz3MI',
passiveSignInUri: 'https://sts.contoso.com/adfs/ls',
preferredAuthenticationProtocol: 'wsFed',
activeSignInUri: 'https://sts.contoso.com/adfs/services/trust/2005/usernamemixed',
signOutUri: 'https://sts.contoso.com/adfs/ls',
promptLoginBehavior: 'nativeSupport',
isSignedAuthenticationRequestRequired: true,
nextSigningCertificate: 'MIIE3jCCAsagAwIBAgIQQcyDaZz3MI',
federatedIdpMfaBehavior: 'rejectMfaByFederatedIdp',
passwordResetUri: 'https://sts.contoso.com/adfs/passwordReset'
};
await client.api('/domains/contoso.com/federationConfiguration')
.version('beta')
.post(internalDomainFederation);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\InternalDomainFederation;
use Microsoft\Graph\Beta\Generated\Models\AuthenticationProtocol;
use Microsoft\Graph\Beta\Generated\Models\PromptLoginBehavior;
use Microsoft\Graph\Beta\Generated\Models\FederatedIdpMfaBehavior;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new InternalDomainFederation();
$requestBody->setOdataType('#microsoft.graph.internalDomainFederation');
$requestBody->setDisplayName('Contoso');
$requestBody->setIssuerUri('http://contoso.com/adfs/services/trust');
$requestBody->setMetadataExchangeUri('https://sts.contoso.com/adfs/services/trust/mex');
$requestBody->setSigningCertificate('MIIE3jCCAsagAwIBAgIQQcyDaZz3MI');
$requestBody->setPassiveSignInUri('https://sts.contoso.com/adfs/ls');
$requestBody->setPreferredAuthenticationProtocol(new AuthenticationProtocol('wsFed'));
$requestBody->setActiveSignInUri('https://sts.contoso.com/adfs/services/trust/2005/usernamemixed');
$requestBody->setSignOutUri('https://sts.contoso.com/adfs/ls');
$requestBody->setPromptLoginBehavior(new PromptLoginBehavior('nativeSupport'));
$requestBody->setIsSignedAuthenticationRequestRequired(true);
$requestBody->setNextSigningCertificate('MIIE3jCCAsagAwIBAgIQQcyDaZz3MI');
$requestBody->setFederatedIdpMfaBehavior(new FederatedIdpMfaBehavior('rejectMfaByFederatedIdp'));
$requestBody->setPasswordResetUri('https://sts.contoso.com/adfs/passwordReset');
$result = $graphServiceClient->domains()->byDomainId('domain-id')->federationConfiguration()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
$params = @{
"@odata.type" = "#microsoft.graph.internalDomainFederation"
displayName = "Contoso"
issuerUri = "http://contoso.com/adfs/services/trust"
metadataExchangeUri = "https://sts.contoso.com/adfs/services/trust/mex"
signingCertificate = "MIIE3jCCAsagAwIBAgIQQcyDaZz3MI"
passiveSignInUri = "https://sts.contoso.com/adfs/ls"
preferredAuthenticationProtocol = "wsFed"
activeSignInUri = "https://sts.contoso.com/adfs/services/trust/2005/usernamemixed"
signOutUri = "https://sts.contoso.com/adfs/ls"
promptLoginBehavior = "nativeSupport"
isSignedAuthenticationRequestRequired = $true
nextSigningCertificate = "MIIE3jCCAsagAwIBAgIQQcyDaZz3MI"
federatedIdpMfaBehavior = "rejectMfaByFederatedIdp"
passwordResetUri = "https://sts.contoso.com/adfs/passwordReset"
}
New-MgBetaDomainFederationConfiguration -DomainId $domainId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.internal_domain_federation import InternalDomainFederation
from msgraph_beta.generated.models.authentication_protocol import AuthenticationProtocol
from msgraph_beta.generated.models.prompt_login_behavior import PromptLoginBehavior
from msgraph_beta.generated.models.federated_idp_mfa_behavior import FederatedIdpMfaBehavior
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = InternalDomainFederation(
odata_type = "#microsoft.graph.internalDomainFederation",
display_name = "Contoso",
issuer_uri = "http://contoso.com/adfs/services/trust",
metadata_exchange_uri = "https://sts.contoso.com/adfs/services/trust/mex",
signing_certificate = "MIIE3jCCAsagAwIBAgIQQcyDaZz3MI",
passive_sign_in_uri = "https://sts.contoso.com/adfs/ls",
preferred_authentication_protocol = AuthenticationProtocol.WsFed,
active_sign_in_uri = "https://sts.contoso.com/adfs/services/trust/2005/usernamemixed",
sign_out_uri = "https://sts.contoso.com/adfs/ls",
prompt_login_behavior = PromptLoginBehavior.NativeSupport,
is_signed_authentication_request_required = True,
next_signing_certificate = "MIIE3jCCAsagAwIBAgIQQcyDaZz3MI",
federated_idp_mfa_behavior = FederatedIdpMfaBehavior.RejectMfaByFederatedIdp,
password_reset_uri = "https://sts.contoso.com/adfs/passwordReset",
)
result = await graph_client.domains.by_domain_id('domain-id').federation_configuration.post(request_body)
応答
注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.internalDomainFederation",
"id": "6601d14b-d113-8f64-fda2-9b5ddda18ecc",
"displayName": "Contoso",
"issuerUri": "http://contoso.com/adfs/services/trust",
"metadataExchangeUri": "https://sts.contoso.com/adfs/services/trust/mex",
"signingCertificate": "MIIE3jCCAsagAwIBAgIQQcyDaZz3MI",
"passiveSignInUri": "https://sts.contoso.com/adfs/ls",
"preferredAuthenticationProtocol": "wsFed",
"activeSignInUri": "https://sts.contoso.com/adfs/services/trust/2005/usernamemixed",
"signOutUri": "https://sts.contoso.com/adfs/ls",
"promptLoginBehavior": "nativeSupport",
"isSignedAuthenticationRequestRequired": true,
"nextSigningCertificate": "MIIE3jCCAsagAwIBAgIQQcyDaZz3MI",
"signingCertificateUpdateStatus": {
"certificateUpdateResult": "Success",
"lastRunDateTime": "2021-08-25T07:44:46.2616778Z"
},
"federatedIdpMfaBehavior": "rejectMfaByFederatedIdp",
"passwordResetUri": "https://sts.contoso.com/adfs/passwordReset"
}