Authorization API


OpenShift Container Platform 4.18

認可 API のリファレンスガイド

Red Hat OpenShift Documentation Team

概要

このドキュメントでは、OpenShift Container Platform の認可 API オブジェクトとその詳細な仕様を説明します。

第1章 Authorization API

1.1. LocalResourceAccessReview [authorization.openshift.io/v1]

説明

LocalResourceAccessReview は、特定の namespace で仕様により指定されたアクションの実行を許可されているユーザーおよびグループのリストを要求する手段です。

互換性レベル 1: メジャーリリース内で最低 12 か月または 3 つのマイナーリリース (どちらか長い方) の間安定しています。

object

1.2. LocalSubjectAccessReview [authorization.openshift.io/v1]

説明

LocalSubjectAccessReview は、ユーザーまたはグループが特定の namespace でアクションを実行できるかどうかに関する情報を要求するオブジェクトです。

互換性レベル 1: メジャーリリース内で最低 12 か月または 3 つのマイナーリリース (どちらか長い方) の間安定しています。

object

1.3. ResourceAccessReview [authorization.openshift.io/v1]

説明

ResourceAccessReview は、仕様により指定されたアクションの実行を許可されているユーザーおよびグループのリストを要求する手段です。

互換性レベル 1: メジャーリリース内で最低 12 か月または 3 つのマイナーリリース (どちらか長い方) の間安定しています。

object

1.4. SelfSubjectRulesReview [authorization.openshift.io/v1]

説明

SelfSubjectRulesReview は、namespace で実行可能なアクションを判別するために作成できるリソースです。

互換性レベル 1: メジャーリリース内で最低 12 か月または 3 つのマイナーリリース (どちらか長い方) の間安定しています。

object

1.5. SubjectAccessReview [authorization.openshift.io/v1]

説明

SubjectAccessReview は、ユーザーまたはグループがアクションを実行できるかどうかに関する情報を要求するオブジェクトです。

互換性レベル 1: メジャーリリース内で最低 12 か月または 3 つのマイナーリリース (どちらか長い方) の間安定しています。

object

1.6. SubjectRulesReview [authorization.openshift.io/v1]

説明

SubjectRulesReview は、別のユーザーが namespace で実行可能なアクションを判別するために作成できるリソースです。

互換性レベル 1: メジャーリリース内で最低 12 か月または 3 つのマイナーリリース (どちらか長い方) の間安定しています。

object

1.7. SelfSubjectReview [authentication.k8s.io/v1]

説明
SelfSubjectReview には、このリクエストを行ったユーザーに関する kube-apiserver が保持するユーザー情報が含まれています。偽装を使用すると、ユーザーは偽装されているユーザーのユーザー情報を受け取ります。偽装またはリクエストヘッダー認証が使用されていると、追加のキーの大文字と小文字は無視され、小文字で返されます。
object

1.8. TokenRequest [authentication.k8s.io/v1]

説明
TokenRequest は、指定のサービスアカウントのトークンを要求します。
object

1.9. TokenReview [authentication.k8s.io/v1]

説明
TokenReview は、既知のユーザーに対してトークンを認証します。注: TokenReview 要求は、kube-apiserver の webhook トークンオーセンティケータープラグインによりキャッシュされる場合があります。
object

1.10. LocalSubjectAccessReview [authorization.k8s.io/v1]

説明
LocalSubjectAccessReview は、ユーザーまたはグループが特定の namespace でアクションを実行できるかどうかを確認します。namespace のスコープ指定されたリソースがあると、パーミッションチェックを含む namespace のスコープ指定されたポリシーの付与がはるかに容易になります。
object

1.11. SelfSubjectAccessReview [authorization.k8s.io/v1]

説明
SelfSubjectAccessReview は、現在のユーザーがアクションを実行できるかどうかを確認します。spec.namespace に入力しない場合は、"すべての namespace 内" を意味します。ユーザーは常にアクションを実行できるかどうかを確認できる必要があるため、Self は特殊なケースです。
object

1.12. SelfSubjectRulesReview [authorization.k8s.io/v1]

説明
SelfSubjectRulesReview は、現在のユーザーが namespace 内で実行できるアクションのセットを列挙します。サーバーの認証モード、および評価中に発生したエラーに応じて、返されるアクションのリストが不完全な場合があります。SelfSubjectRulesReview は、UI でアクションを表示/非表示にしたり、エンドユーザーにパーミッションに関する理由を素早く伝えたりするために使用します。これは、代理人の混乱、キャッシュの有効期限/失効、および正確性の懸念を引き起こすため、承認の決定を推進するために外部システムに使用されるべきではありません。SubjectAccessReview および LocalAccessReview は、API サーバーへの承認決定を遅らせる正しい方法です。
object

1.13. SubjectAccessReview [authorization.k8s.io/v1]

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

第2章 LocalResourceAccessReview [authorization.openshift.io/v1]

説明

LocalResourceAccessReview は、特定の namespace で仕様により指定されたアクションの実行を許可されているユーザーおよびグループのリストを要求する手段です。

互換性レベル 1: メジャーリリース内で最低 12 か月または 3 つのマイナーリリース (どちらか長い方) の間安定しています。

object
必須
  • namespace
  • verb
  • resourceAPIGroup
  • resourceAPIVersion
  • resource
  • resourceName
  • path
  • isNonResourceURL

