第5章 クラスターイメージポリシー [config.openshift.io/v1]


説明

ClusterImagePolicy は、イメージ署名検証のためのクラスター全体の設定を保持します。

互換性レベル 1: メジャーリリース内で最低 12 か月または 3 つのマイナーリリース (どちらか長い方) の間安定しています。

object
必須
  • spec

5.1. 仕様

Expand
プロパティー説明

apiVersion

string

apiVersion はオブジェクトのこの表現のバージョンスキーマを定義します。サーバーは認識されたスキーマを最新の内部値に変換し、認識されない値は拒否することがあります。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources を参照してください。

kind

string

kind はこのオブジェクトが表す REST リソースを表す文字列の値です。サーバーはクライアントが要求を送信するエンドポイントからこれを推測できることがあります。これは更新できません。CamelCase を使用します。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds を参照してください。

metadata

ObjectMeta

標準オブジェクトのメタデータ。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata を参照してください。

spec

object

spec には、クラスターイメージポリシーの設定が含まれています。

status

object

status には、リソースの監視された状態が含まれます。

5.1.1. .spec

説明
spec には、クラスターイメージポリシーの設定が含まれています。
object
必須
  • policy
  • scopes
Expand
プロパティー説明

policy

object

policy は、スコープの検証を許可するための設定が含まれ、検証ポリシーに一致しないイメージの処理方法を定義する必須フィールドです。

scopes

array (string)

スコープは、ポリシーに割り当てられるイメージアイデンティティーのリストを定義する必須フィールドです。各項目は、Docker Registry HTTP API V2 を実装するレジストリー内のスコープを参照します。個々のイメージに一致するスコープは、タグまたはダイジェストを使用して完全に展開された形式で Docker 参照に名前が付けられます。たとえば、docker.io/library/busybox:latest (busybox:latest ではありません)。より一般的なスコープは、個々のイメージスコープの接頭辞であり、リポジトリー (タグまたはダイジェストを省略)、リポジトリー名前空間、またはレジストリーホスト (ホスト名とポート番号のみを指定)、あるいはすべてのサブドメイン (ポート番号は含まない) に一致する *. で始まるワイルドカード式を指定します。ワイルドカードはサブドメインの一致でのみサポートされており、ホストの途中では使用できません。つまり、*.example.com は有効ですが、example*.*.com は有効ではありません。1 つのオブジェクトで最大 256 個のスコープがサポートされます。複数のスコープが特定のイメージに一致する場合、最も具体的なスコープのポリシー要件のみが適用されます。より一般的なスコープのポリシー要件は無視されます。独自にデプロイしたアプリケーションに適したポリシーを設定することに加えて、OpenShift イメージリポジトリー quay.io/openshift-release-dev/ocp-release、quay.io/openshift-release-dev/ocp-v4.0-art-dev (またはより一般的なスコープ) のポリシーで、クラスター操作に必要な OpenShift イメージのデプロイメントが許可されていることを確認します。ClusterImagePolicy と ImagePolicy の両方にスコープが設定されている場合、または ImagePolicy のスコープが ClusterImagePolicy のいずれかのスコープ下にネストされている場合は、ClusterImagePolicy のポリシーのみが適用されます。フォーマットの詳細は、docker トランスポートフィールドについて説明しているドキュメントを参照してください。このドキュメントは、https: //github.com/containers/image/Blob/main/docs/containers-policy.json.5.md#docker にあります。

5.1.2. .spec.policy

説明
policy は、スコープの検証を許可するための設定が含まれ、検証ポリシーに一致しないイメージの処理方法を定義する必須フィールドです。
object
必須
  • 信頼のルート
Expand
プロパティー説明

信頼のルート

object

rootOfTrust は、取得中にイメージ署名を検証するための信頼のルートを定義する必須フィールドです。これにより、イメージのコンシューマーは、ポリシーが生成された方法に応じて、ポリシータイプと対応するポリシー設定を指定できます。

署名されたアイデンティティー

object

