Documentation

シークレットで安全な環境変数を管理

シークレットを使用すると、DXP Cloud内の任意の環境の変数を安全に保存できます。 DXP Cloudプロジェクトを表示する権限を持つすべてのユーザーは 環境変数表示できますが、シークレットは、その役割にそれらを表示する権限が付与されている場合にのみ表示できます。

シークレットとは?

シークレットは、その値を保護するための追加のセキュリティ対策を備えた環境変数です。 機密情報やプライベート情報(クレデンシャルなど)を定義する環境変数はすべてシークレットとして保存されるべきです。 シークレットは、環境内の任意の数のサービスの安全な変数として定義できます。

シークレットを表示する権限を持つユーザーは、任意のサービスの[環境変数]タブでシークレットを表示できます。 それらは他の環境変数と同じページに表示され、独自のセクションにあります。

「環境変数」ページには、通常の環境変数とシークレットの両方がリストされています。

デフォルトでは、シークレットは システム管理 ロールを持つユーザーのみが表示できます。 ただし、シークレットは、他のロールを持つユーザーも表示できるように設定できます。

シークレットは暗号化して保存され、DXP Cloudのバックエンドでは通常の環境変数よりもセキュリティが強化されています。 UIを介してシークレットを表示すると、表示される前に格納された値が復号化されます。

新しいシークレットを追加する

新しいシークレットは、DXP Cloudの 設定 画面で追加されます。 システム管理 ロールを持つユーザーのみが新しいシークレットを追加できます。

警告

サービスに新しいシークレットを追加すると、その値が有効になるようにサービスが再起動されます。

次の手順に従って、新しいシークレットを追加します:

  1. DXP Cloudコンソールにログインします。

  2. 任意の環境の [設定]画面に移動します。

    シークレットにアクセスするには、[設定]画面に移動します。

  3. ページ内の [Secrets] のセクションで、 [Create New Secret] ををクリックします。

    環境の設定画面から新しいシークレットを作成します。

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

    新しいシークレットの名前と説明を入力します。

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

    裏で暗号化するシークレットの値を入力します。

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

    管理者の役割に加えて、表示権限を与える役割を選択します。

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

    新しいシークレットを追加するサービスを選択します。

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

    シークレットの作成を続行するには、表示されるボックスをオンにします。

  9. シークレットの作成] をクリックします。

選択したサービスが再起動し、新しいシークレットが環境変数として適用されます。

既存のシークレットの表示と変更

既存のシークレットを表示または変更するには、任意の環境の [設定] ページに移動します。 次に、[シークレット]セクションで、リストされているシークレットの[アクション]メニューをクリックします。 シークレットを表示、編集、または削除するオプションが表示されます。

[設定]ページから既存のシークレットを表示、編集、または削除します。

注釈

ユーザーがシークレットを閲覧する権限を持っていても、既存のシークレットを編集したり削除したりできるのは[管理者]ロールを持つユーザーだけです。 [管理者]ロールを持たないユーザーがシークレットのアクションメニューをクリックすると、シークレットを表示するオプションのみが表示されます。

これは、表示権限を持つユーザーがシークレットの [表示] オプションをクリックしたときに表示されるページです:

既存のシークレットのビューページ。

環境変数からのシークレットの参照

シークレット変数 は、安全にシークレットを参照して値を得る環境変数です。 通常の環境変数と同様に、シークレットの変数は、サービス LCP.json ファイル、または環境変数のページで定義できます。 シークレット変数がシークレットのキーを参照できるように、シークレットは すでに追加されている 必要があります。

シークレットを参照するには:

  1. 選択したサービスの[環境変数]ページに移動します。

  2. Secret variables] のセクションまでスクロールダウンします。

    シークレットは、環境変数ページの[シークレット変数]セクションを使って追加できます。

  3. [Add variables] をクリックします。

  4. 新しいシークレット変数の名前を決めて([Key] の下)、それが参照するシークレットを選択します。

    特定のシークレットを参照するために、UIでシークレット変数を追加します。

これで新しい環境変数は、選択したシークレットの値を参照するようになりました。

LCP.jsonを介したシークレット変数の追加

また、サービスの LCP.json ファイルに追加された環境変数から、シークレットを参照することもできます。 キーの前に @ を付けることで、変数の値でシークレットのキーを参照することができます。

{
    "env": {
        "VARIABLE_NAME": "@secret-key"
    }
}

ファイルをサービスにデプロイすると、シークレット変数が他の変数とともに環境変数ページに表示されます。