第10章 追加ホストから API サーバーへの JavaScript ベースのアクセスの許可

10.1. 追加ホストから API サーバーへの JavaScript ベースのアクセスの許可

デフォルトの OpenShift Container Platform 設定は、OpenShift Web コンソールが要求を API サーバーに送信することのみを許可します。

別のホスト名を使用して JavaScript アプリケーションから API サーバーまたは OAuth サーバーにアクセスする必要がある場合、許可する追加のホスト名を設定できます。

前提条件

  • cluster-admin ロールを持つユーザーとしてのクラスターへのアクセスがあること。

手順

  1. APIServer リソースを編集します。

    $ oc edit apiserver.config.openshift.io cluster
  2. additionalCORSAllowedOrigins フィールドを spec セクションの下に追加し、1 つ以上の追加のホスト名を指定します。

    apiVersion: config.openshift.io/v1
    kind: APIServer
    metadata:
      annotations:
        release.openshift.io/create-only: "true"
      creationTimestamp: "2019-07-11T17:35:37Z"
      generation: 1
      name: cluster
      resourceVersion: "907"
      selfLink: /apis/config.openshift.io/v1/apiservers/cluster
      uid: 4b45a8dd-a402-11e9-91ec-0219944e0696
    spec:
      additionalCORSAllowedOrigins:
      - (?i)//my\.subdomain\.domain\.com(:|\z) 1
    1
    ホスト名は Golang 正規表現 として指定されます。これは、API サーバーおよび OAuth サーバーに対する HTTP 要求の CORS ヘッダーに対してマッチングします。
    注記

    この例では、以下の構文を使用します。

    • (?i) は大文字/小文字を区別します。
    • // はドメインの開始にピニングし、http: または https:の後のダブルスラッシュに一致します。
    • \. はドメイン名のドットをエスケープします。
    • (:|\z) はドメイン名 (\z) またはポートセパレーター (:) の終了部に一致します。
  3. 変更を適用するためにファイルを保存します。