Namespace: microsoft.graph
Crie um novo objeto internalDomainFederation .
Esta API está disponível nas seguintes implementações de cloud nacionais.
| Serviço global |
US Government L4 |
US Government L5 (DOD) |
China operada pela 21Vianet |
| ✅ |
✅ |
✅ |
✅ |
Permissões
Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.
| Tipo de permissão |
Permissões com menos privilégios |
Permissões com privilégios superiores |
| Delegado (conta corporativa ou de estudante) |
Domain-InternalFederation.ReadWrite.All |
Domain.ReadWrite.All |
| Delegado (conta pessoal da Microsoft) |
Sem suporte. |
Sem suporte. |
| Application |
Domain-InternalFederation.ReadWrite.All |
Domain.ReadWrite.All |
Importante
Para atualizar a propriedade authenticationType , a aplicação de chamada tem de ter a permissão Domain-InternalFederation.ReadWrite.All atribuída.
Em cenários delegados com contas escolares ou profissionais, o utilizador com sessão iniciada tem de ter uma função de Microsoft Entra suportada ou uma função personalizada com uma permissão de função suportada. As seguintes funções com menos privilégios são suportadas para esta operação.
- Administrador de Nomes de Domínio
- Administrador do Fornecedor de Identidade Externo
- Administrador de Identidade Híbrida
- Administrador de Segurança
Solicitação HTTP
POST /domains/{domainsId}/federationConfiguration
| Nome |
Descrição |
| Autorização |
{token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
| Content-Type |
application/json. Obrigatório. |
Corpo da solicitação
No corpo do pedido, forneça uma representação JSON do objeto internalDomainFederation .
Pode especificar as seguintes propriedades ao criar uma internalDomainFederation.
| Propriedade |
Tipo |
Descrição |
| displayName |
Cadeia de caracteres |
O nome a apresentar do fornecedor de identidade federado. |
| issuerUri |
Cadeia de caracteres |
URI do emissor do servidor de federação. |
| metadataExchangeUri |
Cadeia de caracteres |
URI do ponto final do exchange de metadados utilizado para autenticação a partir de aplicações cliente avançadas. |
| signingCertificate |
Cadeia de caracteres |
Certificado atual utilizado para assinar tokens transmitidos para o plataforma de identidade da Microsoft. O certificado é formatado como uma cadeia codificada base 64 da parte pública do certificado de assinatura de tokens do IdP federado e tem de ser compatível com a classe X509Certificate2. Esta propriedade é utilizada nos seguintes cenários: Se for necessário um rollover fora da atualização de inscrição automática Está a ser configurado um novo serviço de federação Se o novo certificado de assinatura de token não estiver presente nas propriedades de federação depois de o certificado do serviço de federação ter sido atualizado. Microsoft Entra ID atualiza certificados através de um processo de inscrição automática no qual tenta obter um novo certificado a partir dos metadados do serviço de federação, 30 dias antes da expiração do certificado atual. Se não estiver disponível um novo certificado, Microsoft Entra ID monitoriza os metadados diariamente e atualiza as definições de federação do domínio quando está disponível um novo certificado. |
| passiveSignInUri |
Cadeia de caracteres |
O URI para o qual os clientes baseados na Web são direcionados ao iniciar sessão nos serviços Microsoft Entra. |
| preferredAuthenticationProtocol |
authenticationProtocol |
Protocolo de autenticação preferencial. Este parâmetro tem de ser configurado explicitamente para que o fluxo de autenticação passiva de federação funcione. Os valores possíveis são: wsFed, saml, unknownFutureValue. |
| activeSignInUri |
Cadeia de caracteres |
URL do ponto final utilizado pelos clientes ativos ao autenticar com domínios federados configurados para início de sessão único no Microsoft Entra ID. Corresponde à propriedade ActiveLogOnUri do cmdlet Do PowerShell Set-EntraDomainFederationSettings. |
| signOutUri |
Cadeia de caracteres |
URI para o qual os clientes são redirecionados quando terminem sessão nos serviços Microsoft Entra. Corresponde à propriedade LogOffUri do cmdlet Do PowerShell Set-EntraDomainFederationSettings. |
| promptLoginBehavior |
promptLoginBehavior |
Define o comportamento preferencial para o pedido de início de sessão. Os valores possíveis são: translateToFreshPasswordAuthentication, nativeSupport, disabled, unknownFutureValue. |
| isSignedAuthenticationRequestRequired |
Booliano |
Se for verdadeiro, quando os pedidos de autenticação SAML são enviados para o IDP SAML federado, Microsoft Entra ID assina esses pedidos com a chave de assinatura OrgID. Se for falso (predefinição), os pedidos de autenticação SAML enviados para o IDP federado não serão assinados. |
| nextSigningCertificate |
Cadeia de caracteres |
Certificado de assinatura de token de contingência que é utilizado para assinar tokens quando o certificado de assinatura principal expira. Formatado como cadeias codificadas com base 64 da parte pública do certificado de assinatura de tokens do IdP federado. Tem de ser compatível com a classe X509Certificate2. Tal como acontece com signingCertificate, a propriedade nextSigningCertificate é utilizada se for necessário um rollover fora da atualização de inscrição automática, se estiver a ser configurado um novo serviço de federação ou se o novo certificado de assinatura de token não estiver presente nas propriedades de federação após a atualização do certificado do serviço de federação. |
| signingCertificateUpdateStatus |
signingCertificateUpdateStatus |
Fornece status e carimbo de data/hora da última atualização do certificado de assinatura. |
| federatedIdpMfaBehavior |
federatedIdpMfaBehavior |
Determina se Microsoft Entra ID aceita a MFA realizada pelo IdP federado quando um utilizador federado acede a uma aplicação que é regida por uma política de acesso condicional que requer MFA. Os valores possíveis são: acceptIfMfaDoneByFederatedIdp, enforceMfaByFederatedIdp, rejectMfaByFederatedIdp, unknownFutureValue. Para obter mais informações, veja federatedIdpMfaBehavior values (Valores federatedIdpMfaBehavior). |
federatedIdpMfaBehavior values (valores federatedIdpMfaBehavior)
| Member |
Descrição |
| acceptIfMfaDoneByFederatedIdp |
Microsoft Entra ID aceita a MFA efetuada pelo fornecedor de identidade federado. Se o fornecedor de identidade federado não tiver executado a MFA, Microsoft Entra ID efetua a MFA. |
| enforceMfaByFederatedIdp |
Microsoft Entra ID aceita a MFA efetuada pelo fornecedor de identidade federado. Se o fornecedor de identidade federado não tiver executado a MFA, redireciona o pedido para o fornecedor de identidade federado para executar a MFA. |
| rejectMfaByFederatedIdp |
Microsoft Entra ID executa sempre a MFA e rejeita a MFA executada pelo fornecedor de identidade federado. |
Observação
federatedIdpMfaBehavior é uma versão evoluída da propriedade SupportsMfa do cmdlet Do PowerShell Set-EntraDomainFederationSettings.
- A mudança entre federatedIdpMfaBehavior e SupportsMfa não é suportada.
- Quando a propriedade federatedIdpMfaBehavior está definida, Microsoft Entra ID ignora a definição SupportsMfa.
- Se a propriedade federatedIdpMfaBehavior nunca estiver definida, Microsoft Entra ID continuará a respeitar a definição SupportsMfa.
- Se nem federatedIdpMfaBehavior nem SupportsMfa estiverem definidos, Microsoft Entra ID o comportamento será predefinido
acceptIfMfaDoneByFederatedIdp.
Resposta
Se for bem-sucedido, este método devolve um 201 Created código de resposta e um objeto internalDomainFederation no corpo da resposta.
Exemplos
Solicitação
POST https://graph.microsoft.com/v1.0/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"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.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,
};
// 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);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-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)
// 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)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
// 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 result = graphClient.domains().byDomainId("{domain-id}").federationConfiguration().post(internalDomainFederation);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
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'
};
await client.api('/domains/contoso.com/federationConfiguration')
.post(internalDomainFederation);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\InternalDomainFederation;
use Microsoft\Graph\Generated\Models\AuthenticationProtocol;
use Microsoft\Graph\Generated\Models\PromptLoginBehavior;
use Microsoft\Graph\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'));
$result = $graphServiceClient->domains()->byDomainId('domain-id')->federationConfiguration()->post($requestBody)->wait();
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
Import-Module Microsoft.Graph.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"
}
New-MgDomainFederationConfiguration -DomainId $domainId -BodyParameter $params
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.internal_domain_federation import InternalDomainFederation
from msgraph.generated.models.authentication_protocol import AuthenticationProtocol
from msgraph.generated.models.prompt_login_behavior import PromptLoginBehavior
from msgraph.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,
)
result = await graph_client.domains.by_domain_id('domain-id').federation_configuration.post(request_body)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
Resposta
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
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"
}