シークレットで安全な環境変数を管理
シークレットを使用すると、Liferay Cloud 内のあらゆる環境の変数を安全に保存できます。 Liferay Cloud プロジェクトを表示する権限を持つすべてのユーザーは 環境変数を表示できますが、シークレットは、そのロールに表示する権限が与えられている場合にのみ表示できます。
シークレットとは
シークレットは、その値を保護するための追加のセキュリティ対策を備えた環境変数です。 機密情報やプライベート情報(クレデンシャルなど)を定義する環境変数はすべてシークレットとして保存されるべきです。 シークレットは、環境内の任意の数のサービスの安全な変数として定義できます。
シークレットを表示する権限を持つユーザーは、任意のサービスの[Environment Variables]タブでシークレットを表示できます。 それらは他の環境変数と同じページに表示され、独自のセクションにあります。

デフォルトでは、シークレットは システム管理 ロールを持つユーザーのみが表示できます。 ただし、シークレットは、他のロールを持つユーザーも表示できるように設定できます。
シークレットは暗号化されて保存され、Liferay Cloud のバックエンドでは通常の環境変数よりもセキュリティが強化されています。 UIを介してシークレットを表示すると、表示される前に格納された値が復号化されます。
新しいシークレットを追加する
新しいシークレットは、Liferay Cloud の 設定 画面から追加されます。 システム管理ロールを持つユーザーのみが新しいシークレットを追加できます。
サービスに新しいシークレットを追加すると、その値が有効になるようにサービスが再起動されます。
次の手順に従って、新しいシークレットを追加します:
-
Liferay Cloudコンソールにログインします。
-
任意の環境の[Settings]画面に移動します。
![シークレットにアクセスするには、[設定]画面に移動します。](https://resources.learn.liferay.com/images/dxp/latest/en/cloud/tuning-security-settings/managing-secure-environment-variables-with-secrets/images/02.png)
-
ページの シークレット セクションで、 新しいシークレットの作成をクリックします。

-
名前と説明を入力します。

-
安全に保管するためのシークレットの値を入力します。 この値は環境変数値と同じように機能しますが、保存される前に暗号化されます。

-
該当する場合は、 Contributor または Guest ロールにシークレットの表示を許可するかどうかを選択します。 システム管理のロールを持つユーザーは、いつでもシークレットを表示できます。

-
新しいシークレット環境変数を追加するサービスを選択します。 選択したサービスごとに、環境変数に使用するキーを入力します(複数のサービスで同じキーのシークレットを使用できます)。

-
前の手順でサービスを選択した場合は、下に表示されるボックスをオンにして、影響を受けるサービスにこのシークレットを追加することの影響を受け入れることを示します。 これらのボックスをオンにして、ボタンでシークレットを作成できるようにする必要があります。

-
「シークレットを作成」をクリックします。
選択したサービスが再起動し、新しいシークレットが環境変数として適用されます。
既存のシークレットの表示と変更
既存のシークレットを表示または変更するには、任意の環境の [Settings] ページに移動します。 次に、[ Secrets ]セクションで、リストされているシークレットのアクションメニューをクリックします。 シークレットを表示、編集、または削除するオプションが表示されます。
![[設定]ページから既存のシークレットを表示、編集、または削除します。](https://resources.learn.liferay.com/images/dxp/latest/en/cloud/tuning-security-settings/managing-secure-environment-variables-with-secrets/images/09.png)
ユーザーがシークレットを表示する権限を持っている場合でも、既存のシークレットを編集または削除できるのは、 管理者 ロールを持つユーザーのみです。 管理者 ロールを持たないユーザーがシークレットのアクション メニューをクリックすると、シークレットを表示するオプションのみが表示されます。
これは、表示権限を持つユーザーがシークレットの [View] オプションをクリックしたときに表示されるページです:

環境変数からのシークレットの参照
シークレット変数 は、安全にシークレットを参照して値を得る環境変数です。 通常の環境変数と同様に、シークレットの変数は、サービス LCP.json ファイル、または環境変数のページで定義できます。 シークレット変数がシークレットのキーを参照できるようにするには、シークレットが事前に 追加されている 必要があります。
シークレットを参照するには:
-
選択したサービスの環境変数ページに移動します。
-
[Secret variables] のセクションまでスクロールダウンします。
![シークレットは、環境変数ページの[シークレット変数]セクションを使って追加できます。](https://resources.learn.liferay.com/images/dxp/latest/en/cloud/tuning-security-settings/managing-secure-environment-variables-with-secrets/images/11.png)
-
変数を追加をクリックします。
-
新しいシークレット変数の名前を決めて( [Key]の下)、それが参照するシークレットを選択します。

これで新しい環境変数は、選択したシークレットの値を参照するようになりました。
LCP.jsonを介したシークレット変数の追加
サービスの LCP.json ファイルに追加された環境変数からシークレットを参照することもできます。 変数の値内の秘密のキーを参照するには、キーの前に @ 文字を追加します。
{
"env": {
"VARIABLE_NAME": "@secret-key"
}
}
ファイルをサービスにデプロイすると、シークレット変数が他の変数とともに環境変数ページに表示されます。