サービスまたはジョブで、API キーやパスワードなどの機密情報を必要とする依存関係が必要になることがあります。Cloud Run の場合、このタイプの機密情報を Secret Manager で作成したシークレットに保存することをおすすめします。
コンテナでシークレットを使用するには、次の 2 つの方法があります。
- 各シークレットをボリュームとしてマウントし、そのシークレットをファイルとしてコンテナで利用できるようにします。ボリュームを読み取ると常に Secret Manager からシークレット値が取得されます。これは、最新のバージョンで使用できます。この方法はシークレット ローテーションでも有効です。
- 環境変数を使用してシークレットを渡します。環境変数はインスタンスの起動時に解決されるため、この方法を使用する場合は、最新ではなく、特定のバージョンにシークレットを固定することをおすすめします。
詳細については、Secret Manager のベスト プラクティスのドキュメントをご覧ください。
デプロイ時とランタイムにシークレットを確認する方法
サービスのデプロイ時またはジョブの作成時に、環境変数として使用されるシークレットとボリュームとしてマウントされたシークレットがすべてチェックされ、コンテナの実行に使用されるサービス アカウントにアクセス権があるかどうか確認されます。いずれかのチェックに失敗すると、デプロイまたはジョブの作成は失敗します。
ラインタイムにインスタンスが起動したときに、次の処理が実行されます。
- シークレットが環境変数の場合、インスタンスの開始前にシークレットの値が取得されます。シークレットの取得に失敗した場合、インスタンスは開始しません。
- シークレットがボリュームとしてマウントされている場合、インスタンスの起動時にチェックは行われません。ただし、ランタイムにシークレットにアクセスできない場合、マウントされたボリュームの読み取りに失敗します。
ボリュームの所有権は実行環境とデプロイタイプによって異なる
ボリュームをマウントする場合、ファイルとディレクトリを所有する ID は、ワークロードの実行環境や、デプロイが 1 つまたは複数のコンテナで構成されているかどうかによって異なります。
単一のコンテナをデプロイする第 1 世代の実行環境の場合、コンテナに使用されている ID がボリュームを所有します。それ以外の場合はすべて、root がボリュームを所有します。以下に例を示します。
- 複数のコンテナをデプロイする第 1 世代の実行環境
- 第 2 世代の環境
Cloud Run にシークレットへのアクセスを許可する
既存の Secret Manager シークレットを使用するか、新しいシークレットを作成できます。ただし、Cloud Run サービスがシークレットにアクセスできるようにするには、Cloud Run サービス アカウントに Secret Manager のシークレット アクセサーのロールを付与する必要があります。
シークレットを選択し、右側の権限タブで [プリンシパルを追加] をクリックします。
[新しいプリンシパル] テキスト ボックスに、Cloud Run サービスのサービス アカウントのメールアドレスを入力します。
Secret Manager のシークレット アクセサーのロールを付与します。
Cloud Run がシークレットにアクセスできるようにする
サービスとジョブでシークレットを使用できます。
Cloud Run サービスの場合
構成を変更すると、新しいリビジョンが作成されます。明示的に更新しない限り、以降のリビジョンでも、この構成が自動的に設定されます。
新しいサービスをデプロイするか、既存のサービスを更新してリビジョンをデプロイする際に、Google Cloud コンソール、Google Cloud CLI、または YAML ファイルを使用して、サービスでシークレットを利用できるようにします。
コンソール
デプロイ先の新しいサービスを構成する場合は、[サービスの作成] をクリックします。既存のサービスを構成する場合は、サービスをクリックし、[新しいリビジョンの編集とデプロイ] をクリックします。
新しいサービスを構成する場合は、最初のサービス設定のページに入力してから、[Container, Networking, Security] をクリックしてサービス構成ページを開きます。
[コンテナ] タブをクリックします。
- [シークレット] で、次の操作を行います。
- [シークレットの参照] をクリックします。
- [シークレット] プルダウン リストから、使用するシークレットを選択します。
- [参照の方法] プルダウン メニューで、シークレットの使用方法を選択します(ボリュームとしてマウントするか、環境変数として公開します)。
- シークレットをボリュームとしてマウントする場合:
- [マウントパス] で、シークレットに使用するマウントパスを指定します。
- デフォルトでは最新バージョンが選択されます。必要に応じて特定のバージョンを選択できます。[シークレット バージョンに指定されているパス] で、バージョンへのパスとバージョン番号を指定します。
- [完了] をクリックします。
- シークレットを環境変数として公開する場合:
- 変数の名前を指定し、シークレット バージョンを選択します。常に現在のシークレット バージョンを使用する場合は、latest に設定します。
- [完了] をクリックします。
- [シークレット] で、次の操作を行います。
[作成] または [デプロイ] をクリックします。
コマンドライン
サービスでシークレットを利用できるようにするには、次のいずれかのコマンドを入力します。
サービスをデプロイするときにシークレットをボリュームとしてマウントするには:
gcloud run deploy SERVICE --image IMAGE_URL \ --update-secrets=PATH=SECRET_NAME:VERSION
次のように置き換えます。
SERVICE
: 実際のサービスの名前。- IMAGE_URL は、コンテナ イメージへの参照(
us-docker.pkg.dev/cloudrun/container/hello:latest
など)に置き換えます。Artifact Registry を使用する場合、URL はREGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
という形式になります。 PATH
は、ボリュームのマウントパスとシークレットのファイル名で置き換えます。先頭にスラッシュを付ける必要があります(例:/etc/secrets/dbconfig/password
)。ここで、/etc/secrets/dbconfig/
はボリュームのマウントパス、password
はシークレットのファイル名です。SECRET_NAME
は、同じプロジェクト内のシークレット名に置き換えます(例:mysecret
)。VERSION
は、シークレットのバージョンに置き換えます。最新バージョンにはlatest
または数字(2
など)を使用します。
サービスをデプロイするときに、シークレットを環境変数として公開するには:
gcloud run deploy SERVICE --image IMAGE_URL --update-secrets=ENV_VAR_NAME=SECRET_NAME:VERSION
次のように置き換えます。
SERVICE
: 実際のサービスの名前。- IMAGE_URL は、コンテナ イメージへの参照(
us-docker.pkg.dev/cloudrun/container/hello:latest
など)に置き換えます。Artifact Registry を使用する場合、URL はREGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
という形式になります。 ENV_VAR_NAME
は、シークレットで使用する環境変数の名前に置き換えます。SECRET_NAME
は、同じプロジェクト内のシークレット名に置き換えます(例:mysecret
)。VERSION
は、シークレットのバージョンに置き換えます。最新バージョンにはlatest
または数字(2
など)を使用します。
複数のシークレットを同時に更新できます。これを行うには、各シークレットの構成オプションをカンマで区切ります。次のコマンドは、ボリュームとしてマウントされたシークレットと、環境変数として公開された別のシークレットを更新します。
既存のシークレットを更新するには、次のコマンドを入力します。
gcloud run deploy SERVICE --image IMAGE_URL \ --update-secrets=PATH=SECRET_NAME:VERSION,ENV_VAR_NAME=SECRET_NAME:VERSION
既存のシークレットをクリアして、サービスで新しいシークレットを利用できるようにするには、
--set-secrets
フラグを使用します。gcloud run services update SERVICE \ --set-secrets="ENV_VAR_NAME=SECRET_NAME:VERSION"
YAML
既存のサービス構成をダウンロードして表示するには、gcloud run services describe --format export
コマンドを使用します。読みやすく整えられた結果が YAML 形式で出力されます。次に、下記の手順でフィールドを変更し、gcloud run services replace
コマンドを使用して変更後の YAML ファイルをアップロードします。必ず説明されているとおりにフィールドを変更してください。
構成を表示してダウンロードするには:
gcloud run services describe SERVICE --format export > service.yaml
環境変数として公開されたシークレットの場合、
env
で、必要に応じて ENV_VAR、VERSION、SECRET_NAME を更新します。複数のシークレットを環境変数としてマウントすると、属性はその倍数になります。apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: name: REVISION spec: containers: - image: IMAGE_URL env: - name: ENV_VAR valueFrom: secretKeyRef: key: VERSION name: SECRET_NAME
ファイルパスとしてマウントされたシークレットの場合は、必要に応じて MOUNT_PATH、VOLUME_NAME、VERSION、FILENAME、SECRET_NAME を更新します。ファイルパスとして複数のシークレットをマウントすると、属性はその倍数になります。
apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: name: REVISION spec: containers: - image: IMAGE_URL volumeMounts: - mountPath: MOUNT_PATH name: VOLUME_NAME volumes: - name: VOLUME_NAME secret: items: - key: VERSION path: FILENAME secretName: SECRET_NAME
VOLUME_NAME
は任意の名前に設定できます。次のように置き換えます。
- SERVICE は、Cloud Run サービスの名前に置き換えます。
- IMAGE_URL は、コンテナ イメージへの参照(
us-docker.pkg.dev/cloudrun/container/hello:latest
など)に置き換えます。Artifact Registry を使用する場合、URL はREGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
という形式になります。 - REVISION は、新しいリビジョン名に置き換えるか、削除します(存在する場合)。新しいリビジョン名を指定する場合は、次の条件を満たす必要があります。
SERVICE-
で始まる- 小文字、数字、
-
のみが使用されている - 末尾が
-
ではない - 63 文字以内である
次のコマンドを使用して、サービスを新しい構成に置き換えます。
gcloud run services replace service.yaml
他のプロジェクトのシークレットを参照する
プロジェクトのサービス アカウントにシークレットへのアクセスが許可されている場合、別のプロジェクトのシークレットを参照できます。
コンソール
デプロイ先の新しいサービスを構成する場合は、[サービスの作成] をクリックします。既存のサービスを構成する場合は、サービスをクリックし、[新しいリビジョンの編集とデプロイ] をクリックします。
新しいサービスを構成する場合は、最初のサービス設定のページに入力してから、[Container, Networking, Security] をクリックしてサービス構成ページを開きます。
[コンテナ] タブをクリックします。
- [シークレット] で、次の操作を行います。
- [シークレットの参照] をクリックします。
- [Secret が表示されない場合は、Secret のリソース ID を入力してください] を [シークレット] プルダウン リストから選択し、次のフォームを表示します。
- [リソース ID による Secret の追加] フォームに、他のプロジェクトのシークレットを
projects/PROJECT_NUMBER/secrets/SECRET_NAME
の形式で入力します。他のプロジェクトのリソース ID が利用可能な場合は、それをコピーして貼り付けることができます。その場合、シークレットを選択してから、シークレットの右側にある [アクション] をクリックし、プルダウン メニューから [リソース ID をコピー] を選択します。 - [シークレットを追加] をクリックします。
- [参照の方法] プルダウン メニューで、シークレットの使用方法を選択します(ボリュームとしてマウントするか、環境変数として公開します)。
- シークレットをボリュームとしてマウントする場合:
- [マウントパス] で、シークレットに使用するマウントパスを指定します。
- デフォルトでは最新バージョンが選択されます。必要に応じて特定のバージョンを選択できます。[シークレット バージョンに指定されているパス] で、バージョンへのパスとバージョン番号を指定します。
- [完了] をクリックします。
- シークレットを環境変数として公開する場合:
- 変数の名前を指定し、シークレット バージョンを選択します。常に現在のシークレット バージョンを使用する場合は、latest に設定します。
- [完了] をクリックします。
- [シークレット] で、次の操作を行います。
[作成] または [デプロイ] をクリックします。
コマンドライン
サービスをデプロイするときにシークレットをボリュームとしてマウントするには:
gcloud run deploy SERVICE --image IMAGE_URL \ --update-secrets=PATH=projects/PROJECT_NUMBER/secrets/SECRET_NAME:VERSION
次のように置き換えます。
SERVICE
: 実際のサービスの名前。- IMAGE_URL は、コンテナ イメージへの参照(
us-docker.pkg.dev/cloudrun/container/hello:latest
など)に置き換えます。Artifact Registry を使用する場合、URL はREGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
という形式になります。 PATH
は、ボリュームのマウントパスとシークレットのファイル名で置き換えます。先頭にスラッシュを付ける必要があります(例:/etc/secrets/dbconfig/password
)。ここで、/etc/secrets/dbconfig/
はボリュームのマウントパス、password
はシークレットのファイル名です。PROJECT_NUMBER
は、シークレットが作成されたプロジェクトのプロジェクト番号に置き換えます。SECRET_NAME
は、mysecret
などのシークレット名に置き換えます。VERSION
は、シークレットのバージョンに置き換えます。最新バージョンにはlatest
または数字(2
など)を使用します。
YAML
既存のサービス構成をダウンロードして表示するには、gcloud run services describe --format export
コマンドを使用します。読みやすく整えられた結果が YAML 形式で出力されます。次に、下記の手順でフィールドを変更し、gcloud run services replace
コマンドを使用して変更後の YAML ファイルをアップロードします。必ず説明されているとおりにフィールドを変更してください。
構成を表示してダウンロードするには:
gcloud run services describe SERVICE --format export > service.yaml
API の互換性には制約があるため、シークレットの場所はアノテーションに保存する必要があります。
環境変数として公開されたシークレットの場合:
apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: annotations: run.googleapis.com/secrets: SECRET_LOOKUP_NAME:projects/PROJECT_NUMBER/secrets/SECRET_NAME spec: containers: - image: IMAGE_URL env: - name: ENV_VAR valueFrom: secretKeyRef: key: VERSION name: SECRET_LOOKUP_NAME
次のように置き換えます。
SERVICE
: 実際のサービスの名前。- IMAGE_URL は、コンテナ イメージへの参照(
us-docker.pkg.dev/cloudrun/container/hello:latest
など)に置き換えます。Artifact Registry を使用する場合、URL はREGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
という形式になります。 ENV_VAR
PROJECT_NUMBER
は、シークレットが作成されたプロジェクトのプロジェクト番号に置き換えます。SECRET_NAME
は、mysecret
などのシークレット名に置き換えます。VERSION
は、シークレットのバージョンに置き換えます。最新バージョンにはlatest
または数字(2
など)を使用します。SECRET_LOOKUP_NAME
は、有効なシークレット名の構文を持つ任意の名前(my-secret
など)で置き換えます。SECRET_NAME
と同じ値にすることもできます。
シークレットをファイルパスとしてマウントする場合:
apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: annotations: run.googleapis.com/secrets: SECRET_LOOKUP_NAME:projects/PROJECT_NUMBER/secrets/SECRET_NAME spec: containers: - image: IMAGE_URL volumeMounts: - mountPath: MOUNT_PATH name: VOLUME_NAME volumes: - name: VOLUME_NAME secret: items: - key: VERSION path: FILENAME secretName: SECRET_LOOKUP_NAME
次のように置き換えます。
SERVICE
: 実際のサービスの名前。- IMAGE_URL は、コンテナ イメージへの参照(
us-docker.pkg.dev/cloudrun/container/hello:latest
など)に置き換えます。Artifact Registry を使用する場合、URL はREGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
という形式になります。 PATH
は、ボリュームのマウントパスとシークレットのファイル名で置き換えます。先頭にスラッシュを付ける必要があります(例:/etc/secrets/dbconfig/password
)。ここで、/etc/secrets/dbconfig/
はボリュームのマウントパス、password
はシークレットのファイル名です。PROJECT_NUMBER
は、シークレットが作成されたプロジェクトのプロジェクト番号に置き換えます。SECRET_NAME
は、mysecret
などのシークレット名に置き換えます。VERSION
は、シークレットのバージョンに置き換えます。最新バージョンにはlatest
または数字(2
など)を使用します。SECRET_LOOKUP_NAME
は、有効なシークレット名の構文を持つ任意の名前(my-secret
など)で置き換えます。SECRET_NAME
と同じ値にすることもできます。VOLUME_NAME
は任意の名前(my-volume
など)で置き換えます。SECRET_NAME
と同じ値にすることもできます。
Cloud Run ジョブの場合
Google Cloud コンソール、Google Cloud CLI、または YAML を使用して、ジョブでシークレットを利用できるようにします。
コンソール
新しいジョブを構成する場合は、[ジョブ] タブをクリックし、必要に応じて初期ジョブ設定ページを入力します。既存のジョブを構成する場合は、ジョブをクリックして [編集] をクリックします。
[コンテナ、変数とシークレット、接続、セキュリティ] をクリックして、ジョブのプロパティ ページを開きます。
[変数とシークレット] タブをクリックします。
- [変数とシークレット] タブで、次の操作を行います。
- [シークレット] で、[シークレットを参照] をクリックします。
- [シークレット] プルダウン リストから、使用するシークレットを選択します。
- [参照の方法] プルダウン メニューで、シークレットの使用方法を選択します(ボリュームとしてマウントするか、環境変数として公開します)。
- シークレットをボリュームとしてマウントする場合:
- [マウントパス] で、シークレットに使用するマウントパスを指定します。
- デフォルトでは最新バージョンが選択されます。必要に応じて特定のバージョンを選択できます。[シークレット バージョンに指定されているパス] で、バージョンへのパスとバージョン番号を指定します。
- [完了] をクリックします。
- シークレットを環境変数として公開する場合:
- 変数の名前を指定し、シークレット バージョンを選択します。常に現在のシークレット バージョンを使用する場合は、latest に設定します。
- [完了] をクリックします。
- [変数とシークレット] タブで、次の操作を行います。
[作成] または [更新] をクリックします。
コマンドライン
新しいジョブを作成するときに、環境変数でシークレットを指定するには:
gcloud run jobs create JOB_NAME \ --image IMAGE_URL \ --set-secrets ENV_VAR_NAME=SECRET_NAME:VERSION
次のように置き換えます。
- JOB_NAME: ジョブの名前。
- ENV_VAR_NAME: シークレットに使用する環境変数の名前。
- SECRET_NAME は、同じプロジェクト内のシークレット名に置き換えます(例:
mysecret
)。 - VERSION は、シークレットのバージョンに置き換えます。最新バージョンには
latest
または数字(2
など)を使用します。 - IMAGE_URL は、コンテナ イメージへの参照(
us-docker.pkg.dev/cloudrun/container/job:latest
など)に置き換えます。
カンマ区切りのリストを使用して、複数の環境変数 / シークレットのペアを指定できます。
ジョブを更新するときに、環境変数でシークレットを指定するには:
gcloud run jobs update JOB_NAME \ --set-secrets ENV_VAR_NAME=SECRET_NAME:VERSION
ジョブの作成時にシークレットをボリュームとしてマウントするには:
gcloud run jobs create JOB_NAME \ --image IMAGE_URL \ --set-secrets=PATH=SECRET_NAME:VERSION
次のように置き換えます。
- JOB_NAME は、ジョブの名前に置き換えます。
- IMAGE_URL は、コンテナ イメージへの参照(
us-docker.pkg.dev/cloudrun/container/job:latest
など)で置き換えます。 PATH
は、ボリュームのマウントパスとシークレットのファイル名で置き換えます。先頭にスラッシュを付ける必要があります(例:/etc/secrets/dbconfig/password
)。ここで、/etc/secrets/dbconfig/
はボリュームのマウントパス、password
はシークレットのファイル名です。SECRET_NAME
は、同じプロジェクト内のシークレット名に置き換えます(例:mysecret
)。VERSION
は、シークレットのバージョンに置き換えます。最新バージョンにはlatest
または数字(2
など)を使用します。
既存のジョブのシークレットを更新するには:
gcloud run jobs update JOB_NAME \ --update-secrets=PATH=SECRET_NAME:VERSION
YAML
API の互換性には制約があるため、シークレットの場所はアノテーションに保存する必要があります。
gcloud run jobs describe --format export
コマンドを使用して既存のジョブ構成をダウンロードして表示します。読みやすく整えられた結果が YAML 形式で出力されます。次に、下記のフィールドを変更して、gcloud run jobs replace
コマンドで変更後の YAML ファイルをアップロードします。必ず説明されているとおりにフィールドを変更してください。
次のコマンドで、構成を表示してダウンロードします。
gcloud run jobs describe JOB_NAME --format export > job.yaml
環境変数として公開されたシークレットの場合:
apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB spec: template: spec: template: spec: containers: - env: - name: SECRET_NAME valueFrom: secretKeyRef: key: VERSION name: SECRET_LOOKUP_NAME image: IMAGE_URL
次のように置き換えます。
JOB
: ジョブの名前。- IMAGE_URL は、コンテナ イメージへの参照(
us-docker.pkg.dev/cloudrun/container/hello:latest
など)に置き換えます。Artifact Registry を使用する場合、URL はREGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
という形式になります。 SECRET_NAME
は、mysecret
などのシークレット名に置き換えます。VERSION
は、シークレットのバージョンに置き換えます。最新バージョンにはlatest
または数字(2
など)を使用します。SECRET_LOOKUP_NAME
は、有効なシークレット名の構文を持つ任意の名前(my-secret
など)で置き換えます。SECRET_NAME
と同じ値にすることもできます。
シークレットをファイルパスとしてマウントする場合:
apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB_NAME spec: template: spec: template: spec: containers: - image: IMAGE_URL volumeMounts: - mountPath: MOUNT_PATH name: VOLUME_NAME volumes: - name: VOLUME_NAME secret: items: - key: VERSION path: FILENAME secretName: SECRET_LOOKUP_NAME
次のように置き換えます。
JOB_NAME
: ジョブの名前。- IMAGE_URL は、コンテナ イメージへの参照(
us-docker.pkg.dev/cloudrun/container/hello:latest
など)に置き換えます。Artifact Registry を使用する場合、URL はREGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
という形式になります。 PATH
は、ボリュームのマウントパスとシークレットのファイル名で置き換えます。先頭にスラッシュを付ける必要があります(例:/etc/secrets/dbconfig/password
)。ここで、/etc/secrets/dbconfig/
はボリュームのマウントパス、password
はシークレットのファイル名です。PROJECT_NUMBER
は、シークレットが作成されたプロジェクトのプロジェクト番号に置き換えます。SECRET_NAME
は、mysecret
などのシークレット名に置き換えます。VERSION
は、シークレットのバージョンに置き換えます。最新バージョンにはlatest
または数字(2
など)を使用します。SECRET_LOOKUP_NAME
は、有効なシークレット名の構文を持つ任意の名前(my-secret
など)で置き換えます。SECRET_NAME
と同じ値にすることもできます。VOLUME_NAME
は任意の名前(my-volume
など)で置き換えます。SECRET_NAME
と同じ値にすることもできます。
シークレットの設定を表示する
Cloud Run サービスの現在のシークレットの設定を表示するには:
コンソール
目的のサービスをクリックして、[サービスの詳細] ページを開きます。
[変更内容] タブをクリックします。
右側の詳細パネルの [変数とシークレット] タブに、シークレットの設定が表示されます。
コマンドライン
次のコマンドを使用します。
gcloud run services describe SERVICE
返された構成で、シークレットの設定を見つけます。
Cloud Run ジョブの現在のシークレットの設定を表示するには:
コンソール
目的のジョブをクリックして、[ジョブの詳細] ページを開きます。
[構成] タブをクリックします。
構成の詳細でシークレットの設定を見つけます。
コマンドライン
次のコマンドを使用します。
gcloud run jobs describe JOB_NAME
返された構成で、シークレットの設定を見つけます。
コードでシークレットを使用する
コード内でシークレットを環境変数としてアクセスする例については、エンドユーザー認証に関するチュートリアル、特に Secret Manager で機密性の高い構成を処理するのセクションをご覧ください。
許可されていないパスと制限
Cloud Run では、/dev
、/proc
、/sys
、またはそのサブディレクトリにシークレットをマウントすることはできません。
/tmp
にシークレットをマウントし、第 1 世代の実行環境を使用している場合は、/tmp
へのシークレットのマウントに関する既知の問題をご覧ください。
Cloud Run では、複数のボリューム マウントを同じ場所にマウントできないため、複数のシークレットを同じパスにマウントすることはできません。