OpenID Connect (OIDC)
W&B 서버는 외부 IdP(Identity Provider)와 통합하기 위해 다음과 같은 OIDC 인증 흐름을 지원합니다.- Form Post를 사용하는 암시적 흐름
- PKCE(Proof Key for Code Exchange)를 사용하는 Authorization Code 흐름
- Cognito
- Okta
- Entra
인증을 위해 AWS Cognito를 설정하려면 아래 절차를 따르세요.
-
먼저 AWS 계정에 로그인하고 AWS Cognito 앱으로 이동합니다.
-
허용된 콜백 URL을 제공하여 IdP에서 애플리케이션을 구성합니다.
http(s)://YOUR-W&B-HOST/oidc/callback
을 콜백 URL로 추가합니다.YOUR-W&B-HOST
를 W&B 호스트 경로로 바꿉니다.
-
IdP가 유니버설 로그아웃을 지원하는 경우 로그아웃 URL을
http(s)://YOUR-W&B-HOST
로 설정합니다.YOUR-W&B-HOST
를 W&B 호스트 경로로 바꿉니다. 예를 들어 애플리케이션이https://wandb.mycompany.com
에서 실행 중인 경우YOUR-W&B-HOST
를wandb.mycompany.com
으로 바꿉니다. 아래 이미지는 AWS Cognito에서 허용된 콜백 및 로그아웃 URL을 제공하는 방법을 보여줍니다._wandb/local_은 기본적으로form_post
응답 유형과 함께암시적
권한을 사용합니다. PKCE Code Exchange 흐름을 사용하는authorization_code
권한을 수행하도록 _wandb/local_을 구성할 수도 있습니다. - AWS Cognito가 앱에 토큰을 전달하는 방법을 구성하려면 하나 이상의 OAuth 권한 유형을 선택합니다.
-
W&B에는 특정 OpenID Connect (OIDC) 범위가 필요합니다. AWS Cognito 앱에서 다음을 선택합니다.
- “openid”
- “profile”
- “email”
설정 페이지에서 인증 방법을 선택하거나 OIDC_AUTH_METHOD 환경 변수를 설정하여 _wandb/local_에 사용할 권한을 알립니다. 인증 방법을pkce
로 설정해야 합니다. -
클라이언트 ID와 OIDC 발급자 URL이 필요합니다. OpenID 검색 문서는
$OIDC_ISSUER/.well-known/openid-configuration
에서 사용할 수 있어야 합니다. 예를 들어 사용자 풀 섹션 내의 앱 통합 탭에서 사용자 풀 ID를 Cognito IdP URL에 추가하여 발급자 URL을 생성할 수 있습니다.IDP URL에 “Cognito 도메인”을 사용하지 마세요. Cognito는https://cognito-idp.$REGION.amazonaws.com/$USER_POOL_ID
에서 검색 문서를 제공합니다.
W&B 서버에서 SSO 설정
SSO를 설정하려면 관리자 권한과 다음 정보가 필요합니다.- OIDC 클라이언트 ID
- OIDC 인증 방법(
implicit
또는pkce
) - OIDC 발급자 URL
- OIDC 클라이언트 암호(선택 사항, IdP 설정 방법에 따라 다름)
IdP에 OIDC 클라이언트 암호가 필요한 경우
OIDC_CLIENT_SECRET
환경 변수를 사용하여 지정합니다.wandb/local
포드로 전달하여 SSO를 구성할 수 있습니다. 환경 변수가 UI보다 우선합니다.
SSO를 구성한 후 인스턴스에 로그인할 수 없는 경우
LOCAL_RESTORE=true
환경 변수를 설정하여 인스턴스를 다시 시작할 수 있습니다. 그러면 컨테이너 로그에 임시 암호가 출력되고 SSO가 비활성화됩니다. SSO 문제를 해결한 후에는 SSO를 다시 활성화하려면 해당 환경 변수를 제거해야 합니다.- System Console
- System settings
시스템 콘솔은 시스템 설정 페이지의 후속 버전입니다. W&B Kubernetes Operator 기반 배포에서 사용할 수 있습니다.
- W&B 관리 콘솔 엑세스를 참조하세요.
-
설정으로 이동한 다음 인증으로 이동합니다. 유형 드롭다운에서 OIDC를 선택합니다.
- 값을 입력합니다.
- 저장을 클릭합니다.
- 로그아웃한 다음 다시 로그인합니다. 이번에는 IdP 로그인 화면을 사용합니다.
SSO를 구성한 후 인스턴스에 로그인할 수 없는 경우
LOCAL_RESTORE=true
환경 변수를 설정하여 인스턴스를 다시 시작할 수 있습니다. 그러면 컨테이너 로그에 임시 암호가 출력되고 SSO가 꺼집니다. SSO 문제를 해결한 후에는 SSO를 다시 활성화하려면 해당 환경 변수를 제거해야 합니다.