最新消息:在TwitterMastodon取得專案更新

approver-policy API 參考

套件

policy.cert-manager.io/v1alpha1

資源類型

CertificateRequestPolicy

CertificateRequestPolicy 是一個用於描述「政策設定檔」的物件,該設定檔會決定是否應核准或拒絕適用的 CertificateRequest。

名稱類型描述必要
apiVersion字串policy.cert-manager.io/v1alpha1
kind字串CertificateRequestPolicy
metadata物件請參閱 Kubernetes API 文件,了解 metadata 欄位的相關資訊。
spec物件

CertificateRequestPolicySpec 定義 CertificateRequestPolicy 的期望狀態。


status物件

CertificateRequestPolicyStatus 定義 CertificateRequestPolicy 的觀察狀態。


CertificateRequestPolicy.spec

CertificateRequestPolicySpec 定義 CertificateRequestPolicy 的期望狀態。

名稱類型描述必要
selector物件

Selector 用於選擇此 CertificateRequestPolicy 適用於哪些 CertificateRequest,並將用於其核准評估。


allowed物件

Allowed 定義 CertificateRequest 的允許屬性。CertificateRequest 可以請求少於允許的項目,但不能多於允許的項目,也就是說,CertificateRequest 可以請求政策宣告為允許的項目的子集。省略的欄位表示等效的 CertificateRequest 欄位必須省略,或是請求的值必須為空,才允許該請求。


constraints物件

Constraints 定義 CertificateRequest 必須滿足的欄位,才能讓此政策允許該請求。省略的欄位對請求中對應的屬性沒有限制。


pluginsmap[string]object

外掛程式是在編譯時建置到 approver-policy 中的核准者。這是一個通常用於擴充 approver-policy 核心功能的高階功能。這個欄位定義當針對 CertificateRequest 評估此政策時,應執行的外掛程式及其設定。


CertificateRequestPolicy.spec.selector

Selector 用於選擇此 CertificateRequestPolicy 適用於哪些 CertificateRequest,並將用於其核准評估。

名稱類型描述必要
issuerRef物件

IssuerRef 用於依簽發者比對,表示 CertificateRequestPolicy 只會評估參照符合的簽發者的 CertificateRequest。如果簽發者不符,則不會處理 CertificateRequest,無論請求者是否受限於 RBAC。

以下值會比對所有簽發者

issuerRef: {}

namespace物件

Namespace 用於依命名空間比對,表示 CertificateRequestPolicy 只會比對在符合的命名空間中建立的 CertificateRequest。如果省略此欄位,則會檢查所有命名空間中的資源。


CertificateRequestPolicy.spec.selector.issuerRef

IssuerRef 用於依簽發者比對,表示 CertificateRequestPolicy 只會評估參照符合的簽發者的 CertificateRequest。如果簽發者不符,則不會處理 CertificateRequest,無論請求者是否受限於 RBAC。

以下值會比對所有簽發者

issuerRef: {}
名稱類型描述必要
group字串

Group 是萬用字元選取器,可比對請求中的 spec.issuerRef.group 欄位。接受萬用字元「*」。省略的欄位會比對所有群組。


kind字串

Kind 是萬用字元選取器,可比對請求中的 spec.issuerRef.kind 欄位。接受萬用字元「*」。省略的欄位會比對所有種類。


name字串

Name 是已啟用萬用字元的選取器,可比對請求的 spec.issuerRef.name 欄位。接受萬用字元「*」。省略的欄位會比對所有名稱。


CertificateRequestPolicy.spec.selector.namespace

Namespace 用於依命名空間比對,表示 CertificateRequestPolicy 只會比對在符合的命名空間中建立的 CertificateRequest。如果省略此欄位,則會檢查所有命名空間中的資源。

名稱類型描述必要
matchLabelsmap[string]string

MatchLabels 是一組命名空間標籤,可用於選取在符合選取器的命名空間中建立的 CertificateRequest。


matchNames[]string

MatchNames 是一組命名空間名稱,可用於選取在符合的命名空間中建立的 CertificateRequest。接受萬用字元「*」。TODO:在 v1alpha2 中新增 x-kubernetes-list-type: set


CertificateRequestPolicy.spec.allowed

Allowed 定義 CertificateRequest 的允許屬性。CertificateRequest 可以請求少於允許的項目,但不能多於允許的項目,也就是說,CertificateRequest 可以請求政策宣告為允許的項目的子集。省略的欄位表示等效的 CertificateRequest 欄位必須省略,或是請求的值必須為空,才允許該請求。

名稱類型描述必要
commonName物件

CommonName 定義可能請求的 X.509 一般名稱。


dnsNames物件

DNSNames 定義可能請求的 X.509 DNS SAN。


emailAddresses物件

EmailAddresses 定義可能請求的 X.509 電子郵件 SAN。


ipAddresses物件

IPAddresses 定義可能請求的 X.509 IP SAN。


isCA布林值

IsCA 定義是否允許 CertificateRequest 將 spec.isCA 欄位設定為 true。如果為 true,則 spec.isCA 欄位可以是 truefalse。如果為 false 或未設定,則 spec.isCA 欄位必須為 false


subject物件

Subject 宣告 CertificateRequest 中允許的 X.509 主體屬性。省略的欄位會禁止請求任何主體屬性。CertificateRequest 可以請求允許的 X.509 主體屬性的子集。


uris物件

URIs 定義可能請求的 X.509 URI SAN。


usages[]列舉

Usages 定義可包含在 CertificateRequest spec.keyUsages 欄位中的金鑰用法。如果設定,CertificateRequest 中的 spec.keyUsages 必須是指定值的子集。如果為 [] 或未設定,則不允許任何 spec.keyUsages。TODO:在 v1alpha2 中新增 x-kubernetes-list-type: set


CertificateRequestPolicy.spec.allowed.commonName

CommonName 定義可能請求的 X.509 一般名稱。

名稱類型描述必要
required布林值

Required 表示必須提供相關欄位,且不得為空字串。預設為 false


validations[]物件

Validations 使用通用運算式語言 (CEL) 套用規則,以驗證請求中存在的屬性值,超出使用值/必要項所能表達的範圍。相關 CertificateRequest 欄位上的屬性值必須通過所有驗證,才能讓此政策允許該請求。


value字串

Value 定義相關 CertificateRequest 欄位上允許的屬性值。接受萬用字元「*」。如果設定,則相關欄位必須符合指定的模式。

注意:value: ""required: true 配對會建立一個永遠不會授與 CertificateRequest 的政策,但其他政策可能會授與。


CertificateRequestPolicy.spec.allowed.commonName.validations[index]

ValidationRule 描述以 CEL 表示的驗證規則。

名稱類型描述必要
rule字串

規則代表將由 CEL 評估的表達式。參考:https://github.com/google/cel-spec。規則的作用範圍限定於 schema 中驗證的位置。CEL 表達式中的 self 變數會綁定到作用域的值。為了啟用更進階的驗證規則,approver-policy 提供 cr (map) 變數給 CEL 表達式,其中包含 CertificateRequest 資源的 namespacename

範例(針對命名空間的 DNS 名稱的規則)

rule: self.endsWith(cr.namespace + '.svc.cluster.local')

訊息字串

訊息是在驗證失敗時顯示的訊息。如果規則包含換行符號,則必須提供訊息。請注意,訊息不得包含換行符號。如果未設定,則會使用後備訊息:「規則失敗:<rule>」。例如:「必須是主機符合 spec.host 的 URL」。


CertificateRequestPolicy.spec.allowed.dnsNames

DNSNames 定義可能請求的 X.509 DNS SAN。

名稱類型描述必要
required布林值

Required 控制相關欄位是否必須至少有一個值。預設值為 false


validations[]物件

Validations 使用通用表達式語言 (CEL) 套用規則,以驗證請求上的屬性值,超出使用 values/required 可能表達的範圍。相關 CertificateRequest 欄位的所有屬性值必須通過 ALL 驗證,此原則才會授予請求。


values[]string

Values 定義相關 CertificateRequest 欄位上允許的屬性值。接受萬用字元「*」。如果設定,相關欄位只能包含允許值中包含的項目。

注意:values: []required: true 配對會建立一個永遠不會授予 CertificateRequest 的原則,但其他原則可能會。TODO:在 v1alpha2 中新增 x-kubernetes-list-type: set


CertificateRequestPolicy.spec.allowed.dnsNames.validations[index]

