AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 796102
Accepted
Massimo
Massimo
Asked: 2016-08-11 12:37:05 +0800 CST2016-08-11 12:37:05 +0800 CST 2016-08-11 12:37:05 +0800 CST

A autenticação do Office 365 ADFS não está funcionando para domínios filhos

  • 772

Uma empresa está usando o Office 365 com autenticação ADFS; AD Connect é usado para sincronização de diretórios, ADFS é a versão Windows Server 2012 R2.

A empresa possui vários domínios do Active Directory:

parent1.com
    child1.parent1.com
    child2.parent1.com
    child3.parent1.com
parent2.com
    ...
...

Os domínios raiz são configurados como domínios federados no Office 365 (os nomes de domínio público e os nomes de domínio AD são idênticos); isso funciona bem, os usuários podem fazer login no Office 365 usando seu UPN, como [email protected], e sua senha AD.

Preciso adicionar suporte para domínios filhos; portanto, adicionei child1.parent1.comao Office 365 executando o seguinte comando (depois de conectar-me ao Office 365 com uma conta de administrador usando Connect-MsolService):

New-MsolFederatedDomain -DomainName child1.parent1.com -SupportMultipleDomain

(NB Se eu não usasse o SupportMultipleDomainparâmetro, o PowerShell daria um erro informando que era obrigatório).

Em seguida, adicionei todos os registros DNS necessários, tanto no DNS privado quanto no público; A validação do Office 365 dos registros DNS relatou que estava tudo bem.

O domínio filho foi adicionado ao AD Connect e a sincronização foi realizada; os usuários do domínio filho apareceram no Office 365, com nomes de usuário como [email protected]. Atribuí as licenças apropriadas a eles e tentei fazer login no portal do Office 365.

No entanto, os usuários do domínio filho não conseguem fazer login; eles recebem um erro de "solicitação inválida", com os seguintes detalhes adicionais:

Correlation ID: b1e47d45-b21c-42e9-9758-265804db7171 
Timestamp: 2016-08-10 20:27:48Z 
AADSTS50107: Requested federation realm
object 'http://child1.parent1.com/adfs/services/trust/' does not exist. 

Obviamente, há algo errado no lado do ADFS, mas não sou um especialista nisso e também não fui eu quem o configurou; como posso corrigir isso para que os usuários em domínios filhos possam fazer login com êxito no Office 365?

active-directory microsoft-office-365 adfs
  • 1 1 respostas
  • 6802 Views

1 respostas

  • Voted
  1. Best Answer
    Massimo
    2016-08-12T07:03:01+08:002016-08-12T07:03:01+08:00

    O problema é muito pouco documentado ( uma postagem no blog da Technet e alguma documentação para o Azure AD ), mas realmente existe e é causado pelo ADFS não se comportando corretamente em determinadas situações específicas (vários domínios federados de nível superior e lançando domínios filho federados no misturar); a solução envolve a edição de uma expressão regular em uma regra de declaração ADFS que é usada para criar o IssuerUri associado ao UPN do usuário. Citando o segundo artigo:

    So lets say for example that I have bmcontoso.com and then add
    corp.bmcontoso.com. This means that the IssuerUri for a user from
    corp.bmcontoso.com will need to be http://bmcontoso.com/adfs/services/trust.
    However the standard rule implemented above for Azure AD, will generate a
    token with an issuer as http://corp.bmcontoso.com/adfs/services/trust
    which will not match the domain's required value and authentication will fail.
    

    Para resolver o problema, a terceira regra de declaração no ADFS deve ser editada, passando de

    c:[Type == "http://schemas.xmlsoap.org/claims/UPN"] => issue(Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/issuerid", Value = regexreplace(c.Value, ".+@(?<domain>.+)","http://${domain}/adfs/services/trust/"));
    

    para

    c:[Type == "http://schemas.xmlsoap.org/claims/UPN"] => issue(Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/issuerid", Value = regexreplace(c.Value, "^((.*)([.|@]))?(?<domain>[^.]*[.].*)$", "http://${domain}/adfs/services/trust/"));
    

    No entanto, esteja ciente de que isso pode interromper a compatibilidade com outros cenários, como um domínio federado de terceiro nível real cujo domínio pai não é federado.

    • 3

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve