728x90
반응형
Overview
이번 포스팅에서는 Harbor SSO 구성 방법에 대해서 알아본다.
OIDC Auth Mode를 사용할 것이고, Azure AD, Gitlab 구성에 대해서 각각 알아본다.

Azrue AD App 구성
Azure Portal에서 App Registration 생성
- Azure Portal → Azure Active Directory → App registrations → New registration
- 앱 이름 입력 (예: "Harbor SSO")
- Supported account types: "Accounts in this organizational directory only"
- Redirect URI: - Platform: Web - URL: https://[HARBOR_URL]/c/oidc/callback
- Register 클릭
App 설정 구성
- Overview 페이지에서 다음 정보 메모:
- Application (client) ID
- Directory (tenant) ID
- Certificates & secrets → New client secret 생성
- 생성된 Client Secret 값 즉시 메모 (나중에 다시 볼 수 없음)
- Token configuration → Add optional claims
- Token type: ID
- Claim 추가:
- preferred_username
- API permissions → Add a permission
- Microsoft Graph → Delegated permissions
- 필요한 권한 추가:
- openid
- profile
Gitlab App 구성
- GitLab에서 Applications 메뉴로 이동 (Admin Area → Applications)
- 새 애플리케이션 생성:
-
- Name: Harbor
- Redirect URI: https://HAROBR URL/c/oidc/callback
- Scopes 선택:
- read_user
- openid
- profile
- 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
- Authorization Endpoint:
Reference
https://goharbor.io/docs/main/administration/configure-authentication/oidc-auth/
728x90
반응형
'Container Orchestration > Kubernetes' 카테고리의 다른 글
| Kubernetes Endpoint와 EndpointSlice 완벽 정리 (0) | 2025.05.22 |
|---|---|
| Kubernetes에서 Source IP를 보존하는 방법 (0) | 2025.05.19 |
| Kubernetes Gateway API 완전 정복 (0) | 2025.04.04 |
| Kubernetes에 static-file-server 생성하기 (0) | 2025.03.24 |
| Kubernetes IPVS vs iptables (0) | 2025.02.03 |