ValidationRule 描述以 CEL 表示的驗證規則。

名稱類型描述必要
rule字串

規則代表將由 CEL 評估的表達式。參考:https://github.com/google/cel-spec。規則的作用範圍限定於 schema 中驗證的位置。CEL 表達式中的 self 變數會綁定到作用域的值。為了啟用更進階的驗證規則,approver-policy 提供 cr (map) 變數給 CEL 表達式,其中包含 CertificateRequest 資源的 namespacename

範例(針對命名空間的 DNS 名稱的規則)

rule: self.endsWith(cr.namespace + '.svc.cluster.local')

訊息字串

訊息是在驗證失敗時顯示的訊息。如果規則包含換行符號,則必須提供訊息。請注意,訊息不得包含換行符號。如果未設定,則會使用後備訊息:「規則失敗:<rule>」。例如:「必須是主機符合 spec.host 的 URL」。


CertificateRequestPolicy.spec.allowed.emailAddresses

EmailAddresses 定義可能請求的 X.509 電子郵件 SAN。

名稱類型描述必要
required布林值

Required 控制相關欄位是否必須至少有一個值。預設值為 false


validations[]物件

Validations 使用通用表達式語言 (CEL) 套用規則,以驗證請求上的屬性值,超出使用 values/required 可能表達的範圍。相關 CertificateRequest 欄位的所有屬性值必須通過 ALL 驗證,此原則才會授予請求。


values[]string

Values 定義相關 CertificateRequest 欄位上允許的屬性值。接受萬用字元「*」。如果設定,相關欄位只能包含允許值中包含的項目。

注意:values: []required: true 配對會建立一個永遠不會授予 CertificateRequest 的原則,但其他原則可能會。TODO:在 v1alpha2 中新增 x-kubernetes-list-type: set


CertificateRequestPolicy.spec.allowed.emailAddresses.validations[index]

ValidationRule 描述以 CEL 表示的驗證規則。

名稱類型描述必要
rule字串

規則代表將由 CEL 評估的表達式。參考:https://github.com/google/cel-spec。規則的作用範圍限定於 schema 中驗證的位置。CEL 表達式中的 self 變數會綁定到作用域的值。為了啟用更進階的驗證規則,approver-policy 提供 cr (map) 變數給 CEL 表達式,其中包含 CertificateRequest 資源的 namespacename

範例(針對命名空間的 DNS 名稱的規則)

rule: self.endsWith(cr.namespace + '.svc.cluster.local')

訊息字串

訊息是在驗證失敗時顯示的訊息。如果規則包含換行符號,則必須提供訊息。請注意,訊息不得包含換行符號。如果未設定,則會使用後備訊息:「規則失敗:<rule>」。例如:「必須是主機符合 spec.host 的 URL」。


CertificateRequestPolicy.spec.allowed.ipAddresses

IPAddresses 定義可能請求的 X.509 IP SAN。

名稱類型描述必要
required布林值

Required 控制相關欄位是否必須至少有一個值。預設值為 false


validations[]物件

Validations 使用通用表達式語言 (CEL) 套用規則,以驗證請求上的屬性值,超出使用 values/required 可能表達的範圍。相關 CertificateRequest 欄位的所有屬性值必須通過 ALL 驗證,此原則才會授予請求。


values[]string

Values 定義相關 CertificateRequest 欄位上允許的屬性值。接受萬用字元「*」。如果設定,相關欄位只能包含允許值中包含的項目。

注意:values: []required: true 配對會建立一個永遠不會授予 CertificateRequest 的原則,但其他原則可能會。TODO:在 v1alpha2 中新增 x-kubernetes-list-type: set


CertificateRequestPolicy.spec.allowed.ipAddresses.validations[index]

ValidationRule 描述以 CEL 表示的驗證規則。

名稱類型描述必要
rule字串

規則代表將由 CEL 評估的表達式。參考:https://github.com/google/cel-spec。規則的作用範圍限定於 schema 中驗證的位置。CEL 表達式中的 self 變數會綁定到作用域的值。為了啟用更進階的驗證規則,approver-policy 提供 cr (map) 變數給 CEL 表達式,其中包含 CertificateRequest 資源的 namespacename

範例(針對命名空間的 DNS 名稱的規則)

rule: self.endsWith(cr.namespace + '.svc.cluster.local')

訊息字串

訊息是在驗證失敗時顯示的訊息。如果規則包含換行符號,則必須提供訊息。請注意,訊息不得包含換行符號。如果未設定,則會使用後備訊息:「規則失敗:<rule>」。例如:「必須是主機符合 spec.host 的 URL」。


CertificateRequestPolicy.spec.allowed.subject

Subject 宣告 CertificateRequest 中允許的 X.509 主體屬性。省略的欄位會禁止請求任何主體屬性。CertificateRequest 可以請求允許的 X.509 主體屬性的子集。

名稱類型描述必要
countries物件

Countries 定義可能請求的 X.509 主體國家/地區。


localities物件

Localities 定義可能請求的 X.509 主體地點。


organizationalUnits物件

OrganizationalUnits 定義可能請求的 X.509 主體組織單位。


organizations物件

Organizations 定義可能請求的 X.509 主體組織。


postalCodes物件

PostalCodes 定義可能請求的 X.509 主體郵遞區號。


provinces物件

Provinces 定義可能請求的 X.509 主體省份。


serialNumber物件

SerialNumber 定義可能請求的 X.509 主體序號。


streetAddresses物件

StreetAddresses 定義可能請求的 X.509 主體街道地址。


CertificateRequestPolicy.spec.allowed.subject.countries

Countries 定義可能請求的 X.509 主體國家/地區。

名稱類型描述必要
required布林值

Required 控制相關欄位是否必須至少有一個值。預設值為 false


validations[]物件

Validations 使用通用表達式語言 (CEL) 套用規則,以驗證請求上的屬性值,超出使用 values/required 可能表達的範圍。相關 CertificateRequest 欄位的所有屬性值必須通過 ALL 驗證,此原則才會授予請求。


values[]string

Values 定義相關 CertificateRequest 欄位上允許的屬性值。接受萬用字元「*」。如果設定,相關欄位只能包含允許值中包含的項目。

注意:values: []required: true 配對會建立一個永遠不會授予 CertificateRequest 的原則,但其他原則可能會。TODO:在 v1alpha2 中新增 x-kubernetes-list-type: set


CertificateRequestPolicy.spec.allowed.subject.countries.validations[index]

ValidationRule 描述以 CEL 表示的驗證規則。

名稱類型描述必要
rule字串

規則代表將由 CEL 評估的表達式。參考:https://github.com/google/cel-spec。規則的作用範圍限定於 schema 中驗證的位置。CEL 表達式中的 self 變數會綁定到作用域的值。為了啟用更進階的驗證規則,approver-policy 提供 cr (map) 變數給 CEL 表達式,其中包含 CertificateRequest 資源的 namespacename

範例(針對命名空間的 DNS 名稱的規則)

rule: self.endsWith(cr.namespace + '.svc.cluster.local')

訊息字串

訊息是在驗證失敗時顯示的訊息。如果規則包含換行符號,則必須提供訊息。請注意,訊息不得包含換行符號。如果未設定,則會使用後備訊息:「規則失敗:<rule>」。例如:「必須是主機符合 spec.host 的 URL」。


CertificateRequestPolicy.spec.allowed.subject.localities

Localities 定義可能請求的 X.509 主體地點。

名稱類型描述必要
required布林值

Required 控制相關欄位是否必須至少有一個值。預設值為 false


validations[]物件

Validations 使用通用表達式語言 (CEL) 套用規則,以驗證請求上的屬性值,超出使用 values/required 可能表達的範圍。相關 CertificateRequest 欄位的所有屬性值必須通過 ALL 驗證,此原則才會授予請求。


values[]string

Values 定義相關 CertificateRequest 欄位上允許的屬性值。接受萬用字元「*」。如果設定,相關欄位只能包含允許值中包含的項目。

注意:values: []required: true 配對會建立一個永遠不會授予 CertificateRequest 的原則,但其他原則可能會。TODO:在 v1alpha2 中新增 x-kubernetes-list-type: set


CertificateRequestPolicy.spec.allowed.subject.localities.validations[index]

ValidationRule 描述以 CEL 表示的驗證規則。

名稱類型描述必要
rule字串

