10.5.5. SPIRE OpenID Connect ディスカバリープロバイダーのデプロイ
SpireOIDCDiscoveryProvider CR を設定して、SPIRE OpenID Connect (OIDC) ディスカバリープロバイダーをデプロイします。これにより、クラスターの信頼ドメインと JSON Web トークン (JWT) の発行者を定義できます。
前提条件
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。 - クラスターに Zero Trust Workload Identity Manager をインストールした。
手順
SpireOIDCDiscoveryProviderCR を作成します。SpireOIDCDiscoveryProviderCR を定義する YAML ファイル (例:SpireOIDCDiscoveryProvider.yaml) を作成します。SpireOIDCDiscoveryProvider.yamlの例aapiVersion: operator.openshift.io/v1alpha1 kind: SpireOIDCDiscoveryProvider metadata: name: cluster spec: logLevel: "info" logFormat: "text" csiDriverName: "csi.spiffe.io" jwtIssuer: "https://oidc-discovery.apps.cluster.example.com" replicaCount: 1 managedRoute: "true" externalSecretRef: ""ここでは、以下のようになります。
metadata.name-
値が
クラスターでなければならないことを指定します。 spec.logLevel-
SPIRE サーバーのログレベルを指定します。有効なオプションは、
debug、info、warn、errorです。 spec.logFormat-
SPIRE サーバーのログ記録フォーマットを指定します。有効なオプションは、
textとjsonです。 spec.csiDriverName-
Workload API ソケットのマウントに使用する CSI ドライバーの名前を指定します。これは、OIDC プロバイダーが SPIFFE アイデンティティーにアクセスできるように、
SpiffeCSIDriver.spec.pluginName の値と一致する必要があります。有効な DNS サブドメイン形式 (例:csi.spiffe.io) で、最大長は 127 文字です。 spec.jwtIssuer-
JWT 発行者の URL を指定します。有効な HTTPS または HTTP URL である必要があり、最大長は 512 文字です。この値は、
SpireServer.spec.jwtIssuer の値と一致する必要があります。 spec.replicaCount- OIDC ディスカバリープロバイダーのデプロイメントにおけるレプリカ数を指定します。1 から 5 の間である必要があります。
仕様管理ルート-
Operator が OIDC ディスカバリープロバイダーのエンドポイントに対して OpenShift ルートを自動的に作成するかどうかを指定します。Operator が OIDC ディスカバリーエンドポイント (
*.apps.) 用の OpenShift ルートを自動的に作成および維持するようにするには、trueに設定します。管理者がルートまたは Ingress を手動で設定できるようにするには、falseに設定してください。 spec.ternalSecretRef- OIDC ディスカバリープロバイダーのルートホストの TLS 証明書を含む、外部管理シークレットへの参照を指定します。有効な Kubernetes シークレット参照名で、最大長は 253 文字です。このフィールドは任意です。
以下のコマンドを実行して設定を適用します。
$ oc apply -f SpireOIDCDiscoveryProvider.yaml
検証
次のコマンドを実行して、OIDC Discovery Provider のデプロイメントが準備完了状態であり、利用可能であることを確認します。
$ oc get deployment -l app.kubernetes.io/name=spiffe-oidc-discovery-provider -n zero-trust-workload-identity-manager出力例
NAME READY UP-TO-DATE AVAILABLE AGE spire-spiffe-oidc-discovery-provider 1/1 1 1 2m58s次のコマンドを実行して、OIDC Discovery Provider Pod のステータスが
Runningであることを確認します。$ oc get po -l app.kubernetes.io/name=spiffe-oidc-discovery-provider -n zero-trust-workload-identity-manager出力例
NAME READY STATUS RESTARTS AGE spire-spiffe-oidc-discovery-provider-64586d599f-lcc94 2/2 Running 0 7m15s