Office 365를 OAM 및 IdP와 통합

SAML 2.0 프로토콜을 사용하여 OAM(11.1.2.2.0 이상)을 Office 365 for Federation SSO를 사용하는 IdP로 구성한 문서의 연속입니다.

사전 요구 사항에 대한 기사를 읽으십시오.

통합에는 다음이 포함됩니다.

비 SAML 2.0 구성요소에 대한 Office 365와의 통합은 다음과 같이 작동하지 않습니다.

이 문서는 다음에 기반합니다.

테스트 환경

이 테스트 통합의 경우 다음 접근 방법을 사용합니다.

IdP에서 Office 365를 SP로 설정하는 작업은 다음으로 구성됩니다.

Office 365 구성

이 섹션을 읽을 때는 다음 Microsoft 정보를 참조하십시오.

Windows Powershell 사용

관리 목적으로 Office 365에 연결할 컴퓨터에 Windows Powershell 도구가 설치되어 있는지 확인합니다.

Office 365에서 파트너로 IdP 프로비저닝

Office 365에서 acme.com 도메인의 IdP 파트너로 OAM을 생성하려면 다음 단계를 수행하십시오.

OAM 구성

SP 속성 프로파일

사용자의 UPN 값을 포함하는 SAML IDPEmail 속성을 전송하도록 설정될 새 SP 속성 프로파일을 생성하려면 다음 작업을 수행하십시오.

  1. OAM 관리 콘솔(http(s)://oam-admin-host:oam-admin port/oamconsole)로 이동합니다.

  2. ID 통합, ID 제공자 관리로 이동합니다.

  3. 서비스 제공자 속성 프로파일 탭을 누릅니다.

  4. SP 속성 프로파일 생성 단추를 누릅니다.

  5. 새 프로파일의 이름을 입력합니다(예: Office365-attr-profile).

  6. [속성 매핑] 섹션에서 추가를 누릅니다.

  7. 다음 정보를 입력합니다.

    1. 메시지 속성 이름: IDPEmail

    2. : OAM에서 사용하는 디렉토리에 사용자의 UPN을 포함하는 LDAP 사용자 속성을 입력합니다(이 예에서는 user, attr, mail).

    3. 항상 전송: 선택됨

  8. OK를 누릅니다.

  9. 그림 Attribute_Mapping.jpg 설명

    속성 프로파일이 표시됩니다.

  10. 저장을 누릅니다.

그림 Attribute_Profile.jpg 설명

Office 365 SP 파트너

OAM에서 SP 파트너로 Office 365를 추가하려면 다음 단계를 수행하십시오.

  1. OAM 관리 콘솔(http(s)://oam-admin-host:oam-admin port/oamconsole)로 이동합니다.

  2. ID 통합, ID 제공자 관리로 이동합니다.

  3. 서비스 제공자 파트너 생성 단추를 누릅니다.

  4. [생성] 화면에서 다음 작업을 수행합니다.

    1. 파트너의 이름을 입력합니다(예: Office365).

    2. 프로토콜로 SAML 2.0 선택

    3. 메타데이터 로드를 누르고 Office 365용 SAML 2.0 Metadata =le을 업로드합니다.

    4. NameID 형식으로 Persistent를 선택합니다.

    5. 사용자의 ImmutableId 값을 포함하는 LDAP 사용자 속성 입력(이 예에서는 uid)

    6. 이전에 만든 SP 속성 프로파일을 선택합니다(이 예에서는 Office365-attr-profile).

  5. 저장을 누릅니다.

그림 Service_Provider_Partner.jpg 설명

SHA-1 디지털 서명에 대한 해시 알고리즘

Office 365 SP 파트너의 서명에 SHA-1를 사용하도록 OAM을 구성하려면 다음 단계를 수행하십시오.

  1. $IAM_ORACLE_HOME/common/bin/wlst.sh를 실행하여 WLST 환경을 입력합니다.

  2. WLS 관리 서버에 접속: connect()

  3. 도메인 런타임 분기로 이동합니다. domainRuntime()

  4. configureFedDigitalSignature() 명령을 실행합니다.

  5. configureFedDigitalSignature(partner="PARTNER_NAME", partnerType="sp",algorithm="SHA-256/SHA-1")

  6. PARTNER_NAME를 추가된 파트너의 이름으로 바꿉니다.

    1. 예: configureFedDigitalSignature(partner="Office365", partnerType="sp”, algorithm="SHA-1")
  7. WLST 환경을 종료합니다. exit()

OAM의 XML 디지털 서명 인증서

페더레이션 서버에 Office 365 SP 파트너의 모든 송신 서명된 SAML 메시지에 X.509 서명 인증서가 포함되도록 OAM을 구성하려면 다음 단계를 수행하십시오.

  1. $IAM_ORACLE_HOME/common/bin/wlst.sh를 실행하여 WLST 환경을 입력합니다.

  2. WLS 관리 서버에 접속: connect()

  3. 도메인 런타임 분기로 이동합니다. domainRuntime()

  4. updatePartnerProperty() 명령을 실행합니다. updatePartnerProperty("PARTNER_NAME", "sp", "includecertinsignature", "true""boolean")

  5. PARTNER_NAME를 추가된 파트너의 이름으로 바꿉니다. 예:

  6. updatePartnerProperty("Office365", "sp", "includecertinsignature", "true", "boolean")

  7. WLST 환경을 종료합니다. exit()

ActiveSync 메일 통합에 대한 HTTP 기본 인증

SAML 2.0 ECP 흐름에서 Office 365 서버는 HTTPS를 통해 SOAP를 통해 IdP에 직접 연결하고 SAML AuthnRequest 메시지를 게시합니다. SOAP 요청과 함께 HTTP 요청에는 HTTP 기본 인증 헤더의 일부로 사용자의 인증서가 포함됩니다.

OAM HTTP 기본 인증 체계를 사용하여 해당 인증서를 검증하도록 IdP를 구성해야 합니다. 또한 OAM과 관련된 사용자가 아니라 Office 365 서버에서 시작한 인증서 검증 작업이므로 이 작업으로 인해 OAM 세션이 생성되지 않아야 합니다. 이러한 이유로 IdP는 다음에 기반한 체계를 사용하도록 구성해야 합니다.

이 플로우에 BasicSessionlessScheme를 사용할 수 있습니다.

또한 BasicSessionlessScheme를 통해 클라이언트가 인증된 경우 urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport을 SAML 2.0 인증 방법으로 전송하도록 OAM을 구성해야 합니다.

SAML 2.0 ECP 플로우에서 HTTP 기본 인증을 사용하도록 OAM을 구성하려면 다음 단계를 수행합니다.

  1. $IAM_ORACLE_HOME/common/bin/wlst.sh를 실행하여 WLST 환경을 입력합니다.

  2. WLS 관리 서버에 접속: connect()

  3. 도메인 런타임 분기로 이동합니다. domainRuntime()

  4. setSPPartnerAlternateScheme() 명령을 실행하여 OAM이 BasicSessionlessScheme : setSPPartnerAlternateScheme(PARTNER_NAME, "true", httpHeaderName="X-MSClient-Application", httpHeaderExpression=".\*Microsoft.Exchange..\*" authnScheme="BasicSessionlessScheme")을 사용하도록 지시합니다.

  5. PARTNER_NAME를 추가된 파트너의 이름으로 바꿉니다.

  6. 예: setSPPartnerAlternateScheme("Office365", "true", httpHeaderName="X-MS-Client-Application", httpHeaderExpression=".\*Microsoft.Exchange..\*" authnScheme="BasicSessionlessScheme")

  7. OAM에서 Office 365 SP 파트너가 사용하는 OAM Fed 파트너 프로파일을 검색합니다.
  8. getFedPartnerProfile(PARTNER_NAME "sp")

  9. PARTNER_NAME를 추가된 파트너의 이름으로 바꿉니다.
  10. 예: getFedPartnerProfile("Office365", "sp") 반환된 값을 기록합니다.

  11. addSPPartnerProfileAuthnMethod() 명령을 실행하여 클라이언트가 BasicSessionlessScheme: addSPPartnerProfileAuthnMethod(PARTNER_PROFILE,"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport","BasicSessionlessScheme")를 통해 인증된 경우 "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport"를 SAML 2.0 인증 방법으로 전송하도록 OAM에 지시합니다.

  12. PARTNER_PROFILE를 이전 단계에서 검색된 값으로 바꿉니다.

  13. 예: addSPPartnerProfileAuthnMethod("saml20-sp-partner-profile", "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport", "BasicSessionlessScheme")

  14. WLST 환경을 종료합니다. exit()

테스트

브라우저 SSO

브라우저 SSO 플로우를 테스트하려면 다음을 수행합니다.

  1. 브라우저를 엽니다

  2. http://office365.com로 이동합니다.

  3. 사인인을 누릅니다

  4. 사용자의 전자 메일 주소를 입력합니다

  5. 그림 Signin_Page.jpg 설명

  6. Next를 누릅니다.
  7. Office 365는 이메일 주소의 접미어를 기반으로 Office 365 도메인을 찾으려고 시도합니다.

    도메인이 배치되면 Office 365는 인증을 위해 OAM/IdP로 재지정하기 위해 페더레이션 SSO 플로우를 트리거합니다.

    그림 Account_Found_Page.jpg 설명

    [Description of the illustration Account_Found_Page.jpg](files/Account_Found_Page.txt)
    
  8. IdP에서 사용자 이름/비밀번호를 입력합니다(이 예의 경우 통합 사용자 인증에 사용되는 인증 체계에 따라 LDAPScheme).

  9. 로그인을 누릅니다.

그림 Access_Manager_Screen.jpg 설명

IdP는 인증서를 검증하고, SAML 2.0 검증을 생성하고, 사용자에게 액세스 권한이 부여된 Office 365로 사용자를 다시 재지정합니다.

그림 Office_Screen.jpg 설명

OAM/IdP에서 Office 365로 전송한 샘플 SAML 2.0 검증은 다음과 같습니다.

<samlp:Response ... Destination="https://login.microsoftonline.com/login.srf" ID="ideBpq-cnpGfrWXMpBIjxN7QPQKa6WTVtnuZZr0Qe" InResponseTo="_d111d2a7-3475-4bc2-928f-34b83a4a0f64"IssueInstant="2014-01-18T16:58:05Z" Version="2.0"> <saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://acme.com/oam/fed</saml:Issuer <samlp:Status><samlp:StatusCodeValue="urn:oasis:names:tc:SAML:2.0:status:Success"/></samlp:Status>

<saml:Assertion ID="id-nTZcRuTaECKj2X9wzUTn7e-CknyECbGljTSo1T70"

IssueInstant="2014-01-18T16:58:05Z" Version="2.0"> <saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://acme.com/oam/fed</saml:Issuer

<dsig:Signature>

<dsig:SignedInfo>

<dsig:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-ex c14n#"/>

<dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rs sha1"/>

<dsig:Reference URI="#id-nTZcRuTaECKj2X9wzUTn7e-CknyECbGljTSo1T70">

<dsig:Transforms>

<dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#envelope signature"/>

<dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>

</dsig:Transforms>

<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"

<dsig:DigestValue>6iKaxdO74Xi5eRnv0X7nsmN/y10=</dsig:DigestValue>

</dsig:Reference>

</dsig:SignedInfo>

<dsig:SignatureValue>WYCBhIgPLafDeXroMSME80/QM...K/sNsI=

</dsig:SignatureValue>

<dsig:KeyInfo>

<dsig:X509Data>

<dsig:X509Certi=cate>MIIB+DCCAWGgA...plaoMZLcRoInVUbGTBDMfqmW5iZ/wjpzItg==

</dsig:X509Certi=cate>

</dsig:X509Data>

</dsig:KeyInfo>

</dsig:Signature>

<saml:Subject>

<saml:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"NameQuali=er="https://acme.com/oam/fed"SPNameQuali=er="urn:federation:MicrosoftOnline">alice.appleton</saml:NameID>

<saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">

<saml:SubjectConfirmationData InResponseTo="_d111d2a7-3475-4bc2-928f-

34b83a4a0f64" NotOnOrAfter="2014-01-18T17:03:05Z"

Recipient="https://login.microsoftonline.com/login.srf"/></saml:SubjectCon=rmatio

</saml:Subject>

<saml:Conditions NotBefore="2014-01-18T16:58:05Z"

NotOnOrAfter="2014-01-18T17:03:05Z">

<saml:AudienceRestriction>

<saml:Audience>urn:federation:MicrosoftOnline</saml:Audience>

</saml:AudienceRestriction>

</saml:Conditions>

<saml:AuthnStatement AuthnInstant="2014-01-18T16:58:05Z" SessionIndex="id-IMSvfoQa8uVVtSmN-lrdOfgEVKFJHF8AhmIDzj-"

SessionNotOnOrAfter="2014-01-18T17:58:05Z">

<saml:AuthnContext>

<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnCon </saml:AuthnContext>

</saml:AuthnStatement>

<saml:AttributeStatement>

<saml:Attribute Name="IDPEmail"

NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"> <saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema xsi:type="xs:string">alice.appleton@acme.com</saml:AttributeValue>

</saml:Attribute>

</saml:AttributeStatement>

</saml:Assertion>

</samlp:Response>

ActiveSync 메일 애플리케이션

이 테스트의 경우 iPhone에 Exchange 전자 메일 계정을 추가합니다. 설정 중에 iPhone 메일 애플리케이션은 전자메일 주소와 비밀번호를 Office 365 메일 서버로 전송하여 전자메일 주소에서 사용자 식별자를 추출하고 HTTP 기본 인증을 사용하여 SAML 2.0 ECP 프로토콜을 수행합니다.

주: 설정에 iPhone 메일 고유 응용 프로그램 대신 Outlook Desktop 응용 프로그램이 포함된 경우 유사한 흐름이 수행됩니다.

Office 365에서 iPhone를 설정하려면 다음 단계를 수행합니다.

  1. 설정으로 이동

  2. 메일로 이동

  3. 계정 추가

  4. Exchange 선택

  5. 그림 Add_Account.jpg 설명

  6. 전자메일 주소(이 예에서는 alice.appleton@acme.com)를 입력합니다.

  7. 사용자에 대한 OAM의 비밀번호(alice.appleton 사용자에 대한 비밀번호, 이 예에서는 식별자가 HTTP 기본 인증 사용자 이름 alice.appleton로 사용됨을 기억하십시오.)

  8. 그림 Exchange_Screen.jpg 설명

  9. Next를 누릅니다.
  10. 메일 애플리케이션은 사용자 계정 정보를 Office 365 메일 서버로 전송합니다. Office 365 메일 서버는 SAML 2.0 ECP 프로토콜을 통해 OAM/IdP와 상호 작용하여 데이터를 검증합니다. 사용자 식별자 및 비밀번호는 HTTP 기본 인증을 통해 OAM/IdP으로 전송됩니다.

    그림 Verifying_Screen.jpg 설명

    검증 성공 시 iPhone에 다음이 표시됩니다.

    그림 iphone_Screen.jpg 설명

  11. 성공한 검증을 표시하면 iPhone에 사용자가 사용으로 설정할 기능을 선택할 수 있는 화면이 표시됩니다. 기능을 선택한 후 저장합니다. 계정이 지금 설정됩니다.

그림 Account_Setup.jpg 설명

추가 학습 자원

docs.oracle.com/learn의 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 접근할 수 있습니다. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer로 전환할 수 있습니다.

제품 설명서는 Oracle Help Center를 참조하십시오.