2.1. 仕様

プロパティー説明

apiVersion

string

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

content

RawExtension

content は、作成および更新のリクエストの実際のコンテンツです。

isNonResourceURL

boolean

isNonResourceURL は、これが非リソース URL (リソース階層外) の要求である場合に true になります。

kind

string

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

namespace

string

namespace は、要求されているアクションの namespace です。現在、namespace なしとすべての namespace の区別はありません。

path

string

path は非リソース URL のパスです。

resource

string

resourse は既存のリソースタイプの 1 つです。

resourceAPIGroup

string

Group は、インライン化されたときに 'groups' フィールドとの混同を回避するために、resourceAPIGroup としてシリアル化されたリソースの API グループです。

resourceAPIVersion

string

Version は、インライン化されたときに TypeMeta.apiVersion および ObjectMeta.resourceVersion との混同を回避するために、resourceAPIVersion としてシリアル化されたリソースの API バージョンです。

resourceName

string

resourceName は、"取得" のために要求されているリソース、または "削除" のために削除されているリソースの名前です。

verb

string

verb は、get、list、watch、create、update、delete のいずれかです。

2.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/authorization.openshift.io/v1/namespaces/{namespace}/localresourceaccessreviews

    • POST: LocalResourceAccessReview を作成する

2.2.1. /apis/authorization.openshift.io/v1/namespaces/{namespace}/localresourceaccessreviews

表2.1 グローバルクエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

HTTP メソッド
POST
説明
LocalResourceAccessReview を作成する
表2.2 ボディーパラメーター
パラメーター説明

body

LocalResourceAccessReview スキーマ

 
表2.3 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

LocalResourceAccessReview スキーマ

201 - Created

LocalResourceAccessReview スキーマ

202 - Accepted

LocalResourceAccessReview スキーマ

401 - Unauthorized

空白

第3章 LocalSubjectAccessReview [authorization.openshift.io/v1]

説明

LocalSubjectAccessReview は、ユーザーまたはグループが特定の namespace でアクションを実行できるかどうかに関する情報を要求するオブジェクトです。

互換性レベル 1: メジャーリリース内で最低 12 か月または 3 つのマイナーリリース (どちらか長い方) の間安定しています。

object
必須
  • namespace
  • verb
  • resourceAPIGroup
  • resourceAPIVersion
  • resource
  • resourceName
  • path
  • isNonResourceURL
  • user
  • groups
  • scopes

3.1. 仕様

プロパティー説明

apiVersion

string

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

content

RawExtension

content は、作成および更新のリクエストの実際のコンテンツです。

groups

array (string)

groups はオプションです。groups は、ユーザーが属するグループのリストです。

isNonResourceURL

boolean

isNonResourceURL は、これが非リソース URL (リソース階層外) の要求である場合に true になります。

kind

string

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

namespace

string

namespace は、要求されているアクションの namespace です。現在、namespace なしとすべての namespace の区別はありません。

path

string

path は非リソース URL のパスです。

resource

string

resourse は既存のリソースタイプの 1 つです。

resourceAPIGroup

string

Group は、インライン化されたときに 'groups' フィールドとの混同を回避するために、resourceAPIGroup としてシリアル化されたリソースの API グループです。

resourceAPIVersion

string

Version は、インライン化されたときに TypeMeta.apiVersion および ObjectMeta.resourceVersion との混同を回避するために、resourceAPIVersion としてシリアル化されたリソースの API バージョンです。

resourceName

string

resourceName は、"取得" のために要求されているリソース、または "削除" のために削除されているリソースの名前です。

scopes

array (string)

scopes は評価に使用します。empty とは、"ユーザー/グループのスコープ外の (完全な) 権限を使用" することを意味します。自己 SAR の場合、Nil は、"このリクエストでスコープを使用" することを意味します。通常の SAR の場合、Nil は、empty と同じ意味です。

user

string

user はオプションです。user と groups の両方が empty の場合は、現在認証されているユーザーが使用されます。

verb

string

verb は、get、list、watch、create、update、delete のいずれかです。

3.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/authorization.openshift.io/v1/namespaces/{namespace}/localsubjectaccessreviews

    • POST: LocalSubjectAccessReview を作成する

3.2.1. /apis/authorization.openshift.io/v1/namespaces/{namespace}/localsubjectaccessreviews

表3.1 グローバルクエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

HTTP メソッド
POST
説明
LocalSubjectAccessReview を作成する
表3.2 ボディーパラメーター
パラメーター説明

body

LocalSubjectAccessReview スキーマ

 
表3.3 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

LocalSubjectAccessReview スキーマ

201 - Created

LocalSubjectAccessReview スキーマ

202 - Accepted

LocalSubjectAccessReview スキーマ

401 - Unauthorized

空白

第4章 ResourceAccessReview [authorization.openshift.io/v1]

説明

ResourceAccessReview は、仕様により指定されたアクションの実行を許可されているユーザーおよびグループのリストを要求する手段です。

互換性レベル 1: メジャーリリース内で最低 12 か月または 3 つのマイナーリリース (どちらか長い方) の間安定しています。

object
必須
  • namespace
  • verb
  • resourceAPIGroup
  • resourceAPIVersion
  • resource
  • resourceName
  • path
  • isNonResourceURL

4.1. 仕様

プロパティー説明

apiVersion

string

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

content

RawExtension

content は、作成および更新のリクエストの実際のコンテンツです。

isNonResourceURL

boolean

isNonResourceURL は、これが非リソース URL (リソース階層外) の要求である場合に true になります。

kind

string

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

namespace

string

namespace は、要求されているアクションの namespace です。現在、namespace なしとすべての namespace の区別はありません。

path

string

path は非リソース URL のパスです。

resource

string

resourse は既存のリソースタイプの 1 つです。

resourceAPIGroup

string

Group は、インライン化されたときに 'groups' フィールドとの混同を回避するために、resourceAPIGroup としてシリアル化されたリソースの API グループです。

resourceAPIVersion

string

Version は、インライン化されたときに TypeMeta.apiVersion および ObjectMeta.resourceVersion との混同を回避するために、resourceAPIVersion としてシリアル化されたリソースの API バージョンです。

resourceName

string

resourceName は、"取得" のために要求されているリソース、または "削除" のために削除されているリソースの名前です。

verb

string

verb は、get、list、watch、create、update、delete のいずれかです。

4.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/authorization.openshift.io/v1/resourceaccessreviews

    • POST: ResourceAccessReview を作成する

4.2.1. /apis/authorization.openshift.io/v1/resourceaccessreviews

表4.1 グローバルクエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

HTTP メソッド
POST
説明
ResourceAccessReview を作成する
表4.2 ボディーパラメーター
パラメーター説明

body

ResourceAccessReview スキーマ

 
表4.3 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

ResourceAccessReview スキーマ

201 - Created

ResourceAccessReview スキーマ

202 - Accepted

ResourceAccessReview スキーマ

401 - Unauthorized

空白

第5章 SelfSubjectRulesReview [authorization.openshift.io/v1]

説明

SelfSubjectRulesReview は、namespace で実行可能なアクションを判別するために作成できるリソースです。

互換性レベル 1: メジャーリリース内で最低 12 か月または 3 つのマイナーリリース (どちらか長い方) の間安定しています。

object
必須
  • spec

5.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 を参照してください。

spec

object

SelfSubjectRulesReviewSpec は、チェックの実行方法に関する情報を追加します。

status

object

SubjectRulesReviewStatus には、ルールチェックの結果が含まれています。

5.1.1. .spec

説明
SelfSubjectRulesReviewSpec は、チェックの実行方法に関する情報を追加します。
object
必須
  • scopes
プロパティー説明

scopes

array (string)

scopes は評価に使用します。empty とは、"ユーザー/グループのスコープ外の (完全な) 権限を使用" することを意味します。Nil は、"このリクエストでスコープを使用" することを意味します。

5.1.2. .status

説明
SubjectRulesReviewStatus には、ルールチェックの結果が含まれています。
object
必須
  • rules
プロパティー説明

evaluationError

string

evaluationError は、ルールと組み合わせて表示される場合があります。これは、評価中にエラーが発生し、追加のルールを設定できなかった可能性があることを意味します。

rules

array

rules は、サブジェクトに許可されているルール (特定の並べ替えなし) のリストです。

rules[]

object

PolicyRule は、ポリシールールを説明する情報を保持しますが、ルールが適用されるユーザーやルールが適用される namespace に関する情報は含まれません。

5.1.3. .status.rules

説明
rules は、サブジェクトに許可されているルール (特定の並べ替えなし) のリストです。
array

5.1.4. .status.rules[]

説明
PolicyRule は、ポリシールールを説明する情報を保持しますが、ルールが適用されるユーザーやルールが適用される namespace に関する情報は含まれません。
object
必須
  • verbs
  • resources
プロパティー説明

apiGroups

array (string)

apiGroups は、リソースを含む APIGroup の名前です。このフィールドが空の場合は、kubernetes と origin API グループの両方が想定されます。つまり、kubernetes またはオリジン API グループのいずれかで列挙されたリソースのいずれかに対してアクションがリクエストされると、そのリクエストは許可されます。

attributeRestrictions

RawExtension

attributeRestrictions は、Authorizer/AuthorizationAttributeBuilder ペアがサポートするものに応じて異なります。authorizer が AttributeRestrictions の処理方法を認識しないと、Authorizer がエラーを報告します。

nonResourceURLs

array (string)

nonResourceURLsSlice は、ユーザーがアクセスできる必要のある部分的な URL のセットです。* は許可されますが、パスの完全な最終ステップとしてのみこの名前は内部タイプとは意図的に異なります。これにより、DefaultConvert が適切に機能し、順序が異なる場合があります。

resourceNames

array (string)

resourceNames は、ルールが適用される名前のオプションのホワイトリストです。空のセットは、すべてが許可されていることを意味します。

resources

array (string)

resources は、このルールが適用されるリソースのリストです。resourceAll は、すべてのリソースを表します。

verbs

array (string)

verbs は、このルールに含まれるすべての ResourceKinds と AttributeRestrictions に適用される動詞のリストです。verbAll はすべての種類を表します。

5.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/authorization.openshift.io/v1/namespaces/{namespace}/selfsubjectrulesreviews

    • POST: SelfSubjectRulesReview を作成する

5.2.1. /apis/authorization.openshift.io/v1/namespaces/{namespace}/selfsubjectrulesreviews

