System for Cross-domain Identity Management
System for Cross-domain Identity Management (SCIM)
lakeFS Team과 lakeFS Enterprise에서 사용할 수 있어요. 무료 체험을 시작하거나 문의하세요.
lakeFS Cloud에는 SCIM v2.0 호환 서버가 포함돼 있어요. SCIM 클라이언트(IdP)와 통합해 사용자와 그룹의 프로비저닝/디프로비저닝을 자동화할 수 있어요.
본문
공식 지원 클라이언트(IdP), 기능, 제한 사항
지원 클라이언트(IdP)
현재 lakeFS Cloud SCIM 서버는 Entra ID(구 Azure AD)로 테스트와 검증을 마쳤어요. 하지만 SCIM v2.0은 승인된 표준이기 때문에, SCIM 호환 IdP라면 어떤 것이든 lakeFS Cloud와 통합할 수 있어야 해요.
기능
사용자 프로비저닝
-
사용자 생성: 애플리케이션에 할당된 사용자와 그룹의 멤버가 lakeFS Cloud에서 프로비저닝돼요
-
사용자 속성 업데이트: 지원되는 사용자 속성의 변경이 lakeFS Cloud에 동기화돼요
-
사용자 비활성화: 사용자를 비활성화하거나 애플리케이션에서의 할당을 제거하면 lakeFS Cloud에서 비활성화돼요
-
사용자 도입(adoption): lakeFS Cloud에 이미 존재하는 사용자는 IdP에 의해 "도입"되고 다시 생성되지 않아요
그룹 프로비저닝
-
그룹 생성: 애플리케이션에 할당된 그룹이 lakeFS Cloud에서 생성되고, 그룹의 사용자 멤버도 생성되어 lakeFS Cloud의 그룹에 추가돼요
-
그룹 이름 업데이트: 동기화된 그룹이 IdP에서 이름이 바뀌면 lakeFS Cloud에서도 이름이 바뀌어요
-
멤버 추가/제거: 할당된 그룹에 멤버가 추가/제거되면 lakeFS Cloud의 그룹에도 추가/제거돼요
-
그룹 도입: lakeFS Cloud에 이미 존재하는 그룹은 IdP에 의해 "도입"되고 다시 생성되지 않아요
사용자 속성과 동의
lakeFS Cloud SCIM 서버는 프로비저닝에 필요한 최소한의 사용자 속성 집합을 요구해요. 필수 속성은 연합 인증/SSO 로그인 중에 교환되는 기본 사용자 프로필의 부분 집합이에요. 사용자 동의는 lakeFS Cloud에 처음 로그인할 때 IdP가 요청해요.
알려진 제한 사항
-
사용자와 그룹 정책은 lakeFS에서만 관리할 수 있어요
즉, SCIM으로 새로 만들어진 그룹과 사용자는 기본 읽기 권한만 가지고 있어요. lakeFS UI나 API를 사용해 그 사용자와 그룹에 정책을 연결해야 해요. 하지만 사용자가 생성되어 정책이 연결된 기존 그룹에 추가되면, 그 사용자는 그룹에 연결된 정책이 허용하는 권한을 받게 돼요.
-
직접 그룹 멤버십만 SCIM으로 프로비저닝돼요
Okta와 Entra ID 모두 SCIM을 통한 직접 그룹 멤버십 동기화만 지원해요. 즉, 애플리케이션에 그룹을 할당하면 그 그룹의 사용자 멤버만 SCIM으로 프로비저닝돼요. SCIM 프로비저닝은 멤버 그룹과 그 멤버들로 계단식(cascade)으로 확장되지 않아요.
lakeFS Cloud에서 SCIM 활성화하기
lakeFS Cloud에서 SCIM 지원을 활성화하려면 cloud admin에 로그인해야 해요. cloud admin에서 SCIM 설정은 Access > Settings 아래에 있어요. SCIM은 기본으로 비활성화되어 있으므로, 조직에 SCIM을 활성화하려면 Setup Provisioning 버튼을 클릭하세요.
버튼을 클릭하면 조직에 SCIM이 활성화되고, lakeFS Cloud SCIM과 함께 동작하도록 IdP를 설정하는 데 필요한 세부 정보가 제공돼요.
IdP를 설정하려면 lakeFS Cloud SCIM 프로비저닝 엔드포인트가 필요하고, 통합 토큰도 생성해야 해요. 새 통합 토큰을 만들 때는 나중을 참고할 수 있도록 설명을 선택적으로 제공할 수 있어요.
Info
토큰 값은 생성 직후 딱 한 번만 표시돼요. 토큰 값은 저장되지 않고 초기 생성 이후에는 조회할 수 없으니 반드시 복사해 두세요.
Entra ID(구 Azure AD)에서 SCIM 프로비저닝 설정하기
Note
이 가이드는 lakeFS Cloud로의 연합 인증을 위한 Entra ID 엔터프라이즈 애플리케이션을 이미 설정했다고 가정해요.
Entra ID 관리 대시보드에서 Enterprise Applications로 가서 목록에서 lakeFS Cloud 엔터프라이즈 애플리케이션을 선택하세요. 그다음 사이드바에서 Provisioning을 클릭하고 Get Started를 클릭해요.
-
프로비저닝 설정에서 모드를 Automatic으로 설정해요
-
Tenant URL에 lakeFS Cloud 프로비저닝 설정의 URL을 입력해요. Entra ID와의 올바른 통합을 위해 URL 끝에
?aadOptscim062020을 덧붙여야 해요. -
Secret Token에 이전 단계에서 복사한 토큰을 붙여넣어요. 아직 토큰을 만들지 않았다면 지금 만들 수 있어요
-
Test Connection을 클릭해요
-
테스트가 실패하면 lakeFS Cloud의 올바른 SCIM 엔드포인트 URL을 입력했고 토큰을 올바르게 복사했는지 확인하세요. 그렇지 않다면 설정 패널 상단의 "Save"를 클릭해요
-
프로비저닝 속성 매핑을 구성해요(어떤 속성이 lakeFS SCIM 엔드포인트로 전송되는지 결정해요)
필수 속성
LakeFS SCIM 구현은 요청에서 기대하는 여러 속성이 있어요. 누락되거나, 잘못되거나, 불필요한 속성은 일반적으로 400 에러 코드를 유발해요.
사용자 리소스 속성
-
username: 사용자의 고유 식별자예요. 일반적으로 사용자가 서비스 프로바이더에 직접 인증할 때 사용해요. 각 사용자는 반드시 비어 있지 않은 userName 값을 포함해야 해요. 이 식별자는 서비스 프로바이더의 전체 사용자 집합에서 고유해야 해요. REQUIRED.
-
externalId: 프로비저닝 클라이언트가 정의한 대로 리소스의 식별자인 문자열이에요. REQUIRED.
-
emails: 사용자의 이메일 주소예요. 값은 서비스 프로바이더에 의해 정규화되어야 해요(SHOULD). 예: '[email protected]' 대신 '[email protected]'. 'work', 'home', 'other'의 canonical 유형 값이 있고, 하나는 primary로 표시되어야 해요. REQUIRED.
-
active: 사용자의 관리 상태를 나타내는 Boolean 값이에요.
그룹 리소스 속성
-
displayName: 그룹의 사람이 읽을 수 있는 이름이에요. REQUIRED.
-
externalId: 프로비저닝 클라이언트가 정의한 대로 리소스의 식별자인 문자열이에요. REQUIRED.
-
members: 그룹 멤버의 목록이에요.
Info
lakeFS Cloud는 Entra ID가 제공하는 사용자와 그룹의 기본 속성 매핑과 함께 동작하도록 설계됐어요. 여러분의 조직이 Entra ID에서 사용자 및/또는 그룹 엔티티를 커스터마이즈했다면, 그에 맞게 매핑을 설정하고 싶을 수 있어요. 방법의 세부 사항은 Entra ID documentation에서 찾을 수 있어요.
이 매핑을 잘못 수정하면 프로비저닝 기능이 깨질 수 있으니, 신중하게 그리고 필요할 때만 수정하는 것을 권장해요.
더 알아보기 (Learn more)
공식 문서의 원문은 https://docs.lakefs.io/security/scim/ 에서 확인할 수 있어요.