7.4. ポリシー適用の入力と出力


次の入力と出力を使用して、ポリシー適用に使用するポリシーを作成します。

表7.1 入力データ
入力説明

id

Integer

ジョブの一意の識別子。

name

String

ジョブテンプレート名。

created

Datetime (ISO 8601)

ジョブが作成された日時を示すタイムスタンプ。

created by

Object

ジョブを作成したユーザーに関する情報。

  • id (integer): ユーザーの一意の識別子
  • username (string): 作成者のユーザー名
  • is_superuser (boolean): ユーザーがスーパーユーザーかどうかを示します

credentials

Object のリスト

ジョブ実行に関連付けられた認証情報。

  • id (integer): 認証情報の一意の識別子
  • name (string): 認証情報の名前
  • description (string): 認証情報の説明
  • organization (integer または null): 認証情報に関連付けられた組織識別子
  • credential_type (integer): 認証情報タイプの識別子
  • managed (boolean): 認証情報が内部で管理されているかどうかを示します
  • kind (string): 認証情報のタイプ (sshcloudkubernetes など)

execution_environment

Object

ジョブに使用される実行環境の詳細。

  • id (integer): 実行環境の一意の識別子
  • name (string): 実行環境の名前
  • image (string): 実行に使用されるコンテナーイメージ
  • pull (string): 実行環境のプルポリシー

extra_vars

JSON

ジョブ実行用に提供される追加の変数。

forks

Integer

ジョブ実行に使用される並列プロセスの数。

hosts_count

Integer

ジョブの対象となるホストの数。

instance_group

Object

ジョブを処理するインスタンスグループに関する情報。以下が含まれます。

  • id (integer): インスタンスグループの一意の識別子
  • name (string): インスタンスグループの名前
  • capacity (integer): グループ内の利用可能な容量
  • jobs_running (integer): 現在実行中のジョブの数
  • jobs_total (integer): グループが処理したジョブの合計数
  • max_concurrent_jobs (integer): 許可される同時実行ジョブの最大数
  • max_forks (integer): 許可される最大フォーク数

inventory

Object

ジョブ実行で使用されるインベントリーの詳細。以下が含まれます。

  • id (integer): インベントリーの一意の識別子
  • name (string): インベントリーの名前
  • description (string): インベントリーの説明
  • kind (string): インベントリーのタイプ
  • total_hosts (integer): インベントリー内のホストの合計数
  • total_groups (integer): インベントリー内のグループの合計数
  • has_inventory_sources (boolean): インベントリーに外部ソースがあるかどうかを示します
  • total_inventory_sources (integer): 外部インベントリーソースの数
  • has_active_failures (boolean): インベントリーにアクティブな障害があるかどうかを示します
  • hosts_with_active_failures (boolean): アクティブな障害が発生しているホストの数
  • inventory_sources (array): インベントリーに関連付けられた外部インベントリーソース

job_template

Object

ジョブテンプレートに関する情報。以下が含まれます。

  • id (integer): ジョブテンプレートの一意の識別子
  • name (string): ジョブテンプレートの名前
  • job_type (string): ジョブのタイプ (例: run)

job_type

選択肢 (String)

ジョブ実行のタイプ。使用できる値は次のとおりです。

  • run
  • check
  • scan

job_type_name

String

ジョブタイプの判読可能な名前。

labels

Object のリスト

ジョブに関連付けられたラベル。以下が含まれます。

  • id (integer): ラベルの一意の識別子
  • name (string): ラベルの名前
  • organization (object): ラベルに関連付けられた組織

    • id (integer): 組織の一意の識別子
    • name (string): 組織名

launch_type

選択肢 (String)

ジョブが開始された方法。使用できる値は次のとおりです。

  • manual: 手動
  • relaunch: 再起動
  • callback: コールバック
  • scheduled: スケジュール済み
  • dependency: 依存関係
  • workflow: ワークフロー
  • webhook: Webhook
  • sync: 同期
  • scm: SCM 更新

limit

String

ジョブ実行に適用される制限。

launched_by

Object

ジョブを開始したユーザーに関する情報。以下が含まれます。

  • id (integer): ユーザーの一意の識別子
  • name (string): ユーザー名
  • type (type): ユーザータイプ (例: usersystem など)
  • url (string): ユーザーの API URL

organization

Object

ジョブに関連付けられた組織に関する情報。以下が含まれます。

  • id (integer): 組織の一意の識別子
  • name (name): 組織名

