9.5. SubjectAccessReview [authorization.k8s.io/v1]
- 説明
- SubjectAccessReview は、ユーザーまたはグループがアクションを実行できるかどうかをチェックします。
- 型
-
object
- 必須
-
spec
-
9.5.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 |
9.5.1.1. .spec
- 説明
- SubjectAccessReviewSpec は、アクセス要求の説明です。ResourceAuthorizationAttributes と NonResourceAuthorizationAttributes のいずれかを設定する必要があります。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| extra は、オーセンティケーターの user.Info.GetExtra() メソッドに対応します。これは Authorizer に入力されるため、ここで反映する必要があります。 |
|
| |
|
| groups は、テストしているグループです。 |
|
| nonResourceAttributes には、Authorizer インターフェイスへの非リソース要求に使用できる許可属性が含まれています。 |
|
| resourceAttributes には、Authorizer インターフェイスへのリソース要求に使用できる許可属性が含まれています。 |
|
| 要求しているユーザーに関する UID 情報。 |
|
| user は、テストしているユーザーです。"user" を指定し、"groups" を指定しない場合は、「そのユーザーがどのグループにも所属していなかったらどうなるか」という意味になります。 |
9.5.1.2. .spec.extra
- 説明
- extra は、オーセンティケーターの user.Info.GetExtra() メソッドに対応します。これは Authorizer に入力されるため、ここで反映する必要があります。
- 型
-
object
9.5.1.3. .spec.nonResourceAttributes
- 説明
- nonResourceAttributes には、Authorizer インターフェイスへの非リソース要求に使用できる許可属性が含まれています。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| path はリクエストの URL パスです。 |
|
| verb は標準の HTTP 動詞です。 |
9.5.1.4. .spec.resourceAttributes
- 説明
- resourceAttributes には、Authorizer インターフェイスへのリソース要求に使用できる許可属性が含まれています。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| グループは、リソースの API グループです。"*" はすべてを意味します。 |
|
| name は、"取得" のために要求されているリソース、または "削除" のために削除されているリソースの名前です。"" (空) はすべてを意味します。 |
|
| namespace は、要求されているアクションの namespace です。現在、namespace なしとすべての namespace の区別はありません。""(空) は LocalSubjectAccessReviews のデフォルトです。""(空) はクラスタースコープのリソースでは空です。""(空) は SubjectAccessReview または SelfSubjectAccessReview からの namespace スコープのリソースの "すべて" を意味します。 |
|
| resource は、既存のリソースタイプの 1 つです。"*" はすべてを意味します。 |
|
| subresource は、既存のリソースタイプの 1 つです。"" は何もないことを意味します。 |
|
| verb は、get、list、watch、create、update、delete、proxy などの kubernetes リソース API 動詞です。"*" はすべてを意味します。 |
|
| バージョンは、リソースの API バージョンです。"*" はすべてを意味します。 |
9.5.1.5. .status
- 説明
- SubjectAccessReviewStatus
- 型
-
object
- 必須
-
allowed
-
プロパティー | 型 | 説明 |
---|---|---|
|
| allowed は必須です。アクションを許可する場合は true、許可しない場合は false です。 |
|
| denied はオプションです。アクションを拒否する場合は true、許可しない場合は false です。allowed と denied の両方が false の場合は、Authorizer がアクションを許可するかどうかについて意見を持っていません。allowed が true の場合は、denied が true ではない可能性があります。 |
|
| evaluationError は、認可チェック中にエラーが発生したことを示します。エラーが発生し、それにもかかわらず認可ステータスを判別し続けることはできます。たとえば、RBAC にロールがない可能性がありますが、十分なロールがまだ存在しており、要求の理由に拘束されています。 |
|
| reason はオプションです。リクエストが許可または拒否された理由を示します。 |
9.5.2. API エンドポイント
以下の API エンドポイントを利用できます。
/apis/authorization.k8s.io/v1/subjectaccessreviews
-
POST
: SubjectAccessReview を作成する
-
9.5.2.1. /apis/authorization.k8s.io/v1/subjectaccessreviews
パラメーター | 型 | 説明 |
---|---|---|
|
| これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべての dryRun ステージが処理されます。 |
|
| fieldManager は、これらの変更を行っているアクターまたはエンティティーに関連付けられた名前です。値は 128 文字未満である必要があり、https://golang.org/pkg/unicode/#IsPrint で定義されているように、印刷可能な文字のみが含まれている必要があります。 |
|
| fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。 |
|
| 'true' の場合は、出力が整形表示 (Pretty-print) されます。 |
- HTTP メソッド
-
POST
- 説明
- SubjectAccessReview を作成する
パラメーター | 型 | 説明 |
---|---|---|
|
|
HTTP コード | レスポンスのボディー |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空白 |