콘텐츠로 이동

Azure AD SSO(배포 플랜)


Azure Active Directory (Azure AD)는 Microsoft의 클라우드 기반 ID 및 액세스 관리 서비스로, 기업이 내부 및 외부 리소스를 관리할 수 있도록 지원합니다.

1. SSO에 필요한 주요 구성 정보 가져오기

Azure AD SSO로 Guance 배포 플랜에 로그인하려면 다음 세 가지 주요 구성 정보가 필요합니다.

구성 설명
wellKnowURL 애플리케이션에 해당하는 OIDC Endpoints 구성 주소, 즉 전체 https://xxx.xxx.com/xx/.well-known/openid-configuration 주소입니다.
clientSecret 클라이언트 시크릿 값입니다.
clientId 애플리케이션(클라이언트) ID

1. Azure AD 애플리케이션 만들기

1)Microsoft 포털에서 Azure 계정을 만듭니다.

Azure Active Directory 관리 센터로 이동하여 Azure Active Directory 관리 아래의 보기 > 앱 등록을 클릭합니다.

앱 등록 페이지에서 새 등록을 클릭합니다.

2)새 애플리케이션 만들기

애플리케이션 등록 페이지에서 이름을 입력하고, 지원되는 계정 유형은 모든 조직 디렉터리를 선택하며, 리디렉션 URI는 Web을 선택합니다. 등록을 클릭하면 새 애플리케이션이 생성됩니다. 아래 그림과 같이 애플리케이션 이름을 "Guance 배포 플랜"으로 정의합니다.

2. 새 애플리케이션 기본 구성 완료

1)새 애플리케이션을 만든 후 기본적으로 개요 페이지로 이동합니다. 앱 등록 > 모든 애플리케이션에서 만든 애플리케이션을 확인할 수 있습니다.

참고: 여기의 애플리케이션(클라이언트) ID가 OIDC 클라이언트 구성의 clientId입니다.

2)클라이언트 자격 증명 추가:

참고: 여기 목록의 이 OIDC 클라이언트 구성의 clientSecret 값입니다. 즉시 저장하세요!

3)토큰 구성 > 선택적 클레임 추가 페이지로 이동하여 그룹 클레임 추가를 클릭합니다. 추가가 완료되면 groups 레코드가 생성됩니다.

동시에 토큰 유형 ID액세스에 대해 그림에 표시된 클레임을 각각 선택하여 로그인한 클라이언트가 관련 토큰 데이터를 가져올 수 있도록 합니다.

4)API의 범위를 추가합니다. API 공개로 이동하여 각각 User.Read, User.Read.All, GroupMember.Read.All, Group.Read.All 범위를 추가합니다. 범위 추가를 클릭하여 현재 애플리케이션 클라이언트에 대해 그림에 표시된 네 가지 권한을 공개합니다.

5)이전 단계에서 네 가지 범위를 추가한 후 클라이언트 애플리케이션에 권한을 추가합니다. API 권한으로 이동합니다.

  • 먼저 Microsoft 인터페이스 권한을 선택합니다.

  • 그런 다음 애플리케이션에 필요한 권한을 선택합니다.

현재 테넌트 관리자를 대신하여 권한 부여에 동의해야 합니다.

참고: 클라이언트 ID는 애플리케이션(클라이언트) ID입니다.

3. 애플리케이션의 OIDC 프로토콜 엔드포인트 액세스 주소 정보 가져오기

앱 등록 > 엔드포인트에서 OIDC 클라이언트 구성의 WellKnowURL 값은 https://login.microsoftonline.com/consumers/v2.0/.well-known/openid-configuration입니다.

OpenID 구성 문서 URI에 대한 자세한 내용은 Microsoft ID 플랫폼의 OpenID Connect를 참조하세요.

至此,세 가지 주요 구성 정보를 모두 가져왔습니다.

2. Azure AD 애플리케이션 내 사용자 그룹 구성

1)홈 페이지로 돌아가 그룹 > 새 그룹으로 이동합니다.

