az confcom
Note
此参考是 Azure CLI(版本 2.26.2 或更高版本)的 confcom 扩展的一部分。 该扩展将在首次运行 az confcom 命令时自动安装。 了解更多关于扩展的信息。
用于为 Azure 中的机密容器生成安全策略的命令。
命令
| 名称 | 说明 | 类型 | Status |
|---|---|---|---|
| az confcom acifragmentgen |
为 ACI 创建机密容器策略片段。 |
Extension | GA |
| az confcom acipolicygen |
为 ACI 创建机密容器安全策略。 |
Extension | GA |
| az confcom katapolicygen |
为 AKS 创建机密容器安全策略。 |
Extension | GA |
az confcom acifragmentgen
为 ACI 创建机密容器策略片段。
az confcom acifragmentgen [--algo]
[--chain]
[--debug-mode]
[--disable-stdio]
[--enable-stdio]
[--feed]
[--fragment-path]
[--fragments-json]
[--generate-import]
[--image]
[--image-target]
[--input]
[--key]
[--minimum-svn]
[--namespace]
[--no-print]
[--omit-id]
[--output-filename]
[--outraw]
[--svn]
[--tar]
[--upload-fragment]
示例
输入图像名称以生成简单片段
az confcom acifragmentgen --image mcr.microsoft.com/azuredocs/aci-helloworld
输入配置文件以生成启用了自定义命名空间和调试模式的片段
az confcom acifragmentgen --input "./config.json" --namespace "my-namespace" --debug-mode
为已签名的本地片段生成导入语句
az confcom acifragmentgen --fragment-path "./fragment.rego.cose" --generate-import --minimum-svn 1
使用密钥和链生成片段并对其进行 COSE 签名
az confcom acifragmentgen --input "./config.json" --key "./key.pem" --chain "./chain.pem" --svn 1 --namespace contoso --no-print
从映像名称生成片段导入
az confcom acifragmentgen --image <my-image> --generate-import --minimum-svn 1
将片段附加到指定的图像
az confcom acifragmentgen --input "./config.json" --key "./key.pem" --chain "./chain.pem" --svn 1 --namespace contoso --upload-fragment --image-target <my-image>
可选参数
The following parameters are optional, but depending on the context, one or more might become required for the command to execute successfully.
用于对生成的策略片段进行签名的算法。 这必须与 --key 和 --chain 一起使用。 支持的算法为 ['PS256', 'PS384', 'PS512', 'ES256', 'ES384', 'ES512', 'EdDSA']。
| 属性 | 值 |
|---|---|
| 默认值: | ES384 |
用于对生成的策略片段进行签名的 .pem 格式证书链文件的路径。 这必须与 --key 一起使用。
启用后,生成的安全策略增加了使用 /bin/sh 或 /bin/bash 调试容器的功能。 它还启用了 stdio 访问,能够转储堆栈跟踪,并启用运行时日志记录。 建议仅使用此选项进行调试。
| 属性 | 值 |
|---|---|
| 默认值: | False |
启用后,容器组中的容器无权访问 stdio。
启用标准 io 流以离开容器。
要用于生成的策略片段的源。 使用图像附加片段时,这通常与映像名称相同。 它是将存储片段的远程存储库中的位置。
要与 --generate-import 一起使用的现有已签名策略片段文件的路径。 此选项允许为指定的片段创建导入语句,而无需从 OCI 注册表显式拉取它。 这可以是本地路径或 OCI 注册表引用。 对于本地片段,该文件将保留在同一位置。 对于远程片段,将在处理后下载并清理文件。
JSON 文件的路径,用于存储使用 --generate-import 时生成的片段导入信息。 稍后可将此文件馈送到策略生成命令(acipolicygen)中,以将片段包含在新的或现有策略中。 如果未指定,导入语句将打印到控制台,而不是保存到文件中。
为策略片段生成导入语句。
| 属性 | 值 |
|---|---|
| 默认值: | False |
要用于生成的策略片段的图像。
附加生成的策略片段的图像目标。
包含生成的策略片段配置的 JSON 文件的路径。
用于对生成的策略片段进行签名的 .pem 格式密钥文件的路径。 这必须与 --chain 一起使用。
与 --generate-import 一起使用以指定 import 语句的最小 SVN。
要用于生成的策略片段的命名空间。
不要将生成的策略片段打印到 stdout。
| 属性 | 值 |
|---|---|
| 默认值: | False |
启用后,生成的策略将不包含 ID 字段。 这样,策略就不会绑定到特定的映像名称和标记。 如果正在使用的映像将存在于多个注册表中并且可互换使用,则这非常有用。
| 属性 | 值 |
|---|---|
| 默认值: | False |
将输出策略保存到给定的文件路径。
明文压缩 JSON 的输出策略,而不是默认的相当打印格式。
| 属性 | 值 |
|---|---|
| 默认值: | False |
生成的策略片段的最小允许软件版本号。 这应该是单调递增整数。
包含图像层的 tarball 的路径,或者包含图像层 tarball 的路径的 JSON 文件。
启用后,生成的策略片段将上传到正在使用的映像的注册表。
| 属性 | 值 |
|---|---|
| 默认值: | False |
全局参数
提高日志记录详细程度以显示所有调试日志。
| 属性 | 值 |
|---|---|
| 默认值: | False |
显示此帮助消息并退出。
仅显示错误,禁止显示警告。
| 属性 | 值 |
|---|---|
| 默认值: | False |
输出格式。
| 属性 | 值 |
|---|---|
| 默认值: | json |
| 接受的值: | json, jsonc, none, table, tsv, yaml, yamlc |
JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/。
订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID 配置默认订阅。
增加日志记录详细程度。 使用 --debug 获取完整的调试日志。
| 属性 | 值 |
|---|---|
| 默认值: | False |
az confcom acipolicygen
为 ACI 创建机密容器安全策略。
az confcom acipolicygen [--approve-wildcards]
[--debug-mode]
[--diff]
[--disable-stdio]
[--enable-stdio]
[--exclude-default-fragments]
[--faster-hashing]
[--fragments-json]
[--image]
[--include-fragments]
[--infrastructure-svn]
[--input]
[--omit-id]
[--outraw]
[--outraw-pretty-print]
[--parameters]
[--print-existing-policy]
[--print-policy]
[--save-to-file]
[--tar]
[--template-file]
[--validate-sidecar]
[--virtual-node-yaml]
示例
输入 ARM 模板文件,将 base64 编码的机密容器安全策略注入 ARM 模板
az confcom acipolicygen --template-file "./template.json"
输入 ARM 模板文件以创建人工可读的机密容器安全策略
az confcom acipolicygen --template-file "./template.json" --outraw-pretty-print
输入 ARM 模板文件,将机密容器安全策略另存为 base64 编码文本的文件
az confcom acipolicygen --template-file "./template.json" -s "./output-file.txt" --print-policy
输入 ARM 模板文件并使用 tar 文件作为映像源,而不是 Docker 守护程序
az confcom acipolicygen --template-file "./template.json" --tar "./image.tar"
输入 ARM 模板文件并使用片段 JSON 文件生成策略
az confcom acipolicygen --template-file "./template.json" --fragments-json "./fragments.json" --include-fragments
可选参数
The following parameters are optional, but depending on the context, one or more might become required for the command to execute successfully.
启用后,会自动批准在环境变量中使用通配符的所有提示。
| 属性 | 值 |
|---|---|
| 默认值: | False |
启用后,生成的安全策略增加了使用 /bin/sh 或 /bin/bash 调试容器的功能。 它还启用了 stdio 访问,能够转储堆栈跟踪,并启用运行时日志记录。 建议仅使用此选项进行调试。
| 属性 | 值 |
|---|---|
| 默认值: | False |
与输入 ARM 模板文件(或 YAML 文件用于虚拟节点策略生成)结合使用时,验证 ARM 模板中存在的“ccePolicy”下的策略,并且文件中的容器是兼容的。 如果它们不兼容,则会给出原因列表,退出状态代码将为 2。
| 属性 | 值 |
|---|---|
| 默认值: | False |
启用后,容器组中的容器无权访问 stdio。
启用标准 io 流以离开容器。
启用后,生成的策略中不包含默认片段。 这包括装载 Azure 文件、装载机密、装载 git 存储库和其他常见 ACI 功能所需的容器。
| 属性 | 值 |
|---|---|
| 默认值: | False |
启用后,用于生成策略的哈希算法速度更快,但内存效率较低。
| 属性 | 值 |
|---|---|
| 默认值: | False |
包含用于生成策略的片段信息的 JSON 文件的路径。 这需要启用 --include-fragment。
输入图像名称。
启用后,--fragments-json 指定的路径将用于从 OCI 注册表或本地拉取片段,并将其包含在生成的策略中。
| 属性 | 值 |
|---|---|
| 默认值: | False |
基础结构片段的最小允许软件版本号。
输入 JSON 配置文件。
启用后,生成的策略将不包含 ID 字段。 这样,策略就不会绑定到特定的映像名称和标记。 如果正在使用的映像将存在于多个注册表中并且可互换使用,则这非常有用。
| 属性 | 值 |
|---|---|
| 默认值: | False |
明文压缩 JSON 而不是默认 base64 格式的输出策略。
| 属性 | 值 |
|---|---|
| 默认值: | False |
以明文格式和漂亮的打印格式输出策略。
| 属性 | 值 |
|---|---|
| 默认值: | False |
输入参数文件(可选)附带 ARM 模板。
启用后,ARM 模板中存在的现有安全策略将打印到命令行,并且不会生成新的安全策略。
| 属性 | 值 |
|---|---|
| 默认值: | False |
启用后,生成的安全策略将打印到命令行,而不是注入输入 ARM 模板。
| 属性 | 值 |
|---|---|
| 默认值: | False |
将输出策略保存到给定的文件路径。
包含图像层的 tarball 的路径,或者包含图像层 tarball 的路径的 JSON 文件。
输入 ARM 模板文件。
验证用于为 sidecar 容器生成 CCE 策略的映像是否受其生成的策略允许。
| 属性 | 值 |
|---|---|
| 默认值: | False |
用于生成虚拟节点策略的输入 YAML 文件。
全局参数
提高日志记录详细程度以显示所有调试日志。
| 属性 | 值 |
|---|---|
| 默认值: | False |
显示此帮助消息并退出。
仅显示错误,禁止显示警告。
| 属性 | 值 |
|---|---|
| 默认值: | False |
输出格式。
| 属性 | 值 |
|---|---|
| 默认值: | json |
| 接受的值: | json, jsonc, none, table, tsv, yaml, yamlc |
JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/。
订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID 配置默认订阅。
增加日志记录详细程度。 使用 --debug 获取完整的调试日志。
| 属性 | 值 |
|---|---|
| 默认值: | False |
az confcom katapolicygen
为 AKS 创建机密容器安全策略。
az confcom katapolicygen [--config-map-file]
[--containerd-pull]
[--containerd-socket-path]
[--outraw]
[--print-policy]
[--print-version]
[--rules-file-name]
[--settings-file-name]
[--use-cached-files]
[--yaml]
示例
输入 Kubernetes YAML 文件,将 base64 编码的机密容器安全策略注入 YAML 文件
az confcom katapolicygen --yaml "./pod.json"
输入 Kubernetes YAML 文件以将 base64 编码的机密容器安全策略输出到 stdout
az confcom katapolicygen --yaml "./pod.json" --print-policy
输入 Kubernetes YAML 文件和自定义设置文件,将 base64 编码的机密容器安全策略注入 YAML 文件
az confcom katapolicygen --yaml "./pod.json" -j "./settings.json"
输入 Kubernetes YAML 文件和外部配置文件
az confcom katapolicygen --yaml "./pod.json" --config-map-file "./configmap.json"
输入 Kubernetes YAML 文件和自定义规则文件
az confcom katapolicygen --yaml "./pod.json" -p "./rules.rego"
使用自定义容器套接字路径输入 Kubernetes YAML 文件
az confcom katapolicygen --yaml "./pod.json" --containerd-pull --containerd-socket-path "/my/custom/containerd.sock"
可选参数
The following parameters are optional, but depending on the context, one or more might become required for the command to execute successfully.
配置映射文件的路径。
使用容器提取映像。 此选项仅在 Linux 上受支持。
| 属性 | 值 |
|---|---|
| 默认值: | False |
容器套接字的路径。 此选项仅在 Linux 上受支持。
明文压缩 JSON 而不是默认 base64 格式的输出策略。
| 属性 | 值 |
|---|---|
| 默认值: | False |
在终端中打印 base64 编码生成的策略。
| 属性 | 值 |
|---|---|
| 默认值: | False |
打印 genpolicy 工具的版本。
| 属性 | 值 |
|---|---|
| 默认值: | False |
自定义规则文件的路径。
自定义设置文件的路径。
使用缓存文件节省计算时间。
| 属性 | 值 |
|---|---|
| 默认值: | False |
输入 YAML Kubernetes 文件。
全局参数
提高日志记录详细程度以显示所有调试日志。
| 属性 | 值 |
|---|---|
| 默认值: | False |
显示此帮助消息并退出。
仅显示错误,禁止显示警告。
| 属性 | 值 |
|---|---|
| 默认值: | False |
输出格式。
| 属性 | 值 |
|---|---|
| 默认值: | json |
| 接受的值: | json, jsonc, none, table, tsv, yaml, yamlc |
JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/。
订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID 配置默认订阅。
增加日志记录详细程度。 使用 --debug 获取完整的调试日志。
| 属性 | 值 |
|---|---|
| 默认值: | False |