Azure AD 가이드를 타지 않는 Slack에 대한 SSO 설정 포인트

3461 단어 슬랙AzureADSAML
Azure AD를 사용하여 Slack에 SSO 할 때 여러가지 빠져 버린 경험을 모처럼이므로 남겨 둡니다.
Azure AD 가이드만으로는 전혀 설정할 수 없었기 때문에…

이용한 플랜



· Azure AD P2(Enterprise Mobility+Security E5)
・Slack Pro Plus

환경 특성


  • E-mail은 O365의 ExchangeOnline이 아니라 GSuite를 사용했기 때문에 Azure AD의 mail 속성은 null
  • 아무래도 Azure AD의 mail 속성은 Azure AD와 동일한 테넌트에 Exchange Online을 설정하지 않으면 입력하지 않는 것 같습니다.
  • 실제로 Powershell에서 객체의 속성을 둥글게 빼면 null이었습니다


  • 설정시 빠져



    URL 설정 및 인증서 업로드는 Azure AD의 Slack 설치 가이드대로 문제가되지 않습니다.

    흠집 첫 번째 : Slack에서 SSO 설정을 저장할 수 없음



    Slack 측에서 SSO 설정을 저장하려고하면 "SSO가 활성화되지 않았습니다.
    SAML 응답에 필요한 email 속성을 찾을 수 없습니다. 사용 중인 Azure 설정을 확인합니다. 라는 오류 메시지가 출현.


    원인: Slack 측에서 필수로 하는 email 속성이 Azure AD의 Claim에 필수 정보로 등록되지 않았습니다.

    조치: email 속성을 Azure AD의 Claim에 필수 정보로 등록

    Slack에서는 NameID 이외에 메일 주소도 필수 정보로서 필요하고 있어 이것이 설정되어 있지 않으면 Azure AD와의 신뢰 구축시에 에러가 되어 버립니다.

    Step1: "새 클레임 추가"를 누릅니다.





    Step2: 'User.Email'을 클레임에 추가




  • 이름에 User.Email을 입력합니다
  • 네임 스페이스는 공란으로 OK
  • 소스 속성은 사용자 환경에서 이메일이 저장된 속성을 선택합니다.
  • 이 경우 사용자 이름에 이메일 주소가 설정되어 있으므로 userprincipalname을 선택합니다.


  • Step3: Slack 관리 화면에서 다시 설정 저장



    이제 저장할 수 있어야합니다.

    흠집 두 번째 : Azure AD 인증 화면에서 오류



    SSO를 사용하여 Slack에 로그인하고 Azure AD 측의 인증 화면에서 오류 코드 AADSTS75011가 나옵니다 (죄송합니다. ).

    원인:Slack측의 RequestedAuthnContext 에, PasswordProtectedTr
    ansport
    의 지정이 있었다

    해결책: RequestedAuthnContext 보내지 않도록 설정 변경
    RequestedAuthnContext 에 포함되는 정보는, SAML 의 사양으로 정의되고 있는 것으로, Service Provicer(이번은 Slack)가 Identity Provider(Azure AD)에 인증 방법을 지정하기 위한 정보입니다.
    Azure AD는 RequestedAuthnContext를 지원하므로 이번과 같이 PasswordProtectedTransport를 지정하면 비밀번호 입력을 Azure AD 측에서 수행하면 아무런 문제가 없습니다. 하지만 이번에 SSO를 구축한 환경에서는 이미 Windows Hello for Business를 설정했고 비밀번호 이외의 방법(Windows Hello for Business)에 의해 계정이 인증되어 버렸기 때문에 Slack측의 요구에 대답할 수 없었다 같아요.
    이번에는 RequestedAuthnContext가 생략되어도 Azure AD가 작동하면
    SP 측에서 인증 방법을 지정하지 않아도 IdP인 Azure AD 측에서 단단히 인증할 수 있으므로 전송하지 않기로 했습니다.

    다음 설정입니다.

    Step1 : Slack의 SSO 설정에서 AuthnContextClassRef의 설정 변경




    입력란을 클릭하면 풀다운 메뉴가 나타나므로 "이 값은 전송하지 않음"을 클릭합니다.

    ※사족 1
    RequestedAuthnContext 를 보내지 않는 SP는 상당히 있는 것 같고, Salesforce나 GSuite도 보내지 않은 것 같습니다. SP의 인증이 쇼보이므로 IdP로 확실히 인증한다는 것이므로, SP로부터 일부러 지정할 필요도 없는 것일지도 모르겠네요.

    좋은 웹페이지 즐겨찾기