表5.1 グローバルクエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

HTTP メソッド
POST
説明
SelfSubjectRulesReview を作成する
表5.2 ボディーパラメーター
パラメーター説明

body

SelfSubjectRulesReview スキーマ

 
表5.3 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

SelfSubjectRulesReview スキーマ

201 - Created

SelfSubjectRulesReview スキーマ

202 - Accepted

SelfSubjectRulesReview スキーマ

401 - Unauthorized

空白

第6章 SubjectAccessReview [authorization.openshift.io/v1]

説明

SubjectAccessReview は、ユーザーまたはグループがアクションを実行できるかどうかに関する情報を要求するオブジェクトです。

互換性レベル 1: メジャーリリース内で最低 12 か月または 3 つのマイナーリリース (どちらか長い方) の間安定しています。

object
必須
  • namespace
  • verb
  • resourceAPIGroup
  • resourceAPIVersion
  • resource
  • resourceName
  • path
  • isNonResourceURL
  • user
  • groups
  • scopes

6.1. 仕様

プロパティー説明

apiVersion

string

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

content

RawExtension

content は、作成および更新のリクエストの実際のコンテンツです。

groups

array (string)

GroupsSlice はオプションです。groups は、ユーザーが属するグループのリストです。

isNonResourceURL

boolean

isNonResourceURL は、これが非リソース URL (リソース階層外) の要求である場合に true になります。

kind

string

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

namespace

string

namespace は、要求されているアクションの namespace です。現在、namespace なしとすべての namespace の区別はありません。

path

string

path は非リソース URL のパスです。

resource

string

resourse は既存のリソースタイプの 1 つです。

resourceAPIGroup

string

Group は、インライン化されたときに 'groups' フィールドとの混同を回避するために、resourceAPIGroup としてシリアル化されたリソースの API グループです。

resourceAPIVersion

string

Version は、インライン化されたときに TypeMeta.apiVersion および ObjectMeta.resourceVersion との混同を回避するために、resourceAPIVersion としてシリアル化されたリソースの API バージョンです。

resourceName

string

resourceName は、"取得" のために要求されているリソース、または "削除" のために削除されているリソースの名前です。

scopes

array (string)

scopes は評価に使用します。empty とは、"ユーザー/グループのスコープ外の (完全な) 権限を使用" することを意味します。自己 SAR の場合、Nil は、"このリクエストでスコープを使用" することを意味します。通常の SAR の場合、Nil は、empty と同じ意味です。

user

string

user はオプションです。user と groups の両方が empty の場合は、現在認証されているユーザーが使用されます。

verb

string

verb は、get、list、watch、create、update、delete のいずれかです。

6.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/authorization.openshift.io/v1/subjectaccessreviews

    • POST: SubjectAccessReview を作成する

6.2.1. /apis/authorization.openshift.io/v1/subjectaccessreviews

表6.1 グローバルクエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

HTTP メソッド
POST
説明
SubjectAccessReview を作成する
表6.2 ボディーパラメーター
パラメーター説明

body

SubjectAccessReview スキーマ

 
表6.3 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

SubjectAccessReview スキーマ

201 - Created

SubjectAccessReview スキーマ

202 - Accepted

SubjectAccessReview スキーマ

401 - Unauthorized

空白

第7章 SubjectRulesReview [authorization.openshift.io/v1]

説明

SubjectRulesReview は、別のユーザーが namespace で実行可能なアクションを判別するために作成できるリソースです。

互換性レベル 1: メジャーリリース内で最低 12 か月または 3 つのマイナーリリース (どちらか長い方) の間安定しています。

object
必須
  • spec

7.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 を参照してください。

spec

object

SubjectRulesReviewSpec は、チェックの実行方法に関する情報を追加します。

status

object

SubjectRulesReviewStatus には、ルールチェックの結果が含まれています。

7.1.1. .spec

説明
SubjectRulesReviewSpec は、チェックの実行方法に関する情報を追加します。
object
必須
  • user
  • groups
  • scopes
プロパティー説明

groups

array (string)

groups はオプションです。groups は、ユーザーが属するグループのリストです。user または groups を少なくとも 1 つ指定する必要があります。

scopes

array (string)

scopes は評価に使用します。empty とは、"ユーザー/グループのスコープ外の (完全な) 権限を使用" することを意味します。

user

string

user はオプションです。user または groups を少なくとも 1 つ指定する必要があります。

7.1.2. .status

説明
SubjectRulesReviewStatus には、ルールチェックの結果が含まれています。
object
必須
  • rules
プロパティー説明

evaluationError

string

evaluationError は、ルールと組み合わせて表示される場合があります。これは、評価中にエラーが発生し、追加のルールを設定できなかった可能性があることを意味します。

rules

array

rules は、サブジェクトに許可されているルール (特定の並べ替えなし) のリストです。

rules[]

object

PolicyRule は、ポリシールールを説明する情報を保持しますが、ルールが適用されるユーザーやルールが適用される namespace に関する情報は含まれません。

7.1.3. .status.rules

説明
rules は、サブジェクトに許可されているルール (特定の並べ替えなし) のリストです。
array

7.1.4. .status.rules[]

説明
PolicyRule は、ポリシールールを説明する情報を保持しますが、ルールが適用されるユーザーやルールが適用される namespace に関する情報は含まれません。
object
必須
  • verbs
  • resources
