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.9.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}
1.10.2.1.1. 説明
ポリシーを作成します。
1.10.2.1.2. パラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
Header |
COOKIE | Authorization: Bearer {ACCESS_TOKEN}。ACCESS_TOKEN はユーザーのアクセストークンに置き換えます。 | string |
パス |
namespace | 使用する namespace (例: default) | string |
Body |
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. 要求の body
{ "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}
1.10.2.2.1. 説明
ポリシーに対してクエリーを実行して詳細を確認します。
1.10.2.2.2. パラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
Header |
COOKIE | Authorization: Bearer {ACCESS_TOKEN}。ACCESS_TOKEN はユーザーのアクセストークンに置き換えます。 | string |
パス |
namespace | ポリシーを適用する namespace (例: default) | string |
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}
1.10.2.3.1. 説明
1 つのポリシーに対してクエリーを実行して詳細を確認します。
1.10.2.3.2. パラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
Header |
COOKIE | Authorization: Bearer {ACCESS_TOKEN}。ACCESS_TOKEN はユーザーのアクセストークンに置き換えます。 | string |
パス |
policy_name | 問い合わせるポリシーの名前 | string |
パス |
namespace | 使用する namespace (例: default) | string |
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}
1.10.2.4.1. パラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
Header |
COOKIE | Authorization: Bearer {ACCESS_TOKEN}。ACCESS_TOKEN はユーザーのアクセストークンに置き換えます。 | string |
パス |
policy_name | 削除するポリシーの名前 | string |
パス |
namespace | 使用する namespace (例: default) | string |
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 を表す値 | string |
policy-templates
Name | 説明 | スキーマ |
---|---|---|
apiVersion | Policy のバージョンスキーマ | string |
kind | REST リソースを表す文字列の値 | string |
metadata | ポリシーを定義するルールを記述します。 | オブジェクト |
complianceType | マネージドクラスターに評価または適用する必要のあるロールおよび他の Kubernetes オブジェクトの予想される動作をリスト表示するのに使用されます。 | string |
metadataComplianceType |
ユーザーがオブジェクトのラベルおよびアノテーションを他のフィールドとは異なる方法で処理する方法を提供します。パラメーター値は、デフォルトで | string |
ラベルを定義するセクション | string | |
rules | string |
clusterConditions
Name | 説明 | スキーマ |
---|---|---|
matchLabels | ポリシーを namespace に適用するのに必要なラベル | object |
cloud | ポリシーをクラウドプロバイダーに適用するのに必要なラベル | string |
rules
Name | 説明 | スキーマ |
---|---|---|
apiGroups | このルールが適用される API のリスト | string |
resources | リソースタイプのリスト | object |
verbs | 動詞のリスト | string |