OIDC(OpenID Connect)는 OAuth 2.0 프레임워크에 구축된 인증 프로토콜입니다. 이를 통해 개발자가 안전하고 표준화된 방법으로 사용자를 인증하고 기본적인 프로필 정보를 확보할 수 있습니다. OIDC는 ID 토큰을 사용하여 권한 부여 서버가 수행한 인증을 기반으로 사용자의 ID를 확인하여 사용자 ID를 관리하는 프로세스를 단순화하고 사용자와 애플리케이션 간 상호작용의 보안을 강화합니다.
Zendesk와의 OIDC 통합 인증(SSO)을 통해 사용자가 Zendesk에 대한 별도의 로그인 자격 증명을 관리하는 대신 Google 또는 Okta와 같은 통합 ID 제공업체(IdP)를 사용하여 로그인할 수 있으므로 인증 프로세스가 간소화됩니다.
관련 문서:
Zendesk용 OIDC SSO 작동 방식
OIDC SSO를 통해 사용자가 표준 프로토콜을 사용하여 IdP와 인증할 수 있습니다. 인증된 후 IdP는 사용자의 ID와 액세스 권한을 확인하는 데 사용되는 ID 토큰을 발급합니다.
OIDC를 사용한 Zendesk SSO 프로세스의 단계:
- 인증되지 않은 사용자는 Zendesk Support URL로 이동됩니다. 예: https://yoursubdomain.zendesk.com/.
- 로그인 워크플로우에 따라 사용자가 SSO로 로그하기 위해 Zendesk 로그인 페이지의 버튼을 클릭하면 해당 IdP로 안내되거나 자동으로 해당 IdP로 리디렉션되어 로그인합니다.
- 사용자가 인증된 후에는 IdP가 사용자별 정보가 포함된 ID 토큰을 생성합니다.
- 토큰이 다시 Zendesk로 전송되어 Zendesk와 IdP 간에 공유된 구성 세부 정보를 기반으로 검증됩니다.
- 검증에 성공하면 Zendesk가 IdP가 확립한 신뢰를 활용하여 사용자에게 액세스 권한을 부여합니다.
중요 고려 사항
- 메시징에서는 OIDC를 사용하여 사용자를 인증할 수 없습니다.
- Zendesk에서는 모든 사용자가 프로필과 연결된 이메일 주소를 가져야 하지만, 사용자가 이메일 주소 없이 로그인을 시도할 수도 있습니다. 이러한 시나리오에서는 이메일 주소가 없어서 인증에 계속 실패하는 것을 방지하기 위해 Zendesk에서 오류 메시지를 표시합니다.
- Entra의 OIDC를 사용하려면 몇 가지 특정 요구 사항이 구성되어야 합니다.
- 인증 모드는 PKCE여야 합니다.
- Entra OIDC PKCE 구성 양식의 Mobile and desktop applications - Redirect URIs 아래에 콜백 URL을 추가합니다.
OIDC SSO 구성 만들기
관리자는 최종 사용자에 대해서만, 팀원(라이트 상담사와 기여자 포함)에 대해서만 또는 두 그룹 모두에 대해 OIDC 통합 인증을 사용 설정할 수 있습니다. 여러 개의 OIDC SSO 구성을 만들 수 있습니다.
이 단계에 필요한 정보는 사용 중인 IdP에서 확보해야 하므로 시작하기 전에 IdP가 설정되어 있도록 하세요. 회사 IT 팀으로부터 정보를 확보해야 할 수도 있습니다.
Zendesk에서 OIDC SSO 구성을 만들려면 다음과 같이 하세요.
- 관리 센터의 사이드바에서 계정을 클릭한 다음 보안 > 통합 인증을 선택합니다.
- SSO 구성 만들기를 클릭한 다음 OpenID Connect를 선택합니다.
- 고유한 구성 이름을 입력합니다.
- (선택 사항) IP 범위에 사용자를 적절한 로그인 옵션에 리디렉션할 IP 범위 목록을 입력합니다.
지정된 IP 범위에서 요청을 하는 사용자는 원격 OIDC 인증 로그인 양식으로 라우팅됩니다. 범위 밖의 IP 주소에서 요청을 하는 사용자는 표준 Zendesk 로그인 양식으로 라우팅됩니다. 모든 사용자가 원격 인증 로그인 양식으로 리디렉션되도록 하려면 범위를 지정하지 마세요.
- 클라이언트 ID 필드에 IdP가 제공한 클라이언트 ID를 입력합니다.
- IdP가 요구하는 경우 클라이언트 비밀키를 입력합니다.
클라이언트 비밀키는 기밀로 유지되어야 하므로 구성을 저장한 후에는 전체 비밀키를 다시 볼 수 없습니다. 비밀키를 순환해야 하는 경우에는 SSO 구성을 편집하여 새 비밀키를 입력하고 저장합니다.
-
범위 필드에 IdP에서 요청하려는 모든 범위를 나열합니다. 최소한
openid
및email
을 추가해야 합니다. 범위는 쉼표 없이 띄어쓰기로 구분됩니다. 예:openid email phone
OIDC 표준 내에서 지원되는 범위에는
openid
,profile
,email
,address
및phone
이 포함됩니다. IdP 내에서 구성된 사용자 지정 범위를 나열할 수도 있습니다.IdP에서 거부하는 허용되지 않는 범위로 인해 로그인에 실패하고
Unknown error during sign-in
오류가 표시됩니다. Zendesks는 이 필드에 있는 범위의 유효성을 검사하지 않습니다. - 발급자 URL만 제공하려면 자동 검색 사용 설정을 선택합니다. 이 기능이 사용 설정되어 있으면 Zendesk가 OIDC 구성 문서에서 자동으로 구성 세부 정보를 추출합니다. 발급자 URL과 인증 모드만 제공하면 됩니다.
- 다음과 같은 필수 URL을 입력합니다.
IdP가 사용 중인 URL의 특정 형식을 요구하는지 확인하세요. URL 형식이 올바르지 않아 IdP가 거부하면
Unknown error during sign-in
오류 메시지와 함께 로그인에 실패할 수 있습니다. Zendesk는 이러한 필드에서 URL을 검증하지 않습니다.- 발급자 URL(발급자 식별자라고도 함): 사용자 인증을 수행하고 ID 토큰을 제공하는 IdP의 고유 식별자입니다.
- UserInfo URL: 유효한 액세스 토큰으로 액세스하면 인증된 사용자에 대한 속성을 리턴하는 IdP에서 제공하는 엔드포인트입니다.
- JWK URL: Zendesk가 제공업체의 공개 키를 검색할 수 있는 IdP에서 제공하는 엔드포인트입니다. 이러한 키는 IdP가 발급하는 JSON 웹 토큰(JWT)의 서명을 확인하는 데 사용됩니다.
- 인증 URL: 사용자가 이 URL에 액세스하면 로그인하고 요청된 범위에 동의하라는 메시지가 표시됩니다.
- 액세스 URL(토큰 엔드포인트 URL이라고도 함): 액세스 토큰에 대한 인증 코드, 클라이언트 ID 및 클라이언트 비밀키를 교환하는 데 사용됩니다.
-
인증 모드를 선택합니다. PKCE를 권장합니다.
- 모바일이나 Javascript 웹 앱과 같은 공개 클라이언트의 경우 PKCE를 사용하여 액세스 토큰을 확보하는 것이 가장 좋은데 그 이유는 클라이언트 비밀키가 필요 없이 동적으로 생성된 키를 사용하여 허가되지 않은 토큰 교환을 방지하기 때문입니다.
- 인증 코드 플로우를 사용하여 액세스 토큰을 확보하려면 인증 코드 플로우를 선택합니다. 클라이언트 비밀키를 사용하여 토큰을 확보하는 안전한 백엔드 스토리지가 있는 서버 기반 앱에 가장 적합합니다.
-
사용자들이 로그인 방법을 선택할 수 있도록 하고 이 구성을 선택할 수 있는 옵션으로 설정하려면 사용자가 로그인할 때 버튼 표시를 선택합니다. 이 옵션을 선택하면 Zendesk 로그인 페이지에 표시될 버튼의 이름도 필요합니다.
사용자들이 Zendesk 로그인 페이지를 사용하지 않으므로 ID 제공업체를 사용해서만 로그인하는 경우 이 확인란을 지웁니다.
-
저장을 클릭합니다.
기본적으로 엔터프라이즈 SSO 구성은 비활성 상태입니다. 활성화하려면 사용자에게 OIDC SSO를 배정해야 합니다.
사용자에게 OIDC SSO 배정하기
OIDC SSO 구성을 만든 후에는 최종 사용자, 팀원 또는 둘 다에게 배정하여 활성화해야 합니다.
팀원 또는 최종 사용자에게 SSO 구성을 배정하려면 다음과 같이 하세요.
- 팀원 또는 최종 사용자에 대한 보안 설정을 엽니다.
- 외부 인증을 선택하여 인증 옵션을 표시합니다.
- 사용하려는 SSO 구성의 이름을 선택합니다.
통합 인증이 모든 사용 사례에 적용되지 않을 수도 있으므로 Zendesk 인증이 기본적으로 활성화 상태로 유지됩니다.
- 사용자에게 허용하려는 로그인 방법을 선택합니다.
최종 사용자가 직접 선택하도록 허용하면 사용자가 활성 인증 방법을 사용하여 로그인할 수 있습니다. 사용자에게 Zendesk에 로그인하는 다양한 방법 제공하기를 참조하세요.
SSO로 리디렉션하면 사용자는 기본 SSO 구성만을 사용하여 인증할 수 있습니다. 다른 인증 옵션이 활성화되어 있어도 사용자에게 추가 로그인 옵션이 표시되지 않습니다. SSO로 리디렉션을 선택하면 기본 SSO 구성을 선택할 수 있는 기본 SSO 필드가 나타납니다.
- 저장을 클릭합니다.
OIDC SSO를 사용 설정한 후 Zendesk에서 사용자 관리하기
Zendesk에서 OIDC 통합 인증을 사용 설정한 후에는 Zendesk 외부 사용자에게 수행된 변경 내용이 Zendesk 계정에 자동으로 동기화되지 않습니다. 인증 시점에 Zendesk에서 사용자가 업데이트됩니다. 예를 들어 내부 시스템에 사용자가 추가되면 해당 사용자가 Zendesk에 로그인할 때 Zendesk 계정에 추가됩니다. 내부 시스템에서 사용자가 삭제되면 해당 사용자는 더 이상 Zendesk에 로그인할 수 없게 됩니다. 하지만 이들의 계정은 계속 Zendesk에 남아 있습니다.
기본적으로 통합 인증이 사용 설정되면 사용자 데이터 중 사용자의 이름과 이메일 주소만 유일하게 Zendesk에 저장됩니다. Zendesk는 비밀번호를 저장하지 않습니다. 따라서 Zendesk에서 비밀번호에 관해 보내는 모든 자동화된 이메일 알림을 사용 중지해야 합니다.
Zendesk에서 비밀번호 알림 이메일 사용 중지하기
SAML, JWT 또는 OIDC(OpenID Connect) 통합 인증을 통해 Zendesk 계정에 액세스하는 모든 새 사용자에 대해 Zendesk 사용자 프로필을 만듭니다. 사용자는 Zendesk가 아닌 다른 비밀번호로 IdP를 통해 인증되므로 Zendesk에 직접 로그인할 필요가 없기 때문에 비밀번호 없이 프로필이 만들어집니다.
SSO를 통해 Zendesk에 로그인하는 신규 사용자는 IdP를 통해 인증되므로 계정을 인증하라는 이메일 알림을 받지 않습니다. 하지만 IdP가 사용자를 인증하지 못하는 경우 이메일 알림이 전송되지 않도록 이러한 자동 이메일 알림을 사용 중지하는 것이 좋습니다. SSO의 경우에는 항상 IdP를 통해 사용자 확인이 이루어져야 합니다.
비밀번호 알림 이메일을 사용 중지하려면 다음과 같이 하세요.
- 관리 센터의 사이드바에서 사람을 클릭한 다음 구성 > 최종 사용자를 선택합니다.
- 계정 관련 이메일 섹션에서 또한 상담사나 관리자가 새 사용자를 만들 때 환영 이메일이 발송됩니다를 선택 취소합니다.
- 사용자가 자신의 비밀번호 변경 가능에서 이 옵션을 선택 취소합니다.
인증 방법 전환하기
타사 SSO 방법을 사용하여 Zendesk에서 사용자를 만들고 인증한 다음 Zendesk 인증으로 전환하면 해당 사용자들에게는 로그인에 사용할 수 있는 비밀번호가 없습니다. 이러한 사용자들이 액세스 권한을 얻으려면 Zendesk 로그인 페이지에서 비밀번호를 재설정해야 합니다.
Zendesk에서 지원하는 속성
-
표준 속성은 OIDC 프로토콜에서 지정하고 널리 수용되는 미리 정의된 속성이며 여러 시스템에서 사용자 ID를 일관되게 이해할 수 있도록 보장합니다. Zendesk는 표준 속성인
sub
,email
,email_verified
및locale
을 지원합니다. - 사용자 지정 속성은 Zendesk 고유 요구 사항을 충족하기 위해 표준 세트를 확장하는 추가적인 속성입니다. ID 토큰이나 userinfo 클레임에서 사용자 지정 속성을 전달할 수 있습니다.
아래 표는 Zendesk에서 지원하는 표준 및 사용자 지정 속성의 전체 목록입니다.
속성 | 설명 |
---|---|
name | 모든 이름 부분을 포함하며 칭호 및 접미부를 포함할 수도 있으며 최종 사용자의 로캘 및 기본 설정에 따라 정렬되는 표시 가능한 형태의 사용자 전체 이름입니다. |
사용자의 기본 이메일 주소입니다. | |
email_verified | 사용자의 이메일 주소가 확인된 경우에는 True이고, 그렇지 않은 경우에는 False입니다. 이 속성 값이 True인 경우, OpenID 제공업체가 확인을 수행할 당시 사용자가 이 이메일 주소를 제어하고 있음을 보장하기 위해 적극적인 조치를 취했다는 의미입니다. Zendesk에서 SSO를 사용할 때 책임지고 사용자의 이메일 주소를 확인해야 합니다. |
organization | 사용자를 추가할 조직의 이름이나 ID. 조직의 external_id 속성은 지원되지 않습니다. 조직이 Zendesk에 존재하지 않으면 만들어지지 않습니다. 사용자가 만들어지지만 조직에 추가되지 않습니다. |
organizations |
org1 , org2 , org3 등과 같이 등과 같이 쉼표로 구분된 값
|
organization_id |
Zendesk API에서 조직의 외부 ID. organization과 organization_id가 둘 다 제공되면 organization은 무시됩니다. 예: 여러 조직 ID를 동시에 전달하려면 대신 organization_ids 속성을 사용합니다. 조직 ID는 쉼표로 구분된 문자열로 전달되어야 합니다. |
organization_ids |
Zendesk API에서 조직의 외부 ID. 여러 조직 ID를 전달할 때 이 속성을 동시에 사용하세요. organizations와 organization_ids가 둘 다 제공되면 organizations는 무시됩니다. 예: |
phone | 문자열로서 지정되는 전화번호 |
tags | 사용자에게 설정하는 태그. 이 태그는 사용자 프로필에 있을 수 있는 다른 모든 태그를 대체합니다. |
remote_photo_url | 사용자 프로필에 설정할 사진의 URL |
locale(상담사용) locale_id(최종 사용자용) |
번호로서 지정되는 Zendesk에서의 로캘. 올바른 번호 목록을 보려면 API 문서에 있는 로캘을 참조하세요. |
zendesk_role | 사용자의 역할. 최종 사용자, 상담사 또는 관리자로 설정될 수 있습니다. zendesk_role을 전달하지 않으면 다른 역할로 이미 존재하지 않는 한 Zendesk가 사용자를 최종 사용자로 만듭니다. |
custom_role_id | 위의 role 속성 값이 상담사인 경우에만 해당됩니다. 사용자 지정 역할 API로 사용자 지정 역할의 ID를 가져올 수 있습니다. |
external_id | 사용자가 이메일 주소 외의 다른 것으로 식별되거나, 이메일 주소가 변경될 수 있는 경우 시스템의 사용자 ID입니다. 문자열로 지정됩니다. |
user_field_<key> | Zendesk Support에서 사용자 지정 사용자 필드의 값. 사용자에게 사용자 지정 필드 추가하기를 참조하세요. <key>는 Zendesk Support에서 사용자 지정 사용자 필드에 배정된 필드 키입니다. 예: user_field_employee_number , 여기서 employee_number 는 Zendesk의 필드 키입니다. 속성 값에 null 값이나 빈 문자열을 보내면 Zendesk Support에서 설정된 모든 사용자 지정 필드 값이 제거됩니다. |