検索

1.3. キーマネージャーのデプロイ

download PDF

OpenStack Key Manager をデプロイするには、まず barbican サービスの環境ファイルを作成し、追加の環境ファイルでオーバークラウドを再デプロイします。次に、ユーザーを creator に追加して barbican シークレットを作成および編集するか、シークレットを保存する暗号化されたボリュームを barbican に作成します。

注記

この手順では、barbican が simple_crypto バックエンドを使用するように設定します。別の設定を必要とする PKCS#11 や、使用する HSM に依存するさまざまな heat テンプレートファイルなど、追加のバックエンドが利用できます。KMIP、Hashicorp Vault および DogTag などの他のバックエンドはサポートされません。

前提条件

  • オーバークラウドがデプロイされ、実行されています。

手順

  1. アンダークラウドノードで、barbican の環境ファイルを作成します。

    $ cat /home/stack/templates/configure-barbican.yaml
    	parameter_defaults:
    	  BarbicanSimpleCryptoGlobalDefault: true

    BarbicanSimpleCryptoGlobalDefault は、このプラグインをグローバルのデフォルトプラグインとして設定します。

    環境ファイルに以下のオプションを追加することもできます。

    • BarbicanPassword: barbican サービスアカウントのパスワードを設定します。
    • BarbicanWorkers: barbican::wsgi::apache のワーカー数を設定します。デフォルトで '%{::processorcount}' を使用します。
    • BarbicanDebug: デバッグを有効にします。
    • BarbicanPolicies: barbican 向けに設定するポリシーを定義します。ハッシュ値を使用します (例: { barbican-context_is_admin: { key: context_is_admin, value: 'role:admin' } })。このエントリーは /etc/barbican/policy.json に追加されます。ポリシーの詳細は、後のセクションで説明します。
    • BarbicanSimpleCryptoKek: キー暗号化キー (KEK) は、指定がない場合は director によって生成されます。
  2. スクリプトから以前追加したロール、テンプレート、または環境ファイルを削除せずに、openstack overcloud deploy コマンドに以下のファイルを追加します。

    • /usr/share/openstack-tripleo-heat-templates/environments/services/barbican.yaml
    • /usr/share/openstack-tripleo-heat-templates/environments/barbican-backend-simple-crypto.yaml
    • /home/stack/templates/configure-barbican.yaml
  3. デプロイメントスクリプトを再度実行して、変更をデプロイメントに適用します。

    $ openstack overcloud deploy \
        --timeout 100 \
        --templates /usr/share/openstack-tripleo-heat-templates \
        --stack overcloud \
        --libvirt-type kvm \
        --ntp-server clock.redhat.com \
        -e /home/stack/containers-prepare-parameter.yaml \
        -e /home/stack/templates/config_lvm.yaml \
        -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \
        -e /home/stack/templates/network/network-environment.yaml \
        -e /home/stack/templates/hostnames.yml \
        -e /home/stack/templates/nodes_data.yaml \
        -e /home/stack/templates/extra_templates.yaml \
        -e /home/stack/container-parameters-with-barbican.yaml \
        -e /usr/share/openstack-tripleo-heat-templates/environments/services/barbican.yaml \
        -e /usr/share/openstack-tripleo-heat-templates/environments/barbican-backend-simple-crypto.yaml \
        -e /home/stack/templates/configure-barbican.yaml \
        --log-file overcloud_deployment_38.log
  4. creator ロールの id を取得します。

    openstack role show creator
    +-----------+----------------------------------+
    | Field     | Value                            |
    +-----------+----------------------------------+
    | domain_id | None                             |
    | id        | 4e9c560c6f104608948450fbf316f9d7 |
    | name      | creator                          |
    +-----------+----------------------------------+
    注記

    OpenStack Key Manager(barbican) がインストールされていないと、creator ロールは表示されません。

  5. ユーザーを creator ロールに割り当て、関連するプロジェクトを指定します。この例では、project_a プロジェクトの user1 という名前のユーザーが creator ロールに追加されます。

    openstack role add --user user1 --project project_a 4e9c560c6f104608948450fbf316f9d7

検証

  1. テストシークレットを作成します。以下に例を示します。

    $ openstack secret store --name testSecret --payload 'TestPayload'
    +---------------+------------------------------------------------------------------------------------+
    | Field         | Value                                                                              |
    +---------------+------------------------------------------------------------------------------------+
    | Secret href   | https://192.168.123.163/key-manager/v1/secrets/4cc5ffe0-eea2-449d-9e64-b664d574be53 |
    | Name          | testSecret                                                                         |
    | Created       | None                                                                               |
    | Status        | None                                                                               |
    | Content types | None                                                                               |
    | Algorithm     | aes                                                                                |
    | Bit length    | 256                                                                                |
    | Secret type   | opaque                                                                             |
    | Mode          | cbc                                                                                |
    | Expiration    | None                                                                               |
    +---------------+------------------------------------------------------------------------------------+
  2. 作成したシークレットのペイロードを取得します。

    openstack secret get https://192.168.123.163/key-manager/v1/secrets/4cc5ffe0-eea2-449d-9e64-b664d574be53 --payload
    +---------+-------------+
    | Field   | Value       |
    +---------+-------------+
    | Payload | TestPayload |
    +---------+-------------+
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.