11장. LocalSubjectAccessReview [authorization.k8s.io/v1]
- 설명
- LocalSubjectAccessReview는 사용자 또는 그룹이 지정된 네임스페이스에서 작업을 수행할 수 있는지 여부를 확인합니다. 네임스페이스 범위 리소스를 사용하면 권한 확인을 포함하는 네임스페이스 범위 정책을 훨씬 쉽게 부여할 수 있습니다.
- 유형
-
object
- 필수 항목
-
spec
-
11.1. 사양
속성 | 유형 | 설명 |
---|---|---|
|
| APIVersion은 버전이 지정된 이 오브젝트 표현의 스키마를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식되지 않는 값을 거부할 수 있습니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind는 이 오브젝트가 나타내는 REST 리소스에 해당하는 문자열 값입니다. 서버는 클라이언트에서 요청을 제출한 끝점에서 이를 유추할 수 있습니다. CamelCase로 업데이트할 수 없습니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 표준 목록 메타데이터입니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| SubjectAccessReviewSpec은 액세스 요청에 대한 설명입니다. ResourceAuthorizationAttributes 및 NonResourceAuthorizationAttributes 중 하나를 설정해야 합니다. |
|
| SubjectAccessReviewStatus |
11.1.1. .spec
- 설명
- SubjectAccessReviewSpec은 액세스 요청에 대한 설명입니다. ResourceAuthorizationAttributes 및 NonResourceAuthorizationAttributes 중 하나를 설정해야 합니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| extra는 Authenticator의 user.Info.GetExtra() 메서드에 해당합니다. 이는 승인자에 대한 입력이므로 여기에 반영이 필요합니다. |
|
| |
|
| 그룹은 테스트 중인 그룹입니다. |
|
| NonResourceAttributes에는 Authorizer 인터페이스에 대한 리소스가 아닌 요청에 사용할 수 있는 권한 부여 속성이 포함되어 있습니다. |
|
| ResourceAttributes에는 Authorizer 인터페이스에 리소스 요청에 사용할 수 있는 권한 부여 속성이 포함되어 있습니다. |
|
| 요청하는 사용자에 대한 UID 정보입니다. |
|
| 사용자가 테스트 중인 사용자입니다. "User"를 지정하지만 "그룹"은 지정하지 않으면 "사용자가 어떤 그룹의 멤버가 아닌 경우 어떻게 해야 합니까? |
11.1.2. .spec.extra
- 설명
- extra는 Authenticator의 user.Info.GetExtra() 메서드에 해당합니다. 이는 승인자에 대한 입력이므로 여기에 반영이 필요합니다.
- 유형
-
object
11.1.3. .spec.nonResourceAttributes
- 설명
- NonResourceAttributes에는 Authorizer 인터페이스에 대한 리소스가 아닌 요청에 사용할 수 있는 권한 부여 속성이 포함되어 있습니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| path는 요청의 URL 경로입니다. |
|
| 동사는 표준 HTTP 동사입니다. |
11.1.4. .spec.resourceAttributes
- 설명
- ResourceAttributes에는 Authorizer 인터페이스에 리소스 요청에 사용할 수 있는 권한 부여 속성이 포함되어 있습니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| group은 리소스의 API 그룹입니다. "*"는 모든 것을 의미합니다. |
|
| name은 "get"에 대해 요청되거나 "삭제"에 대해 요청된 리소스의 이름입니다. ""(비어 있음)는 모두 의미합니다. |
|
| namespace는 요청된 작업의 네임스페이스입니다. 현재는 LocalSubjectAccessReviews ""(비어 있음)에 대해 네임스페이스와 모든 네임스페이스 ""(빈)가 기본적으로 비어 있는 경우 클러스터 범위 리소스 ""(빈)는 SubjectAccessReview 또는 SelfSubjectAccessReview의 네임스페이스 범위 리소스에 대해 "all"을 의미합니다. |
|
| 리소스는 기존 리소스 유형 중 하나입니다. "*"는 모든 것을 의미합니다. |
|
| 하위 리소스는 기존 리소스 유형 중 하나입니다. ""는 none을 의미합니다. |
|
| 동사는 get, list, watch, create, update, delete, proxy와 같은 kubernetes 리소스 API 동사입니다. "*"는 모든 것을 의미합니다. |
|
| 버전은 리소스의 API 버전입니다. "*"는 모든 것을 의미합니다. |
11.1.5. .status
- 설명
- SubjectAccessReviewStatus
- 유형
-
object
- 필수 항목
-
허용됨
-
속성 | 유형 | 설명 |
---|---|---|
|
| 허용되는 것이 필요합니다. 작업이 허용되면 true이고, 그렇지 않으면 false입니다. |
|
| 거부됨은 선택 사항입니다. 작업이 거부되면 true이고, 그렇지 않으면 false입니다. 허용되는 것이 모두 false이고 거부된 경우 승인자는 작업을 승인할지 여부에 대한 의견이 없습니다. Allowed가 true인 경우 거부되지 않을 수 있습니다. |
|
| evaluationError는 권한 부여 확인 중에 일부 오류가 발생했음을 나타냅니다. 오류가 발생하여 권한 부여 상태를 계속 확인할 수 있습니다. 예를 들어 RBAC는 역할을 누락할 수 있지만 충분한 역할이 여전히 존재하며 요청에 대한 이유에 바인딩됩니다. |
|
| 이유는 선택 사항입니다. 요청이 허용 또는 거부된 이유를 나타냅니다. |