規則代表將由 CEL 評估的表達式。參考:https://github.com/google/cel-spec。規則的作用範圍限定於 schema 中驗證的位置。CEL 表達式中的 self 變數會綁定到作用域的值。為了啟用更進階的驗證規則,approver-policy 提供 cr (map) 變數給 CEL 表達式,其中包含 CertificateRequest 資源的 namespacename

範例(針對命名空間的 DNS 名稱的規則)

rule: self.endsWith(cr.namespace + '.svc.cluster.local')

訊息字串

訊息是在驗證失敗時顯示的訊息。如果規則包含換行符號,則必須提供訊息。請注意,訊息不得包含換行符號。如果未設定,則會使用後備訊息:「規則失敗:<rule>」。例如:「必須是主機符合 spec.host 的 URL」。


CertificateRequestPolicy.spec.allowed.subject.organizationalUnits

OrganizationalUnits 定義可能請求的 X.509 主體組織單位。

名稱類型描述必要
required布林值

Required 控制相關欄位是否必須至少有一個值。預設值為 false


validations[]物件

Validations 使用通用表達式語言 (CEL) 套用規則,以驗證請求上的屬性值,超出使用 values/required 可能表達的範圍。相關 CertificateRequest 欄位的所有屬性值必須通過 ALL 驗證,此原則才會授予請求。


values[]string

Values 定義相關 CertificateRequest 欄位上允許的屬性值。接受萬用字元「*」。如果設定,相關欄位只能包含允許值中包含的項目。

注意:values: []required: true 配對會建立一個永遠不會授予 CertificateRequest 的原則,但其他原則可能會。TODO:在 v1alpha2 中新增 x-kubernetes-list-type: set


CertificateRequestPolicy.spec.allowed.subject.organizationalUnits.validations[index]

ValidationRule 描述以 CEL 表示的驗證規則。

名稱類型描述必要
rule字串

規則代表將由 CEL 評估的表達式。參考:https://github.com/google/cel-spec。規則的作用範圍限定於 schema 中驗證的位置。CEL 表達式中的 self 變數會綁定到作用域的值。為了啟用更進階的驗證規則,approver-policy 提供 cr (map) 變數給 CEL 表達式,其中包含 CertificateRequest 資源的 namespacename

範例(針對命名空間的 DNS 名稱的規則)

rule: self.endsWith(cr.namespace + '.svc.cluster.local')

訊息字串

訊息是在驗證失敗時顯示的訊息。如果規則包含換行符號,則必須提供訊息。請注意,訊息不得包含換行符號。如果未設定,則會使用後備訊息:「規則失敗:<rule>」。例如:「必須是主機符合 spec.host 的 URL」。


CertificateRequestPolicy.spec.allowed.subject.organizations

Organizations 定義可能請求的 X.509 主體組織。

名稱類型描述必要
required布林值

Required 控制相關欄位是否必須至少有一個值。預設值為 false


validations[]物件

Validations 使用通用表達式語言 (CEL) 套用規則,以驗證請求上的屬性值,超出使用 values/required 可能表達的範圍。相關 CertificateRequest 欄位的所有屬性值必須通過 ALL 驗證,此原則才會授予請求。


values[]string

Values 定義相關 CertificateRequest 欄位上允許的屬性值。接受萬用字元「*」。如果設定,相關欄位只能包含允許值中包含的項目。

注意:values: []required: true 配對會建立一個永遠不會授予 CertificateRequest 的原則,但其他原則可能會。TODO:在 v1alpha2 中新增 x-kubernetes-list-type: set


CertificateRequestPolicy.spec.allowed.subject.organizations.validations[index]

ValidationRule 描述以 CEL 表示的驗證規則。

名稱類型描述必要
rule字串

規則代表將由 CEL 評估的表達式。參考:https://github.com/google/cel-spec。規則的作用範圍限定於 schema 中驗證的位置。CEL 表達式中的 self 變數會綁定到作用域的值。為了啟用更進階的驗證規則,approver-policy 提供 cr (map) 變數給 CEL 表達式,其中包含 CertificateRequest 資源的 namespacename

範例(針對命名空間的 DNS 名稱的規則)

rule: self.endsWith(cr.namespace + '.svc.cluster.local')

訊息字串

訊息是在驗證失敗時顯示的訊息。如果規則包含換行符號,則必須提供訊息。請注意,訊息不得包含換行符號。如果未設定,則會使用後備訊息:「規則失敗:<rule>」。例如:「必須是主機符合 spec.host 的 URL」。


CertificateRequestPolicy.spec.allowed.subject.postalCodes

PostalCodes 定義可能請求的 X.509 主體郵遞區號。

名稱類型描述必要
required布林值

Required 控制相關欄位是否必須至少有一個值。預設值為 false


validations[]物件

Validations 使用通用表達式語言 (CEL) 套用規則,以驗證請求上的屬性值,超出使用 values/required 可能表達的範圍。相關 CertificateRequest 欄位的所有屬性值必須通過 ALL 驗證,此原則才會授予請求。


values[]string

Values 定義相關 CertificateRequest 欄位上允許的屬性值。接受萬用字元「*」。如果設定,相關欄位只能包含允許值中包含的項目。

注意:values: []required: true 配對會建立一個永遠不會授予 CertificateRequest 的原則,但其他原則可能會。TODO:在 v1alpha2 中新增 x-kubernetes-list-type: set


CertificateRequestPolicy.spec.allowed.subject.postalCodes.validations[index]

ValidationRule 描述以 CEL 表示的驗證規則。

名稱類型描述必要
rule字串

規則代表將由 CEL 評估的表達式。參考:https://github.com/google/cel-spec。規則的作用範圍限定於 schema 中驗證的位置。CEL 表達式中的 self 變數會綁定到作用域的值。為了啟用更進階的驗證規則,approver-policy 提供 cr (map) 變數給 CEL 表達式,其中包含 CertificateRequest 資源的 namespacename

範例(針對命名空間的 DNS 名稱的規則)

rule: self.endsWith(cr.namespace + '.svc.cluster.local')

訊息字串

訊息是在驗證失敗時顯示的訊息。如果規則包含換行符號,則必須提供訊息。請注意,訊息不得包含換行符號。如果未設定,則會使用後備訊息:「規則失敗:<rule>」。例如:「必須是主機符合 spec.host 的 URL」。


CertificateRequestPolicy.spec.allowed.subject.provinces

Provinces 定義可能請求的 X.509 主體省份。

名稱類型描述必要
required布林值

Required 控制相關欄位是否必須至少有一個值。預設值為 false


validations[]物件

Validations 使用通用表達式語言 (CEL) 套用規則,以驗證請求上的屬性值,超出使用 values/required 可能表達的範圍。相關 CertificateRequest 欄位的所有屬性值必須通過 ALL 驗證,此原則才會授予請求。


values[]string

Values 定義相關 CertificateRequest 欄位上允許的屬性值。接受萬用字元「*」。如果設定,相關欄位只能包含允許值中包含的項目。

注意:values: []required: true 配對會建立一個永遠不會授予 CertificateRequest 的原則,但其他原則可能會。TODO:在 v1alpha2 中新增 x-kubernetes-list-type: set


CertificateRequestPolicy.spec.allowed.subject.provinces.validations[index]

ValidationRule 描述以 CEL 表示的驗證規則。

名稱類型描述必要
rule字串

規則代表將由 CEL 評估的表達式。參考:https://github.com/google/cel-spec。規則的作用範圍限定於 schema 中驗證的位置。CEL 表達式中的 self 變數會綁定到作用域的值。為了啟用更進階的驗證規則,approver-policy 提供 cr (map) 變數給 CEL 表達式,其中包含 CertificateRequest 資源的 namespacename

範例(針對命名空間的 DNS 名稱的規則)

rule: self.endsWith(cr.namespace + '.svc.cluster.local')

訊息字串

訊息是在驗證失敗時顯示的訊息。如果規則包含換行符號,則必須提供訊息。請注意,訊息不得包含換行符號。如果未設定,則會使用後備訊息:「規則失敗:<rule>」。例如:「必須是主機符合 spec.host 的 URL」。


CertificateRequestPolicy.spec.allowed.subject.serialNumber

SerialNumber 定義可能請求的 X.509 主體序號。

名稱類型描述必要
required布林值

Required 表示必須提供相關欄位,且不得為空字串。預設為 false


validations[]物件

Validations 使用通用運算式語言 (CEL) 套用規則,以驗證請求中存在的屬性值,超出使用值/必要項所能表達的範圍。相關 CertificateRequest 欄位上的屬性值必須通過所有驗證,才能讓此政策允許該請求。


