KRM API pki.security.gdc.goog/v1

pki.security.gdc.goog/v1

包含 PKI v1 API 组的 API 架构定义。

ACMEConfig

来源: - CertificateAuthoritySpec

字段 说明
enabled 布尔值 是否通过 ACME 协议部署和访问 CA。

ACMEIssuerConfig

来源: - CertificateIssuerSpec

字段 说明
rootCACertificate 整数数组 此文件包含由 ACME 服务器颁发的证书的根 CA 数据。
acme ACMEIssuer ACME 会配置此签发者与 RFC 8555 (ACME) 服务器通信,以获取已签名的证书。ACME 是 acme.cert-manager.io/v1 ACMEIssuer。

ACMEStatus

来源: - CertificateAuthorityStatus

字段 说明
uri 字符串 URI 是唯一的账号标识符,也可用于从 CA 检索账号详细信息

BYOCertIssuerConfig

BYOCertIssuerConfig 根据自带证书模型定义了发布者。

来源: - CertificateIssuerSpec

字段 说明
fallbackCertificateAuthority CAReference FallbackCertificateAuthority 是对默认 CAaaS 运营的 CA 的引用。API 类型: - Group:pki.security.gdc.goog - Kind:CertificateAuthority

BYOCertStatus

来源: - CertificateStatus

字段 说明
csrStatus CSRStatus 证书签名请求 (CSR) 状态
signedCertStatus SignedCertStatus 外部签名的证书状态

BYOCertificate

外部签名的证书

来源: - CertificateSpec

字段 说明
certificate 整数数组 客户上传的 PEM 编码的 x509 证书。
ca 整数数组 用于签署证书的签名者 CA 的 PEM 编码 x509 证书。

CACertificateConfig

CACertificateConfig 定义了 CA 证书的预配方式。 在任何时间点,只会设置其中一个。

来源: - CertificateAuthoritySpec

字段 说明
externalCA ExternalCAConfig 从外部根 CA 获取证书。如果设置,系统将在状态中生成 CSR,并且可以使用此字段上传已签名的证书。
selfSignedCA SelfSignedCAConfig 颁发自签名证书。(根 CA)
managedSubCA ManagedSubCAConfig 从 GDC 管理的 CA 颁发 SubCA 证书。(受管理的从属 CA)

CACertificateProfile

CACertificateProfile 用于定义 CA 证书的配置文件。

来源: - CertificateAuthoritySpec

字段 说明
commonName 字符串 CA 证书的通用名称。
organizations 字符串数组 证书上要使用的组织。
countries 字符串数组 证书上要使用的国家/地区。
organizationalUnits 字符串数组 证书上要使用的组织部门。
localities 字符串数组 要在证书上使用的城市。
provinces 字符串数组 证书上要使用的州/省。
streetAddresses 字符串数组 证书上要使用的街道地址。
postalCodes 字符串数组 证书上要使用的邮政编码。
duration 时长 所请求的 CA 证书的“时长”(即有效期)。
renewBefore 时长 RenewBefore 表示在 CA 证书过期之前的轮替时间。
maxPathLength 整数 CA 证书的最大路径长度。

CAReference

CAReference 表示 CertificateAuthority 引用。它包含用于检索任何命名空间中的 CA 的信息。

来源: - BYOCertIssuerConfig - CAaaSIssuerConfig - CertificateRequestSpec - ManagedSubCAConfig

字段 说明
name 字符串 名称在命名空间中是唯一的,用于引用 CA 资源。
namespace 字符串 命名空间定义了 CA 名称必须在其中具有唯一性的空间。

CAaaSIssuerConfig

CAaaSIssuerConfig 定义了一个从使用 CAaaS 服务创建的 CA 请求证书的颁发者。

来源: - CertificateIssuerSpec

字段 说明
certificateAuthorityRef CAReference 对将签署证书的 CertificationAuthority 的引用。API 类型: - Group:pki.security.gdc.goog - Kind:CertificateAuthority

CSRStatus

来源: - BYOCertStatus

字段 说明
conditions 条件数组 用于指示自带证书 CSR 状态的状态条件列表 - WaitingforSigning:表示已生成新的 CSR,等待客户签名。- Ready:表示 CSR 已签名
csr 整数数组 存储 CSR 以供客户签名。

证书

Certificate 表示受管理的证书。

来源: - CertificateList

字段 说明
apiVersion 字符串 pki.security.gdc.goog/v1
kind 字符串 Certificate
metadata ObjectMeta 如需了解 metadata 的字段,请参阅 Kubernetes API 文档。
spec CertificateSpec
status CertificateStatus

CertificateAuthority

CertificateAuthority 表示将用于颁发证书的各个证书授权机构。

