1.10. Policy API
1.10.1. 概要
このドキュメントでは、Red Hat Advanced Cluster Management for Kubernetes の Policy リソースについて説明します。Policy リソースには、create、query、delete、update の 4 つの要求を使用できます。
1.10.1.1. バージョン情報
バージョン: 2.5.0
1.10.1.2. URI スキーム
ベースパス: /kubernetes/apis
スキーム: HTTPS
1.10.1.3. タグ
- policy.open-cluster-management.io/v1: ポリシーを作成して管理します。
1.10.2. パス
1.10.2.1. ポリシーの作成
POST /policy.open-cluster-management.io/v1/v1alpha1/namespaces/{namespace}/policies/{policy_name}
POST /policy.open-cluster-management.io/v1/v1alpha1/namespaces/{namespace}/policies/{policy_name}
1.10.2.1.1. 説明
ポリシーを作成します。
1.10.2.1.2. パラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
ヘッダー |
COOKIE | Authorization: Bearer {ACCESS_TOKEN}。ACCESS_TOKEN はユーザーのアクセストークンに置き換えます。 | 文字列 |
パス |
namespace | 使用する namespace (例: default) | 文字列 |
ボディー |
body | 作成するポリシーを記述するパラメーター |
1.10.2.1.3. 応答
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 成功 | コンテンツなし |
403 | アクセス禁止 | コンテンツなし |
404 | リソースが見つからない | コンテンツなし |
500 | 内部サービスエラー | コンテンツなし |
503 | サービスが利用できない | コンテンツなし |
1.10.2.1.4. 消費
-
application/json
1.10.2.1.5. タグ
- policy.open-cluster-management.io
1.10.2.1.6. HTTP 要求の例
1.10.2.1.6.1. 要求のボディー
{ "apiVersion": "policy.open-cluster-management.io/v1", "kind": "Policy", "metadata": { "name": "test-policy-swagger", "description": "Example body for Policy API Swagger docs" }, "spec": { "remediationAction": "enforce", "namespaces": { "include": [ "default" ], "exclude": [ "kube*" ] }, "policy-templates": { "kind": "ConfigurationPolicy", "apiVersion": "policy.open-cluster-management.io/v1", "complianceType": "musthave", "metadataComplianceType": "musthave", "metadata": { "namespace": null, "name": "test-role" }, "selector": { "matchLabels": { "cloud": "IBM" } }, "spec" : { "object-templates": { "complianceType": "musthave", "metadataComplianceType": "musthave", "objectDefinition": { "apiVersion": "rbac.authorization.k8s.io/v1", "kind": "Role", "metadata": { "name": "role-policy", }, "rules": [ { "apiGroups": [ "extensions", "apps" ], "resources": [ "deployments" ], "verbs": [ "get", "list", "watch", "delete" ] }, { "apiGroups": [ "core" ], "resources": [ "pods" ], "verbs": [ "create", "update", "patch" ] }, { "apiGroups": [ "core" ], "resources": [ "secrets" ], "verbs": [ "get", "watch", "list", "create", "delete", "update", "patch" ], }, ], }, }, }, },
{
"apiVersion": "policy.open-cluster-management.io/v1",
"kind": "Policy",
"metadata": {
"name": "test-policy-swagger",
"description": "Example body for Policy API Swagger docs"
},
"spec": {
"remediationAction": "enforce",
"namespaces": {
"include": [
"default"
],
"exclude": [
"kube*"
]
},
"policy-templates": {
"kind": "ConfigurationPolicy",
"apiVersion": "policy.open-cluster-management.io/v1",
"complianceType": "musthave",
"metadataComplianceType": "musthave",
"metadata": {
"namespace": null,
"name": "test-role"
},
"selector": {
"matchLabels": {
"cloud": "IBM"
}
},
"spec" : {
"object-templates": {
"complianceType": "musthave",
"metadataComplianceType": "musthave",
"objectDefinition": {
"apiVersion": "rbac.authorization.k8s.io/v1",
"kind": "Role",
"metadata": {
"name": "role-policy",
},
"rules": [
{
"apiGroups": [
"extensions",
"apps"
],
"resources": [
"deployments"
],
"verbs": [
"get",
"list",
"watch",
"delete"
]
},
{
"apiGroups": [
"core"
],
"resources": [
"pods"
],
"verbs": [
"create",
"update",
"patch"
]
},
{
"apiGroups": [
"core"
],
"resources": [
"secrets"
],
"verbs": [
"get",
"watch",
"list",
"create",
"delete",
"update",
"patch"
],
},
],
},
},
},
},
1.10.2.2. 全ポリシーのクエリー
GET /policy.open-cluster-management.io/v1/namespaces/{namespace}/policies/{policy_name}
GET /policy.open-cluster-management.io/v1/namespaces/{namespace}/policies/{policy_name}
1.10.2.2.1. 説明
ポリシーに対してクエリーを実行して詳細を確認します。
1.10.2.2.2. パラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
ヘッダー |
COOKIE | Authorization: Bearer {ACCESS_TOKEN}。ACCESS_TOKEN はユーザーのアクセストークンに置き換えます。 | 文字列 |
パス |
namespace | ポリシーを適用する namespace (例: default) | 文字列 |
1.10.2.2.3. レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 成功 | コンテンツなし |
403 | アクセス禁止 | コンテンツなし |
404 | リソースが見つからない | コンテンツなし |
500 | 内部サービスエラー | コンテンツなし |
503 | サービスが利用できない | コンテンツなし |
1.10.2.2.4. 消費
-
application/json
1.10.2.2.5. タグ
- policy.open-cluster-management.io
1.10.2.3. 単一ポリシーのクエリー
GET /policy.open-cluster-management.io/v1/namespaces/{namespace}/policies/{policy_name}
GET /policy.open-cluster-management.io/v1/namespaces/{namespace}/policies/{policy_name}
1.10.2.3.1. 説明
1 つのポリシーに対してクエリーを実行して詳細を確認します。
1.10.2.3.2. パラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
ヘッダー |
COOKIE | Authorization: Bearer {ACCESS_TOKEN}。ACCESS_TOKEN はユーザーのアクセストークンに置き換えます。 | 文字列 |
パス |
policy_name | 問い合わせるポリシーの名前 | 文字列 |
パス |
namespace | 使用する namespace (例: default) | 文字列 |
1.10.2.3.3. レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 成功 | コンテンツなし |
403 | アクセス禁止 | コンテンツなし |
404 | リソースが見つからない | コンテンツなし |
500 | 内部サービスエラー | コンテンツなし |
503 | サービスが利用できない | コンテンツなし |
1.10.2.3.4. タグ
- policy.open-cluster-management.io
1.10.2.4. ポリシーの削除
DELETE /policy.open-cluster-management.io/v1/namespaces/{namespace}/policies/{policy_name}
DELETE /policy.open-cluster-management.io/v1/namespaces/{namespace}/policies/{policy_name}
1.10.2.4.1. パラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
ヘッダー |
COOKIE | Authorization: Bearer {ACCESS_TOKEN}。ACCESS_TOKEN はユーザーのアクセストークンに置き換えます。 | 文字列 |
パス |
policy_name | 削除するポリシーの名前 | 文字列 |
パス |
namespace | 使用する namespace (例: default) | 文字列 |
1.10.2.4.2. レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 成功 | コンテンツなし |
403 | アクセス禁止 | コンテンツなし |
404 | リソースが見つからない | コンテンツなし |
500 | 内部サービスエラー | コンテンツなし |
503 | サービスが利用できない | コンテンツなし |
1.10.2.4.3. タグ
- policy.open-cluster-management.io
1.10.3. 定義
1.10.3.1. Policy
Name | 説明 | スキーマ |
---|---|---|
apiVersion | Policy のバージョンスキーマ | string |
kind | REST リソースを表す文字列の値 | string |
metadata | ポリシーを定義するルールを記述します。 | オブジェクト |
spec
名前 | 説明 | スキーマ |
---|---|---|
remediationAction | リソースで定義されているように違反をどのように処理するかを表す値 | string |
namespaceSelector | ポリシーが適用される namespace を表す値 | 文字列 |
policy-templates
Name | 説明 | スキーマ |
---|---|---|
apiVersion | Policy のバージョンスキーマ | string |
kind | REST リソースを表す文字列の値 | string |
metadata | ポリシーを定義するルールを記述します。 | オブジェクト |
complianceType | マネージドクラスターに評価または適用する必要のあるロールおよび他の Kubernetes オブジェクトの予想される動作を一覧表示するのに使用されます。 | string |
metadataComplianceType |
ユーザーがオブジェクトのラベルおよび注釈を他のフィールドとは異なる方法で処理する方法を提供します。パラメーター値は、デフォルトで | string |
clusterConditions | ラベルを定義するセクション | string |
rules | string |
clusterConditions
Name | 説明 | スキーマ |
---|---|---|
matchLabels | ポリシーを namespace に適用するのに必要なラベル | object |
cloud | ポリシーをクラウドプロバイダーに適用するのに必要なラベル | 文字列 |
rules
Name | 説明 | スキーマ |
---|---|---|
apiGroups | このルールが適用される API の一覧 | string |
resources | リソースタイプの一覧 | object |
verbs | 動詞の一覧 | 文字列 |