Chame a operação DescribePolicyDetails para consultar informações sobre uma política.
Depuração
Sintaxe da solicitação
GET /policies/policy_name HTTP/1.1
Content-Type:application/json
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Exemplo |
Descrição |
|
policy_name |
String |
Sim |
ACKAllowedRepos |
Nome da política a ser consultada. |
Sintaxe da resposta
HTTP/1.1 200 OK
Content-Type:application/json
{
"name" : "String",
"category" : "String",
"description" : "String",
"action" : "String",
"severity" : "String",
"template" : "String",
"no_config" : Integer,
"is_deleted" : Integer
}
Parâmetros da resposta
| Parâmetro | Tipo | Exemplo | Descrição |
| name | String | ACKAllowedRepos | Nome da política retornada. |
| category | String | k8s-general | Tipo da política. |
| description | String | Requires container images to begin with a repo string from a specified list | Descrição da política. |
| action | String | enforce | Ação da política. Valores válidos:
|
| severity | String | high | Nível de gravidade da política. Valores válidos:
|
| template | String | Consulte a solicitação de exemplo. | Conteúdo da política. |
| no_config | Integer | 0 | Indica se os parâmetros são obrigatórios. Valores válidos:
|
| is_deleted | Integer | 0 | Indica se a política está excluída. Valores válidos:
|
Solicitações de exemplo
Envie a seguinte solicitação de exemplo para consultar informações sobre uma política:
GET /policies/ACKAllowedRepos HTTP/1.1
Host:cs.aliyuncs.com
Content-Type:application/json
Descrição da solicitação de exemplo
The following code shows a sample policy:
apiVersion: policy.alibabacloud.com/v1alpha1
kind: Policy
metadata:
name: policy-gatekeeper-ackallowedrepos
annotations:
ack.policy/categories: k8s general
ack.policy/controls: baseline control
spec:
remediationAction: enforce # will be overridden by remediationAction in parent policy
severity: high
description: "Requires container images to begin with a repo string from a specified list."
policyTemplates:
- # complianceType: musthave
objectDefinition:
apiVersion: templates.gatekeeper.sh/v1
kind: ConstraintTemplate
metadata:
name: ackallowedrepos
annotations:
description: Requires container images to begin with a repo string from a specified list.
spec:
crd:
spec:
names:
kind: ACKAllowedRepos
validation:
# Schema for the `parameters` field
legacySchema: true
openAPIV3Schema:
type: object
required:
- repos
properties:
repos:
type: array
items:
type: string
targets:
- target: admission.k8s.gatekeeper.sh
rego: |
package ackallowedrepos
violation[{"msg": msg}] {
container := input.review.object.spec.containers[_]
satisfied := [good | repo = input.parameters.repos[_] ; good = startswith(container.image, repo)]
not any(satisfied)
msg := sprintf("container <%v> has an invalid image repo <%v>, allowed repos are %v", [container.name, container.image, input.parameters.repos])
}
violation[{"msg": msg}] {
container := input.review.object.spec.initContainers[_]
satisfied := [good | repo = input.parameters.repos[_] ; good = startswith(container.image, repo)]
not any(satisfied)
msg := sprintf("container <%v> has an invalid image repo <%v>, allowed repos are %v", [container.name, container.image, input.parameters.repos])
}
- # complianceType: musthave
objectDefinition:
apiVersion: constraints.gatekeeper.sh/v1beta1
kind: ACKAllowedRepos
metadata:
name: allowed-repos
spec:
enforcementAction: deny
match:
kinds:
- apiGroups: [""]
kinds: ["Pod"]
namespaces:
- "test-gatekeeper"
parameters:
repos:
- "registry-vpc.cn-hangzhou.aliyuncs.com/acs/"
- "registry.cn-hangzhou.aliyuncs.com/acs/"
Respostas de sucesso de exemplo
Formato XML
HTTP/1.1 200 OK
Content-Type:application/xml
<DescribePolicyDetailsResponse>
<name>ACKAllowedRepos</name>
<category>k8s-general</category>
<description>Requires container images to begin with a repo string from a specified list</description>
<action>enforce</action>
<severity>high</severity>
<template>Refer to the sample request</template>
<no_config>0</no_config>
<is_deleted>0</is_deleted>
</DescribePolicyDetailsResponse>
Formato JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"name" : "ACKAllowedRepos",
"category" : "k8s-general",
"description" : "Requires container images to begin with a repo string from a specified list",
"action" : "enforce",
"severity" : "high",
"template" : "Refer to the sample request",
"no_config" : 0,
"is_deleted" : 0
}
Códigos de erro
Para obter uma lista de códigos de erro, visite o API Error Center.