プロパティー説明

apiGroups

array (string)

apiGroups は、リソースを含む APIGroup の名前です。このフィールドが空の場合は、kubernetes と origin API グループの両方が想定されます。つまり、kubernetes またはオリジン API グループのいずれかで列挙されたリソースのいずれかに対してアクションがリクエストされると、そのリクエストは許可されます。

attributeRestrictions

RawExtension

attributeRestrictions は、Authorizer/AuthorizationAttributeBuilder ペアがサポートするものに応じて異なります。authorizer が AttributeRestrictions の処理方法を認識しないと、Authorizer がエラーを報告します。

nonResourceURLs

array (string)

nonResourceURLsSlice は、ユーザーがアクセスできる必要のある部分的な URL のセットです。* は許可されますが、パスの完全な最終ステップとしてのみこの名前は内部タイプとは意図的に異なります。これにより、DefaultConvert が適切に機能し、順序が異なる場合があります。

resourceNames

array (string)

resourceNames は、ルールが適用される名前のオプションのホワイトリストです。空のセットは、すべてが許可されていることを意味します。

resources

array (string)

resources は、このルールが適用されるリソースのリストです。resourceAll は、すべてのリソースを表します。

verbs

array (string)

verbs は、このルールに含まれるすべての ResourceKinds と AttributeRestrictions に適用される動詞のリストです。verbAll はすべての種類を表します。

7.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/authorization.openshift.io/v1/namespaces/{namespace}/subjectrulesreviews

    • POST: SubjectRulesReview を作成する

7.2.1. /apis/authorization.openshift.io/v1/namespaces/{namespace}/subjectrulesreviews

表7.1 グローバルクエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

HTTP メソッド
POST
説明
SubjectRulesReview を作成する
表7.2 ボディーパラメーター
パラメーター説明

body

SubjectRulesReview スキーマ

 
表7.3 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

SubjectRulesReview スキーマ

201 - Created

SubjectRulesReview スキーマ

202 - Accepted

SubjectRulesReview スキーマ

401 - Unauthorized

空白

第8章 SelfSubjectReview [authentication.k8s.io/v1]

説明
SelfSubjectReview には、このリクエストを行ったユーザーに関する kube-apiserver が保持するユーザー情報が含まれています。偽装を使用すると、ユーザーは偽装されているユーザーのユーザー情報を受け取ります。偽装またはリクエストヘッダー認証が使用されていると、追加のキーの大文字と小文字は無視され、小文字で返されます。
object

8.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 を参照してください。

status

object

SelfSubjectReviewStatus は kube-apiserver により入力され、ユーザーに送り返されます。

8.1.1. .status

説明
SelfSubjectReviewStatus は kube-apiserver により入力され、ユーザーに送り返されます。
object
プロパティー説明

userInfo

object

userInfo は、user.Info インターフェイスを実装するのに必要なユーザーに関する情報を保持します。

8.1.2. .status.userInfo

説明
userInfo は、user.Info インターフェイスを実装するのに必要なユーザーに関する情報を保持します。
object
プロパティー説明

extra

object

オーセンティケーターから提供される追加情報。

extra{}

array (string)

 

groups

array (string)

このユーザーが参加しているグループの名前。

uid

string

時間の経過とともにこのユーザーを識別する一意の値。このユーザーが削除され、同じ名前の別のユーザーが追加されると、UID は異なります。

username

string

すべてのアクティブユーザーの中でこのユーザーを一意に識別する名前。

8.1.3. .status.userInfo.extra

説明
オーセンティケーターから提供される追加情報。
object

8.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/authentication.k8s.io/v1/selfsubjectreviews

    • POST: SelfSubjectReview を作成する

8.2.1. /apis/authentication.k8s.io/v1/selfsubjectreviews

表8.1 グローバルクエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

HTTP メソッド
POST
説明
SelfSubjectReview を作成する
表8.2 ボディーパラメーター
パラメーター説明

body

SelfSubjectReview スキーマ

 
表8.3 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

SelfSubjectReview スキーマ

201 - Created

SelfSubjectReview スキーマ

202 - Accepted

SelfSubjectReview スキーマ

401 - Unauthorized

空白

第9章 TokenRequest [authentication.k8s.io/v1]

説明
TokenRequest は、指定のサービスアカウントのトークンを要求します。
object
必須
  • spec

9.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

TokenRequestSpec には、トークンリクエストのクライアント提供パラメーターが含まれています。

status

object

TokenRequestStatus は、トークンリクエストの結果です。

9.1.1. .spec

説明
TokenRequestSpec には、トークンリクエストのクライアント提供パラメーターが含まれています。
object
必須
  • audiences
プロパティー説明

audiences

array (string)

audiences は、トークンのオーディエンスです。トークンの受信者は、トークンのオーディエンスリストにある識別子を使用して自身を識別する必要があり、そうでない場合はトークンを拒否する必要があります。複数のオーディエンスに対して発行されたトークンは、リストされているオーディエンスのいずれかに対して認証するために使用できますが、ターゲットオーディエンス間の高度な信頼を意味します。

boundObjectRef

object

boundObjectReference は、トークンがバインドされているオブジェクトへの参照です。

expirationSeconds

integer