signed アイデンティティーは、署名がイメージについて主張するイメージ ID を指定するためのオプションフィールドです。これは、署名内のイメージアイデンティティーが元のイメージ仕様と異なる場合に役立ちます。たとえば、ミラーレジストリーがイメージスコープ用に設定されている場合、ミラーレジストリーからの署名には元のスコープではなくミラーのイメージ ID が含まれます。必須の matchPolicy フィールドは、署名のアイデンティティーと実際のイメージアイデンティティーを検証するために検証プロセスで使用されるアプローチを指定します。デフォルトの matchPolicy は "MatchRepoDigestOrExact" です。

5.1.3. .spec.policy.rootOfTrust

説明
rootOfTrust は、取得中にイメージ署名を検証するための信頼のルートを定義する必須フィールドです。これにより、イメージのコンシューマーは、ポリシーが生成された方法に応じて、ポリシータイプと対応するポリシー設定を指定できます。
object
必須
  • ポリシータイプ
Expand
プロパティー説明

fulcioCAWithRekor

object

fulcioCAWithRekor は、Fulcio 証明書と Rekor 公開鍵に基づいて信頼のルート設定を定義します。fulcioCAWithRekor は、policyType が FulcioCAWithRekor の場合に必須であり、それ以外の場合は禁止されています。Fulcio と Rekor の詳細は、次のドキュメントを参照してください: https://github.com/sigstore/fulcio および https://github.com/sigstore/rekor

ポリシータイプ

string

policyType は検証のポリシーの種類を指定する必須フィールドです。このフィールドは、ポリシーが生成された方法に対応している必要があります。許可される値は、PublicKey、FulcioCAWithRekor、および PKI です。PublicKey に設定すると、ポリシーは sigstore publicKey に依存し、オプションで Rekor 検証を使用する場合があります。FulcioCAWithRekor に設定すると、ポリシーは Fulcio 認証に基づき、Rekor 検証が組み込まれます。PKI に設定すると、ポリシーは Bring Your Own 公開鍵基盤 (BYOPKI) からの証明書に基づきます。この値は、SigstoreImageVerificationPKI フィーチャーゲートをオンにすることで有効になります。

publicKey

object

publicKey は、sigstore 公開鍵に基づいて信頼のルート設定を定義します。必要に応じて、Rekor 検証用の Rekor 公開鍵を含めます。policyType が PublicKey の場合、publicKey は必須であり、それ以外の場合は禁止されます。

5.1.4. .spec.policy.rootOfTrust.fulcioCAWithRekor

説明
fulcioCAWithRekor は、Fulcio 証明書と Rekor 公開鍵に基づいて信頼のルート設定を定義します。fulcioCAWithRekor は、policyType が FulcioCAWithRekor の場合に必須であり、それ以外の場合は禁止されています。Fulcio と Rekor の詳細は、次のドキュメントを参照してください: https://github.com/sigstore/fulcio および https://github.com/sigstore/rekor
object
必須
  • fulcioCA データ
  • fulcioSubject
  • rekorKeyData
Expand
プロパティー説明

fulcioCA データ

string

fulcioCAData は、PEM 形式の fulcio CA のインライン base64 エンコードデータが含まれる必須フィールドです。fulcioCAData は最大 8192 文字にする必要があります。

fulcioSubject

object

fulcioSubject は、OIDC 発行者と Fulcio 認証設定のメールを指定する必須フィールドです。

rekorKeyData

string

rekorKeyData は、Rekor 公開鍵からの PEM 形式のインライン base64 エンコードデータが含まれる必須フィールドです。rekorKeyData は最大 8192 文字にする必要があります。

5.1.5. .spec.policy.rootOfTrust.fulcioCAWithRekor.fulcioSubject

説明
fulcioSubject は、OIDC 発行者と Fulcio 認証設定のメールを指定する必須フィールドです。
object
必須
  • oidc 発行者
  • 署名済みメール
Expand
プロパティー説明

oidc 発行者

string

oidcIssuer は、予想される OIDC 発行者が含まれる必須フィールドです。oidcIssuer は有効な URL であり、長さは最大 2048 文字である必要があります。Fulcio が発行した証明書に、この OIDC 発行者 URL を指す (Fulcio 定義の) 証明書拡張機能が含まれていることが検証されます。Fulcio が証明書を発行すると、クライアントが提供した ID トークン内に URL に基づく値が含まれます。例: "https://expected.OIDC.issuer/"

署名済みメール

string

signedEmail は、Fulcio 証明書の発行対象となるメールアドレスを保持する必須フィールドです。signedEmail は有効なメールアドレスであり、長さは最大 320 文字である必要があります。例: " expected-signing-user@example.com "

5.1.6. .spec.policy.rootOfTrust.publicKey

説明
publicKey は、sigstore 公開鍵に基づいて信頼のルート設定を定義します。必要に応じて、Rekor 検証用の Rekor 公開鍵を含めます。policyType が PublicKey の場合、publicKey は必須であり、それ以外の場合は禁止されます。
object
必須
  • キーデータ
Expand
プロパティー説明

キーデータ

string

keyData は必須フィールドであり、PEM 形式の公開鍵の base64 でエンコードされたインラインデータが含まれます。keyData は最大 8192 文字にする必要があります。

rekorKeyData

string

rekorKeyData は、Rekor 公開鍵からの PEM 形式のインライン base64 エンコードデータを格納するオプションフィールドです。rekorKeyData は最大 8192 文字にする必要があります。

5.1.7. .spec.policy.signedIdentity

説明
signed アイデンティティーは、署名がイメージについて主張するイメージ ID を指定するためのオプションフィールドです。これは、署名内のイメージアイデンティティーが元のイメージ仕様と異なる場合に役立ちます。たとえば、ミラーレジストリーがイメージスコープ用に設定されている場合、ミラーレジストリーからの署名には元のスコープではなくミラーのイメージ ID が含まれます。必須の matchPolicy フィールドは、署名のアイデンティティーと実際のイメージアイデンティティーを検証するために検証プロセスで使用されるアプローチを指定します。デフォルトの matchPolicy は "MatchRepoDigestOrExact" です。
object
必須
  • matchPolicy
Expand
プロパティー説明

正確なリポジトリー

object

exactRepository は、署名内のアイデンティティーと正確に一致する必要があるリポジトリーを指定します。matchPolicy が "ExactRepository" に設定されている場合は、exactRepository が必須です。これは、署名が元のイメージアイデンティティーではなく、このリポジトリーと正確に一致するアイデンティティーを主張していることを確認するために使用されます。

matchPolicy

string

matchPolicy は、署名内のイメージアイデンティティーをイメージスコープに対して検証するためのマッチングストラテジーを指定する必須フィールドです。許可される値は、MatchRepoDigestOrExact、MatchRepository、ExactRepository、RemapIdentity です。省略した場合、デフォルト値は MatchRepoDigestOrExact です。MatchRepoDigestOrExact に設定すると、イメージアイデンティティーがダイジェストによって参照される場合、署名内のアイデンティティーはイメージアイデンティティーと同じリポジトリーに存在する必要があります。それ以外の場合、署名内のアイデンティティーはイメージアイデンティティーと同じである必要があります。MatchRepository に設定すると、署名内のアイデンティティーはイメージアイデンティティーと同じリポジトリーに存在する必要があります。ExactRepository に設定する場合、exactRepository を指定する必要があります。署名内のアイデンティティーは、リポジトリーで指定された特定のアイデンティティーと同じリポジトリーに存在する必要があります。RemapIdentity に設定する場合、remapIdentity を指定する必要があります。署名は、再マップされたイメージアイデンティティーと同じである必要があります。イメージ ID が指定された remapPrefix と一致する場合、prefix を指定された signedPrefix に置き換えることによって、再マップされたイメージアイデンティティーが取得されます。

アイデンティティーの再マップ

object

remapIdentity は、イメージアイデンティティーを検証するための接頭辞再マッピングルールを指定します。matchPolicy が "RemapIdentity" に設定されている場合は、remapIdentity が必須です。これは、署名が元のイメージとは異なるレジストリー/リポジトリー接頭辞を要求していることを確認するために使用されます。

5.1.8. .spec.policy.signedIdentity.exactRepository

説明
exactRepository は、署名内のアイデンティティーと正確に一致する必要があるリポジトリーを指定します。matchPolicy が "ExactRepository" に設定されている場合は、exactRepository が必須です。これは、署名が元のイメージアイデンティティーではなく、このリポジトリーと正確に一致するアイデンティティーを主張していることを確認するために使用されます。
object
必須
  • repository
