第14章 SubjectAccessReview [authorization.k8s.io/v1]


説明
SubjectAccessReview は、ユーザーまたはグループがアクションを実行できるかどうかをチェックします。
object
必須
  • spec

14.1. 仕様

プロパティー説明

apiVersion

string

apiVersion はオブジェクトのこの表現のバージョンスキーマを定義します。サーバーは認識されたスキーマを最新の内部値に変換し、認識されない値は拒否することがあります。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources を参照してください。

kind

string

kind はこのオブジェクトが表す REST リソースを表す文字列の値です。サーバーはクライアントが要求を送信するエンドポイントからこれを推測できる場合があります。これは更新できません。CamelCase を使用します。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds を参照してください。

metadata

ObjectMeta

標準のリストメタデータ。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata を参照してください。

spec

object

SubjectAccessReviewSpec は、アクセス要求の説明です。ResourceAuthorizationAttributes と NonResourceAuthorizationAttributes のいずれかを設定する必要があります。

status

object

SubjectAccessReviewStatus

14.1.1. .spec

説明
SubjectAccessReviewSpec は、アクセス要求の説明です。ResourceAuthorizationAttributes と NonResourceAuthorizationAttributes のいずれかを設定する必要があります。
object
プロパティー説明

extra

object

extra は、オーセンティケーターの user.Info.GetExtra() メソッドに対応します。これは Authorizer に入力されるため、ここで反映する必要があります。

extra{}

array (string)

 

groups

array (string)

groups は、テストしているグループです。

nonResourceAttributes

object

nonResourceAttributes には、Authorizer インターフェイスへの非リソース要求に使用できる許可属性が含まれています。

resourceAttributes

object

resourceAttributes には、Authorizer インターフェイスへのリソース要求に使用できる許可属性が含まれています。

uid

string

要求しているユーザーに関する UID 情報。

user

string

user は、テストしているユーザーです。"user" を指定し、"groups" を指定しない場合は、「そのユーザーがどのグループにも所属していなかったらどうなるか」という意味になります。

14.1.2. .spec.extra

説明
extra は、オーセンティケーターの user.Info.GetExtra() メソッドに対応します。これは Authorizer に入力されるため、ここで反映する必要があります。
object

14.1.3. .spec.nonResourceAttributes

説明
nonResourceAttributes には、Authorizer インターフェイスへの非リソース要求に使用できる許可属性が含まれています。
object
プロパティー説明

path

string

path はリクエストの URL パスです。

verb

string

verb は標準の HTTP 動詞です。

14.1.4. .spec.resourceAttributes

説明
resourceAttributes には、Authorizer インターフェイスへのリソース要求に使用できる許可属性が含まれています。
object
プロパティー説明

fieldSelector

object

fieldSelectorAttributes はアクセスが制限されたフィールドを示します。Webhook の作成者は、次の点に注意してください。* rawSelector と requirements の両方が設定されていないことを確認する * requirements フィールドが設定されている場合はそれを考慮する * rawSelector フィールドが設定されている場合は解析または考慮を試みない。これは、別の CVE-2022-2880 を回避するためです (異なるシステム間でクエリーの解析方法を統一するのは望ましくありません)。詳細は、https://www.oxeye.io/resources/golang-parameter-smuggling-attack を参照してください。kube-apiserver の *SubjectAccessReview エンドポイントの場合: * rawSelector も requirements も空の場合は、リクエストが制限されません。* rawSelector が存在し、requirements が空の場合は、rawSelector が解析され、解析が成功するとこれは制限されます。* rawSelector が空で要件が存在する場合は、要件が優先される必要があります。* rawSelector が存在し、要件が存在する場合は、リクエストは無効です。

group

string

group は、リソースの API グループです。"*" はすべてを意味します。

labelSelector

object

labelSelectorAttributes は、アクセスが制限されたラベルを示します。Webhook の作成者は、次の点に注意してください。* rawSelector と requirements の両方が設定されていないことを確認する * requirements フィールドが設定されている場合はそれを考慮する * rawSelector フィールドが設定されている場合は解析または考慮を試みない。これは、別の CVE-2022-2880 を回避するためです (異なるシステム間でクエリーの解析方法を統一するのは望ましくありません)。詳細は、https://www.oxeye.io/resources/golang-parameter-smuggling-attack を参照してください。kube-apiserver の *SubjectAccessReview エンドポイントの場合: * rawSelector も requirements も空の場合は、リクエストが制限されません。* rawSelector が存在し、requirements が空の場合は、rawSelector が解析され、解析が成功するとこれは制限されます。* rawSelector が空で要件が存在する場合は、要件が優先される必要があります。* rawSelector が存在し、要件が存在する場合は、リクエストは無効です。

name

string

name は、"取得" のために要求されているリソース、または "削除" のために削除されているリソースの名前です。"" (空) はすべてを意味します。

namespace

string

