Container Orchestration/Kubernetes

Harbor SSO 구성 가이드(OIDC : Azrue AD, Gitlab)

Somaz 2025. 4. 7. 13:40
728x90
반응형

Overview

이번 포스팅에서는 Harbor SSO 구성 방법에 대해서 알아본다.

OIDC Auth Mode를 사용할 것이고, Azure AD, Gitlab 구성에 대해서 각각 알아본다.

 

 

 

 


 

 

 

Azrue AD App 구성

 

Azure Portal에서 App Registration 생성

  1. Azure Portal → Azure Active Directory → App registrations → New registration
  2. 앱 이름 입력 (예: "Harbor SSO")
  3. Supported account types: "Accounts in this organizational directory only"
  4. Redirect URI: - Platform: Web - URL: https://[HARBOR_URL]/c/oidc/callback
  5. Register 클릭

 

 

App 설정 구성

  1. Overview 페이지에서 다음 정보 메모:
    • Application (client) ID
    • Directory (tenant) ID
  2. Certificates & secrets → New client secret 생성
  3. 생성된 Client Secret 값 즉시 메모 (나중에 다시 볼 수 없음)
  1. Token configuration → Add optional claims
  2. Token type: ID
  3. Claim 추가:
    • email
    • preferred_username
  1. API permissions → Add a permission
  2. Microsoft Graph → Delegated permissions
  3. 필요한 권한 추가:
    • email
    • openid
    • profile

 

 

 

 


 

 

 

 

Gitlab App 구성

  • GitLab에서 Applications 메뉴로 이동 (Admin Area → Applications)
  • 새 애플리케이션 생성:
    • Name: Harbor
    • Redirect URI: https://HAROBR URL/c/oidc/callback
  • Scopes 선택:
    • read_user
    • openid
    • profile
    • email
  • Application ID (Client ID) 확인 및 메모
  • Secret (Client Secret) 즉시 메모 (나중에 다시 확인 불가)

 

 

 

 

 

Harbor OIDC 구성

auth mode 변경 불가 시
  • 관리자/익명을 제외한 모든 사용자를 삭제한다. 외부 키 연결이 있는 경우 해당 연결을 제거해야 한다.

 

 

 

 

 

Azure AD App OIDC 설정

 

 

 

 

Gitlab OIDC 설정

 

 

 

 

 


 

 

 

 

 

마무리

🔔 GitLab & Azure AD 기반 Harbor SSO 설정 요약
  • GitLab 및 Azure AD에서 clientId(=Application ID)clientSecret(=Secret)을 발급받아야 한다.
  • Harbor에서 OIDC 설정을 활성화하고, GitLab 또는 Azure AD의 OAuth 정보를 입력해야 한다.
  • GitLab 및 Azure AD에서 Scopes를 적절히 설정하여 사용자 정보를 제공해야 한다.
  • Harbor에서 사용자 그룹과 역할을 매핑하여 권한을 관리할 수 있다.
  • Azure AD OIDC 설정 시, 다음 엔드포인트 (Authorization Endpoint URL)을 사용해야 한다:
    • Authorization Endpoint: https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/authorize
    • Token Endpoint: https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token
    • JWKS (JSON Web Key Set) Endpoint: https://login.microsoftonline.com/{tenant_id}/discovery/v2.0/keys
    • User Info Endpoint: https://graph.microsoft.com/oidc/userinfo

 


Reference

https://goharbor.io/docs/main/administration/configure-authentication/oidc-auth/

728x90
반응형