第6章 ConsolePlugin [console.openshift.io/v1]


説明

ConsolePlugin は、クラスターで実行されている別のサービスからコードを動的にロードすることにより、OpenShift Web コンソールをカスタマイズするための拡張機能です。

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

object
必須
  • metadata
  • spec

6.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 には、コンソールプラグインに必要な設定が含まれています。

6.1.1. .spec

説明
spec には、コンソールプラグインに必要な設定が含まれています。
object
必須
  • backend
  • displayName
Expand
プロパティー説明

backend

object

backend は、コンソールのプラグインを提供するバックエンドの設定を保持します。

contentSecurityPolicy

array

contentSecurityPolicy は、プラグインの Content-Security-Policy (CSP) ディレクティブのリストです。各ディレクティブは、指定されたディレクティブタイプに適した値のリストを指定します。たとえば、ScriptSrc などの fetch ディレクティブのリモートエンドポイントのリストなどです。コンソール Web アプリケーションは、CSP を使用して、クロスサイトスクリプティング (XSS) やデータインジェクション攻撃などの特定の種類の攻撃を検出し、緩和します。動的プラグインでは、クラスター外部からアセットをロードする必要がある場合、または違反レポートが観察された場合に、このフィールドを指定する必要があります。動的プラグインでは、常にクラスター内からのアセット取得を優先する必要があります。その場合、アセットのベンダー化とクラスターサービスからの取得のいずれかの方法を使用します。CSP 違反レポートは、OpenShift Web コンソールでのプラグイン開発およびテスト時に、ブラウザーのコンソールログで表示できます。使用可能なディレクティブタイプは、DefaultSrc、ScriptSrc、StyleSrc、ImgSrc、FontSrc、ConnectSrc です。使用可能な各ディレクティブは、リスト内で 1 回だけ定義できます。'self' の値は、OpenShift Web コンソールのバックエンドによってすべての fetch ディレクティブに自動的に追加されます。CSP ディレクティブの詳細は、https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy を参照してください。

OpenShift Web コンソールサーバーは、独自のデフォルト値とすべての有効な ConsolePlugin CR で CSP ディレクティブと値を集約し、それらを 1 つのポリシー文字列にマージして、Content-Security-Policy HTTP 応答ヘッダーを介してブラウザーに送信します。

例: ConsolePlugin A ディレクティブ: script-src: https://script1.com/, https://script2.com/ font-src: https://font1.com/

ConsolePlugin B ディレクティブ: script-src: https://script2.com/, https://script3.com/ font-src: https://font2.com/ img-src: https://img1.com/

OpenShift Web コンソールサーバーに渡される CSP ディレクティブの統合セット: script-src: https://script1.com/, https://script2.com/, https://script3.com/ font-src: https://font1.com/, https://font2.com/ img-src: https://img1.com/

OpenShift Web コンソールサーバー CSP 応答ヘッダー: Content-Security-Policy: default-src 'self'; base-uri 'self'; script-src 'self' https://script1.com/ https://script2.com/ https://script3.com/; font-src 'self' https://font1.com/ https://font2.com/; img-src 'self' https://img1.com/; style-src 'self'; frame-src 'none'; object-src 'none'

contentSecurityPolicy[]

object

ConsolePluginCSP は特定の CSP ディレクティブの設定を保持します

displayName

string

displayName は、プラグインの表示名です。dispalyName は 1 - 128 文字の間で指定する必要があります。

i18n

object

i18n は、プラグインのローカリゼーションリソースの設定です。

proxy

array

proxy は、プラグインが接続する必要のあるさまざまなサービスタイプを記述するプロキシーのリストです。

proxy[]

object

ConsolePluginProxy は、コンソールのバックエンドがプラグインのリクエストをプロキシーするさまざまなサービスタイプに関する情報を保持します。

6.1.2. .spec.backend

説明
backend は、コンソールのプラグインを提供するバックエンドの設定を保持します。
object
必須
  • type
Expand
プロパティー説明

service

object

service は、HTTP サーバーを使用したデプロイを使用してプラグインを公開する Kubernetes サービスです。Service は HTTPS と Service 提供証明書を使用する必要があります。コンソールバックエンドは、サービス CA バンドルを使用してサービスからプラグインアセットをプロキシーします。

type

string

type は、コンソールのプラグインを提供するバックエンドタイプです。現在、"Service" のみがサポートされています。