value字串

Value 定義相關 CertificateRequest 欄位上允許的屬性值。接受萬用字元「*」。如果設定,則相關欄位必須符合指定的模式。

注意:value: ""required: true 配對會建立一個永遠不會授與 CertificateRequest 的政策,但其他政策可能會授與。


CertificateRequestPolicy.spec.allowed.subject.serialNumber.validations[index]

ValidationRule 描述以 CEL 表示的驗證規則。

名稱類型描述必要
rule字串

規則代表將由 CEL 評估的表達式。參考:https://github.com/google/cel-spec。規則的作用範圍限定於 schema 中驗證的位置。CEL 表達式中的 self 變數會綁定到作用域的值。為了啟用更進階的驗證規則,approver-policy 提供 cr (map) 變數給 CEL 表達式,其中包含 CertificateRequest 資源的 namespacename

範例(針對命名空間的 DNS 名稱的規則)

rule: self.endsWith(cr.namespace + '.svc.cluster.local')

訊息字串

訊息是在驗證失敗時顯示的訊息。如果規則包含換行符號,則必須提供訊息。請注意,訊息不得包含換行符號。如果未設定,則會使用後備訊息:「規則失敗:<rule>」。例如:「必須是主機符合 spec.host 的 URL」。


CertificateRequestPolicy.spec.allowed.subject.streetAddresses

StreetAddresses 定義可能請求的 X.509 主體街道地址。

名稱類型描述必要
required布林值

Required 控制相關欄位是否必須至少有一個值。預設值為 false


validations[]物件

Validations 使用通用表達式語言 (CEL) 套用規則,以驗證請求上的屬性值,超出使用 values/required 可能表達的範圍。相關 CertificateRequest 欄位的所有屬性值必須通過 ALL 驗證,此原則才會授予請求。


values[]string

Values 定義相關 CertificateRequest 欄位上允許的屬性值。接受萬用字元「*」。如果設定,相關欄位只能包含允許值中包含的項目。

注意:values: []required: true 配對會建立一個永遠不會授予 CertificateRequest 的原則,但其他原則可能會。TODO:在 v1alpha2 中新增 x-kubernetes-list-type: set


CertificateRequestPolicy.spec.allowed.subject.streetAddresses.validations[index]

ValidationRule 描述以 CEL 表示的驗證規則。

名稱類型描述必要
rule字串

規則代表將由 CEL 評估的表達式。參考:https://github.com/google/cel-spec。規則的作用範圍限定於 schema 中驗證的位置。CEL 表達式中的 self 變數會綁定到作用域的值。為了啟用更進階的驗證規則,approver-policy 提供 cr (map) 變數給 CEL 表達式,其中包含 CertificateRequest 資源的 namespacename

範例(針對命名空間的 DNS 名稱的規則)

rule: self.endsWith(cr.namespace + '.svc.cluster.local')

訊息字串

訊息是在驗證失敗時顯示的訊息。如果規則包含換行符號,則必須提供訊息。請注意,訊息不得包含換行符號。如果未設定,則會使用後備訊息:「規則失敗:<rule>」。例如:「必須是主機符合 spec.host 的 URL」。


CertificateRequestPolicy.spec.allowed.uris

URIs 定義可能請求的 X.509 URI SAN。

名稱類型描述必要
required布林值

Required 控制相關欄位是否必須至少有一個值。預設值為 false


validations[]物件

Validations 使用通用表達式語言 (CEL) 套用規則,以驗證請求上的屬性值,超出使用 values/required 可能表達的範圍。相關 CertificateRequest 欄位的所有屬性值必須通過 ALL 驗證,此原則才會授予請求。


values[]string

Values 定義相關 CertificateRequest 欄位上允許的屬性值。接受萬用字元「*」。如果設定,相關欄位只能包含允許值中包含的項目。

注意:values: []required: true 配對會建立一個永遠不會授予 CertificateRequest 的原則,但其他原則可能會。TODO:在 v1alpha2 中新增 x-kubernetes-list-type: set


CertificateRequestPolicy.spec.allowed.uris.validations[index]

ValidationRule 描述以 CEL 表示的驗證規則。

