Show Table of Contents
このページには機械翻訳が使用されている場合があります (詳細はこちら)。
25.5. Vault でのサービスの秘密の保存
本セクションでは、管理者が vault を使って集中化した場所にサービスの秘密を安全に保存する方法を説明します。サービスの秘密はサービスの公開鍵で暗号化します。その後にサービスがこの秘密を取得する際は、ドメイン内のいずれかのマシンでサービスのプライベートキーを使用します。この秘密にアクセスできるのは、当該サービスと管理者のみです。
本セクションには以下の手順があります。
これらの手順では、以下を想定しています。
admin
とは、サービスのパスワードを管理する管理者です。http_password
とは、管理者が作成しユーザーのプライベート vault の名前です。password.txt
とは、サービスのパスワードを格納しているファイルです。password_vault
とは、サービス用に作成された vault です。HTTP/server.example.com
とは、そのパスワードがアーカイブ化されるサービスです。service-public.pem
とは、password_vault
に保存されているパスワードの暗号化に使用するサービスの公開鍵です。
25.5.1. サービスのパスワードを保存するユーザー Vault の作成
管理者が所有するユーザー vault を作成し、サービスのパスワードを保存します。vault タイプは標準とし、管理者が vault のコンテンツにアクセスする際に認証が不要とするようにします。
- 管理者としてログインします。
$ kinit admin
- 標準のユーザー vault を作成します。
$ ipa vault-add http_password --type standard --------------------------- Added vault "http_password" --------------------------- Vault name: http_password Type: standard Owner users: admin Vault user: admin
- サービスパスワードを vault にアーカイブします。
$ ipa vault-archive http_password --in password.txt ---------------------------------------- Archived data into vault "http_password" ----------------------------------------
警告
パスワードを vault にアーカイブした後、システムからpassword.txt
を削除します。
25.5.2. ユーザー Vault からサービスインスタンスへのサービスパスワードの提供
サービス用に作成された非対称 vault を使って、サービスパスワードをサービスインスタンスに提供します。
- 管理者としてログインします。
$ kinit admin
- サービスインスタンスの公開鍵を取得します。たとえば、以下のように
openssl
ユーティリティーを使用します。service-private.pem
秘密鍵を生成します。$ openssl genrsa -out service-private.pem 2048 Generating RSA private key, 2048 bit long modulus .+++ ...........................................+++ e is 65537 (0x10001)
- このプライベートキーを基に、
service-public.pem
公開鍵を生成します。$ openssl rsa -in service-private.pem -out service-public.pem -pubout writing RSA key
- サービスインスタンスの vault として非対称 vault を作成し、公開鍵を提供します。
$ ipa vault-add password_vault --service HTTP/server.example.com --type asymmetric --public-key-file service-public.pem ---------------------------- Added vault "password_vault" ---------------------------- Vault name: password_vault Type: asymmetric Public key: LS0tLS1C...S0tLS0tCg== Owner users: admin Vault service: HTTP/server.example.com@EXAMPLE.COM
vault にアーカイブ化されたパスワードは、キーで保護されます。 - 管理者のプライベート vault からサービスパスワードを取得し、これを新規サービスの vault にアーカイブします。
$ ipa vault-retrieve http_password --out password.txt ----------------------------------------- Retrieved data from vault "http_password" -----------------------------------------
$ ipa vault-archive password_vault --service HTTP/server.example.com --in password.txt ----------------------------------- Archived data into vault "password_vault" -----------------------------------
これでパスワードは、サービスインスタンスの公開鍵で暗号化されます。警告
パスワードを vault にアーカイブした後、システムからpassword.txt
を削除します。
パスワードを必要とするサービスインスタンスごとにこれらのステップを繰り返します。各サービスインスタンスごとに新たな非対称 vault を作成してください。
25.5.3. サービスインスタンス用のサービスパスワードの取得
サービスインスタンスは、ローカル保存のサービスの秘密鍵を使って、サービス vault のパスワードを取得することができます。
- 管理者としてログインします。
$ kinit admin
- サービス用の Kerberos チケットを取得します。
# kinit HTTP/server.example.com -k -t /etc/httpd/conf/ipa.keytab
- サービス vault のパスワードを取得します。
$ ipa vault-retrieve password_vault --service HTTP/server.example.com --private-key-file service-private.pem --out password.txt ------------------------------------ Retrieved data from vault "password_vault" ------------------------------------
25.5.4. サービス Vault のパスワード変更
サービスインスタンスのセキュリティーが侵害されたら、サービス vault のパスワードを変更し、セキュリティー侵害されていないサービスインスタンスにだけ新規パスワードを再度提供することで、これを切り離します。
- 管理者のユーザー vault に新規パスワードをアーカイブします。
$ ipa vault-archive http_password --in new_password.txt ---------------------------------------- Archived data into vault "http_password" ----------------------------------------
これで vault に保存されている現行パスワードが上書きされます。 - セキュリティーが侵害されたインスタンス以外の各サービスインスタンスに新規パスワードを再提供します。
- 管理者の vault から新規パスワードを取得します。
$ ipa vault-retrieve http_password --out password.txt ----------------------------------------- Retrieved data from vault "http_password" -----------------------------------------
- 新規パスワードをサービスインスタンスの vault にアーカイブします。
$ ipa vault-archive password_vault --service HTTP/server.example.com --in password.txt ----------------------------------- Archived data into vault "password_vault" -----------------------------------
警告
パスワードを vault にアーカイブした後、システムからpassword.txt
を削除します。
このページには機械翻訳が使用されている場合があります (詳細はこちら)。