expirationSeconds は、リクエストされた要求の有効期間です。トークン発行者は、有効期間が異なるトークンを返す可能性があるため、クライアントは応答の 'expiration' フィールドを確認する必要があります。

9.1.2. .spec.boundObjectRef

説明
boundObjectReference は、トークンがバインドされているオブジェクトへの参照です。
object
プロパティー説明

apiVersion

string

参照先の API バージョン。

kind

string

参照先の種類。有効な種類は 'Pod' と 'Secret' です。

name

string

参照先の名前。

uid

string

参照先の UID。

9.1.3. .status

説明
TokenRequestStatus は、トークンリクエストの結果です。
object
必須
  • token
  • expirationTimestamp
プロパティー説明

expirationTimestamp

Time

expirationTimestamp は、返されたトークンの有効期限です。

token

string

token は不透明なベアラトークンです。

9.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /api/v1/namespaces/{namespace}/serviceaccounts/{name}/token

    • POST: ServiceAccount のトークンを作成する

9.2.1. /api/v1/namespaces/{namespace}/serviceaccounts/{name}/token

表9.1 グローバルパスパラメーター
パラメーター説明

name

string

TokenRequest の名前

表9.2 グローバルクエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

HTTP メソッド
POST
説明
ServiceAccount のトークンを作成する
表9.3 ボディーパラメーター
パラメーター説明

body

TokenRequest スキーマ

 
表9.4 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

TokenRequest スキーマ

201 - Created

TokenRequest スキーマ

202 - Accepted

TokenRequest スキーマ

401 - Unauthorized

空白

第10章 TokenReview [authentication.k8s.io/v1]

説明
TokenReview は、既知のユーザーに対してトークンを認証します。注: TokenReview 要求は、kube-apiserver の webhook トークンオーセンティケータープラグインによりキャッシュされる場合があります。
object
必須
  • spec

10.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

TokenReviewSpec は、トークン認証リクエストの説明です。

status

object

TokenReviewStatus は、トークン認証リクエストの結果です。

10.1.1. .spec

説明
TokenReviewSpec は、トークン認証リクエストの説明です。
object
プロパティー説明

audiences

array (string)

audiences は、トークンとともに提示されたリソースサーバーが識別する識別子のリストです。オーディエンス対応のトークンオーセンティケーターは、トークンがこのリストの少なくとも 1 つのオーディエンスを対象としていることを確認します。audiences が提供されていないと、オーディエンスはデフォルトで Kubernetes apiserver のオーディエンスになります。

token

string

token は不透明なベアラトークンです。

10.1.2. .status

説明
TokenReviewStatus は、トークン認証リクエストの結果です。
object
プロパティー説明

audiences

array (string)

audiences は、TokenReview とトークンの両方と互換性のあるオーセンティケーターによって選択されたオーディエンス識別子です。識別子は、TokenReviewSpec オーディエンスとトークンのオーディエンスの共通部分にある識別子です。spec.audiences フィールドを設定する TokenReview API のクライアントは、互換性のあるオーディエンス識別子が status.audiences フィールドに返されることを検証して、TokenReview サーバーがオーディエンスを認識していることを確認する必要があります。TokenReview が status.authenticated が "true" である空の status.audience フィールドを返す場合は、トークンが Kubernetes API サーバーのオーディエンスに対して有効です。

authenticated

boolean

authenticated は、トークンが既知のユーザーに関連付けられていることを示します。

error

string

error は、トークンをチェックできなかったことを示します

user

object

userInfo は、user.Info インターフェイスを実装するのに必要なユーザーに関する情報を保持します。

10.1.3. .status.user

説明
userInfo は、user.Info インターフェイスを実装するのに必要なユーザーに関する情報を保持します。
object
プロパティー説明

extra

object

オーセンティケーターから提供される追加情報。

extra{}

array (string)

 

groups

array (string)

このユーザーが参加しているグループの名前。

uid

string

時間の経過とともにこのユーザーを識別する一意の値。このユーザーが削除され、同じ名前の別のユーザーが追加されると、UID は異なります。

username

string

すべてのアクティブユーザーの中でこのユーザーを一意に識別する名前。

10.1.4. .status.user.extra

説明
オーセンティケーターから提供される追加情報。
object

10.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/oauth.openshift.io/v1/tokenreviews

    • POST: TokenReview を作成する
  • /apis/authentication.k8s.io/v1/tokenreviews

    • POST: TokenReview を作成する

10.2.1. /apis/oauth.openshift.io/v1/tokenreviews

表10.1 グローバルクエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

HTTP メソッド
POST
説明
TokenReview を作成する
表10.2 ボディーパラメーター
パラメーター説明

body

TokenReview スキーマ

 
表10.3 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

TokenReview スキーマ

201 - Created

TokenReview スキーマ

202 - Accepted

TokenReview スキーマ

401 - Unauthorized

空白

10.2.2. /apis/authentication.k8s.io/v1/tokenreviews

表10.4 グローバルクエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

HTTP メソッド
POST
説明
TokenReview を作成する
表10.5 ボディーパラメーター
パラメーター説明

body

TokenReview スキーマ

 
表10.6 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

TokenReview スキーマ

201 - Created

TokenReview スキーマ

202 - Accepted

TokenReview スキーマ

401 - Unauthorized

空白

第11章 LocalSubjectAccessReview [authorization.k8s.io/v1]