namespace は、要求されているアクションの namespace です。現在、namespace なしとすべての namespace の区別はありません。""(空) は LocalSubjectAccessReviews のデフォルトです。""(空) はクラスタースコープのリソースでは空です。""(空) は SubjectAccessReview または SelfSubjectAccessReview からの namespace スコープのリソースの "すべて" を意味します。

resource

string

resource は、既存のリソースタイプの 1 つです。"*" はすべてを意味します。

subresource

string

subresource は、既存のリソースタイプの 1 つです。"" は何もないことを意味します。

verb

string

verb は、get、list、watch、create、update、delete、proxy などの kubernetes リソース API 動詞です。"*" はすべてを意味します。

version

string

version は、リソースの API バージョンです。"*" はすべてを意味します。

14.1.5. .spec.resourceAttributes.fieldSelector

説明
fieldSelectorAttributes はアクセスが制限されたフィールドを示します。Webhook の作成者は、次の点に注意してください。* rawSelector と requirements の両方が設定されていないことを確認する * requirements フィールドが設定されている場合はそれを考慮する * rawSelector フィールドが設定されている場合は解析または考慮を試みない。これは、別の CVE-2022-2880 を回避するためです (異なるシステム間でクエリーの解析方法を統一するのは望ましくありません)。詳細は、https://www.oxeye.io/resources/golang-parameter-smuggling-attack を参照してください。kube-apiserver の *SubjectAccessReview エンドポイントの場合: * rawSelector も requirements も空の場合は、リクエストが制限されません。* rawSelector が存在し、requirements が空の場合は、rawSelector が解析され、解析が成功するとこれは制限されます。* rawSelector が空で要件が存在する場合は、要件が優先される必要があります。* rawSelector が存在し、要件が存在する場合は、リクエストは無効です。
object
プロパティー説明

rawSelector

string

rawSelector は、クエリーパラメーターに含まれるフィールドセレクターのシリアル化です。Webhook 実装では、rawSelector を無視することが推奨されます。kube-apiserver の *SubjectAccessReview は、requirements が存在しない限り、rawSelector を解析します。

requirements

array (FieldSelectorRequirement)

requirements は、フィールドセレクターの解析された解釈です。リソースインスタンスがセレクターと一致するためには、requirements に含まれるすべての条件が適用される必要があります。Webhook 実装は要件を処理する必要がありますが、それをどのように処理するかは Webhook 次第です。Requirements はリクエストを制限する役割しか持たないため、内容が理解できない場合は、無制限のリクエストとして許可しても問題ありません。

14.1.6. .spec.resourceAttributes.labelSelector

説明
labelSelectorAttributes は、アクセスが制限されたラベルを示します。Webhook の作成者は、次の点に注意してください。* rawSelector と requirements の両方が設定されていないことを確認する * requirements フィールドが設定されている場合はそれを考慮する * rawSelector フィールドが設定されている場合は解析または考慮を試みない。これは、別の CVE-2022-2880 を回避するためです (異なるシステム間でクエリーの解析方法を統一するのは望ましくありません)。詳細は、https://www.oxeye.io/resources/golang-parameter-smuggling-attack を参照してください。kube-apiserver の *SubjectAccessReview エンドポイントの場合: * rawSelector も requirements も空の場合は、リクエストが制限されません。* rawSelector が存在し、requirements が空の場合は、rawSelector が解析され、解析が成功するとこれは制限されます。* rawSelector が空で要件が存在する場合は、要件が優先される必要があります。* rawSelector が存在し、要件が存在する場合は、リクエストは無効です。
object
プロパティー説明

rawSelector

string

rawSelector は、クエリーパラメーターに含まれるフィールドセレクターのシリアル化です。Webhook 実装では、rawSelector を無視することが推奨されます。kube-apiserver の *SubjectAccessReview は、requirements が存在しない限り、rawSelector を解析します。

requirements

array (LabelSelectorRequirement)

requirements は、ラベルセレクターを解析した結果の解釈です。リソースインスタンスがセレクターと一致するためには、requirements に含まれるすべての条件が適用される必要があります。Webhook 実装は要件を処理する必要がありますが、それをどのように処理するかは Webhook 次第です。Requirements はリクエストを制限する役割しか持たないため、内容が理解できない場合は、無制限のリクエストとして許可しても問題ありません。

14.1.7. .status

説明
SubjectAccessReviewStatus
object
必須
  • allowed
プロパティー説明

allowed

boolean

allowed は必須です。アクションを許可する場合は true、許可しない場合は false です。

denied

boolean

denied はオプションです。アクションを拒否する場合は true、許可しない場合は false です。allowed と denied の両方が false の場合は、Authorizer がアクションを許可するかどうかについて意見を持っていません。allowed が true の場合は、denied が true ではない可能性があります。

evaluationError

string

evaluationError は、認可チェック中にエラーが発生したことを示します。エラーが発生し、それにもかかわらず認可ステータスを判別し続けることはできます。たとえば、RBAC にロールがない可能性がありますが、十分なロールがまだ存在しており、要求の理由に拘束されています。

reason

string

reason はオプションです。リクエストが許可または拒否された理由を示します。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat, Inc.