7.4. Red Hat OpenStack Services on OpenShift へのセキュアなアクセスの提供


Red Hat OpenStack Services on OpenShift (RHOSO) サービス Pod へセキュアなアクセスを提供するには、Secret カスタムリソース (CR) を作成する必要があります。次の手順では、各サービスに必要なパスワード形式を持つ Secret CR を作成します。

必要なパスワードと fernet キーを生成する Secret CR の例については、RHOSO サービス Pod への安全なアクセスのための Secret CR の例 を参照してください。

警告

コントロールプレーンをデプロイした後にサービスパスワードを変更することはできません。コントロールプレーンをデプロイした後に osp-secret でサービスパスワードが変更されると、サービスは新しいパスワードを使用するように再設定されますが、Identity サービス (keystone) ではパスワードは更新されません。その結果、サービスが停止します。

前提条件

  • python3-cryptography がインストールされている。

手順

  1. ワークステーションに Secret CR (例: openstack_service_secret.yaml) を作成します。
  2. openstack_service_secret.yaml に次の初期設定を追加します。

    apiVersion: v1
    data:
      AdminPassword: <base64_password>
      AodhPassword: <base64_password>
      BarbicanPassword: <base64_password>
      BarbicanSimpleCryptoKEK: <base64_fernet_key>
      CeilometerPassword: <base64_password>
      CinderPassword: <base64_password>
      DbRootPassword: <base64_password>
      DesignatePassword: <base64_password>
      GlancePassword: <base64_password>
      HeatAuthEncryptionKey: <base64_password>
      HeatPassword: <base64_password>
      IronicInspectorPassword: <base64_password>
      IronicPassword: <base64_password>
      ManilaPassword: <base64_password>
      MetadataSecret: <base64_password>
      NeutronPassword: <base64_password>
      NovaPassword: <base64_password>
      OctaviaPassword: <base64_password>
      PlacementPassword: <base64_password>
      SwiftPassword: <base64_password>
    kind: Secret
    metadata:
      name: osp-secret
      namespace: openstack
    type: Opaque
    • <base64_password> を、base64 でエンコードされた 32 文字のキーに置き換えます。

      注記

      HeatAuthEncryptionKey パスワードは、Orchestration サービス (heat) 暗号化用の 32 文字のキーである必要があります。それ以外の全サービスでパスワードの長さを増やす場合は、HeatAuthEncryptionKey のパスワードの長さが 32 のままであることを確認してください。

      次のコマンドを使用して、base64 でエンコードされたパスワードを手動で生成できます。

      $ echo -n <password> | base64

      もしくは、Linux ワークステーションを使用しており、cat などの Bash コマンドを使用して Secret CR を生成している場合は、<base64_password> を次のコマンドに置き換えて、各サービスのランダムパスワードを自動生成できます。

      $(tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 32 | base64)
    • <base64_fernet_key> は、base64 でエンコードされた fernet キーに置き換えます。次のコマンドを使用して、手動で生成できます。

      $(python3 -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode('UTF-8'))" | base64)
  3. クラスターに Secret CR を作成します。

    $ oc create -f openstack_service_secret.yaml -n openstack
  4. Secret CR が作成されたことを確認します。

    $ oc describe secret osp-secret -n openstack

7.4.1. RHOSO サービス Pod へのセキュアなアクセスのための Secret CR の例

Red Hat OpenStack Services on OpenShift (RHOSO) サービス Pod へセキュアなアクセスを提供するには、Secret カスタムリソース (CR) ファイルを作成する必要があります。

Linux ワークステーションを使用している場合は、必要なパスワードと fernet キーを生成する次の Bash cat コマンドを使用して、openstack_service_secret.yaml という Secret CR ファイルを作成できます。

$ cat <<EOF > openstack_service_secret.yaml
apiVersion: v1
data:
  AdminPassword: $(tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 32 | base64)
  AodhPassword: $(tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 32 | base64)
  BarbicanPassword: $(tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 32 | base64)
  BarbicanSimpleCryptoKEK: $(python3 -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode('UTF-8'))" | base64)
  CeilometerPassword: $(tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 32 | base64)
  CinderPassword: $(tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 32 | base64)
  DbRootPassword: $(tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 32 | base64)
  DesignatePassword: $(tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 32 | base64)
  GlancePassword: $(tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 32 | base64)
  HeatAuthEncryptionKey: $(tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 32 | base64)
  HeatPassword: $(tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 32 | base64)
  IronicInspectorPassword: $(tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 32 | base64)
  IronicPassword: $(tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 32 | base64)
  ManilaPassword: $(tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 32 | base64)
  MetadataSecret: $(tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 32 | base64)
  NeutronPassword: $(tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 32 | base64)
  NovaPassword: $(tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 32 | base64)
  OctaviaHeartbeatKey $(tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 32 | base64)
  OctaviaPassword: $(tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 32 | base64)
  PlacementPassword: $(tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 32 | base64)
  SwiftPassword: $(tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 32 | base64)
kind: Secret
metadata:
  name: osp-secret
  namespace: openstack
type: Opaque
EOF
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る