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
任意

ユーザーがオブジェクトのラベルおよびアノテーションを他のフィールドとは異なる方法で処理する方法を提供します。パラメーター値は、デフォルトで ComplianceType パラメーターと同じ値になります。

string

clusterConditions
任意

ラベルを定義するセクション

string

rules
任意

 

string

clusterConditions

Name説明スキーマ

matchLabels
任意

ポリシーを namespace に適用するのに必要なラベル

object

cloud
任意

ポリシーをクラウドプロバイダーに適用するのに必要なラベル

string

rules

Name説明スキーマ

apiGroups
必須

このルールが適用される API のリスト

string

resources
必須

リソースタイプのリスト

object

verbs
必須

動詞のリスト

string

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.