来源: - CertificateAuthorityList

字段 说明
apiVersion 字符串 pki.security.gdc.goog/v1
kind 字符串 CertificateAuthority
metadata ObjectMeta 如需了解 metadata 的字段,请参阅 Kubernetes API 文档。
spec CertificateAuthoritySpec
status CertificateAuthorityStatus

CertificateAuthorityList

CertificateAuthorityList 表示证书授权机构的集合。

字段 说明
apiVersion 字符串 pki.security.gdc.goog/v1
kind 字符串 CertificateAuthorityList
metadata ListMeta 如需了解 metadata 的字段,请参阅 Kubernetes API 文档。
items CertificateAuthority 数组

CertificateAuthoritySpec

来源: - CertificateAuthority

字段 说明
caProfile CACertificateProfile CertificateAuthority 的配置文件。
caCertificate CACertificateConfig CA 证书配置。
secretConfig SecretConfig CA Secret 的配置
certificateProfile CertificateProfile 定义将颁发的证书的配置文件。
acme ACMEConfig 与启用 ACME 协议相关的配置。

CertificateAuthorityStatus

来源: - CertificateAuthority

字段 说明
externalCA ExternalCAStatus ExternalCA 用于指定由外部根 CA 签名的 SunCA 的状态选项。
errorStatus ErrorStatus ErrorStatus 包含当前错误的列表以及相应字段的更新时间戳。
conditions 条件数组 用于指示证书授权机构状态的状态条件列表。- 待处理:CSR 正在等待客户签名。- 就绪:表示证书授权机构已准备就绪,可以开始使用。
acme ACMEStatus ACME 特定的状态选项。只有在配置了已启用 ACME 的证书授权机构时,才应设置此字段。

CertificateConfig

CertificateConfig 表示已颁发证书中的正文信息。

来源: - CertificateRequestSpec

字段 说明
subjectConfig SubjectConfig 这些值用于在 X.509 证书中创建标识名和主题备用名称字段。
privateKeyConfig CertificatePrivateKey 私钥选项。其中包括密钥算法和大小。

CertificateIssuer

CertificateIssuer 表示证书即服务的颁发者。 您可以通过添加/设置标签 pki.security.gdc.goog/is-default-issuer: true 将 CertificateIssuer 标记为默认签发者。

来源: - CertificateIssuerList

字段 说明
apiVersion 字符串 pki.security.gdc.goog/v1
kind 字符串 CertificateIssuer
metadata ObjectMeta 如需了解 metadata 的字段,请参阅 Kubernetes API 文档。
spec CertificateIssuerSpec
status CertificateIssuerStatus

CertificateIssuerList

CertificateIssuerList 表示证书颁发机构的集合。

字段 说明
apiVersion 字符串 pki.security.gdc.goog/v1
kind 字符串 CertificateIssuerList
metadata ListMeta 如需了解 metadata 的字段,请参阅 Kubernetes API 文档。
items CertificateIssuer 数组

CertificateIssuerSpec

来源: - CertificateIssuer

字段 说明
byoCertConfig BYOCertIssuerConfig BYOCertConfig 在自带证书模式下配置此颁发者。
caaasConfig CAaaSIssuerConfig CAaaSConfig 会将此颁发者配置为使用由 CertificateAuthority API 部署的 CA 对证书进行签名。
acmeConfig ACMEIssuerConfig ACMEConfig 会配置此颁发者以使用 ACME 服务器对证书进行签名。

CertificateIssuerStatus

来源: - CertificateIssuer

字段 说明
ca 整数数组 存储当前证书签发者使用的根 CA。
conditions 条件数组 用于指示 CertificateIssuer 状态的状态条件列表。- Ready:表示 CertificateIssuer 已准备就绪,可以使用。

CertificateList

CertificateList 表示证书集合。

字段 说明
apiVersion 字符串 pki.security.gdc.goog/v1
kind 字符串 CertificateList
metadata ListMeta 如需了解 metadata 的字段,请参阅 Kubernetes API 文档。
items 证书数组

CertificatePrivateKey

来源: - CertificateConfig

字段 说明
algorithm PrivateKeyAlgorithm 算法是相应私钥的私钥算法。如果提供,允许的值为 RSAEd25519ECDSA。如果指定了 algorithm 但未提供 size,则 ECDSA 密钥算法将使用 384 的密钥大小,RSA 密钥算法将使用 3072 的密钥大小。使用 Ed25519 密钥算法时,系统会忽略密钥大小。如需了解详情,请参阅 github.com/cert-manager/cert-manager/pkg/apis/certmanager/v1/types_certificate.go。
size 整数 大小是指相应私钥的密钥位数。如果 algorithm 设置为 RSA,有效值为 2048307240968192,如果未指定,则默认为 3072。如果 algorithm 设置为 ECDSA,则有效值为 256384521,如果未指定,则默认为 384。如果 algorithm 设置为 Ed25519,系统会忽略 Size。不允许使用其他值。如需了解详情,请参阅 github.com/cert-manager/cert-manager/pkg/apis/certmanager/v1/types_certificate.go。

CertificateProfile

CertificateProfile 定义了已颁发证书的配置文件的规范。

来源: - CertificateAuthoritySpec

字段 说明
keyUsage KeyUsageBits 数组 根据此配置文件颁发的证书允许使用的密钥用途。
extendedKeyUsage ExtendedKeyUsageBits 数组 根据此配置文件颁发的证书允许使用的扩展密钥用途。对于 SelfSignedCA,此参数是可选的;对于 ManagedSubCA 和 ExternalCA,此参数是必需的。

CertificateRequest

CertificateRequest 表示从引用的 CertificateAuthority 颁发证书的请求。

CertificateRequest 的 spec 中的所有字段在创建后都不可变。

来源: - CertificateRequestList

字段 说明
apiVersion 字符串 pki.security.gdc.goog/v1
kind 字符串 CertificateRequest
metadata ObjectMeta 如需了解 metadata 的字段,请参阅 Kubernetes API 文档。
spec CertificateRequestSpec
status CertificateRequestStatus

CertificateRequestList

CertificateRequestList 表示证书请求的集合。

字段 说明
apiVersion 字符串 pki.security.gdc.goog/v1
kind 字符串 CertificateRequestList
metadata ListMeta 如需了解 metadata 的字段,请参阅 Kubernetes API 文档。
items CertificateRequest 数组

CertificateRequestSpec

CertificateRequestSpec 定义了证书颁发请求。

来源: - CertificateRequest

字段 说明
csr 整数数组 使用 CA 进行签名的证书签名请求。
certificateConfig CertificateConfig 将用于创建 CSR 的证书配置。
notBefore 时间 证书的有效开始时间。如果未设置,我们将使用请求的当前时间。
notAfter 时间 证书的有效结束时间。如果未设置,我们将使用从 notBefore 时间开始的 90 天作为默认值。
signedCertificateSecret 字符串 用于存储已签名证书的 Secret 的名称。
certificateAuthorityRef CAReference 将对证书进行签名的 CertificateAuthority 的引用。API 类型: - Group:pki.security.gdc.goog - Kind:CertificateAuthority

CertificateRequestStatus

来源: - CertificateRequest

字段 说明
conditions 条件数组 状态条件列表,用于指明待签发证书的状态。- PENDING:CSR 正在等待签名。- Ready:表示 certificateRequest 已完成。
autoGeneratedPrivateKey SecretReference 如果未提供 CSR,系统将使用自动生成的私钥。可选

CertificateSpec

来源: - 证书

字段 说明
issuer IssuerReference 将用于颁发证书的 CertificateIssuer 的引用。如果未设置,则需要设置名为 pki.security.gdc.goog/use-default-issuer: true 的标签,以便使用默认签发者签发证书。API 类型: - Group:pki.security.gdc.goog - Kind:CertificateIssuer
commonName 字符串 请求的通用名称 X509 证书主题属性。长度应不超过 64 个字符。 为了实现向后兼容,行为如下:如果为 nil,则使用当前行为将 commonName 设置为第一个 DNSName(如果长度不超过 64 个字符)。如果为空字符串,则不设置。如果已设置,则确保它是 SAN 的一部分。
dnsNames 字符串数组 DNSNames 是要设置在证书上的完全限定主机名的列表。
ipAddresses 字符串数组 IPAddresses 是要设置在证书上的 IPAddress subjectAltNames 的列表。
duration 时长 证书的请求“时长”(即有效期)。
renewBefore 时长 RenewBefore 表示在证书过期前进行轮换的时间。
secretConfig SecretConfig 证书 Secret 的配置。
byoCertificate BYOCertificate 包含外部签名的证书

CertificateStatus

来源: - 证书

字段 说明
conditions 条件数组 用于指示证书状态的状态条件列表。- 就绪:表示证书已准备就绪,可以使用。
issuedBy IssuerReference 用于颁发证书的 CertificateIssuer 的引用。API 类型: - Group:pki.security.gdc.goog - Kind:CertificateIssuer
byoCertStatus BYOCertStatus BYOCertStatus 指定了自带证书模式的状态选项。
errorStatus ErrorStatus ErrorStatus 包含当前错误的列表以及相应字段的更新时间戳。

ExtendedKeyUsageBits

