安全 API
安全 API 参考指南
摘要
第 1 章 安全 API
1.1. CertificateSigningRequest [certificates.k8s.io/v1]
- 描述
CertificateSigningRequest 对象提供了一种机制,用于通过提交证书签名请求来获取 x509 证书,并使其异步批准并发布。
kubelet 使用这个 API 获取:1. 客户端证书向 kube-apiserver 进行身份验证(使用 "kubernetes.io/kube-apiserver-client-kubelet" signerName)。2. 为 TLS 端点 kube-apiserver 的服务证书可以安全连接(使用 "kubernetes.io/kubelet-serving" signerName)。
此 API 可用于请求客户端证书向 kube-apiserver 进行身份验证(使用 "kubernetes.io/kube-apiserver-client" signerName),或者从自定义非 Kubernetes 签发器获取证书。
- 类型
-
对象
1.2. CredentialsRequest [cloudcredential.openshift.io/v1]
- 描述
- CredentialsRequest 是 credentialsrequests API 的 Schema
- 类型
-
对象
1.3. PodSecurityPolicyReview [security.openshift.io/v1]
- 描述
PodSecurityPolicyReview 检查哪些服务帐户(不是用户,因为这将是集群范围的)可以问题创建
PodTemplateSpec
。兼容性级别 2:在主发行版本中至少为 9 个月或 3 个次版本(以更长的时间为准)。
- 类型
-
对象
1.4. PodSecurityPolicySelfSubjectReview [security.openshift.io/v1]
- 描述
PodSecurityPolicySelfSubjectReview 检查此用户/SA 元组是否可以创建 PodTemplateSpec
兼容性级别 2:在主发行版本中至少为 9 个月或 3 个次版本(以更长的时间为准)。
- 类型
-
对象
1.5. PodSecurityPolicySubjectReview [security.openshift.io/v1]
- 描述
PodSecurityPolicySubjectReview 检查特定用户/SA 元组是否可以创建 PodTemplateSpec。
兼容性级别 2:在主发行版本中至少为 9 个月或 3 个次版本(以更长的时间为准)。
- 类型
-
对象
1.6. RangeAllocation [security.openshift.io/v1]
- 描述
使用 RangeAllocation,以便我们轻松公开类型为安全组的 RangeAllocation
兼容性级别 4:不提供兼容性,API 可能会因为任何原因而有所变化。这些功能不应由需要长期支持的应用程序使用。
- 类型
-
对象
1.7. Secret [v1]
- 描述
- secret 包含特定类型的 secret 数据。Data 字段中值的总字节必须小于 MaxSecretSize 字节。
- 类型
-
对象
1.8. SecurityContextConstraints [security.openshift.io/v1]
- 描述
- SecurityContextConstraints 监管向容器发出影响 SecurityContext 的请求的功能。出于历史原因,SCC 在核心 Kubernetes API 组下公开。该公开已弃用,并将在以后的发行版本中删除 - 用户应使用 security.openshift.io 组来管理 SecurityContextConstraints。兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
- 类型
-
对象
1.9. ServiceAccount [v1]
- 描述
- ServiceAccount 绑定在一起:一个名称,由用户理解,可能通过外设系统,对于一个可验证和授权的 Secret 的主体,它可以被验证并授权为 Secret
- 类型
-
对象
第 2 章 CertificateSigningRequest [certificates.k8s.io/v1]
- 描述
CertificateSigningRequest 对象提供了一种机制,用于通过提交证书签名请求来获取 x509 证书,并使其异步批准并发布。
kubelet 使用这个 API 获取:1. 客户端证书向 kube-apiserver 进行身份验证(使用 "kubernetes.io/kube-apiserver-client-kubelet" signerName)。2. 为 TLS 端点 kube-apiserver 的服务证书可以安全连接(使用 "kubernetes.io/kubelet-serving" signerName)。
此 API 可用于请求客户端证书向 kube-apiserver 进行身份验证(使用 "kubernetes.io/kube-apiserver-client" signerName),或者从自定义非 Kubernetes 签发器获取证书。
- 类型
-
object
- 必填
-
spec
-
2.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| ||
|
| CertificateSigningRequestSpec 包含证书请求。 |
|
| CertificateSigningRequestStatus 包含用于指示请求批准/拒绝/失败状态以及发布的证书的条件。 |
2.1.1. .spec
- 描述
- CertificateSigningRequestSpec 包含证书请求。
- 类型
-
object
- 必填
-
request
-
signerName
-
属性 | 类型 | 描述 |
---|---|---|
|
| expirationSeconds 是签发的证书的请求的持续时间。证书签名者可能会发布具有不同有效期的证书,因此客户端必须检查发布的证书的 notBefore 和 notAfter 字段之间的 delta,以确定实际的持续时间。 只要请求的持续时间没有大于 Kubernetes 控制器管理器的 --cluster-signing-duration CLI 标志,则该字段将遵循这个字段。 证书签名者可能会因为各种原因不遵循此字段: 1. 不了解字段的旧签名者(如 v1.22 之前的树内实现)。配置的最大值少于请求持续时间 3 的签名者。配置的最小值超过请求的持续时间的签名者 expirationSeconds 的最小有效值为 600,即 10 分钟。 |
|
| extra 包含创建 CertificateSigningRequest 的用户的额外属性。创建和不可变时由 API 服务器填充。 |
|
| |
|
| 组包含创建 CertificateSigningRequest 的用户的组成员资格。创建和不可变时由 API 服务器填充。 |
|
| request 包含在 "CERTIFICATE REQUEST" PEM 块中编码的 x509 证书签名请求。当序列化为 JSON 或 YAML 时,数据也是 base64 编码的。 |
|
| signerName 表示请求的签名者,它是合格的名称。 通过 "spec.signerName=NAME" fieldSelector,列出 CertificateSigningRequests 的 list/watch 请求可以在此字段上过滤。 已知的 Kubernetes 符号是:1. "kubernetes.io/kube-apiserver-client": 发布可用于向 kube-apiserver 进行身份验证的客户端证书。对这个 signer 的请求不会被 kube-controller-manager 自动批准,由 kube-controller-manager 中的 "csrsigning" 控制器发出。2. "Kubernetes.io/kube-apiserver-client-kubelet": 发出 kubelet 用来向 kube-apiserver 进行身份验证的客户端证书。此签名人的请求可以由 kube-controller-manager 中的 "csrapproving" 控制器自动批准,并可通过 kube-controller-manager 中的 "csrsigning" 控制器发出。3. "Kubernetes.io/kubelet-serving" 问题提供 kubelet 用来提供 TLS 端点的证书,kube-apiserver 可以安全地连接。对这个 signer 的请求不会被 kube-controller-manager 自动批准,并由 kube-controller-manager 中的 "csrsigning" 控制器发布。 更多详情请参阅 https://k8s.io/docs/reference/access-authn-authz/certificate-signing-requests/#kubernetes-signers 也可以指定自定义 signerNames。签名者定义:1.信任分发:如何分发信任(CA 捆绑包)。2.当请求禁止的主题时允许的主题和行为。3.请求中的必需、允许或禁止的 x509 扩展(包括是否允许 subjectAltNames、类型、允许的值的限制)以及请求禁止的扩展时的行为。4.必需、允许或禁止密钥使用/扩展密钥使用。5.expiration/certificate 生命周期:是否由签名者修复,由管理员配置。6.是否允许对 CA 证书的请求。 |
|
| UID 包含创建 CertificateSigningRequest 的用户的 uid。创建和不可变时由 API 服务器填充。 |
|
| usages 指定一组在签发的证书中请求的密钥使用量。 对 TLS 客户端证书的请求通常请求:"数字签名", "key encipherment", "client auth"。 对 TLS 服务证书的请求通常请求:"key encipherment", "digital signature", "server auth"。 有效值为:"signing", "digital signature", "content commitment", "key encipherment", "key agree", "data encipherment", "cert sign", "crl sign", "encipher only", "decipher only", "any", "server auth", "client auth", "code signing", "code signing", "encipher only", "any", "server auth", "client auth", "code signing", "email protection", "s/mime", "ipsec end system", "ipsec tunnel", "ipsec user", "timestamping", "ocsp signing", "microsoft sgc", "netscape sgc" |
|
| username 包含创建 CertificateSigningRequest 的用户的名称。创建和不可变时由 API 服务器填充。 |
2.1.2. .spec.extra
- 描述
- extra 包含创建 CertificateSigningRequest 的用户的额外属性。创建和不可变时由 API 服务器填充。
- 类型
-
对象
2.1.3. .status
- 描述
- CertificateSigningRequestStatus 包含用于指示请求批准/拒绝/失败状态以及发布的证书的条件。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 证书会在出现 Approved 条件后填充 signer 发布的证书。此字段通过 /status 子资源设置。填充后,此字段不可变。 如果证书签名请求被拒绝,则添加类型为 "Denied" 的条件,此字段仍为空。如果签名者无法发布证书,则添加一个类型为 "Failed" 的条件,此字段仍为空。 验证要求:1. 证书必须包含一个或多个 PEM 块。2.所有 PEM 块都必须具有"CERTIFICATE"标签,不包含标头,编码的数据必须是 BER 编码的 ASN.1 证书结构,如 RFC5280 的第 4 部分所述。3.非PEM 内容可能出现在"CERTIFICATE" PEM 块之前或之后,并允许解释文本,如 RFC7468 第 5.2 节所述。 如果存在多个 PEM 块,并且请求的 spec.signerName 的定义不指明,第一个块是发布的证书,后续的块应被视为中间证书,并在 TLS 握手中显示。 证书以 PEM 格式编码。 当序列化为 JSON 或 YAML 时,数据也是 base64 编码,因此它由以下组成: base64( -----BEGIN CERTIFICATE----- … -----END CERTIFICATE----- ) |
|
| 应用到请求的条件。已知条件为 "Approved", "Denied", 和 "Failed"。 |
|
| CertificateSigningRequestCondition 描述了 CertificateSigningRequest 对象的条件 |
2.1.4. .status.conditions
- 描述
- 应用到请求的条件。已知条件为 "Approved", "Denied", 和 "Failed"。
- 类型
-
array
2.1.5. .status.conditions[]
- 描述
- CertificateSigningRequestCondition 描述了 CertificateSigningRequest 对象的条件
- 类型
-
object
- 必填
-
type
-
status
-
属性 | 类型 | 描述 |
---|---|---|
| lastTransitionTime 是条件最后一次从一个状态转换到另一个状态的时间。如果未设置,当添加新条件类型或现有条件的状态改变时,服务器会把它默认设置为当前时间。 | |
| lastUpdateTime 是最后一次更新到此条件的时间 | |
|
| message 包含人类可读的消息,其中包含有关请求状态的详细信息 |
|
| reason 表示请求状态的简短原因 |
|
| 条件的状态,True, False, Unknown 之一。批准、拒绝和失败条件可能不是"False"或"Unknown"。 |
|
| 条件的类型。已知条件为 "Approved", "Denied", 和 "Failed"。 通过 /approval 子资源添加"Approved"条件,表示请求已批准,应由签名者发布。 通过 /approval 子资源添加 "Denied" 条件,表示请求被拒绝,不应由签名者发出。 一个 "Failed" 条件通过 /status 子资源添加,表示签名者无法发布证书。 批准和拒绝的条件是互斥的。添加后无法删除批准、Denied 和 Failed 条件。 只允许给定类型的一个条件。 |
2.2. API 端点
可用的 API 端点如下:
/apis/certificates.k8s.io/v1/certificatesigningrequests
-
DELETE
:删除 CertificateSigningRequest 的集合 -
GET
: 列出或监视类型为 CertificateSigningRequest 的对象 -
POST
:创建一个 CertificateSigningRequest
-
/apis/certificates.k8s.io/v1/watch/certificatesigningrequests
-
GET
: 观察单个对 CertificateSigningRequest 列表的更改。已弃用:改为使用 'watch' 参数和列表操作。
-
/apis/certificates.k8s.io/v1/certificatesigningrequests/{name}
-
DELETE
:删除 CertificateSigningRequest -
GET
:读取指定的 CertificateSigningRequest -
PATCH
: 部分更新指定的 CertificateSigningRequest -
PUT
:替换指定的 CertificateSigningRequest
-
/apis/certificates.k8s.io/v1/watch/certificatesigningrequests/{name}
-
GET
: 观察对类型为 CertificateSigningRequest 的对象的更改。已弃用:使用带列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
-
/apis/certificates.k8s.io/v1/certificatesigningrequests/{name}/status
-
GET
:指定 CertificateSigningRequest 的读取状态 -
PATCH
: 部分更新指定 CertificateSigningRequest 的状态 -
PUT
:替换指定 CertificateSigningRequest 的状态
-
/apis/certificates.k8s.io/v1/certificatesigningrequests/{name}/approval
-
GET
:读取指定 CertificateSigningRequest 的批准 -
PATCH
: 部分更新指定 CertificateSigningRequest 的批准 -
PUT
:替换指定 CertificateSigningRequest 的批准
-
2.2.1. /apis/certificates.k8s.io/v1/certificatesigningrequests
- HTTP 方法
-
DELETE
- 描述
- 删除 CertificateSigningRequest 集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 CertificateSigningRequest 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 CertificateSigningRequest
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - Unauthorized | 空 |
2.2.2. /apis/certificates.k8s.io/v1/watch/certificatesigningrequests
- HTTP 方法
-
GET
- 描述
- 观察单个对 CertificateSigningRequest 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
2.2.3. /apis/certificates.k8s.io/v1/certificatesigningrequests/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| CertificateSigningRequest 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除 CertificateSigningRequest
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的 CertificateSigningRequest
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 CertificateSigningRequest
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 CertificateSigningRequest
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
2.2.4. /apis/certificates.k8s.io/v1/watch/certificatesigningrequests/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| CertificateSigningRequest 的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 CertificateSigningRequest 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
2.2.5. /apis/certificates.k8s.io/v1/certificatesigningrequests/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| CertificateSigningRequest 的名称 |
- HTTP 方法
-
GET
- 描述
- 指定 CertificateSigningRequest 的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定 CertificateSigningRequest 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 CertificateSigningRequest 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
2.2.6. /apis/certificates.k8s.io/v1/certificatesigningrequests/{name}/approval
参数 | 类型 | 描述 |
---|---|---|
|
| CertificateSigningRequest 的名称 |
- HTTP 方法
-
GET
- 描述
- 指定 CertificateSigningRequest 的读取批准
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定 CertificateSigningRequest 的批准
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 CertificateSigningRequest 的批准
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
第 3 章 CredentialsRequest [cloudcredential.openshift.io/v1]
- 描述
- CredentialsRequest 是 credentialsrequests API 的 Schema
- 类型
-
object
- 必填
-
spec
-
3.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| CredentialsRequestSpec 定义 CredentialsRequest 的所需状态 |
|
| CredentialsRequestStatus 定义 CredentialsRequest 的观察状态 |
3.1.1. .spec
- 描述
- CredentialsRequestSpec 定义 CredentialsRequest 的所需状态
- 类型
-
object
- 必填
-
secretRef
-
属性 | 类型 | 描述 |
---|---|---|
|
| cloudTokenPath 是 Kubernetes ServiceAccount 令牌(JSON Web Token)挂载到部署中请求凭证 secret 的工作负载的路径。存在此字段与 spec.providerSpec.stsIAMRoleARN 等字段结合使用,CCO 应该代理凭证 secret 创建,其中包含基于令牌的身份验证方法所需的字段,如 AWS Secure Token Service (STS)。cloudTokenPath 也可用于指定 ccoctl 生成的 Azure 配置 secret 中的 azure_federated_token_file 路径。默认为 "/var/run/secrets/openshift/serviceaccount/token"。 |
| `` | providerSpec 包含特定于云供应商的凭证规格。 |
|
| secretRef 指向生成凭证后应存储的 secret。 |
|
| ServiceAccountNames 包含 ServiceAccounts 列表,它将使用与这个 CredentialsRequest 关联的权限。这不会被 CCO 使用,但当 ServiceAccount 用作云凭证流的一部分时,需要在云供应商中正确设置访问控制。 |
3.1.2. .spec.secretRef
- 描述
- secretRef 指向生成凭证后应存储的 secret。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的 API 版本。 |
|
| 如果引用的是对象的一部分而非整个对象,则该字符串应包含有效的 JSON/Go 字段访问声明,如 desiredState.manifest.containers[2]。例如,如果对象引用是一个 pod 中的容器,它应该还以下类似: "spec.containers{name}"(其中 "name" 是指触发事件的容器的名称),如果不使用容器名称,则应类似于 "spec.containers[2]"(使用此 pod 中索引值为 2 的容器)。选择这个语法的原因是,为了有一些指向对象部分的正确定义方法。Todo: 这个设计不是最终设计的,且该字段在将来会有所改变。 |
|
| 引用的类型。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 引用的命名空间。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
|
| 指定构成这个引用的 resourceVersion(如果存在)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency |
|
| 引用的 UID。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids |
3.1.3. .status
- 描述
- CredentialsRequestStatus 定义 CredentialsRequest 的观察状态
- 类型
-
object
- 必填
-
lastSyncGeneration
-
已置备
-
属性 | 类型 | 描述 |
---|---|---|
|
| 条件包括 CredentialsRequest 的详细信息 |
|
| CredentialsRequestCondition 包含 CredentialsRequest 对象上任何条件的详情 |
|
| 当凭据请求资源被最后一次同步时,LastSyncCloudCredsSecretResourceVersion 是云凭证 secret 资源的资源版本。用于确定云凭证自上次同步以来是否已更新。 |
|
| LastSyncGeneration 是最后一次同步的凭证请求资源的生成。用于确定对象是否已更改并需要同步。 |
|
| LastSyncTimestamp 是凭证最后一次同步的时间。 |
| `` | providerStatus 包含特定于云供应商的状态。 |
|
| 最初置备凭据后,置备为 true。 |
3.1.4. .status.conditions
- 描述
- 条件包括 CredentialsRequest 的详细信息
- 类型
-
array
3.1.5. .status.conditions[]
- 描述
- CredentialsRequestCondition 包含 CredentialsRequest 对象上任何条件的详情
- 类型
-
object
- 必填
-
status
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| lastProbeTime 是我们探测到条件最后一次的时间 |
|
| lastTransitionTime 是条件从一个状态转换到另一个状态最后一次的时间。 |
|
| Message 是人类可读的消息,表示有关最后一次转换的详细信息 |
|
| reason 是条件最后一次转换的唯一、一词的 CamelCase 原因 |
|
| status 是条件的状态 |
|
| type 是条件的特定类型的 |
3.2. API 端点
可用的 API 端点如下:
/apis/cloudcredential.openshift.io/v1/credentialsrequests
-
GET
:列出 kind CredentialsRequest 的对象
-
/apis/cloudcredential.openshift.io/v1/namespaces/{namespace}/credentialsrequests
-
DELETE
:删除 CredentialsRequest 集合 -
GET
:列出 kind CredentialsRequest 的对象 -
POST
:创建一个 CredentialsRequest
-
/apis/cloudcredential.openshift.io/v1/namespaces/{namespace}/credentialsrequests/{name}
-
DELETE
:删除 CredentialsRequest -
GET
:读取指定的 CredentialsRequest -
PATCH
: 部分更新指定的 CredentialsRequest -
PUT
:替换指定的 CredentialsRequest
-
/apis/cloudcredential.openshift.io/v1/namespaces/{namespace}/credentialsrequests/{name}/status
-
GET
:指定 CredentialsRequest 的读取状态 -
PATCH
: 部分更新指定 CredentialsRequest 的状态 -
PUT
:替换指定 CredentialsRequest 的状态
-
3.2.1. /apis/cloudcredential.openshift.io/v1/credentialsrequests
- HTTP 方法
-
GET
- 描述
- 列出 CredentialsRequest 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
3.2.2. /apis/cloudcredential.openshift.io/v1/namespaces/{namespace}/credentialsrequests
- HTTP 方法
-
DELETE
- 描述
- 删除 CredentialsRequest 集合
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出 CredentialsRequest 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 CredentialsRequest
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - Unauthorized | 空 |
3.2.3. /apis/cloudcredential.openshift.io/v1/namespaces/{namespace}/credentialsrequests/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| CredentialsRequest 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除 CredentialsRequest
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的 CredentialsRequest
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 CredentialsRequest
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 CredentialsRequest
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
3.2.4. /apis/cloudcredential.openshift.io/v1/namespaces/{namespace}/credentialsrequests/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| CredentialsRequest 的名称 |
- HTTP 方法
-
GET
- 描述
- 指定 CredentialsRequest 的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定 CredentialsRequest 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 CredentialsRequest 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
第 4 章 PodSecurityPolicyReview [security.openshift.io/v1]
- 描述
PodSecurityPolicyReview 检查哪些服务帐户(不是用户,因为这将是集群范围的)可以问题创建
PodTemplateSpec
。兼容性级别 2:在主发行版本中至少为 9 个月或 3 个次版本(以更长的时间为准)。
- 类型
-
object
- 必填
-
spec
-
4.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
| PodSecurityPolicyReviewSpec 定义 PodSecurityPolicyReview 的规格 |
|
| PodSecurityPolicyReviewStatus 代表 PodSecurityPolicyReview 的状态。 |
4.1.1. .spec
- 描述
- PodSecurityPolicyReviewSpec 定义 PodSecurityPolicyReview 的规格
- 类型
-
object
- 必填
-
模板
-
属性 | 类型 | 描述 |
---|---|---|
|
| ServiceAccountNames 是一个可选的 ServiceAccounts 集合,用于运行检查。如果 serviceAccountNames 为空,则使用 template.spec.serviceAccountName,除非它为空,否则会使用 "default"。如果指定了 serviceAccountNames,则忽略 template.spec.serviceAccountName。 |
| template 是要检查的 PodTemplateSpec。如果 serviceAccountNames 为空,则使用 template.spec.serviceAccountName 字段,除非 template.spec.serviceAccountName 为空,否则会使用 "default"。如果指定了 serviceAccountNames,则忽略 template.spec.serviceAccountName。 |
4.1.2. .status
- 描述
- PodSecurityPolicyReviewStatus 代表 PodSecurityPolicyReview 的状态。
- 类型
-
object
- 必填
-
allowedServiceAccounts
-
属性 | 类型 | 描述 |
---|---|---|
|
| allowedServiceAccounts 返回此 命名空间中具有创建 PodTemplateSpec 的服务帐户列表。 |
|
| ServiceAccountPodSecurityPolicyReviewStatus 代表 ServiceAccount 名称和相关查看状态 |
4.1.3. .status.allowedServiceAccounts
- 描述
- allowedServiceAccounts 返回此 命名空间中具有创建 PodTemplateSpec 的服务帐户列表。
- 类型
-
数组
4.1.4. .status.allowedServiceAccounts[]
- 描述
- ServiceAccountPodSecurityPolicyReviewStatus 代表 ServiceAccount 名称和相关查看状态
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
allowedBy 是允许 PodTemplateSpec 的规则的引用。规则可以是 SecurityContextConstraint 或 PodSecurityPolicy A | |
|
| name 包含允许和拒绝的 ServiceAccount 名称 |
|
| 有关此操作处于"Failure"状态的机器可读描述。如果这个值为空,则没有可用的信息。 |
| template 是应用默认后的 PodTemplateSpec。 |
4.2. API 端点
可用的 API 端点如下:
/apis/security.openshift.io/v1/namespaces/{namespace}/podsecuritypolicyreviews
-
POST
:创建 PodSecurityPolicyReview
-
4.2.1. /apis/security.openshift.io/v1/namespaces/{namespace}/podsecuritypolicyreviews
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
- HTTP 方法
-
POST
- 描述
- 创建 PodSecurityPolicyReview
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - Unauthorized | 空 |
第 5 章 PodSecurityPolicySelfSubjectReview [security.openshift.io/v1]
- 描述
PodSecurityPolicySelfSubjectReview 检查此用户/SA 元组是否可以创建 PodTemplateSpec
兼容性级别 2:在主发行版本中至少为 9 个月或 3 个次版本(以更长的时间为准)。
- 类型
-
object
- 必填
-
spec
-
5.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
| PodSecurityPolicySelfSubjectReviewSpec 包含 PodSecurityPolicySelfSubjectReview 的规格。 |
|
| PodSecurityPolicySubjectReviewStatus 包含 PodSecurityPolicySubjectReview 的信息/状态。 |
5.1.1. .spec
- 描述
- PodSecurityPolicySelfSubjectReviewSpec 包含 PodSecurityPolicySelfSubjectReview 的规格。
- 类型
-
object
- 必填
-
模板
-
属性 | 类型 | 描述 |
---|---|---|
| template 是要检查的 PodTemplateSpec。 |
5.1.2. .status
- 描述
- PodSecurityPolicySubjectReviewStatus 包含 PodSecurityPolicySubjectReview 的信息/状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
allowedBy 是允许 PodTemplateSpec 的规则的引用。规则可以是 SecurityContextConstraint 或 PodSecurityPolicy A | |
|
| 有关此操作处于"Failure"状态的机器可读描述。如果这个值为空,则没有可用的信息。 |
| template 是应用默认后的 PodTemplateSpec。 |
5.2. API 端点
可用的 API 端点如下:
/apis/security.openshift.io/v1/namespaces/{namespace}/podsecuritypolicyselfsubjectreviews
-
POST
: 创建 PodSecurityPolicySelfSubjectReview
-
5.2.1. /apis/security.openshift.io/v1/namespaces/{namespace}/podsecuritypolicyselfsubjectreviews
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
- HTTP 方法
-
POST
- 描述
- create a PodSecurityPolicySelfSubjectReview
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - Unauthorized | 空 |
第 6 章 PodSecurityPolicySubjectReview [security.openshift.io/v1]
- 描述
PodSecurityPolicySubjectReview 检查特定用户/SA 元组是否可以创建 PodTemplateSpec。
兼容性级别 2:在主发行版本中至少为 9 个月或 3 个次版本(以更长的时间为准)。
- 类型
-
object
- 必填
-
spec
-
6.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
| PodSecurityPolicySubjectReviewSpec 定义 PodSecurityPolicySubjectReview 的规格 |
|
| PodSecurityPolicySubjectReviewStatus 包含 PodSecurityPolicySubjectReview 的信息/状态。 |
6.1.1. .spec
- 描述
- PodSecurityPolicySubjectReviewSpec 定义 PodSecurityPolicySubjectReview 的规格
- 类型
-
object
- 必填
-
模板
-
属性 | 类型 | 描述 |
---|---|---|
|
| 组是您正在测试的组。 |
| template 是要检查的 PodTemplateSpec。如果 template.spec.serviceAccountName 为空,它将不会被默认使用。如果其非空,则会检查它。 | |
|
| 用户是您正在测试的用户。如果您指定了 "user" 而不是 "group",则它将解释为"用户不是任何组的成员"。如果用户和组为空,则 仅通过 模板中的 serviceAccountName 执行检查。 |
6.1.2. .status
- 描述
- PodSecurityPolicySubjectReviewStatus 包含 PodSecurityPolicySubjectReview 的信息/状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
allowedBy 是允许 PodTemplateSpec 的规则的引用。规则可以是 SecurityContextConstraint 或 PodSecurityPolicy A | |
|
| 有关此操作处于"Failure"状态的机器可读描述。如果这个值为空,则没有可用的信息。 |
| template 是应用默认后的 PodTemplateSpec。 |
6.2. API 端点
可用的 API 端点如下:
/apis/security.openshift.io/v1/namespaces/{namespace}/podsecuritypolicysubjectreviews
-
POST
:创建 PodSecurityPolicySubjectReview
-
6.2.1. /apis/security.openshift.io/v1/namespaces/{namespace}/podsecuritypolicysubjectreviews
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
- HTTP 方法
-
POST
- 描述
- create a PodSecurityPolicySubjectReview
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - Unauthorized | 空 |
第 7 章 RangeAllocation [security.openshift.io/v1]
- 描述
使用 RangeAllocation,以便我们轻松公开类型为安全组的 RangeAllocation
兼容性级别 4:不提供兼容性,API 可能会因为任何原因而有所变化。这些功能不应由需要长期支持的应用程序使用。
- 类型
-
object
- 必填
-
range
-
data
-
7.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| data 是一个字节数组,代表范围分配的序列化状态。这是一个位映射,每个位设置为代表一个范围的一个位图。 |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| metadata 是标准对象的元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| range 是代表 uids 范围的唯一标签 "1000000000-2000000000/10000" 的字符串。 |
7.2. API 端点
可用的 API 端点如下:
/apis/security.openshift.io/v1/rangeallocations
-
DELETE
:删除 RangeAllocation 集合 -
GET
: 列出或监视类型为 RangeAllocation 的对象 -
POST
:创建 RangeAllocation
-
/apis/security.openshift.io/v1/watch/rangeallocations
-
GET
: 观察单个对 RangeAllocation 的列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
-
/apis/security.openshift.io/v1/rangeallocations/{name}
-
DELETE
:删除 RangeAllocation -
GET
:读取指定的 RangeAllocation -
PATCH
: 部分更新指定的 RangeAllocation -
PUT
:替换指定的 RangeAllocation
-
/apis/security.openshift.io/v1/watch/rangeallocations/{name}
-
GET
: 观察对类型为 RangeAllocation 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
-
7.2.1. /apis/security.openshift.io/v1/rangeallocations
- HTTP 方法
-
DELETE
- 描述
- 删除 RangeAllocation 集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 RangeAllocation 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 RangeAllocation
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - Unauthorized | 空 |
7.2.2. /apis/security.openshift.io/v1/watch/rangeallocations
- HTTP 方法
-
GET
- 描述
- 观察单个对 RangeAllocation 的列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
7.2.3. /apis/security.openshift.io/v1/rangeallocations/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| RangeAllocation 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除 RangeAllocation
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的 RangeAllocation
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 RangeAllocation
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 RangeAllocation
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
7.2.4. /apis/security.openshift.io/v1/watch/rangeallocations/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| RangeAllocation 的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 RangeAllocation 的对象的更改。已弃用:使用带列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
第 8 章 Secret [v1]
- 描述
- secret 包含特定类型的 secret 数据。Data 字段中值的总字节必须小于 MaxSecretSize 字节。
- 类型
-
对象
8.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| data 包含 secret 数据。每个密钥都必须包含字母数字字符、'-'、'_' 或 '.'。secret 数据的序列化形式是一个 base64 编码字符串,代表这里的任意(可能是非字符串)数据值。https://tools.ietf.org/html/rfc4648#section-4所述 |
|
| 不可变,如果设为 true,请确保无法更新 Secret 中存储的数据(只能修改对象元数据)。如果没有设为 true,则可以随时修改字段。默认为 nil。 |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| stringData 允许以字符串形式指定非二进制 secret 数据。为方便起见,它作为一个只写的输入字段提供。所有键和值都合并到写入上的 data 字段中,覆盖任何现有的值。从 API 读取时,stringData 字段永远不会输出。 |
|
| 用于促进对机密数据的编程处理。更多信息: https://kubernetes.io/docs/concepts/configuration/secret/#secret-types |
8.2. API 端点
可用的 API 端点如下:
/api/v1/secrets
-
GET
:列出或监视类型为 Secret 的对象
-
/api/v1/watch/secrets
-
GET
: 观察单个对 Secret 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
-
/api/v1/namespaces/{namespace}/secrets
-
DELETE
:删除 Secret 集合 -
GET
:列出或监视类型为 Secret 的对象 -
POST
:创建 Secret
-
/api/v1/watch/namespaces/{namespace}/secrets
-
GET
: 观察单个对 Secret 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
-
/api/v1/namespaces/{namespace}/secrets/{name}
-
DELETE
:删除 Secret -
GET
:读取指定的 Secret -
PATCH
: 部分更新指定的 Secret -
PUT
:替换指定的 Secret
-
/api/v1/watch/namespaces/{namespace}/secrets/{name}
-
GET
: 观察对类型为 Secret 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤到带有 'fieldSelector' 参数的单个项目。
-
8.2.1. /api/v1/secrets
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 Secret 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
8.2.2. /api/v1/watch/secrets
- HTTP 方法
-
GET
- 描述
- 观察单个对 Secret 列表的更改。已弃用:改为使用 'watch' 参数和列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
8.2.3. /api/v1/namespaces/{namespace}/secrets
- HTTP 方法
-
DELETE
- 描述
- 删除 Secret 集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 Secret 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 Secret
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
8.2.4. /api/v1/watch/namespaces/{namespace}/secrets
- HTTP 方法
-
GET
- 描述
- 观察单个对 Secret 列表的更改。已弃用:改为使用 'watch' 参数和列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
8.2.5. /api/v1/namespaces/{namespace}/secrets/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| Secret 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除 Secret
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的 Secret
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 Secret
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 Secret
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
8.2.6. /api/v1/watch/namespaces/{namespace}/secrets/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| Secret 的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 Secret 的对象的更改。已弃用:使用带有列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
第 9 章 SecurityContextConstraints [security.openshift.io/v1]
- 描述
- SecurityContextConstraints 监管向容器发出影响 SecurityContext 的请求的功能。出于历史原因,SCC 在核心 Kubernetes API 组下公开。该公开已弃用,并将在以后的发行版本中删除 - 用户应使用 security.openshift.io 组来管理 SecurityContextConstraints。兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
- 类型
-
object
- 必填
-
allowHostDirVolumePlugin
-
allowHostIPC
-
allowHostNetwork
-
allowHostPID
-
allowHostPorts
-
allowPrivilegedContainer
-
readOnlyRootFilesystem
-
9.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| allowHostDirVolumePlugin 决定策略是否允许容器使用 HostDir 卷插件 |
|
| allowHostIPC 决定策略是否允许容器中的主机 ipc。 |
|
| allowHostNetwork 决定策略是否允许在 pod spec 中使用 HostNetwork。 |
|
| allowHostPID 确定策略是否允许容器中的主机 pid。 |
|
| allowHostPorts 确定策略是否允许容器中的主机端口。 |
| `` | allowPrivilegeEscalation 决定 pod 是否可以请求允许特权升级。如果未指定,则默认为 true。 |
|
| allowPrivilegedContainer 确定容器是否可以请求以特权方式运行。 |
| `` | allowedCapabilities 是可请求添加到容器的功能列表。此字段中的功能可能会由 pod 作者自行决定添加。您不能列出 AllowedCapabilities 和 RequiredDropCapabilities 中的功能。要允许所有功能,您可以使用 '*'。 |
| `` | AllowedFlexVolumes 是允许 Flexvolumes 的白名单。空或 nil 表示可以使用所有 Flexvolumes。只有在"Volumes"字段中允许使用 Flexvolumes 时,这个参数才有效。 |
| `` | allowedUnsafeSysctls 是明确允许的不安全 sysctl 列表,默认为 none。每个条目可以是普通 sysctl 名称,或者在 "" 中结束,在这种情况下,它被视为允许的 sysctl 的前缀。单个 * 表示允许所有不安全 sysctl。kubelet 必须明确将所有允许的不安全 sysctl 列入白名单,以避免拒绝。例如:如 "foo/" 允许 "foo/bar", "foo/baz", 等。例如 "foo regarding" allow "foo.bar", "foo.baz" 等。 |
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
| `` | defaultAddCapabilities 是将添加到容器的默认功能集,除非 pod 规格特别丢弃该功能。您不能在 DefaultAddCapabilities 和 RequiredDropCapabilities 中列出功能性。 |
| `` | defaultAllowPrivilegeEscalation 控制进程是否可以比其父进程获得更多权限的默认设置。 |
| `` | forbiddenSysctls 是明确禁止的 sysctl 列表,默认为 none。每个条目可以是普通 sysctl 名称,或者在 "" 中结束,在这种情况下,它被视为禁止的 sysctl 的前缀。单个 * 表示所有 sysctl 都被禁止。例如:例如:如 "foo/" forbids "foo/bar", "foo/baz" 等,如 "foo targeted" forbids "foo.bar", "foo.baz", "foo.baz" 等。 |
| `` | fsGroup 是指明 SecurityContext 使用的 fs 组的策略。 |
| `` | 有权使用此安全性上下文约束的组 |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
| `` | 根据 Users and Groups 字段中的访问,优先级会影响在评估哪些 SCC 时,首先尝试给定 pod 请求的排序顺序。int 越高,优先级越高。unset 值被视为 0 优先级。如果多个 SCC 的分数相等,则它们会根据限制性最强到最弱排序。如果优先级和限制性都相等,则 SCC 按照名称排序。 |
|
| 设置为 true 时 readOnlyRootFileSystem 将强制容器使用只读根文件系统运行。如果容器特别使用非只读 root 文件系统运行的请求,则 SCC 应该拒绝该 pod。如果设置为 false,则容器可能会以只读 root 文件系统运行(如果该容器希望但不会被强制使用)。 |
| `` | requiredDropCapabilities 是将要从容器中丢弃的功能。这些需要丢弃且无法添加。 |
| `` | runAsUser 是策略,它将指定 SecurityContext 中使用什么 RunAsUser。 |
| `` | seLinuxContext 是策略,它将指定 SecurityContext 中将设置哪些标签。 |
| `` | seccompProfiles 列出了可以为 pod 或容器的 seccomp 注解设置的允许的配置集。取消设置(nil)或空值意味着 pod 或容器没有指定配置集。通配符 '*' 可用于允许所有配置集。用于为 pod 生成值时,第一个非通配符配置集将用作默认值。 |
| `` | supplementalGroups 是指明 SecurityContext 使用了哪些补充组的策略。 |
| `` | 有权使用此安全性上下文约束的用户 |
| `` | 卷是允许的卷插件的白名单。fstype 与 VolumeSource 的字段名称(azureFile, configMap, emptyDir)对应。要允许所有卷,您可以使用 "*"。要允许卷,设置为 ["none"]。 |
9.2. API 端点
可用的 API 端点如下:
/apis/security.openshift.io/v1/securitycontextconstraints
-
DELETE
:删除 SecurityContextConstraints 集合 -
GET
: 列出类型为 SecurityContextConstraints 的对象 -
POST
: 创建 SecurityContextConstraints
-
/apis/security.openshift.io/v1/watch/securitycontextconstraints
-
GET
: 观察单个对 SecurityContextConstraints 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
-
/apis/security.openshift.io/v1/securitycontextconstraints/{name}
-
DELETE
: delete SecurityContextConstraints -
GET
:读取指定的 SecurityContextConstraints -
PATCH
: 部分更新指定的 SecurityContextConstraints -
PUT
:替换指定的 SecurityContextConstraints
-
/apis/security.openshift.io/v1/watch/securitycontextconstraints/{name}
-
GET
: 观察对类型为 SecurityContextConstraints 的对象的更改。弃用:使用带有 list 操作的 'watch' 参数,而是过滤为带有 'fieldSelector' 参数的单个项目。
-
9.2.1. /apis/security.openshift.io/v1/securitycontextconstraints
- HTTP 方法
-
DELETE
- 描述
- 删除 SecurityContextConstraints 集合
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出 SecurityContextConstraints 类型的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 SecurityContextConstraints
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - Unauthorized | 空 |
9.2.2. /apis/security.openshift.io/v1/watch/securitycontextconstraints
- HTTP 方法
-
GET
- 描述
- 观察单个对 SecurityContextConstraints 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
9.2.3. /apis/security.openshift.io/v1/securitycontextconstraints/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| SecurityContextConstraints 的名称 |
- HTTP 方法
-
DELETE
- 描述
- delete SecurityContextConstraints
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 阅读指定的 SecurityContextConstraints
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 SecurityContextConstraints
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 SecurityContextConstraints
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
9.2.4. /apis/security.openshift.io/v1/watch/securitycontextconstraints/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| SecurityContextConstraints 的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 SecurityContextConstraints 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤到带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
第 10 章 ServiceAccount [v1]
- 描述
- ServiceAccount 绑定在一起:一个名称,由用户理解,可能通过外设系统,对于一个可验证和授权的 Secret 的主体,它可以被验证并授权为 Secret
- 类型
-
对象
10.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| AutomountServiceAccountToken 表示作为此服务帐户运行的 pod 是否应该自动挂载 API 令牌。可以在 pod 级别上覆盖。 |
|
| imagePullSecrets 是对同一命名空间中的 secret 的引用列表,用于拉取引用此 ServiceAccount 的 pod 中的任何镜像。imagePullSecrets 与 Secret 不同,因为 Secret 可以挂载到 pod 中,但 ImagePullSecrets 只能被 kubelet 访问。更多信息: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| secret 是允许使用此 ServiceAccount 运行的 pod 的同一命名空间中的 secret 列表。只有此服务帐户将 "kubernetes.io/enforce-mountable-secrets" 注解设置为 "true" 时,Pod 才会仅限于此列表。此字段不应用于查找自动生成的服务帐户令牌 secret,以便在 pod 之外使用。相反,可以使用 TokenRequest API 直接请求令牌,或者可以手动创建服务帐户令牌 secret。更多信息: https://kubernetes.io/docs/concepts/configuration/secret |
|
| ObjectReference 包含足够信息供您检查或修改引用的对象。 |
10.1.1. .imagePullSecrets
- 描述
- imagePullSecrets 是对同一命名空间中的 secret 的引用列表,用于拉取引用此 ServiceAccount 的 pod 中的任何镜像。imagePullSecrets 与 Secret 不同,因为 Secret 可以挂载到 pod 中,但 ImagePullSecrets 只能被 kubelet 访问。更多信息: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
- 类型
-
数组
10.1.2. .imagePullSecrets[]
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。有效地需要此字段,但因为允许向后兼容为空。这里具有空值的此类实例几乎是错误的。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
10.1.3. .secrets
- 描述
- secret 是允许使用此 ServiceAccount 运行的 pod 的同一命名空间中的 secret 列表。只有此服务帐户将 "kubernetes.io/enforce-mountable-secrets" 注解设置为 "true" 时,Pod 才会仅限于此列表。此字段不应用于查找自动生成的服务帐户令牌 secret,以便在 pod 之外使用。相反,可以使用 TokenRequest API 直接请求令牌,或者可以手动创建服务帐户令牌 secret。更多信息: https://kubernetes.io/docs/concepts/configuration/secret
- 类型
-
数组
10.1.4. .secrets[]
- 描述
- ObjectReference 包含足够信息供您检查或修改引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的 API 版本。 |
|
| 如果引用的是对象的一部分而非整个对象,则该字符串应包含有效的 JSON/Go 字段访问声明,如 desiredState.manifest.containers[2]。例如,如果对象引用是一个 pod 中的容器,它应该还以下类似: "spec.containers{name}"(其中 "name" 是指触发事件的容器的名称),如果不使用容器名称,则应类似于 "spec.containers[2]"(使用此 pod 中索引值为 2 的容器)。选择这个语法的原因是,为了有一些指向对象部分的正确定义方法。 |
|
| 引用的类型。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 引用的命名空间。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
|
| 指定构成这个引用的 resourceVersion(如果存在)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency |
|
| 引用的 UID。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids |
10.2. API 端点
可用的 API 端点如下:
/api/v1/serviceaccounts
-
GET
:列出或监视类型为 ServiceAccount 的对象
-
/api/v1/watch/serviceaccounts
-
GET
: 观察单个对 ServiceAccount 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
-
/api/v1/namespaces/{namespace}/serviceaccounts
-
DELETE
:删除 ServiceAccount 的集合 -
GET
:列出或监视类型为 ServiceAccount 的对象 -
POST
:创建一个 ServiceAccount
-
/api/v1/watch/namespaces/{namespace}/serviceaccounts
-
GET
: 观察单个对 ServiceAccount 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
-
/api/v1/namespaces/{namespace}/serviceaccounts/{name}
-
DELETE
:删除 ServiceAccount -
GET
:读取指定的 ServiceAccount -
PATCH
: 部分更新指定的 ServiceAccount -
PUT
:替换指定的 ServiceAccount
-
/api/v1/watch/namespaces/{namespace}/serviceaccounts/{name}
-
GET
: 观察对类型为 ServiceAccount 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤到带有 'fieldSelector' 参数的单个项目。
-
10.2.1. /api/v1/serviceaccounts
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 ServiceAccount 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
10.2.2. /api/v1/watch/serviceaccounts
- HTTP 方法
-
GET
- 描述
- 观察单个对 ServiceAccount 列表的更改。已弃用:使用带列表操作的 'watch' 参数。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
10.2.3. /api/v1/namespaces/{namespace}/serviceaccounts
- HTTP 方法
-
DELETE
- 描述
- 删除 ServiceAccount 集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 ServiceAccount 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建一个 ServiceAccount
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - Unauthorized | 空 |
10.2.4. /api/v1/watch/namespaces/{namespace}/serviceaccounts
- HTTP 方法
-
GET
- 描述
- 观察单个对 ServiceAccount 列表的更改。已弃用:使用带列表操作的 'watch' 参数。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
10.2.5. /api/v1/namespaces/{namespace}/serviceaccounts/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| ServiceAccount 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除一个 ServiceAccount
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
202 - Accepted | |
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的 ServiceAccount
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 ServiceAccount
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 ServiceAccount
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - Unauthorized | 空 |
10.2.6. /api/v1/watch/namespaces/{namespace}/serviceaccounts/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| ServiceAccount 的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对 kind ServiceAccount 的对象的更改。已弃用:使用带有列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
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.