메인 콘텐츠로 건너뛰기
W&B는 OpenID Connect(OIDC) 호환 ID 공급자를 지원하므로, Okta, Keycloak, Auth0, Google, Entra와 같은 외부 ID 공급자를 통해 사용자 ID와 그룹 멤버십을 관리할 수 있습니다.

OpenID Connect (OIDC)

W&B는 외부 ID 공급자(IdP)와 통합할 수 있도록 다음 OIDC 인증 플로를 지원합니다.
  1. Form Post를 사용하는 Implicit Flow
  2. PKCE(Proof Key for Code Exchange)를 사용하는 Authorization Code Flow
이러한 플로는 사용자를 인증하고, 접근 제어를 관리하는 데 필요한 ID 정보(ID 토큰 형태)를 W&B에 제공합니다. ID 토큰은 이름, 사용자명, 이메일, 그룹 멤버십 등 사용자의 ID 정보를 포함하는 JWT입니다. W&B는 이 토큰을 사용해 사용자를 인증하고 시스템 내 적절한 역할이나 그룹에 매핑합니다. W&B에서는 액세스 토큰이 사용자를 대신해 API 요청을 승인하는 데 사용되지만, W&B의 주된 관심사는 사용자 인증과 ID이므로 ID 토큰만 있으면 됩니다. 환경 변수를 사용해 Dedicated Cloud 또는 Self-Managed 인스턴스의 IAM 옵션을 구성할 수 있습니다. Dedicated Cloud 또는 Self-Managed W&B 설치에서 ID 공급자를 구성하는 데 도움이 되도록, 각 IdP별로 아래 가이드라인을 따르세요. SaaS 버전의 W&B를 사용 중이라면 조직의 Auth0 테넌트 구성에 대한 지원이 필요할 경우 support@wandb.com으로 문의하세요.

IdP 설정

이 섹션에서는 OIDC용 ID 공급자(IdP)를 설정하는 방법을 설명합니다. 자세한 내용은 사용하는 IdP의 탭을 선택하세요.
아래 절차에 따라 인가를 위해 AWS Cognito를 설정하세요:
  1. 먼저 AWS 계정에 로그인한 다음 AWS Cognito 앱으로 이동합니다.
    AWS Cognito 설정
  2. IdP에서 애플리케이션을 설정할 수 있도록 허용된 콜백 URL을 지정합니다:
    • 콜백 URL로 http(s)://YOUR-W&B-HOST/oidc/callback를 추가합니다. YOUR-W&B-HOST를 W&B 호스트 경로로 바꾸세요.
  3. IdP가 범용 로그아웃을 지원하는 경우 Logout URL을 http(s)://YOUR-W&B-HOST로 설정합니다. YOUR-W&B-HOST를 W&B 호스트 경로로 바꾸세요. 예를 들어 애플리케이션이 https://wandb.mycompany.com에서 실행 중이라면 YOUR-W&B-HOSTwandb.mycompany.com으로 바꾸면 됩니다. 아래 이미지는 AWS Cognito에서 허용된 콜백 URL과 로그아웃 URL을 설정하는 방법을 보여줍니다.
    호스트 설정
    wandb/local은 기본적으로 form_post 응답 유형을 사용하는 implicit grant를 사용합니다. wandb/localPKCE Code Exchange 흐름을 사용하는 authorization_code grant를 수행하도록 설정할 수도 있습니다.
  4. AWS Cognito가 앱에 토큰을 전달하는 방식을 설정하려면 하나 이상의 OAuth grant 유형을 선택합니다.
  5. W&B에서는 특정 OpenID Connect (OIDC) 스코프가 필요합니다. AWS Cognito 앱에서 다음 항목을 선택합니다:
    • “openid”
    • “profile”
    • “email”
    예를 들어 AWS Cognito 앱 UI는 다음 이미지와 비슷해야 합니다:
    필수 필드
    설정 페이지에서 Auth Method를 선택하거나 OIDC_AUTH_METHOD 환경 변수를 설정해 wandb/local이 사용할 grant를 지정합니다. Auth Method를 pkce로 설정해야 합니다.
  6. 클라이언트 ID와 OIDC issuer URL이 필요합니다. OpenID discovery document는 $OIDC_ISSUER/.well-known/openid-configuration에서 사용할 수 있어야 합니다. 예를 들어 User Pools 섹션의 App Integration 탭에 있는 Cognito IdP URL에 User Pool ID를 덧붙여 issuer URL을 생성할 수 있습니다:
    AWS Cognito issuer URL
    IdP URL에 “Cognito domain”을 사용하지 마세요. Cognito는 https://cognito-idp.$REGION.amazonaws.com/$USER_POOL_ID에서 discovery document를 제공합니다.
다음으로, W&B에서 SSO를 설정하세요.

W&B에서 SSO 설정

SSO를 설정하려면 관리자 권한과 다음 정보가 필요합니다.
  • OIDC Client ID
  • OIDC 인증 방법(implicit 또는 pkce)
  • OIDC Issuer URL
  • OIDC Client Secret(선택 사항, IdP 설정 방식에 따라 다름)
IdP에 OIDC Client Secret이 필요하면 환경 변수 GORILLA_OIDC_SECRET를 설정해 지정합니다.
  • W&B App에서 System Console > Settings > Advanced > User Spec으로 이동한 다음, 아래와 같이 extraENV 섹션에 GORILLA_OIDC_SECRET를 추가합니다.
  • Helm에서는 아래와 같이 values.global.extraEnv를 설정합니다.
    values:
    global:
        extraEnv:
        GORILLA_OIDC_SECRET="<your_secret>"
    
SSO를 설정한 후 인스턴스에 로그인할 수 없는 경우, LOCAL_RESTORE=true 환경 변수를 설정한 상태로 인스턴스를 재시작할 수 있습니다. 그러면 컨테이너 로그에 임시 비밀번호가 출력되고 SSO가 비활성화됩니다. SSO 관련 문제를 해결한 후에는 SSO를 다시 활성화하기 위해 해당 환경 변수를 반드시 제거해야 합니다.
System Console은 System Settings 페이지를 대체하는 기능입니다. W&B Kubernetes Operator 기반 배포에서 사용할 수 있습니다.
  1. Access the W&B Management Console을 참고하세요.
  2. Settings로 이동한 다음 Authentication으로 이동합니다. Type 드롭다운에서 OIDC를 선택합니다.
    System Console OIDC 구성
  3. 값을 입력합니다.
  4. Save를 클릭합니다.
  5. 로그아웃한 다음 다시 로그인합니다. 이번에는 IdP 로그인 화면을 사용합니다.

고객 네임스페이스 찾기

W&B Dedicated Cloud 또는 Self-Managed에서 CoreWeave 저장소를 사용해 팀 수준 BYOB를 설정하려면 먼저 조직의 Customer Namespace를 확인해야 합니다. 이 값은 Authentication 탭 하단에서 확인하고 복사할 수 있습니다.Customer Namespace를 사용해 CoreWeave 저장소를 설정하는 자세한 방법은 CoreWeave requirements for Dedicated Cloud / Self-Managed를 참조하세요.
SSO를 설정한 후 인스턴스에 로그인할 수 없는 경우, LOCAL_RESTORE=true 환경 변수를 설정한 상태로 인스턴스를 재시작할 수 있습니다. 그러면 컨테이너 로그에 임시 비밀번호가 출력되고 SSO가 꺼집니다. SSO 관련 문제를 해결한 후에는 SSO를 다시 활성화하기 위해 해당 환경 변수를 반드시 제거해야 합니다.

Security Assertion Markup Language (SAML)

W&B는 SAML을 지원하지 않습니다.