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を管理するには、次の手順を実行します:
      1. 認可されたユーザーとしてWebコンソールにログインします。
      1. Secretをホストするプロジェクトを作成するか、選択します。
      1. リソース → 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.40serverAddressというConfigMapのキーに割り当てるConfigMapオブジェクトを作成します:
      ConfigMapを表示するには、次のコマンドを使用します:
      ポッド定義内で、ConfigMapから環境変数APISERVERを設定するには、以下のようにします:

      WebコンソールからのConfigMapの管理

      Webコンソールを使ってConfigMapオブジェクトを管理するには、以下の手順を実行します:
      1. 認可されたユーザーとしてWebコンソールにログインします。
      1. ConfigMapをホストするプロジェクトを作成するか、選択します。
      1. リソース → Config Mapsに移動します。
      notion image

      参考文献

      さらに詳しい情報は、OpenShift Container Platform 3.9の開発者ガイドでご覧いただけます:
      また、以下のリンクでも詳細情報を確認できます:
       
      50- 第12章:OpenShiftリソースへのアクセス制御-2:プロジェクトとアカウントの管理の演習52- 第12章:OpenShiftリソースへのアクセス制御-4:データベースパスワード保護の演習
      Loading...
      minami
      minami
      一个普通的干饭人🍚
      Announcement

      🎉 ブログへようこそ 🎉

      notion image
      名前:みなみ独立事務所
      性別:男
      国籍:China
      完全独学だけで基本情報をはじめ31個の資格を仕事をしながら合格。 現在はIT会社の技術担当や、ブログの執筆や学習支援などを手掛けています。 独学で合格できる学習法、勉強法、試験対策を配信します!

      📚 主な内容

      💻 IT・システム開発
      🏠 不動産 × 宅建士
      🎓 MBA 学習記録

      🔍 コンテンツの探し方

      現在、サイトのデザインはシンプルなため、情報がやや探しにくいかもしれません。
      気になるテーマを探す際は、タグ検索の利用をおすすめします。