2)그룹 유형을 선택합니다.

  • 보안: 사용자 및 컴퓨터의 공유 리소스에 대한 액세스 권한을 관리합니다.
  • Microsoft 365: 구성원에게 공유 사서함, 일정, 파일, SharePoint 사이트 등에 대한 액세스 권한을 부여하여 협업 기회를 제공합니다.

3)그룹 이름을 입력하고 필요에 따라 그룹 설명을 추가합니다.

4)소유자 또는 구성원을 추가합니다.

  • "소유자" 또는 "구성원" 아래의 링크를 선택하여 디렉터리의 각 사용자 목록을 채웁니다.
  • 목록에서 사용자를 선택한 다음 창 하단의 "선택" 버튼을 클릭합니다.

4)만들기를 클릭합니다.

3. 엔터프라이즈 애플리케이션 구성 설정

  1. 애플리케이션으로 이동하여 개요 > 셀프 서비스를 선택합니다.

  1. 사용자가 이 애플리케이션에 대한 액세스를 요청할 수 있도록 허용하고 할당된 사용자를 추가할 그룹을 결정합니다.

  1. 애플리케이션 > 사용자 및 그룹에서 로그인해야 하는 그룹과 사용자를 추가합니다.

  1. 애플리케이션 > 단일 로그온에서 groups 속성 클레임이 있는지 확인할 수 있습니다.

3. Guance Launcher에서 연결 구성

1)Guance Launcher 네임스페이스: forethought-core > core에서 Azure AD 기본 정보를 구성합니다.

# OIDC 클라이언트 구성(이 항목에 wellKnowURL이 구성된 경우 KeyCloakPassSet 구성 항목이 자동으로 비활성화됨)
OIDCClientSet:
  # OIDC Endpoints 구성 주소, 즉 전체 `https://xxx.xxx.com/xx/.well-known/openid-configuration` 주소입니다.
  wellKnowURL:
  # 인증 서비스에서 제공하는 클라이언트 ID
  clientId:
  # 클라이언트의 Secret key
  clientSecret:
  # 인증 방식, 현재는 authorization_code만 지원
  grantType: authorization_code
  # 요청의 인증서 인증 스위치
  verify: false
  # 인증서 경로 목록, .crt 및 .key 파일 경로를 순서대로 입력
  cert:
  # 토큰 가져오기 인터페이스의 인증 방식 basic: 요청 헤더의 Authorization에 있음; post_body: 요청 본문에 있음
  fetchTokenVerifyMethod: basic
  # 데이터 액세스 범위
  scope: "openid profile email address"
  # 【내부 구성, 사용자 조정 불필요】인증 서버 인증 성공 후 콜백 주소
  innerUrl: "{}://{}/oidc/callback"
  # 【내부 구성, 사용자 조정 불필요】인증 서비스 인증 성공 후 DF 시스템으로 콜백, DF 시스템이 사용자 정보를 가져온 후 프론트엔드 중간 페이지로 이동하는 주소
  frontUrl: "{}://{}/tomiddlepage?uuid={}"
  # 인증 서비스에서 가져온 계정 정보와 DF 시스템 계정 정보 필드 간의 매핑 관계 구성, 필수 항목: username, email, exterId; 선택 항목: mobile
  mapping:
    # 인증 서비스에서 로그인 계정의 사용자 이름 필드 이름, 필수, 값이 없으면 email 사용
    username: preferred_username
    # 인증 서비스에서 로그인 계정의 이메일 필드 이름, 필수
    email: email
    # 인증 서비스에서 로그인 계정의 전화번호 필드 이름, 선택
    mobile: phone_number
    # 인증 서비스에서 로그인 계정의 고유 식별자 필드 이름, 필수
    exterId: sub

참고 예시 그림:

클라이언트 ID클라이언트 시크릿 값은 아래 그림의 위치에서 가져올 수 있습니다.

2)Guance Launcher 네임스페이스: forethought-webclient > frontNginx에서 리디렉션 정보를 구성합니다.

server {
        listen 80;
        # 참고: 여기의 server_name 서비스 이름은 프론트엔드 액세스 주소 도메인 이름입니다.
        server_name cloudcare.cn, daily-ft2x.cloudcare.cn;
        location / {
           root /config/cloudcare-forethought-webclient;
           index index.html;
           try_files $uri $uri/ /index.html;
           if ($request_filename ~* .*\.(?:htm|html)$)
            {
                add_header Cache-Control "no-cache, no-store";
            }
        }

        # =========OIDC 프로토콜 리디렉션 관련 구성 시작=========
        # 요청을 Inner API 인터페이스로 직접 리디렉션 =========시작=========
        # 이 주소는 타사 로그인 시 액세스 주소로 사용됩니다. 필요에 따라 변경할 수 있지만 proxy_pass의 라우팅 주소는 변경할 수 없습니다.
        location /oidc/login {
            proxy_connect_timeout 5;
            proxy_send_timeout 5;
            proxy_read_timeout 300;
            proxy_http_version 1.1;
            proxy_set_header Connection "keep-alive";
            add_header Access-Control-Allow-Origin *;
            add_header Access-Control-Allow-Headers X-Requested-With;
            add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
            proxy_pass http://inner.forethought-core:5000/api/v1/inner/oidc/login;
        }

        # 이 주소는 타사 서비스가 OIDC 프로토콜을 통해 인증된 후 현재 서비스로 콜백하는 주소입니다. 이 주소는 [3.2.1] 구성의 OIDCClientSet 항목 아래 innerUrl 구성과 직접 연결됩니다. 이 주소를 변경할 때는 innerUrl과 동기화하여 변경해야 합니다. proxy_pass 값은 변경할 수 없습니다.
        location /oidc/callback {
            proxy_connect_timeout 5;
            proxy_send_timeout 5;
            proxy_read_timeout 300;
            proxy_http_version 1.1;
            proxy_set_header Connection "keep-alive";
            add_header Access-Control-Allow-Origin *;
            add_header Access-Control-Allow-Headers X-Requested-With;
            add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
            proxy_pass http://inner.forethought-core:5000/api/v1/inner/oidc/callback;
       }
       # =========OIDC 프로토콜 리디렉션 관련 구성 종료=========
}

참고 예시 그림:

3)Guance Launcher 네임스페이스: forethought-webclient > frontWeb에서 Azure AD 사용자가 Guance 배포 플랜에 로그인하기 위한 진입 주소를 구성합니다.

window.DEPLOYCONFIG = {

    ......
    paasCustomLoginInfo:[
        { "iconUrl":"xxx", "label": "xxx", "url": "xxxx" ,desc:"xxx"}
    ]

    ......

};

참고: server_name은 Guance 로그인 페이지 주소의 도메인 이름입니다.

참고 예시 그림:

1) 구성이 완료되면 업데이트된 구성 수정을 선택하고 재시작을 확인합니다.

4. Azure AD 계정으로 Guance에 SSO 로그인

모든 구성이 완료되면 Guance에 SSO로 로그인할 수 있습니다.

1)Guance 배포 플랜 로그인 주소를 열고 로그인 페이지에서 Azure AD SSO를 선택합니다.

2)Azure AD에 구성된 이메일 주소를 입력합니다.

3)로그인 비밀번호를 업데이트합니다.

4)Guance의 해당 워크스페이스에 로그인합니다.

Warning
  • "현재 계정이 어떤 워크스페이스에도 추가되지 않았습니다. 관리 백엔드로 이동하여 이 계정을 워크스페이스에 추가하세요."라는 메시지가 표시되면 Guance 관리 백엔드에 로그인하여 사용자에게 워크스페이스를 추가해야 합니다.

자세한 내용은 배포 플랜 워크스페이스 관리를 참조하세요.

Guance 관리 백엔드에서 사용자에게 워크스페이스를 추가한 후 사용자는 Guance을 사용할 수 있습니다.

추가 참고 자료

문서 평가

이 페이지가 도움이 되었나요?