6.1.3. .spec.backend.service

説明
service は、HTTP サーバーを使用したデプロイを使用してプラグインを公開する Kubernetes サービスです。Service は HTTPS と Service 提供証明書を使用する必要があります。コンソールバックエンドは、サービス CA バンドルを使用してサービスからプラグインアセットをプロキシーします。
object
必須
  • name
  • namespace
  • port
Expand
プロパティー説明

basePath

string

basePath は、プラグインのアセットへのパスです。主な資産は、plugin-manifest.json と呼ばれるマニフェストファイルです。これは、プラグインと拡張機能に関するメタデータを含む JSON ドキュメントです。

name

string

プラグインアセットを提供している Service の名前です。

namespace

string

プラグインアセットを提供している Service の namespace です。

port

integer

プラグインを提供しているサービスがリッスンしているポート。

6.1.4. .spec.contentSecurityPolicy

説明

contentSecurityPolicy は、プラグインの Content-Security-Policy (CSP) ディレクティブのリストです。各ディレクティブは、指定されたディレクティブタイプに適した値のリストを指定します。たとえば、ScriptSrc などの fetch ディレクティブのリモートエンドポイントのリストなどです。コンソール Web アプリケーションは、CSP を使用して、クロスサイトスクリプティング (XSS) やデータインジェクション攻撃などの特定の種類の攻撃を検出し、緩和します。動的プラグインでは、クラスター外部からアセットをロードする必要がある場合、または違反レポートが観察された場合に、このフィールドを指定する必要があります。動的プラグインでは、常にクラスター内からのアセット取得を優先する必要があります。その場合、アセットのベンダー化とクラスターサービスからの取得のいずれかの方法を使用します。CSP 違反レポートは、OpenShift Web コンソールでのプラグイン開発およびテスト時に、ブラウザーのコンソールログで表示できます。使用可能なディレクティブタイプは、DefaultSrc、ScriptSrc、StyleSrc、ImgSrc、FontSrc、ConnectSrc です。使用可能な各ディレクティブは、リスト内で 1 回だけ定義できます。'self' の値は、OpenShift Web コンソールのバックエンドによってすべての fetch ディレクティブに自動的に追加されます。CSP ディレクティブの詳細は、https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy を参照してください。

OpenShift Web コンソールサーバーは、独自のデフォルト値とすべての有効な ConsolePlugin CR で CSP ディレクティブと値を集約し、それらを 1 つのポリシー文字列にマージして、Content-Security-Policy HTTP 応答ヘッダーを介してブラウザーに送信します。

例: ConsolePlugin A ディレクティブ: script-src: https://script1.com/, https://script2.com/ font-src: https://font1.com/

ConsolePlugin B directives:
  script-src: https://script2.com/, https://script3.com/
  font-src: https://font2.com/
  img-src: https://img1.com/
Copy to Clipboard Toggle word wrap
Unified set of CSP directives, passed to the OpenShift web console server:
  script-src: https://script1.com/, https://script2.com/, https://script3.com/
  font-src: https://font1.com/, https://font2.com/
  img-src: https://img1.com/
Copy to Clipboard Toggle word wrap
OpenShift web console server CSP response header:
  Content-Security-Policy: default-src 'self'; base-uri 'self'; script-src 'self' https://script1.com/ https://script2.com/ https://script3.com/; font-src 'self' https://font1.com/ https://font2.com/; img-src 'self' https://img1.com/; style-src 'self'; frame-src 'none'; object-src 'none'
Copy to Clipboard Toggle word wrap
array

6.1.5. .spec.contentSecurityPolicy[]

説明
ConsolePluginCSP は特定の CSP ディレクティブの設定を保持します
object
必須
  • directive
  • values
Expand
プロパティー説明

directive

string

directive は、どの Content-Security-Policy ディレクティブを設定するか指定します。使用可能なディレクティブタイプは、DefaultSrc、ScriptSrc、StyleSrc、ImgSrc、FontSrc、ConnectSrc です。DefaultSrc ディレクティブは、他の CSP fetch ディレクティブのフォールバックとして機能します。DefaultSrc ディレクティブの詳細は、https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/default-src を参照してください。ScriptSrc ディレクティブは、JavaScript の有効なソースを指定します。ScriptSrc ディレクティブの詳細は、https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src を参照してください。StyleSrc ディレクティブは、スタイルシートの有効なソースを指定します。StyleSrc ディレクティブの詳細は、https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src を参照してください。ImgSrc ディレクティブは、イメージとファビコンの有効なソースを指定します。ImgSrc ディレクティブの詳細は、https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/img-src を参照してください。FontSrc ディレクティブは、@font-face を使用して読み込まれたフォントの有効なソースを指定します。FontSrc ディレクティブの詳細は、https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/font-src を参照してください。ConnectSrc ディレクティブは、スクリプトインターフェイスを使用して読み込むことができる URL を制限します。ConnectSrc ディレクティブの詳細は、https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/connect-src を参照してください。

