ADFS Single Sign-On

ADFS(Active Directory Federation Services) 인스턴스를 통합하여 멤버의 Single Sign-On을 원활하게 관리할 수 있습니다.

참고: ADFS는 자체적으로 Slack의 SCIM API를 통한 자동 프로비저닝 해제를 지원하지 않습니다. IDP에서 멤버를 프로비저닝 해제한 후 ADFS 외부에서 SCIM 프로비저닝 솔루션을 구현하지 않은 경우에는 Slack에서도 비활성화해야 합니다.


1단계: Slack용 ADFS 설정

새로운 신뢰 당사자 트러스트 생성

  1. ADFS가 설치된 서버에 로그인합니다. ADFS 배포에 도움이 필요하면 이 가이드를 참조해주세요./span>
  2. ADFS 관리 콘솔을 열고 왼쪽 콘솔 트리에서 신뢰 관계, 신뢰 당사자 트러스트를 차례로 선택합니다.
  3. 오른쪽의 작업 메뉴에서 신뢰 당사자 트러스트 추가를 클릭합니다.
  4. 데이터 소스 선택 단계에서 신뢰 당사자에 관한 데이터를 수동으로 입력 옵션을 선택합니다. 신뢰 당사자에 대한 데이터를 수동으로 입력하는 옵션을 선택한 상태에서 데이터 소스 선택 단계를 선택합니다.
  5. 그런 다음, 표시 이름 지정 탭에서 애플리케이션의 표시 이름을 지정합니다. 회사 이름 - Slack과 같이 지정하는 것이 좋습니다. 필요할 수 있는 메모(옵션)를 추가합니다.
  6. 프로필 선택 탭에서 ADFS 프로필을 선택합니다.
  7. 인증서 구성 탭에서 인증서 설정을 기본값으로 유지합니다.
  8. URL 구성 탭에서 SAML 2.0 WebSSO 프로토콜에 대한 지원 활성화 상자를 선택하고 SAML 서비스 엔드포인트를 입력합니다

    •  Business+ 플랜:
    https://yourdomain.slack.com/sso/saml
    •  Enterprise Grid: https://yourdomain.enterprise.slack.com/sso/saml
    선택된 SAML 2.0 WebSSO 프로토콜에 대한 지원을 활성화하는 옵션이 있는 URL 구성 단계
  9. 식별자 구성 탭에서 https://slack.com을 입력하고 추가를 클릭합니다. 참고: 고유한 워크스페이스 URL(https://[workspacename].slack.com)을 지정하도록 선택할 경우 Slack의 서비스 제공업체 발급자 필드에 동일한 값을 입력해야 합니다.
  10. 다단계 인증(옵션)을 추가합니다.
  11. 이 신뢰할 수 있는 당사자에 액세스하도록 모든 사용자 허용을 선택한 후 다음을 클릭하고 설정을 검토합니다.
  12. 마법사가 닫힐 때 이 신뢰 당사자 트러스트에 대한 클레임 규칙 편집 대화 상자를 열기로 전환했는지 확인하고 닫기를 선택합니다.
  13. 그런 다음, 신뢰 당사자 트러스트(이 경우 Slack 워크스페이스 또는 Enterprise Grid)에 대한 규칙 또는 어설션 클레임을 만듭니다. Slack은 발신 클레임 유형 속성 및 값만 수신하므로 속성 목록이 다르게 보일 수도 있습니다. Slack 속성에 하나, NameID에 하나, 즉 2개의 클레임이 필요합니다.
  14. 규칙 추가를 클릭합니다.
    규칙 추가, 편집 또는 제거 버튼이 있는, Slack 속성 및 NameID 규칙 목록
  15. 클레임으로 LDAP 속성을 보내는 규칙을 생성합니다. 발신 클레임 유형인 User.Email만 필요하지만 first_name, last_name 및 User.Username을 포함할 수 있습니다. 발신 클레임 유형은 대소문자를 구분한다는 점에 유의하세요. 

    참고: User.Username에 전송된 값은 사용자의 사용자 이름에 해당합니다. 이 값은 각 사용자에게 고유하며 다시 사용되지 않습니다.
    LDAP 속성 및 발신 클레임 유형 목록을 보여주는 클레임 규칙 구성 단계
  16. 그리고 수신 클레임을 전환하는 다른 규칙을 생성합니다.
  17. 필요한 NameID 클레임 규칙을 열고 발신 이름 ID 형식을 영구 식별자로 변경합니다. 그런 다음, 확인을 클릭하여 저장합니다.
    수신 클레임 유형 및 발신 클레임 유형 표시를 위한 드롭다운 메뉴를 보여주는 NameID 클레임 규칙

참고: Slack에서 AuthnRequest에 서명하도록 선택한 경우 생성된 Slack 인증서를 ADFS의 서명 탭에 업로드해야 합니다. 또한 고급 탭에서 보안 해시 알고리즘 SHA-1을 선택했는지 확인해야 합니다.


2단계: IDP와 Slack 통합

Business+ 플랜

Slack Enterprise Grid

그런 다음, Slack 워크스페이스의 인증 설정에 ADFS 세부정보를 추가합니다.

  1. 데스크톱의 사이드바에서 워크스페이스 이름을 클릭합니다.
  2. 메뉴에서 도구 및 설정을 선택한 후 워크스페이스 설정을 클릭합니다.
  3. 인증 탭을 클릭한 후 SAML 인증 옆에 있는 구성을 클릭합니다(OneLogin, Okta 또는 사용자 지정 SAML 2.0 솔루션).
  4. SAML 2.0 엔드포인트 URL(SAML 2.0과 페더레이션 URL 엔드포인트)을 입력합니다. 기본 설치는 /adfs/ls/입니다.
    SAML SSO URL과 URL이 입력된 텍스트 상자
  5. ID 제공업체 발급자를 입력합니다. 해당 엔드포인트가 확실하지 않으면 ADFS가 설치된 기기의 Powershell에서 PS C:/> Get-AdfsEndpoint를 실행합니다.사용하는 서비스에 대한 IdP Entitiy ID가 입력된 텍스트 상자와 ID 공급자 발급자
  6. ADFS의 암호화 탭에서 토큰 서명 x.509 인증서 전체를 복사하여 공개 인증서 필드에 붙여넣습니다.토큰 서명 필드가 선택된 ADFS의 암호화 탭
  7. Slack으로 둘 이상의 신뢰 당사자 트러스트를 설정하려면 고급 옵션 메뉴를 확장합니다.
  8. AuthnContextClass Ref 옆에서 PasswordProtectedTransport 및 Windows(내부/외부 인증을 위해 ADFS와 함께 사용)를 선택합니다. 그런 다음, 고유한 서비스 제공업체 발급자를 입력합니다. 서비스 제공업체 발급자는 ADFS의 신뢰 당사자 식별자와 일치해야 합니다.
    AuthnContextClass Ref 드롭다운 메뉴가 열려 있는 고급 옵션
  9. 저장을 클릭합니다.

다음으로 Enterprise Grid 조직의 인증 설정에 ADFS 세부정보를 추가해야 합니다.

  1. 데스크톱의 사이드바에서 워크스페이스 이름을 클릭합니다.
  2. 메뉴에서 도구 및 설정을 선택한 후 조직 설정을 클릭합니다.
  3. 왼쪽 사이드바에서  보안을 클릭한 후 SSO 설정을 선택합니다. 
  4. SAML 2.0 엔드포인트 URL(SAML 2.0과 페더레이션 URL 엔드포인트)을 입력합니다. 기본 설치는 /adfs/ls/입니다.
    SAML_2.0_Endpoint_URL__Grid_.png
  5. ID 제공업체 발급자를 입력합니다. 해당 엔드포인트가 확실하지 않으면 ADFS가 설치된 기기의 Powershell에서 PS C:/> Get-AdfsEndpoint를 실행합니다.Identity_Provider_Issuer__grid_.png
  6. 공개 인증서 필드에서 전체 x.509 인증서를 복사해 붙여넣습니다. adfs_clint.png
  7. Slack으로 신뢰 당사자 트러스트를 2개 이상 설정할 수 있습니다. AuthnContextClass Ref에서 PasswordProtectedTransport 및 Windows(내부/외부 인증을 위해 ADFS와 함께 사용)를 선택합니다.
  8. 고유한 서비스 제공업체 발급자를 입력합니다. 서비스 제공업체 발급자는 ADFS의 신뢰 당사자 식별자와 일치해야 합니다.
    service_provider_issuer
  9. {0>변경사항 저장<0}{0>을 클릭합니다.<0}{0><0}

참고: 고객님의 설정을 기꺼이 도와드리지만, Slack과의 연결이 항상 작동한다고 보장할 수는 없습니다. SAML 인증 오류 문제 해결 문서를 읽어보거나 Slack에 문의해주세요. 최선을 다해 도와드리겠습니다!

이 기능을 사용할 수 있는 사람은 누구인가요?
  • 워크스페이스 소유자조직 소유자
  • Business+Enterprise Grid 플랜