底层类型string ExtendedKeyUsageBits 根据 RFC 5280 4.2.1.12 定义了不同的允许的扩展密钥用法。后续 RFC 定义了许多扩展密钥用法,如果需要签发此类证书(例如用于个人身份验证、代码签名或 IPSec 的证书),则可以作为后续功能来实现。

来源: - CertificateProfile

ExternalCAConfig

来源: - CACertificateConfig

字段 说明
signedCertificate SignedCertificateConfig 存储由外部根 CA 签名的已签名证书。

ExternalCAStatus

来源: - CertificateAuthorityStatus

字段 说明
csr 整数数组 等待由外部 CA 签名的证书签名请求。

IssuerReference

IssuerReference 表示发卡机构参考。它包含在任何命名空间中检索签发者的信息。

来源: - CertificateSpec - CertificateStatus

字段 说明
name 字符串 名称在命名空间中是唯一的,用于引用签发者资源。
namespace 字符串 命名空间定义了签发者名称必须在其中具有唯一性的空间。

KeyUsageBits

底层类型string KeyUsageBits 根据 RFC 5280 4.2.1.3 定义了不同的允许密钥用途。请注意,以下许多密钥用途都用于 TLS 上下文之外的证书,而设置非 TLS 位数的实现可以作为后续功能来实现。

来源: - CertificateProfile

ManagedSubCAConfig

ManagedSubCAConfig 定义了 SubCA CA 证书的配置。

来源: - CACertificateConfig

字段 说明
certificateAuthorityRef CAReference 对将签署 SubCA 证书的 CertificateAuthority 的引用。API 类型: - Group:pki.security.gdc.goog - Kind:CertificateAuthority

PrivateKeyAlgorithm

基础类型string

来源: - CertificatePrivateKey - PrivateKeyConfig

PrivateKeyConfig

PrivateKeyConfig 用于定义证书私钥的配置

来源: - SecretConfig

字段 说明
algorithm PrivateKeyAlgorithm 算法是相应私钥的私钥算法。如果提供,允许的值为 RSAEd25519ECDSA。如果指定了 algorithm 但未提供 size,则 ECDSA 密钥算法将使用 384 的密钥大小,RSA 密钥算法将使用 3072 的密钥大小。使用 Ed25519 密钥算法时,系统会忽略密钥大小。
size 整数 大小是指相应私钥的密钥位数。如果 algorithm 设置为 RSA,有效值为 2048307240968192,如果未指定,则默认为 3072。如果 algorithm 设置为 ECDSA,则有效值为 256384521,如果未指定,则默认为 384。如果 algorithm 设置为 Ed25519,系统会忽略 Size。不允许使用其他值。

SecretConfig

SecretConfig 定义了证书 Secret 的配置。

来源: - CertificateAuthoritySpec - CertificateSpec

字段 说明
secretName 字符串 将保存私钥和签名证书的 Secret 的名称。
secretTemplate SecretTemplate 定义要复制到 Secret 的注释和标签。
privateKeyConfig PrivateKeyConfig 证书私钥的选项

SecretTemplate

SecretTemplate 定义了要复制到 SecretConfig.SecretName 中命名的 Kubernetes Secret 资源的默认标签和注释。

来源: - SecretConfig

字段 说明
annotations 对象(键:字符串,值:字符串) Annotations 是要复制到目标 Kubernetes Secret 的键值对映射。
labels 对象(键:字符串,值:字符串) 标签是要复制到目标 Kubernetes Secret 的键值映射。

SelfSignedCAConfig

SelfSignedCAConfig 定义根 CA 证书的配置。

来源: - CACertificateConfig

SignedCertStatus

来源: - BYOCertStatus

字段 说明
conditions 条件数组 用于指示自带证书状态的状态条件列表。- Rejected:表示证书与 CSR 不匹配 - Ready:表示证书已准备就绪,可供使用。

SignedCertificateConfig

来源: - ExternalCAConfig

字段 说明
certificate 整数数组 客户上传的 PEM 编码的 x509 证书。
ca 整数数组 用于签署证书的签名者 CA 的 PEM 编码 x509 证书。

SubjectConfig

来源: - CertificateConfig

字段 说明
commonName 字符串 证书的通用名称。
organization 字符串 证书的组织。
locality 字符串 证书的地点。
state 字符串 证书的状态。
country 字符串 证书的签发国家/地区。
dnsNames 字符串数组 DNSNames 是要设置在证书上的 dNSName subjectAltNames 的列表。
ipAddresses 字符串数组 IPAddresses 是要设置在证书上的 ipAddress subjectAltNames 的列表。
rfc822Names 字符串数组 RFC822Names 是要设置在证书上的 rfc822Name subjectAltNames 的列表。
uris 字符串数组 URI 是要设置在证书上的 uniformResourceIdentifier subjectAltNames 的列表。