values

array (string)

values は、このディレクティブのコンソールのデフォルトに追加する値の配列を定義します。各 ConsolePlugin は、独自のディレクティブと値を定義できます。これらは、OpenShift Web コンソールのバックエンドによって、Content-Security-Policy ヘッダーの一部として設定されます。配列には最大 16 個の値を含めることができます。各ディレクティブ値の最大長は 1024 文字で、空白、コンマ (,)、セミコロン (;)、一重引用符 (') を含めることはできません。値 '*' は使用できません。配列内の各値は一意である必要があります。

6.1.6. .spec.i18n

説明
i18n は、プラグインのローカリゼーションリソースの設定です。
object
必須
  • loadType
Expand
プロパティー説明

loadType

string

loadType は、プラグインのローカリゼーションリソースをロードする方法を示します。有効な値は、Preload、Lazy、および空の文字列です。Preload に設定すると、プラグインがロードされたときにすべてのローカリゼーションリソースが取得されます。Lazy に設定すると、ローカリゼーションリソースは、コンソールで要求されるときに遅延ロードされます。省略されるか空の文字列が設定されている場合、動作は Lazy タイプと同じになります。

6.1.7. .spec.proxy

説明
proxy は、プラグインが接続する必要のあるさまざまなサービスタイプを記述するプロキシーのリストです。
array

6.1.8. .spec.proxy[]

説明
ConsolePluginProxy は、コンソールのバックエンドがプラグインのリクエストをプロキシーするさまざまなサービスタイプに関する情報を保持します。
object
必須
  • alias
  • endpoint
Expand
プロパティー説明

alias

string

alias は、プラグインのプロキシーを識別するプロキシー名です。alias 名は、プラグインごとに一意である必要があります。コンソールバックエンドは次のプロキシーエンドポイントを公開します。

/api/proxy/plugin/<plugin-name>/<proxy-alias>/<request-path>?<optional-query-parameters>

リクエストのサンプルパス:

/api/proxy/plugin/acm/search/pods?namespace=openshift-apiserver

authorization

string

authorization は、プロキシーされたリクエストに含まれる必要がある authorization タイプに関する情報を提供します。

caCertificate

string

caCertificate は、プロキシーされた Service がカスタムサービス CA を使用している場合に備えて、証明書機関の証明書の内容を提供します。デフォルトでは、service-ca Operator によって提供されるサービス CA バンドルが使用されます。

endpoint

object

エンドポイントは、リクエストがプロキシーされるエンドポイントに関する情報を提供します。

6.1.9. .spec.proxy[].endpoint

説明
エンドポイントは、リクエストがプロキシーされるエンドポイントに関する情報を提供します。
object
必須
  • type
Expand
プロパティー説明

service

object

サービスは、プラグインが接続するクラスター内の Service です。この Service は HTTPS を使用する必要があります。コンソールバックエンドは、プラグインと Service 間の通信をプロキシーするためにエンドポイントを公開します。注記: 現在 "Service" タイプのみがサポートされているため、サービスフィールドは必須です。

type

string

type は、コンソールプラグインのプロキシーのタイプです。現在、"Service" のみがサポートされています。

6.1.10. .spec.proxy[].endpoint.service

説明
サービスは、プラグインが接続するクラスター内の Service です。この Service は HTTPS を使用する必要があります。コンソールバックエンドは、プラグインと Service 間の通信をプロキシーするためにエンドポイントを公開します。注記: 現在 "Service" タイプのみがサポートされているため、サービスフィールドは必須です。
object
必須
  • name
  • namespace
  • port
Expand
プロパティー説明

name

string

プラグインが接続する必要のある Service の名前です。

namespace

string

プラグインが接続する必要のある Service の namespace です。

port

integer

プラグインが接続する必要のある Service がリッスンしているポートです。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat