type
status
date
slug
summary
tags
category
icon
password
书籍
センシティブ情報の管理 - Secrets
目的
このセクションを完了した後、学生はSecretsを作成し、適用してセンシティブ情報を管理する方法を理解できるようになります。
Secrets
Secretオブジェクトは、パスワード、OpenShift Container Platformのクライアント設定ファイル、Docker設定ファイル、プライベートなソースリポジトリの資格情報などのセンシティブ情報を保持するためのメカニズムを提供します。Secretsは、センシティブなコンテンツをポッドから切り離すことができます。Secretsは、コンテナに対してボリュームプラグインを使用してマウントするか、システムがポッドに代わってアクションを実行するために使用されます。
Secretsの特徴
Secretsの主な特徴は次のとおりです:
- Secretデータは、その定義から独立して参照できます。
- Secretデータボリュームは、一時的なファイルストレージによってバックアップされます。
- Secretデータは、名前空間内で共有できます。
Secretの作成
Secretは、それに依存するポッドの前に作成されます。
Secretを作成する際には、次の手順を行います:
- Secretオブジェクトを作成し、Secretデータを指定します。
- ポッドのサービスアカウントを更新して、Secretを参照できるようにします。例えば、特定のサービスアカウントで実行中のポッドにSecretをマウントするためには、次のようにします:
- Secretを環境変数またはデータボリュームを使ってファイルとして消費するポッドを作成します。これは通常、テンプレートを使用して行われます。
Secretsがポッドにどのように公開されるか
Secretsは、データボリュームとしてマウントするか、環境変数として公開してポッド内のコンテナで使用されます。例えば、Secretをポッドに公開するには、まずSecretを作成し、ユーザー名やパスワードのようなキー/値ペアに値を割り当て、そのキー名をポッドのYAMLファイルの
env
定義に割り当てます。例として、
demo-secret
という名前のSecretがあり、username
というキーの値をdemo-user
に設定したとします:このSecretをMySQLデータベースポッドのデータベース管理者パスワードとして使用するには、次のように環境変数を定義し、Secret名とキーを参照します:
WebコンソールからSecretsを管理する
Webコンソールを使ってSecretsを管理するには、次の手順を実行します:
- 認可されたユーザーとしてWebコンソールにログインします。
- Secretをホストするプロジェクトを作成するか、選択します。
- リソース → Secretsに移動します。
Secretsのユースケース
パスワードとユーザー名
パスワードやユーザー名などのセンシティブな情報は、Secretに格納され、コンテナ内でデータボリュームとしてマウントされます。このデータは、コンテナのデータボリュームディレクトリ内にあるファイルとしてコンテナ内に現れます。その後、データベースのようなアプリケーションはこれらのSecretを使用してユーザー認証を行うことができます。
Transport Layer Security (TLS)と鍵ペア
サービスへの通信を保護するために、クラスタが署名済み証明書と鍵ペアをプロジェクトの名前空間内にあるSecretに生成することができます。この証明書と鍵ペアは、PEM形式で保存され、tls.crtやtls.keyのようなファイルとしてSecretのデータボリューム内に格納されます。
ConfigMapオブジェクト
ConfigMapオブジェクトはSecretsと似ていますが、センシティブ情報を含まない文字列を扱うことに特化しています。ConfigMapオブジェクトは、ポッド内で消費される設定データのキー/バリューのペアを保持したり、コントローラーなどのシステムコンポーネントの設定データを保存したりします。
ConfigMapオブジェクトは、コンテナに設定データを注入するメカニズムを提供します。ConfigMapは、個々のプロパティのような詳細情報や、設定ファイルやJSONブロブのような完全な情報を格納できます。
CLIからのConfigMapの作成
ConfigMapオブジェクトは、
--from-literal
オプションを使用してリテラル値から作成できます。以下のコマンドは、IPアドレス172.20.30.40
をserverAddress
というConfigMapのキーに割り当てるConfigMapオブジェクトを作成します:ConfigMapを表示するには、次のコマンドを使用します:
ポッド定義内で、ConfigMapから環境変数
APISERVER
を設定するには、以下のようにします:WebコンソールからのConfigMapの管理
Webコンソールを使ってConfigMapオブジェクトを管理するには、以下の手順を実行します:
- 認可されたユーザーとしてWebコンソールにログインします。
- ConfigMapをホストするプロジェクトを作成するか、選択します。
- リソース → Config Mapsに移動します。

参考文献
さらに詳しい情報は、OpenShift Container Platform 3.9の開発者ガイドでご覧いただけます:
また、以下のリンクでも詳細情報を確認できます:
- 作者:みなみ
- 链接:https://www.minami.ac.cn//%E8%B3%87%E6%A0%BC%E5%8B%89%E5%BC%B7/1a7d7ae8-88e2-80ae-8364-f45ccbcfadc9
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章