싱글 사인온 및 Control Hub

싱글 사인온(SSO)은 사용자가 자격 증명을 제공하여 한 개 이상의 응용프로그램에 액세스할 수 있도록 허용하는 세션 또는 사용자 인증 프로세스입니다. 해당 프로세스는 사용 권한이 있는 모든 응용프로그램에 대한 사용자를 인증합니다. 이는 특정 세션 중에 사용자가 응용프로그램을 전환할 때 추가 프롬프트를 제거합니다.

SAML 2.0(Security Assertion Markup Language) 페더레이션 프로토콜은 Webex 클라우드와 ID 제공자(IdP) 간의 SSO 인증을 제공하기 위해 사용됩니다.

프로필

Webex 앱은 웹 브라우저 SSO 프로필만 지원합니다. 웹 브라우저 SSO 프로필에서 Webex 앱은 다음 바인딩을 지원합니다.

  • SP 시작한 POST -> POST 바인딩

  • SP 시작한 REDIRECT -> POST 바인딩

NameID 형식

SAML 2.0 프로토콜은 특정 사용자에 대한 통신의 목적으로 다양한 NameID 형식을 지원합니다. Webex 앱은 다음 NameID 형식을 지원합니다.

  • urn:oasis:names:tc:SAML:2.0:nameid-format:transient

  • urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified

  • urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress

IdP로부터 로드한 메타데이터에서 Webex에서 사용할 첫 번째 항목이 구성됩니다.

싱글 로그아웃

Webex 앱은 싱글 로그아웃 프로필을 지원합니다. Webex 앱에서 사용자는 응용프로그램에서 로그아웃할 수 있으며, 이는 SAML 싱글 로그아웃 프로토콜을 사용하여 세션을 종료하고 IdP의 로그아웃을 확인합니다. IdP가 싱글 로그아웃에 대해 구성되어 있는지 확인합니다.

Control Hub와 Shibboleth 통합


구성 안내서는 SSO 통합에 대한 특정 예제를 안내하지만, 모든 가능성에 대한 각각의 구성은 제공하지 않습니다. 예를 들어, nameid-format urn:oasis:names:tc:SAML:2.0:nameid-format:transient에 대한 통합 단계는 문서화되었습니다. urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified 또는 urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress 등 다른 형식도 SSO 통합에 대해 작동하지만, 문서 범위에는 속하지 않습니다.

Webex 조직(Webex 앱, Webex MeetingsControl Hub에서 관리되는 기타 서비스 포함)에서 사용자에 대해 이 통합을 설정합니다. Control Hub에서 Webex 사이트가 통합된 경우, Webex 사이트는 사용자 관리를 상속받습니다. 이러한 방법으로 Webex Meetings에 액세스할 수 없으며 Control Hub에서 관리되지 않는 경우, 개별 통합을 실행하여 Webex Meetings에 대해 SSO를 활성화해야 합니다. (자세한 정보는 사이트 관리의 SSO 통합에서 Webex에 대해 싱글 사인온 구성을 참조)

통합 단계는 Tomcat 7을 웹 서버로 하여 CentOS 7에 있는 Shibboleth 2.4.5를 참조합니다.

시작하기 전에

SSO 및 Control Hub에 대해 IdP는 SAML 2.0 사양을 따라야 합니다. 또한 IdP는 다음 방법으로 구성되어야 합니다.

Webex 메타데이터를 로컬 시스템으로 다운로드

1

https://admin.webex.com의 고객 보기에서 관리 > 조직 설정으로 이동하고 인증으로 스크롤한 후 싱글 사인온 설정을 켜서 설정 마법사를 시작합니다.

2

귀 조직의 인증서 유형을 선택합니다.

  • Cisco 셀프 서명—이 선택을 권장합니다. 인증서에 서명합니다. 이 인증서는 5년에 한 번만 갱신하면 됩니다.
  • 공용 인증 기관에서 서명—더 안전하지만 메타데이터를 자주 업데이트해야 합니다(IdP 공급업체가 트러스트 앵커를 지원하는 경우 제외).

 

트러스트 앵커는 디지털 서명의 인증서를 확인하는 기관 역할을 하는 공개 키입니다. 자세한 정보는 IdP 설명서를 참조하십시오.

3

메타데이터 파일을 다운로드합니다.

Webex 메타데이터 파일명은 idb-meta-<org-ID>-SP.xml입니다.

Shibboleth 파일에서 인증 구성

Shibboleth를 설치하면 예제가 포함된 구성 파일을 제공받습니다.

1

디렉터리 /opt/shibboleth-idp/conf로 이동하여 예제 파일에 액세스합니다.

2

어떤 인증 방법을 사용할지(예: LDAP에서 Active Directory로 바인드) 결정합니다.

3

다음과 같이 handler.xml 파일을 편집합니다.

Uncomment

    <!--  Username/password login handler -->
    <ph:LoginHandler xsi:type="ph:UsernamePassword"
                  jaasConfigurationLocation="file:///opt/shibboleth-idp/conf/login.config">  
  <ph:AuthenticationMethod>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
</ph:AuthenticationMethod>
    </ph:LoginHandler>

코멘트

<ph:LoginHandler xsi:type="ph:RemoteUser"> 
<ph:AuthenticationMethod>urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified</ph:AuthenticationMethod>
    </ph:LoginHandler>
4

인증에 대해 허용할 Active Directory의 세부 사항을 기입합니다. login.config 파일에 구성을 제공합니다.

예:

ShibUserPassAuth {
   edu.vt.middleware.ldap.jaas.LdapLoginModule required
      ldapUrl="ldap://ad0a.cisco.net:389"
      ssl="false"
      tls="false"
      baseDn="cn=Users,dc=cisco,dc=net"
      subtreeSearch="true"
      userFilter="sAMAccountName={0}"
      bindDn="cn=Administrator,cn=Users,dc=cisco,dc=net"
      bindCredential="ThePassword";
};

SAML 어설션에 대해 Shibboleth 서비스 공급자 구성 요소 구성

1

Webex SP에서 다운로드한 파일을 디렉터리 /opt/shibboleth-idp/metadata에 추가합니다.

2

relying-party.xml 파일을 편집합니다. DefaultRelyingParty 태그 뒤에 Webex에 대한 SAML 어설션의 세부 사항을 추가합니다.

 <rp:RelyingParty id="https://idbroker.webex.com/ea7c1420-711d-4916-95f8-
22de53230d1e"
              provider="https://shib9a.cisco.net/idp/shibboleth"
              defaultSigningCredentialRef="IdPCredential">
            <rp:ProfileConfiguration xsi:type="saml:SAML2SSOProfile"
                includeAttributeStatement="true"
                assertionLifetime="PT5M" assertionProxyCount="0"
                signResponses="never" signAssertions="always"
                encryptAssertions="conditional" encryptNameIds="never"
                includeConditionsNotBefore="true"/>
        </rp:RelyingParty>

ID에 대해서는 Webex 메타데이터 파일에서 EntityID 값을 사용해야 합니다. 조직의 EntityID로 예제의 ID를 교체합니다.

3

metadata:MetadataProvider 태그 내에 다음 파일의 위치를 추가합니다.

 <metadata:MetadataProvider id="ShibbolethMetadata" xsi:type="metadata:Chaini
ngMetadataProvider">
        <metadata:MetadataProvider id="IdPMD" xsi:type="metadata:FilesystemMetad
ataProvider" metadataFile="/opt/shibboleth-idp/metadata/idp-metadata.xml" maxRefreshDelay="P1D" />
    <!--     Cisco UCXN Configuration               -->
   <metadata:MetadataProvider xsi:type="FilesystemMetadataProvider" xmlns="urn:m
ace:shibboleth:2.0:metadata" id="ucxn9a" metadataFile="/opt/shibboleth-idp/metad
ata/ucxn9a-single-agreement.xml" />
    <!--     Cisco CUCM Configuration               -->
   <metadata:MetadataProvider xsi:type="FilesystemMetadataProvider" xmlns="urn:m
ace:shibboleth:2.0:metadata" id="cucm9a" metadataFile="/opt/shibboleth-idp/metad
ata/cucm9a.cisco.net-single-agreement.xml" />
    <!--     Cisco CI Configuration               
   <metadata:MetadataProvider xsi:type="FilesystemMetadataProvider" xmlns="urn:m
ace:shibboleth:2.0:metadata" id="CI" metadataFile="/opt/shibboleth-idp/metadata/
idb-meta-ea7c1420-711d-4916-95f8-22de53230d1e-SP.xml" />
    </metadata:MetadataProvider>

SP 메타데이터는 Shibboleth 파일 시스템에 있는 파일로부터 나오며, 이는 Webex 조직에 대한 메타데이터를 업로드한 위치입니다.

어설션 속성 구성

1

데이터 커넥터 섹션에서 사용자에 대한 속성을 검색할 수 있는 위치를 지정합니다.

예:

Active Directory, with an id of MyLDAP.

<resolver:DataConnector id="MyLDAP" xsi:type="dc:LDAPDirectory"
      ldapURL="ldap://ad0a.cisco.net:389"
      baseDN="cn=Users,dc=cisco,dc=net"
      principal="Administrator@cisco.net"
      principalCredential="ThePassword">
        <dc:FilterTemplate>
            <![CDATA[
                (sAMAccountName=$requestContext.principalName)
            ]]>
        </dc:FilterTemplate>
    </resolver:DataConnector>
2

속성 정의 섹션에서 transientID에 대해 이미 구성에 있는 내용을 유지합니다.

3

SP가 변경할 추가 속성을 추가하고 속성 소스에서 매핑할 내용을 정의합니다.

예:

속성 메일(Active Directory에 있는 이메일 주소 속성)을 uid(Webex에 있는 UserID)로 매핑합니다.
<resolver:AttributeDefinition id="mail-attr" xsi:type="ad:Simple" 
sourceAttributeID="mail">
        <resolver:Dependency ref="MyLDAP" />
        <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="uid" />
     </resolver:AttributeDefinition>
