Introdução #
Uma das ferramentas mais utilizadas atualmente é o pacote office na nuvem. O seu uso traz clara praticidade, mas se não forem tomados os devidos cuidados, pode se tornar uma dor de cabeça para a organização.
Controlar o acesso, oferecer MFA, bem como restringir o horário de uso, podem ser funcionalidades muito úteis para garantir o uso produtivo e seguro das facilidades do ambiente em Nuvem.
A seguir detalhamos como integrar o sistema Office365 à solução CSSO da e-trust.
Configurando o CSSO #
Para configurar a integração do Cloud Single Sign-On com o Office 365 da organização, há a necessidade de acessar a página administrativa do Cloud Single Sign-On através da URL especificada abaixo e informar as credenciais de acesso de um administrador do sistema.
https://<organizacao>.sso.e-trust.com.br/login/admin/
Após a autenticação feita com sucesso o usuário será redirecionado para página administrativa do Cloud Single Sign-On, conforme apresentado abaixo.
O próximo passo consiste em clicar no menu Aplicações → Nova Aplicação, conforme mostrado na imagem abaixo.
A seguir devem ser configuradas as informações da aplicação conforme apresentado na imagem abaixo.
Mais abaixo da figura descrevemos cada um dos campos que devem ser preenchidos.
Nome da Aplicação: Office 365
URL da Página Inicial da Aplicação: https://login.microsoftonline.com/login.srf
Protocolo de Autenticação: SAML
Após aplicar as configurações informadas é necessário clicar no botão Salvar.
Após esse procedimento o usuário administrador será redirecionado para a página de aplicações, onde o mesmo deverá clicar no botão de edição da aplicação, identificado pela engrenagem, conforme apresentado na imagem abaixo.
Neste momento o usuário deverá preencher as informações da aplicação conforme escrito ou apresentado na imagem abaixo.
Campos a serem preenchidos:
EntityID: urn:federation:MicrosoftOnline
Assertion Consumer Service Endpoint: https://login.microsoftonline.com/login.srf
Method Binding: HTTP POST
Single Logout Service Endpoint: https://login.microsoftonline.com/logout.srf
Method Binding: HTTP POST
Audience: urn:federation:MicrosoftOnline
NameID Format: urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
Identificador de atributo imutável para cada Conexão
Esse valor a ser enviado deve ser equivalente ao atributo ImmutabeID do usuário no Office365.
No exemplo foi utilizado o objectGUID que é a base para o ImmutabeID.
Authentication Context Class Reference: urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified
Necessita que o Logout Response seja assinado: Sim
Necessita que a SAML Response seja assinada: Sim
Necessita que a Assertion seja assinada: Sim
Necessita que a Assertion seja criptografada: Não
SP X.509 Cert Mesmo utilizado para criptografia feita pelo SP e verificação de assinatura feita pelo IdP:
Neste campo deve ser fornecido o certificado emitido pela Microsoft. Para obter o certificado selecione o link abaixo:
www.e-trust.com.br/certificado_office365
O resultado deve ser um arquivo texto com o formato similar ao exemplo abaixo:
—–BEGIN CERTIFICATE—–
MIIDYDCCAkigAwIBAgIJAMkTRrgd+CoIMA0GCSqGSIb3DQEBCwUAMCkxJzAlBgNV
BAMTHkxpdmUgSUQgU1RTIFNpZ25pbmcgUHVibGljIEtleTAeFw0xNjEyMDYyMjA2
9E/ffrIOhyj+jwkA4M7sXaFoVs8cLdLurTVSjMuEvquO3lHbPunOXBPv029oTSEs
V4ArsQ==
—–END CERTIFICATE—–
Signature Algorithm: rsa-sha1
Digest Algorithm: sha1
Após aplicar as configurações informadas é necessário clicar no botão Salvar.
Configurando o OFFICE 365 #
O próximo passo consiste em configurar o Office 365 para utilizar a E-TRUST como Provedor de Identidade. Para isso, é necessário acessar um terminal PowerShell e executar os comandos apresentados abaixo.
Connect-MsolService
Nesse momento será necessário informar o usuário e senha de um usuário que possui permissão de execução de comandos PowerShell no Office 365. Geralmente esse comando é executado pelo administrador do sistema.
As variáveis descritas abaixo (com exceção da logouturl) possuem seu valor apenas de exemplo e devem ser preenchidas conforme descrito.
A variável domain é utilizada para identificar um usuário da organização ao tentar se autenticar no Office 365 através do link https://login.microsoftonline.com/login.srf. Portanto, é o domínio da organização.
A variável name faz referência ao nome da organização.
A variável url corresponde ao campo SSO POST URL, gerado no momento da criação da aplicação no Cloud Single Sign-On, apresentado em passos anteriores.
A variável uri corresponde ao campo Metadata URL, gerado no momento da criação da aplicação no Cloud Single Sign-On, apresentado em passos anteriores.
A variável logouturl é a url de logout do Office 365.
A variável cert é o valor do certificado do Cloud Single Sign-On. Para obter esse certificado é necessário acessar a Metadata URL gerada na aplicação configurada no Cloud Single Sign-On, onde será feito o download de um arquivo. Ao abrir esse arquivo com o editor de texto de sua preferência é necessário copiar o valor que se encontra na tag <ds:X509Certificate>.
$domain = “shoracius.com.br”
$name = “e-trust”
$url = “https://portal.sso.e-trust.com.br/idp/saml/post/sso/4c20a16b-ebd5-41ef-8c69-86237a27634b”
$uri = “https://portal.sso.e-trust.com.br/idp/saml/metadata/4c20a16b-ebd5-41ef-8c69-86237a27634b”
$logouturl = “https://login.microsoftonline.com/logout.srf”
$cert=MIIDxzCCAq++7WOnBWNxEyBeIekolDQ140kMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAAMnz9OYke9pUBKcZOo4PXqScln+Gvd/ODQmfbOd6v32IFwyVvJL4Vw1cieYCxmxDH7pykluA85BberYT1Yu4bm1xc3+aVDIYDjLoJPZtsk/7ff9YNgeLbfIEk1Di9JvBscmnVlKs0uyeic+QHricOL81ef5ntH1cWeJbWvp7SIW+zFBYXyyk9F/xRs/C/PfpujQBGQQjV0o9VYfo1l+qOxrbqfmL88HlQnRnzr3zH3mPR2vQUfrRlWQ/KHyv57Nkg6LzBn8/6gqD+mMV49YgzESUedeg3suE/Z9uKrQnvfnJQ/eUOHOsLoCwIh+a2XhjnbWI4voGNV1V7MfHHsu5cg=”
O comando abaixo faz com que o Office 365 efetue o login pelo próprio AD do Office.
Sendo assim, sempre quando houver uma mudança dos valores das variáveis é interessante executar o comando abaixo.
set-msoldomainauthentication -domainname $domain -authentication Managed
Por fim, o comando abaixo faz com que o Office 365 efetue login a partir do Provedor de Identidade configurado, utilizando o protocolo de comunicação SAML.
set-msoldomainauthentication -domainname $domain -authentication Federated -IssuerUri $uri -logoffuri $logouturl -passivelogonuri $url -SigningCertificate $cert -PreferredAuthenticationProtocol SAMLP
Testando a integração #
O próximo passo consiste em acessar o Cloud Single Sign-On no painel de usuários, conforme apresentado na sequência de imagens abaixo.
Nesse momento o usuário deverá informar as credenciais de um usuário válido. Após as credenciais serem validadas corretamente, ele será redirecionado para dashboard de usuários, onde será apresentado para ele as aplicações que ele possui acesso.
O usuário poderá clicar sobre a aplicação Office 365, onde será redirecionado para a página da aplicação para informar o usuário seguido do domínio configurado.
Problemas mais comuns #
Caso o mesmo não seja redirecionado para o Office 365 é possível que algum parâmetro foi configurado incorretamente, podendo ser na etapa de configuração da aplicação no Cloud Single Sign-On ou na execução de comandos PowerShell.
Caso o usuário for redirecionado para o Office 365 há a necessidade de verificar se as configurações do Cloud Single Sign-On foram inseridas corretamente na execução de comandos PowerShell e também validar o parâmetro identificador do usuário que é enviado ou até mesmo verificar se aquele usuário possui acesso ao Office 365.
URLs úteis #
Teste de conectividade
https://testconnectivity.microsoft.com/tests/o365
Metadata Microsoft:
https://nexus.microsoftonline-p.com/federationmetadata/saml20/federationmetadata.xml
Para validar certificados
https://comodosslstore.com/ssltools/cert-decoder.php