메인 콘텐츠로 건너뛰기
W&B Server가 OpenID Connect (OIDC) 호환 ID 제공업체(IdP)를 지원함에 따라 Okta, Keycloak, Auth0, Google, Entra와 같은 외부 ID 제공업체를 통해 사용자 ID 및 그룹 멤버십을 관리할 수 있습니다.

OpenID Connect (OIDC)

W&B Server는 외부 ID 제공업체(IdP)와의 인테그레이션을 위해 다음과 같은 OIDC 인증 흐름을 지원합니다.
  1. Form Post를 사용한 Implicit Flow
  2. PKCE (Proof Key for Code Exchange)를 사용한 Authorization Code Flow
이러한 흐름은 사용자를 인증하고 W&B Server에 필요한 ID 정보(ID 토큰 형태)를 제공하여 엑세스 제어를 관리할 수 있게 합니다. ID 토큰은 사용자의 이름, 사용자 이름, 이메일, 그룹 멤버십과 같은 ID 정보를 포함하는 JWT입니다. W&B Server는 이 토큰을 사용하여 사용자를 인증하고 시스템 내의 적절한 역할 또는 그룹에 매핑합니다. W&B Server 컨텍스트에서 엑세스 토큰은 사용자를 대신하여 API 요청을 승인하지만, W&B Server의 주된 관심사는 사용자 인증 및 ID 확인이므로 ID 토큰만 필요합니다. 환경 변수를 사용하여 전용 클라우드 (Dedicated Cloud) 또는 Self-Managed 인스턴스에 대한 IAM 옵션 설정을 할 수 있습니다. 전용 클라우드 (Dedicated Cloud) 또는 Self-Managed W&B Server 설치를 위해 ID 제공업체를 설정하는 데 도움이 필요하다면, 각 IdP별 가이드를 따르세요. SaaS 버전의 W&B를 사용하는 경우, 조직을 위한 Auth0 테넌트 설정 지원은 support@wandb.com으로 문의하시기 바랍니다.
권한 부여를 위해 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가 유니버설 로그아웃을 지원하는 경우, 로그아웃 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을 제공하는 방법을 보여줍니다.
    호스트 설정
    _wandb/local_은 기본적으로 implicit grant와 form_post 응답 유형을 사용합니다. 또한 PKCE Code Exchange 흐름을 사용하는 authorization_code grant를 수행하도록 _wandb/local_을 설정할 수 있습니다.
  4. AWS Cognito가 앱에 토큰을 전달하는 방식을 구성하기 위해 하나 이상의 OAuth grant 유형을 선택합니다.
  5. W&B는 특정 OpenID Connect (OIDC) scope가 필요합니다. AWS Cognito 앱에서 다음 항목을 선택하세요.
    • “openid”
    • “profile”
    • “email”
    예를 들어, AWS Cognito 앱 UI는 다음 이미지와 유사해야 합니다.
    필수 필드
    설정 페이지에서 Auth Method를 선택하거나 OIDC_AUTH_METHOD 환경 변수를 설정하여 _wandb/local_에 어떤 grant를 사용할지 알려줍니다. Auth Method는 반드시 pkce로 설정해야 합니다.
  6. Client ID와 OIDC 발행자(issuer) URL이 필요합니다. OpenID discovery 문서는 $OIDC_ISSUER/.well-known/openid-configuration에서 사용할 수 있어야 합니다. 예를 들어, User Pools 섹션의 App Integration 탭에서 Cognito IdP URL 뒤에 User Pool ID를 추가하여 발행자 URL을 생성할 수 있습니다.
    AWS Cognito 발행자 URL
    IDP URL에 “Cognito domain”을 사용하지 마세요. Cognito는 https://cognito-idp.$REGION.amazonaws.com/$USER_POOL_ID에서 discovery 문서를 제공합니다.

W&B Server에서 SSO 설정하기

SSO를 설정하려면 관리자 권한과 다음 정보가 필요합니다.
  • OIDC Client ID
  • OIDC Auth method (implicit 또는 pkce)
  • OIDC Issuer URL
  • OIDC Client Secret (선택 사항; IdP 설정 방식에 따라 다름)
IdP에 OIDC Client Secret이 필요한 경우, 환경 변수 GORILLA_OIDC_SECRET을 전달하여 지정하세요.
  • UI에서 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. 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 탭 하단에서 이를 확인하고 복사할 수 있습니다.고객 네임스페이스를 사용한 CoreWeave 스토리지 설정에 대한 자세한 안내는 전용 클라우드 / Self-Managed를 위한 CoreWeave 요구 사항을 참조하세요.
SSO 설정 후 인스턴스에 로그인할 수 없는 경우, LOCAL_RESTORE=true 환경 변수를 설정하여 인스턴스를 재시작할 수 있습니다. 이렇게 하면 컨테이너 로그에 임시 비밀번호가 출력되고 SSO가 꺼집니다. SSO 문제를 해결한 후에는 SSO를 다시 활성화하기 위해 해당 환경 변수를 제거해야 합니다.

Security Assertion Markup Language (SAML)

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