역할 및 권한 범위
OpenFactory는 조직, 단위, 팀에 독립적인 역할을 저장합니다. 수준. 역할 이름은 범위를 설명합니다. 그것은 보편적인 허가가 아니다. 모든 API 또는 제품 기능에 자동으로 적용됩니다.
범위 모델
organization membership: owner | admin | member
└── unit membership: unit_admin | base_creator | base_approver | member
└── team membership: team_lead | variant_creator | variant_deployer | variant_user조직 멤버십은 외부 경계입니다. 사용자는 조직이어야 합니다. 관리자가 해당 단위나 팀 중 하나에 구성원을 추가하기 전에 구성원입니다. 회원 자격은 각 수준에서 독립적으로 확인됩니다. 유닛이나 팀을 추론하지 마세요 다른 컨텍스트에 표시된 조직 역할의 역할.
조직 역할
현재 조직 관리 API는 다음 권한을 적용합니다.
| 운영 | 소유자 | 관리자 | 회원 |
|---|---|---|---|
| 조직, 구성원, 그룹, 단위 및 팀 보기 | 예 | 예 | 예 |
| 조직 이름 또는 설명 편집 | 예 | 예 | 아니요 |
| 그룹 생성, 편집, 삭제 및 그룹 구성원 관리 | 예 | 예 | 아니요 |
| 일반 회원 초대 또는 제거 | 예 | 예 | 아니요 |
| 일반 회원/관리자 역할 변경 | 예 | 예 | 아니요 |
| 소유자 초대 또는 승격 | 예 | 아니요 | 아니요 |
| 기존 소유자 변경 또는 제거 | 예 | 아니요 | 아니요 |
| 단위 생성 또는 삭제 | 예 | 예 | 아니요 |
| 조직 삭제 | 예 | 아니요 | 아니요 |
| 조직 탈퇴 | 예, 유일한 소유자가 아닌 이상 | 예 | 예 |
조직에는 두 명 이상의 소유자가 있을 수 있습니다. API는 단독 소유자를 방지합니다.
다른 소유자가 존재하거나 조직이 삭제될 때까지 떠날 수 없습니다. 거기
이 API에는 별도의 “소유권 이전” 작업이 없습니다. 주인이 다른 주인을 바꾸다
회원의 역할을 owner로 변경한 후 의도한 대로 이전 소유자를 변경하거나 제거할 수 있습니다.
단위 역할
조직 소유자와 관리자는 모든 단위를 관리할 수 있습니다. 단위 내에서는
현재 조직 관리 API는 unit_admin에 다음을 부여합니다.
관리 작업:
- 단위를 편집합니다;
- 단위 구성원 역할을 추가, 제거 및 변경합니다.
- 해당 단위에서 팀을 생성, 편집 및 삭제합니다.
- 해당 단위의 팀원을 추가하고 관리합니다.
조직 소유자 또는 관리자만 단위 자체를 삭제할 수 있습니다.
base_creator, base_approver 및 유닛 member은(는) 다음에 대해 저장된 역할 레이블입니다.
기본 이미지 워크플로 정책. 조직 CRUD 경로는 자체적으로
다른 곳에서의 모든 생성, 승인 또는 배포 작업이 해당 사항을 시행한다는 것을 증명하십시오.
라벨. 특정 빌드 또는 승인의 인증 동작을 확인합니다.
워크플로를 컨트롤로 사용하기 전에
팀 역할
조직 소유자/관리자 및 상위 단위의 unit_admin이 팀을 관리할 수 있습니다.
회원. team_lead은 다음을 수행할 수 있습니다.
- 팀 이름이나 설명을 편집합니다.
- 팀원을 추가하고 제거합니다.
- 팀원의 역할을 변경합니다.
team_lead은 현재 조직 API를 통해 팀을 삭제할 수 없습니다.
해당 작업은 조직 소유자/관리자 또는 부모에게 예약되어 있습니다.
unit_admin.
variant_creator, variant_deployer 및 variant_user는 의도된 내용을 표현합니다.
변형 워크플로 책임. 이 내용을 모든 증거로 읽어서는 안 됩니다.
변형 엔드포인트는 완전한 생성/편집/배포 매트릭스를 시행합니다. 정확한 테스트
배포된 릴리스의 워크플로 및 거부된 경로.
그룹이 다릅니다
그룹은 다른 역할 계층이 아닌 조직 수준 공유 컬렉션입니다. 소유자와 관리자는 그룹을 만들고 그룹 멤버십을 관리합니다. 모든 조직 구성원은 그룹과 해당 구성원을 나열할 수 있습니다. 그룹 멤버십은 사용자를 조직 관리자, 단위 관리자 또는 팀 리더로 전환합니다.
안전하게 역할 변경하기
- 대상 조직, 단위, 팀을 확인합니다.
- 세 가지 범위 모두에서 사용자의 현재 유효한 멤버십을 기록합니다.
- 하나의 역할 변경을 적용합니다.
- 해당 사용자 자신의 작업으로 허용된 작업과 거부된 작업을 모두 테스트합니다. 세션.
- 캐시된 UI 상태와 기존 세션이 변경 사항을 반영하는지 확인합니다.
- 정책에서 요구하는 경우 역할 레이블 외부에 감사 기록을 보관합니다.
경로 거부 테스트 없이 레이블을 변경하는 것만으로는 다음과 같은 증거가 충분하지 않습니다. 최소 권한이 적용됩니다.
일반적인 엣지 케이스
- 관리자는 누군가를 소유자로 승격하거나 기존 소유자의 역할을 변경할 수 없습니다.
- 사용자는 해당 그룹에 속할 때까지 해당 유닛이나 팀에 추가될 수 없습니다. 조직.
- 부서 및 팀원은 스스로 퇴장할 수 있습니다. 조직 멤버십이 유지됩니다. 별도로 제거하지 않는 한.
- 조직 구성원 제거는 오래된 단위, 팀, 조직에 대해 확인되어야 합니다. 릴리스의 그룹화, 공유 및 세션 효과.
- UI 배지 색상은 보안 제어가 아닌 프레젠테이션입니다. 항상 의지하세요 서버 측 인증 및 거부된 경로 테스트.