名稱類型描述必要
rule字串

規則代表將由 CEL 評估的表達式。參考:https://github.com/google/cel-spec。規則的作用範圍限定於 schema 中驗證的位置。CEL 表達式中的 self 變數會綁定到作用域的值。為了啟用更進階的驗證規則,approver-policy 提供 cr (map) 變數給 CEL 表達式,其中包含 CertificateRequest 資源的 namespacename

範例(針對命名空間的 DNS 名稱的規則)

rule: self.endsWith(cr.namespace + '.svc.cluster.local')

訊息字串

訊息是在驗證失敗時顯示的訊息。如果規則包含換行符號,則必須提供訊息。請注意,訊息不得包含換行符號。如果未設定,則會使用後備訊息:「規則失敗:<rule>」。例如:「必須是主機符合 spec.host 的 URL」。


CertificateRequestPolicy.spec.constraints

Constraints 定義 CertificateRequest 必須滿足的欄位,才能讓此政策允許該請求。省略的欄位對請求中對應的屬性沒有限制。

名稱類型描述必要
maxDuration字串

MaxDuration 定義憑證請求的最大期限。數值是包含性的(例如,1h 的值會接受 1h 的期限)。MinDuration 和 MaxDuration 可以是相同的值。如果設定,則**必須**在 CertificateRequest 中請求期限。省略的欄位表示對期限沒有最大約束。


minDuration字串

MinDuration 定義憑證請求的最小期限。數值是包含性的(例如,1h 的值會接受 1h 的期限)。MinDuration 和 MaxDuration 可以是相同的值。如果設定,則**必須**在 CertificateRequest 中請求期限。省略的欄位表示對期限沒有最小約束。


privateKey物件

PrivateKey 定義 CertificateRequest 允許的私鑰形狀的約束。省略的欄位表示沒有私鑰形狀約束。


CertificateRequestPolicy.spec.constraints.privateKey

PrivateKey 定義 CertificateRequest 允許的私鑰形狀的約束。省略的欄位表示沒有私鑰形狀約束。

名稱類型描述必要
algorithm列舉

Algorithm 定義請求中允許的私鑰加密演算法。省略的欄位允許任何演算法。



列舉:RSA、ECDSA、Ed25519

maxSize整數

MaxSize 定義私鑰的最大金鑰大小。數值是包含性的(例如,2048 的最小值會接受 2048 的大小)。MaxSize 和 MinSize 可以是相同的值。省略的欄位表示對大小沒有最大約束。


minSize整數

MinSize 定義私鑰的最小金鑰大小。數值是包含性的(例如,2048 的最小值會接受 2048 的大小)。MinSize 和 MaxSize 可以是相同的值。省略的欄位表示對大小沒有最小約束。


CertificateRequestPolicy.spec.plugins[key]

CertificateRequestPolicyPluginData 是外掛程式批准者評估此原則上的 CertificateRequest 所需的組態。

名稱類型描述必要
valuesmap[string]string

值定義一組外掛程式已知的、對外掛程式而言必要的鍵值對,以便外掛程式根據此原則成功評估請求。


CertificateRequestPolicy.status

CertificateRequestPolicyStatus 定義 CertificateRequestPolicy 的觀察狀態。

名稱類型描述必要
conditions[]物件

狀態條件列表,表示 CertificateRequestPolicy 的狀態。已知的條件類型為 Ready


CertificateRequestPolicy.status.conditions[index]

CertificateRequestPolicyCondition 包含 CertificateRequestPolicyStatus 的條件資訊。

名稱類型描述必要
status字串

條件的狀態,為 ('True'、'False'、'Unknown') 之一。


type字串

條件的類型,已知的值為 (Ready)。


lastTransitionTime字串

LastTransitionTime 是此條件最後一次狀態變更的時間戳記。



格式:日期時間

訊息字串

Message 是對最後一次轉換詳細資訊的人工可讀描述,補充了原因。


observedGeneration整數

如果設定,則此值表示條件設定所依據的 .metadata.generation。例如,如果 .metadata.generation 目前為 12,但 .status.condition[x].observedGeneration 為 9,則條件相對於 CertificateRequestPolicy 的目前狀態已過時。



格式:int64

reason字串

Reason 是對條件的最後一次轉換的簡短機器可讀解釋。