説明
LocalSubjectAccessReview は、ユーザーまたはグループが特定の namespace でアクションを実行できるかどうかを確認します。namespace のスコープ指定されたリソースがあると、パーミッションチェックを含む namespace のスコープ指定されたポリシーの付与がはるかに容易になります。
object
必須
  • spec

11.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

11.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" を指定しない場合は、「そのユーザーがどのグループにも所属していなかったらどうなるか」という意味になります。

11.1.2. .spec.extra

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

11.1.3. .spec.nonResourceAttributes

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

path

string

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

verb

string

verb は標準の HTTP 動詞です。

11.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 バージョンです。"*" はすべてを意味します。

11.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 はリクエストを制限する役割しか持たないため、内容が理解できない場合は、無制限のリクエストとして許可しても問題ありません。

11.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 はリクエストを制限する役割しか持たないため、内容が理解できない場合は、無制限のリクエストとして許可しても問題ありません。

11.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 はオプションです。リクエストが許可または拒否された理由を示します。

11.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/authorization.k8s.io/v1/namespaces/{namespace}/localsubjectaccessreviews

    • POST: LocalSubjectAccessReview を作成する

11.2.1. /apis/authorization.k8s.io/v1/namespaces/{namespace}/localsubjectaccessreviews

表11.1 グローバルクエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

HTTP メソッド
POST
説明
LocalSubjectAccessReview を作成する
表11.2 ボディーパラメーター
パラメーター説明

body

LocalSubjectAccessReview スキーマ

 
表11.3 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

LocalSubjectAccessReview スキーマ

201 - Created

LocalSubjectAccessReview スキーマ

202 - Accepted

LocalSubjectAccessReview スキーマ

401 - Unauthorized

空白

第12章 SelfSubjectAccessReview [authorization.k8s.io/v1]

説明
SelfSubjectAccessReview は、現在のユーザーがアクションを実行できるかどうかを確認します。spec.namespace に入力しない場合は、"すべての namespace 内" を意味します。ユーザーは常にアクションを実行できるかどうかを確認できる必要があるため、Self は特殊なケースです。
object
必須
  • spec

12.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

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

status

object

SubjectAccessReviewStatus

12.1.1. .spec

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

nonResourceAttributes

object

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

resourceAttributes

object

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

12.1.2. .spec.nonResourceAttributes

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

path

string

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

verb

string

verb は標準の HTTP 動詞です。

12.1.3. .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 バージョンです。"*" はすべてを意味します。

12.1.4. .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 はリクエストを制限する役割しか持たないため、内容が理解できない場合は、無制限のリクエストとして許可しても問題ありません。

12.1.5. .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 はリクエストを制限する役割しか持たないため、内容が理解できない場合は、無制限のリクエストとして許可しても問題ありません。

12.1.6. .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 はオプションです。リクエストが許可または拒否された理由を示します。

12.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/authorization.k8s.io/v1/selfsubjectaccessreviews

    • POST: SelfSubjectAccessReview を作成する

12.2.1. /apis/authorization.k8s.io/v1/selfsubjectaccessreviews

表12.1 グローバルクエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

HTTP メソッド
POST
説明
SelfSubjectAccessReview を作成する
表12.2 ボディーパラメーター
パラメーター説明

body

SelfSubjectAccessReview スキーマ

 
表12.3 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

SelfSubjectAccessReview スキーマ

201 - Created

SelfSubjectAccessReview スキーマ

202 - Accepted

SelfSubjectAccessReview スキーマ

401 - Unauthorized

空白

第13章 SelfSubjectRulesReview [authorization.k8s.io/v1]

説明
SelfSubjectRulesReview は、現在のユーザーが namespace 内で実行できるアクションのセットを列挙します。サーバーの認証モード、および評価中に発生したエラーに応じて、返されるアクションのリストが不完全な場合があります。SelfSubjectRulesReview は、UI でアクションを表示/非表示にしたり、エンドユーザーにパーミッションに関する理由を素早く伝えたりするために使用します。これは、代理人の混乱、キャッシュの有効期限/失効、および正確性の懸念を引き起こすため、承認の決定を推進するために外部システムに使用されるべきではありません。SubjectAccessReview および LocalAccessReview は、API サーバーへの承認決定を遅らせる正しい方法です。
object
必須
  • spec

13.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

SelfSubjectRulesReviewSpec は、SelfSubjectRulesReview の仕様を定義します。

status

object

SubjectRulesReviewStatus には、ルールチェックの結果が含まれています。このチェックは、サーバーが設定されている Authorizer のセットと、評価中に発生したエラーによっては不完全になる可能性があります。認可ルールは付加的なものであるため、ルールがリストに表示されている場合は、そのリストが不完全であっても、サブジェクトがその許可を持っていると見なすのが安全です。

13.1.1. .spec

説明
SelfSubjectRulesReviewSpec は、SelfSubjectRulesReview の仕様を定義します。
object
プロパティー説明

namespace

string

ルールを評価するための namespace。必須。

13.1.2. .status

説明
SubjectRulesReviewStatus には、ルールチェックの結果が含まれています。このチェックは、サーバーが設定されている Authorizer のセットと、評価中に発生したエラーによっては不完全になる可能性があります。認可ルールは付加的なものであるため、ルールがリストに表示されている場合は、そのリストが不完全であっても、サブジェクトがその許可を持っていると見なすのが安全です。
object
必須
  • resourceRules
  • nonResourceRules
  • incomplete
プロパティー説明

evaluationError

string

evaluationError は、ルールと組み合わせて表示される場合があります。これは、ルール評価をサポートしていない Authorizer など、ルール評価中にエラーが発生したこと、および ResourceRules や NonResourceRules が不完全である可能性があることを示しています。

incomplete

boolean

この呼び出しによって返されるルールが不完全な場合、Incomplete は true です。これは、外部の Authorizer などの Authorizer がルールの評価をサポートしていない場合に最もよく発生します。

nonResourceRules

array

nonResourceRules は、サブジェクトが非リソースに対して実行できるアクションのリストです。リストの順序は重要ではなく、重複が含まれている可能性があり、不完全である可能性があります。

nonResourceRules[]

object

nonResourceRule は、非リソースのルールを説明する情報を保持します。

resourceRules

array

resourceRules は、サブジェクトがリソースに対して実行できるアクションのリストです。リストの順序は重要ではなく、重複が含まれている可能性があり、不完全である可能性があります。

resourceRules[]

object

resourceRule は、サブジェクトがリソースに対して実行できるアクションのリストです。リストの順序は重要ではなく、重複が含まれている可能性があり、不完全である可能性があります。

13.1.3. .status.nonResourceRules

説明
nonResourceRules は、サブジェクトが非リソースに対して実行できるアクションのリストです。リストの順序は重要ではなく、重複が含まれている可能性があり、不完全である可能性があります。
array

13.1.4. .status.nonResourceRules[]

説明
nonResourceRule は、非リソースのルールを説明する情報を保持します。
object
必須
  • verbs
プロパティー説明

nonResourceURLs

array (string)

nonResourceURLs は、ユーザーがアクセスできる必要のある部分的な URL のセットです。s は許可されますが、パスの完全な最終ステップとしてのみ許可されます。"" はすべてを意味します。

verbs

array (string)

verbs は、get、post、put、delete、patch、head、options などの kubernetes の非リソース API 動詞のリストです。"*" はすべてを意味します。

13.1.5. .status.resourceRules

説明
resourceRules は、サブジェクトがリソースに対して実行できるアクションのリストです。リストの順序は重要ではなく、重複が含まれている可能性があり、不完全である可能性があります。
array

13.1.6. .status.resourceRules[]

説明
resourceRule は、サブジェクトがリソースに対して実行できるアクションのリストです。リストの順序は重要ではなく、重複が含まれている可能性があり、不完全である可能性があります。
object
必須
  • verbs
プロパティー説明

apiGroups

array (string)

apiGroups は、リソースを含む APIGroup の名前です。複数の API グループが指定されている場合は、任意の API グループ内の列挙されたリソースの 1 つに対して要求されたすべてのアクションが許可されます。"*" はすべてを意味します。

resourceNames

array (string)

resourceNames は、ルールが適用される名前のオプションのホワイトリストです。空のセットは、すべてが許可されていることを意味します。"*" はすべてを意味します。

resources

array (string)

resources は、このルールが適用されるリソースのリストです。"" は、指定された apiGroups 内のすべてを意味します。"/foo" は、指定された apiGroups 内のすべてのリソースのサブリソース 'foo' を表します。

verbs

array (string)

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

13.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/authorization.k8s.io/v1/selfsubjectrulesreviews

    • POST: SelfSubjectRulesReview を作成する

13.2.1. /apis/authorization.k8s.io/v1/selfsubjectrulesreviews

表13.1 グローバルクエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

HTTP メソッド
POST
説明
SelfSubjectRulesReview を作成する
表13.2 ボディーパラメーター
パラメーター説明

body

SelfSubjectRulesReview スキーマ

 
表13.3 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

SelfSubjectRulesReview スキーマ

201 - Created

SelfSubjectRulesReview スキーマ

202 - Accepted

SelfSubjectRulesReview スキーマ

401 - Unauthorized

空白

第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 はオプションです。リクエストが許可または拒否された理由を示します。

14.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/authorization.k8s.io/v1/subjectaccessreviews

    • POST: SubjectAccessReview を作成する

14.2.1. /apis/authorization.k8s.io/v1/subjectaccessreviews

表14.1 グローバルクエリーパラメーター
パラメーター説明

dryRun

string

これは、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合はエラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべてのドライランステージが処理されます。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです。- Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合は、リクエストが BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

HTTP メソッド
POST
説明
SubjectAccessReview を作成する
表14.2 ボディーパラメーター
パラメーター説明

body

SubjectAccessReview スキーマ

 
表14.3 HTTP レスポンス
HTTP コードレスポンスのボディー

200 - OK

SubjectAccessReview スキーマ

201 - Created

SubjectAccessReview スキーマ

202 - Accepted

SubjectAccessReview スキーマ

401 - Unauthorized

空白

Legal Notice

Copyright © 2024 Red Hat, Inc.

OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).

Modified versions must remove all Red Hat trademarks.

Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.

Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.

Linux® is the registered trademark of Linus Torvalds in the United States and other countries.

Java® is a registered trademark of Oracle and/or its affiliates.

XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.

MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.

Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.

The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.

All other trademarks are the property of their respective owners.

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat, Inc.