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

OpenID Connect (OIDC)

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

IdP 구성하기

이 섹션에서는 OIDC용 아이덴티티 공급자(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을 설정하는 방법을 보여줍니다.
    호스트 설정
    wandb/local은 기본적으로 implicit grant with the form_post response type을 사용합니다. 또한 wandb/localPKCE Code Exchange 플로우를 사용하는 authorization_code 그랜트를 수행하도록 설정할 수도 있습니다.
  4. 하나 이상의 OAuth 그랜트 유형을 선택하여 AWS Cognito가 토큰을 앱에 전달하는 방식을 구성합니다.
  5. W&B에는 특정 OpenID Connect(OIDC) 스코프가 필요합니다. AWS Cognito App에서 다음 항목을 선택합니다.
    • “openid”
    • “profile”
    • “email”
    예를 들어 AWS Cognito App UI는 다음 이미지와 비슷해야 합니다.
    필수 필드
    설정 페이지에서 Auth Method를 선택하거나 OIDC_AUTH_METHOD 환경 변수를 설정하여 어떤 그랜트를 사용할지 wandb/local에 알려줍니다. Auth Method는 반드시 pkce로 설정해야 합니다.
  6. Client ID와 OIDC issuer URL이 필요합니다. OpenID 디스커버리 문서는 $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에서 디스커버리 문서를 제공합니다.
다음으로 W&B에서 SSO 설정을 진행합니다.

W&B에서 SSO 설정하기

SSO를 설정하려면 관리자 권한과 다음 정보가 필요합니다.
  • OIDC Client ID
  • OIDC Auth method (implicit 또는 pkce)
  • OIDC Issuer URL
  • OIDC Client Secret (선택 사항; IdP 설정 방식에 따라 필요 여부가 결정됨)
IdP에서 OIDC Client Secret이 필요한 경우, environment variables 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 로그인 화면을 사용하여 다시 로그인합니다.

Customer Namespace 찾기

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를 다시 활성화하기 위해 반드시 해당 환경 변수를 제거해야 합니다.

보안 어설션 마크업 언어(SAML)

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