4

attribute-filter.xml 파일에서 각 SP 계약서에 제공할 속성을 정의합니다.

사용자의 이메일 주소로 매핑하는 Webex에 uid 속성을 제공합니다.

예:

속성 uid를 Webex이(가) 포함된 SP 계약서로 릴리즈합니다.

<!--  Release the attributes to cisco CI Cloud  -->
    <afp:AttributeFilterPolicy id="ReleaseToCI">
        <afp:PolicyRequirementRule xsi:type="basic:AttributeRequesterString" 
value="https://idbroker.webex.com/ea7c1420-711d-4916-95f8-22de53230d1e" />
        <afp:AttributeRule attributeID="transientId">
            <afp:PermitValueRule xsi:type="basic:ANY"/>
        </afp:AttributeRule>
        <afp:AttributeRule attributeID="mail-attr">
            <afp:PermitValueRule xsi:type="basic:ANY" />
        </afp:AttributeRule>
    </afp:AttributeFilterPolicy>

attribute-resolver.xml에 작성한 규칙에는 mail-attr 속성을 Webex와 일치하는 EntityID로 릴리즈하기 위한 정책이 있어야 합니다.

5

/opt/shibboleth-idp/metadata에 있는 Shibboleth 서버에서 메타데이터 파일을 다운로드합니다. 파일명은 idp-metadata.xml입니다.

IdP 메타데이터 가져오기 및 테스트 후에 싱글 사인온 활성화

Webex 메타데이터를 내보낸 후 IdP를 구성하고 해당 IdP 메타데이터를 로컬 시스템으로 다운로드하면 Control Hub에서 Webex 조직으로 가져올 준비가 됩니다.

시작하기 전에

ID 제공자(IdP) 인터페이스에서 SSO 통합을 테스트하지 마십시오. 저희는 서비스 공급자가 시작한(SP-시작) 흐름만 지원하므로 이 통합에 대해 Control Hub SSO 테스트를 사용해야 합니다.

1

다음 중 하나를 선택합니다.

  • 브라우저에서 Control Hub – 인증서 선택 페이지로 돌아간 후 다음을 클릭합니다.
  • Control Hub가 브라우저 탭에서 더 이상 열려 있지 않으면 https://admin.webex.com의 고객 보기에서, 관리 > 조직 설정으로 이동하고 인증으로 스크롤한 후 작업 > 메타데이터 가져오기를 선택합니다.
2

IdP 메타데이터 가져오기 페이지에서 IdP 메타데이터 파일을 페이지로 드래그하고 드롭하거나, 파일 찾아보기 옵션을 사용하여 메타데이터 파일을 찾고 업로드합니다. 다음을 클릭합니다.

가능하면 보안 수준 높음 옵션을 사용해야 합니다. 이는 IdP에서 메타데이터에 서명하기 위해 공용 CA를 사용한 경우에만 가능합니다.

다른 모든 경우에는 보안 수준 낮음 옵션을 사용해야 합니다. 여기에는 메타데이터가 서명되지 않은 경우, 셀프 서명된 경우 또는 개인 CA에서 서명한 경우가 포함됩니다.

3

SSO 설정 테스트를 선택하고 새로운 브라우저 탭이 열리면 로그인하여 IdP로 인증합니다.


 

인증 오류를 수신하는 경우, 자격 증명과 관련된 문제일 수 있습니다. 사용자이름 및 비밀번호를 확인한 후 다시 시도하십시오.

Webex 앱 오류는 일반적으로 SSO 설정과 관련된 문제를 의미합니다. 이러한 경우, 해당 단계를 다시 실행합니다. 특히 Control Hub 메타데이터를 IdP 설정에 복사하고 붙여넣는 단계를 주의하십시오.


 

SSO 로그인 경험을 직접 보려면 이 화면에서 클립보드에 URL 복사를 클릭하고 개인 브라우저 창에 붙여넣을 수도 있습니다. 여기서 SSO로 로그인하는 과정을 진행할 수 있습니다. 이 단계는 로그인 중인 기존 세션에 있을 수 있는 액세스 토큰으로 인한 가양성을 중지합니다.

4

Control Hub 브라우저 탭으로 돌아갑니다.

  • 테스트가 성공적이면 테스트 성공을 선택합니다. SSO를 켜고 다음을 클릭합니다.
  • 테스트가 실패했으면 테스트 실패를 선택합니다. SSO를 끄고 다음을 클릭합니다.

 

첫 번째 라디오 버튼을 선택하고 SSO를 활성화한 경우가 아니면 SSO 구성이 귀 조직에 적용되지 않습니다.

다음에 수행할 작업

자동 이메일 표시하지 않기에 있는 절차를 따라 조직에서 새로운 Webex 앱 사용자에게 발송하는 이메일을 비활성화할 수 있습니다. 해당 문서에는 조직에 있는 사용자에게 통신문을 발송하는 모범 사례도 포함됩니다.