Expand
プロパティー説明

repository

string

リポジトリーは、一致させるイメージアイデンティティーの参照です。matchPolicy が "ExactRepository" に設定されている場合は、リポジトリーが必要です。値は、Docker Registry HTTP API V2 を実装するレジストリー内のリポジトリー名 (タグまたはダイジェストを省略) である必要があります。たとえば、docker.io/library/busybox

5.1.9. .spec.policy.signedIdentity.remapIdentity

説明
remapIdentity は、イメージアイデンティティーを検証するための接頭辞再マッピングルールを指定します。matchPolicy が "RemapIdentity" に設定されている場合は、remapIdentity が必須です。これは、署名が元のイメージとは異なるレジストリー/リポジトリー接頭辞を要求していることを確認するために使用されます。
object
必須
  • prefix
  • 署名された接頭辞
Expand
プロパティー説明

prefix

string

matchPolicy が "Remap アイデンティティー " に設定されている場合は、接頭辞が必要です。接頭辞は、一致させるイメージ ID の接頭辞です。イメージアイデンティティーが指定された接頭辞と一致する場合、その接頭辞は指定された signedPrefix に置き換えられます (それ以外の場合は変更されずに使用され、再マッピングは行われません)。これは、ベンダーのリポジトリー構造を保持する他のリポジトリー名前空間のミラーの署名を検証する場合に役立ちます。prefix と signedPrefix の値は、host[:port] 値 (まったく同じ host[:port] 文字列に一致)、リポジトリー名前空間、またはリポジトリー (つまり、タグ/ダイジェストを含んではならない) のいずれかであり、完全に展開された形式の接頭辞として一致します。たとえば、単一のリポジトリーを指定するには docker.io/library/busybox (busybox ではありません) とし、docker.io/library/busybox の親名前空間を指定するには docker.io/library (空の文字列ではありません) とします。

署名された接頭辞

string

matchPolicy が "Remap アイデンティティー " に設定されている場合は、signedPrefix が必要です。signedPrefix は、署名で一致されるイメージ ID の接頭辞です。形式は prefix と同じです。値は、ホスト [:port] 値 (まったく同じホスト [:port]、文字列に一致)、リポジトリー名前空間、またはリポジトリー (つまり、タグ/ダイジェストを含んではならない) のいずれかであり、完全に展開された形式の接頭辞として一致します。たとえば、単一のリポジトリーを指定するには docker.io/library/busybox (busybox ではありません) とし、docker.io/library/busybox の親名前空間を指定するには docker.io/library (空の文字列ではありません) とします。

5.1.10. .status

説明
status には、リソースの監視された状態が含まれます。
object
Expand
プロパティー説明

conditions

array

条件は、この API リソースのステータスの詳細を提供します。

conditions[]

object

condition には、この API Resource の現在の状態のある側面の詳細が含まれます。

5.1.11. .status.conditions

説明
条件は、この API リソースのステータスの詳細を提供します。
array

5.1.12. .status.conditions[]

説明
condition には、この API Resource の現在の状態のある側面の詳細が含まれます。
object
必須
  • lastTransitionTime
  • message
  • reason
  • status
  • type
Expand
プロパティー説明

lastTransitionTime

string

lastTransitionTime は、ある状態から別の状態に最後に遷移した時間です。これは、基本的な条件が変更された時点となります。不明な場合には、API フィールドが変更された時点を使用することも可能です。

message

string

message は、遷移の詳細を示す人が判読できるメッセージです。空の文字列の場合もあります。

observedGeneration

integer

observedGeneration は、それをベースに条件が設定された .metadata.generation を表します。たとえば、.metadata.generation が現在 12 で、.status.conditions[x].observedGeneration が 9 の場合、インスタンスの現在の状態に対して条件が古くなっています。

reason

string

reason には、条件の最後の遷移の理由を示すプログラムによる識別子が含まれます。特定の条件タイプのプロデューサーは、このフィールドの期待値と意味、および値が保証された API と見なされるかどうかを定義できます。値は CamelCase 文字列である必要があります。このフィールドには空白を指定できません。

status

string

条件のステータス、True、False、Unknown のいずれか。

type

string

CamelCase または foo.example.com/CamelCase の条件のタイプ。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat