forked from baron/baron-sso
네임스페이스 확장 및 정책 문서 동기화
This commit is contained in:
@@ -57,13 +57,13 @@ Ory Keto 내부적으로는 다음과 같은 관계 튜플(Relationship Tuples)
|
||||
|
||||
### 3.1 그룹 멤버십 (Group Membership)
|
||||
사용자를 특정 유저 그룹의 멤버로 등록합니다.
|
||||
- **Tuple:** `UserGroup:<GroupID>#members@User:<UserID>`
|
||||
- **의미:** `UserID` 사용자는 `GroupID` 유저 그룹의 멤버이다.
|
||||
- **Tuple:** `Tenant:<GroupID>#members@User:<UserID>`
|
||||
- **의미:** `GroupID`에 해당하는 유저 그룹 tenant의 멤버로 `UserID` 사용자를 등록한다.
|
||||
|
||||
### 3.2 테넌트 권한 할당 (Tenant Role Assignment)
|
||||
유저 그룹 전체에 특정 테넌트에 대한 역할을 부여합니다.
|
||||
- **Tuple:** `Tenant:<TenantID>#<Relation>@UserGroup:<GroupID>#members`
|
||||
- **의미:** `GroupID` 유저 그룹의 모든 멤버는 `TenantID` 테넌트에 대해 `<Relation>`(예: `view`, `manage`, `admins`) 권한을 가진다.
|
||||
- **Tuple:** `Tenant:<TenantID>#<Relation>@Tenant:<GroupID>#members`
|
||||
- **의미:** `GroupID` 유저 그룹 tenant의 모든 멤버는 `TenantID` 테넌트에 대해 `<Relation>`(예: `view`, `manage`, `admins`) 권한을 가진다.
|
||||
|
||||
### 3.3 자원 소유 및 전파 (Resource Ownership)
|
||||
테넌트가 소유한 하위 자원(RP, API Key 등)에 대한 권한 전파 규칙입니다.
|
||||
@@ -76,7 +76,13 @@ Ory Keto 내부적으로는 다음과 같은 관계 튜플(Relationship Tuples)
|
||||
2. **복합 권한 구성:** 하나의 그룹이 여러 테넌트에 대해 서로 다른 수준의 권한을 가질 수 있어, 실제 조직 구조와 프로젝트 협업 모델을 유연하게 반영할 수 있습니다.
|
||||
3. **Zanzibar 스타일 확장성:** Google Zanzibar 논리를 따르는 Ory Keto를 활용함으로써, 향후 수만 명의 사용자와 수천 개의 테넌트 환경에서도 성능 저하 없이 정교한 권한 체크가 가능합니다.
|
||||
|
||||
## 5. 관련 구현 파일
|
||||
## 5. 현재 구현 기준 주의사항
|
||||
|
||||
- 현재 Baron SSO는 별도 `UserGroup` namespace를 사용하지 않습니다.
|
||||
- 유저 그룹은 `Tenant` namespace 내부의 특수 tenant(`type = USER_GROUP`)로 표현합니다.
|
||||
- 따라서 group membership과 group-based role assignment는 모두 `Tenant:<groupId>#members` subject set을 기준으로 해석해야 합니다.
|
||||
|
||||
## 6. 관련 구현 파일
|
||||
- **Backend Service:** `backend/internal/service/user_group_service.go`
|
||||
- **Backend Handler:** `backend/internal/handler/user_group_handler.go`
|
||||
- **Frontend API:** `adminfront/src/lib/adminApi.ts`
|
||||
|
||||
Reference in New Issue
Block a user