Playbook

String

ジョブ実行で使用される Playbook。

project

Object

ジョブに関連付けられたプロジェクトの詳細。以下が含まれます。

  • id (integer): プロジェクトの一意の識別子
  • name (string): プロジェクト名
  • status (choice-string): プロジェクトのステータス

    • successful: 成功
    • failed: 失敗
    • error: エラー
  • scm_type (string): ソース管理のタイプ (例: `git`、svn など)
  • scm_url (string): ソース管理リポジトリーの URL
  • scm_branch (string): リポジトリーで使用されるブランチ
  • scm_refspec (string): リポジトリーの RefSpec
  • scm_clean (boolean): 更新前に SCM をクリーンアップするかどうか
  • scm_track_submodules (boolean): サブモジュールが追跡されるかどうか
  • scm_delete_on_update (boolean): SCM が更新時にファイルを削除するかどうか

scm_branch

String

SCM に使用する特定のブランチ。

scm_revision

String

ジョブに使用する SCM リビジョン。

workflow_job

Object

ワークフロージョブの詳細 (ジョブがワークフローの一部である場合)。

workflow_job_template

Object

ワークフロージョブテンプレートの詳細。

次のコードブロックは、デモジョブテンプレートの起動以降の入力データ例を示しています。

{
  "id": 70,
  "name": "Demo Job Template",
  "created": "2025-03-19T19:07:03.329426Z",
  "created_by": {
    "id": 1,
    "username": "admin",
    "is_superuser": true,
    "teams": []
  },
  "credentials": [
    {
      "id": 3,
      "name": "Example Machine Credential",
      "description": "",
      "organization": null,
      "credential_type": 1,
      "managed": false,
      "kind": "ssh",
      "cloud": false,
      "kubernetes": false
    }
  ],
  "execution_environment": {
    "id": 2,
    "name": "Default execution environment",
    "image": "registry.redhat.io/ansible-automation-platform-25/ee-supported-rhel8@sha256:b9f60d9ebbbb5fdc394186574b95dea5763b045ceff253815afeb435c626914d",
    "pull": ""
  },
  "extra_vars": {
    "example": "value"
  },
  "forks": 0,
  "hosts_count": 0,
  "instance_group": {
    "id": 2,
    "name": "default",
    "capacity": 0,
    "jobs_running": 1,
    "jobs_total": 38,
    "max_concurrent_jobs": 0,
    "max_forks": 0
  },
  "inventory": {
    "id": 1,
    "name": "Demo Inventory",
    "description": "",
    "kind": "",
    "total_hosts": 1,
    "total_groups": 0,
    "has_inventory_sources": false,
    "total_inventory_sources": 0,
    "has_active_failures": false,
    "hosts_with_active_failures": 0,
    "inventory_sources": []
  },
  "job_template": {
    "id": 7,
    "name": "Demo Job Template",
    "job_type": "run"
  },
  "job_type": "run",
  "job_type_name": "job",
  "labels": [
    {
      "id": 1,
      "name": "Demo label",
      "organization": {
        "id": 1,
        "name": "Default"
      }
    }
  ],
  "launch_type": "workflow",
  "limit": "",
  "launched_by": {
    "id": 1,
    "name": "admin",
    "type": "user",
    "url": "/api/v2/users/1/"
  },
  "organization": {
    "id": 1,
    "name": "Default"
  },
  "playbook": "hello_world.yml",
  "project": {
    "id": 6,
    "name": "Demo Project",
    "status": "successful",
    "scm_type": "git",
    "scm_url": "https://github.com/ansible/ansible-tower-samples",
    "scm_branch": "",
    "scm_refspec": "",
    "scm_clean": false,
    "scm_track_submodules": false,
    "scm_delete_on_update": false
  },
  "scm_branch": "",
  "scm_revision": "",
  "workflow_job": {
    "id": 69,
    "name": "Demo Workflow"
  },
  "workflow_job_template": {
    "id": 10,
    "name": "Demo Workflow",
    "job_type": null
  }
}
Copy to Clipboard
表7.2 出力データ
入力説明

allowed

Boolean

アクションが許可されているかどうかを示します

violations

String のリスト

アクションが許可されない理由

次のコードブロックは、OPA ポリシークエリーからの予想される出力の例を示しています。

{
  "allowed": false,
  "violations": [
    "No job execution is allowed",
    ...
  ],
  ...
}
Copy to Clipboard
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat