Für die Abhängigkeiten Ihres Jobs sind möglicherweise API-Schlüssel, Passwörter, Zertifikate oder andere vertrauliche Informationen erforderlich. Für Cloud Run empfiehlt Google, diese vertraulichen Informationen in einem Secret zu speichern, das Sie in Secret Manager erstellen.
Sie können ein Secret für Ihre Container auf eine der folgenden Arten verfügbar machen:
- Wenn Sie jedes Secret als Volume bereitstellen, stellt Cloud Run das Secret dem Container als Dateien zur Verfügung. Beim Lesen eines Volumes ruft Cloud Run immer den Secret-Wert aus Secret Manager ab, um den Wert mit der neuesten Version zu verwenden. Diese Methode funktioniert auch gut mit der Secret-Rotation.
- Übergeben Sie ein Secret mithilfe von Umgebungsvariablen.
Umgebungsvariablen werden beim Starten der Instanz aufgelöst. Wenn Sie diese Methode verwenden, empfiehlt Google, dass Sie das Secret auf eine bestimmte Version statt auf
latest
setzen.
Weitere Informationen finden Sie unter Best Practices für Secret Manager.
So werden Secrets bei der Bereitstellung und zur Laufzeit geprüft
Während der Joberstellung werden alle von Ihnen verwendeten Secrets von Cloud Run überprüft. Mit der Prüfung wird sichergestellt, dass das Dienstkonto, mit dem der Container ausgeführt wird, die Berechtigung hat, auf diese Secrets zuzugreifen.
Während der Laufzeit beim Start von Instanzen:
- Wenn das Secret eine Umgebungsvariable ist, ruft Cloud Run den Wert des Secrets vor dem Starten der Instanz ab. Wenn der Secret-Abruf fehlschlägt, wird die Instanz nicht gestartet.
- Wenn Sie das Secret als Volume bereitstellen, führt Cloud Run beim Start der Instanz keine Prüfungen durch. Während der Laufzeit schlägt jedoch der Zugriff auf ein bereitgestelltes Volume fehl, wenn auf ein Secret nicht zugegriffen werden kann.
Volume-Inhaberschaft
Die Inhaberschaft eines Cloud Run-Secret-Volumes variiert je nach Ausführungsumgebung und Bereitstellungstyp.
Wenn Sie ein Secret-Volume mit der Ausführungsumgebung der zweiten Generation bereitstellen, was bei Jobs immer der Fall ist, gehört das Volume dem Root.
Hinweise
-
Enable the Secret Manager API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. - Verwenden Sie ein vorhandenes Secret oder erstellen Sie ein Secret in Secret Manager, wie unter Secret erstellen beschrieben.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zur Konfiguration von Secrets benötigen:
-
Cloud Run-Administrator (
roles/run.admin
) im Cloud Run-Job -
Dienstkontonutzer (
roles/iam.serviceAccountUser
) für die Dienstidentität
Damit Cloud Run auf das Secret zugreifen kann, muss die Dienstidentität die folgende Rolle haben:
- Zugriffsperson für Secret Manager-Secret (
roles/secretmanager.secretAccessor
)
Eine Anleitung zum Hinzufügen des Dienstidentitätshauptkontos zur Rolle „Secret Manager Secret Accessor“ finden Sie unter Zugriff auf Secrets verwalten.
Eine Liste der IAM-Rollen und -Berechtigungen im Zusammenhang mit Cloud Run finden Sie unter IAM-Rollen für Cloud Run und IAM-Berechtigungen für Cloud Run. Wenn Ihr Cloud Run-Job mitGoogle Cloud APIs wie Cloud-Clientbibliotheken verknüpft ist, lesen Sie die Konfigurationsanleitung für Dienstidentitäten. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Bereitstellungsberechtigungen und Zugriff verwalten.
Secret für Cloud Run zugänglich machen
Sie können ein Secret für Ihren Job über die Google Cloud Console, die Google Cloud CLI oder YAML zugänglich machen:
Konsole
Wechseln Sie in der Google Cloud -Console zur Seite „Cloud Run-Jobs“:
Wählen Sie im Menü Jobs aus und klicken Sie auf Container bereitstellen, um die Seite mit den anfänglichen Jobeinstellungen auszufüllen. Wenn Sie einen vorhandenen Job konfigurieren, wählen Sie den Job aus und klicken Sie dann auf Jobkonfiguration ansehen und bearbeiten.
Klicken Sie auf Container, Volumes, Verbindungen, Sicherheit, um die Seite mit den Jobattributen zu maximieren.
Klicken Sie auf den Tab Variablen und Secrets.
- Auf dem Tab "Variablen und Secrets":
So machen Sie das Secret als Umgebungsvariable verfügbar:
- Klicken Sie auf den Tab Container.
- Klicken Sie auf dem Tab Variablen und Secrets auf Secret-Referenz.
- Geben Sie im Feld Name 1 den Namen der Umgebungsvariable ein.
- Wählen Sie in der Liste Secret das Secret aus, das Sie verwenden möchten.
- Wählen Sie in der Liste Version 1 die Version des Secrets aus, auf die verwiesen werden soll.
- Klicken Sie auf Fertig.
- Klicken Sie auf Erstellen oder Bereitstellen.
So stellen Sie ein Secret als Volume bereit:
- Klicken Sie auf den Tab Volumes und wählen Sie Volume hinzufügen aus.
- Wählen Sie in der Liste Volume-Typ die Option Secret aus.
- Geben Sie im Feld Volume name einen Namen ein oder übernehmen Sie den Standardnamen.
- Wählen Sie in der Liste Secret das Secret aus, das Sie verwenden möchten.
- Geben Sie im Feld Path 1 den Namen der Datei ein, die bereitgestellt werden soll.
- Wählen Sie in der Liste Version 1 die Version des Secrets aus, auf die verwiesen werden soll. Standardmäßig ist die neueste Version ausgewählt. Sie können bei Bedarf eine bestimmte Version auswählen.
- Klicken Sie auf Fertig.
- Wechseln Sie zum Tab Container, um das Secret im Container bereitzustellen.
- Klicken Sie auf dem Tab Volume-Bereitstellungen auf Volume bereitstellen.
- Wählen Sie in der Liste Name 1 den Namen des Volumes aus.
- Geben Sie im Feld Bereitstellungspfad 1 den Bereitstellungspfad für dieses Secret ein. In diesem Verzeichnis werden alle Versionen Ihres Secrets abgelegt.
- Klicken Sie auf Fertig.
- Klicken Sie auf Erstellen oder Bereitstellen.
- Auf dem Tab "Variablen und Secrets":
Klicken Sie auf Erstellen oder Aktualisieren.
gcloud
So geben Sie das Secret in einer Umgebungsvariablen an, wenn Sie einen neuen Job erstellen:
gcloud run jobs create JOB_NAME \ --image IMAGE_URL \ --set-secrets ENV_VAR_NAME=SECRET_NAME:VERSION
Ersetzen Sie Folgendes:
- JOB_NAME: der Name des Jobs.
- ENV_VAR_NAME: Der Name der Umgebungsvariablen, die für das Secret verwendet werden soll.
- SECRET_NAME: der Secret-Name im selben Projekt, z. B.
mysecret
. - VERSION: die Secret-Version. Verwenden Sie
latest
für die neueste Version oder eine Zahl, z. B.2
. - IMAGE_URL: Ein Verweis auf das Container-Image, z. B.
us-docker.pkg.dev/cloudrun/container/job:latest
.
Mit einer durch Kommas getrennten Liste können Sie mehrere Umgebungsvariablen/Secret-Paare angeben.
So geben Sie das Secret in einer Umgebungsvariablen an, wenn Sie einen Job aktualisieren:
gcloud run jobs update JOB_NAME \ --set-secrets ENV_VAR_NAME=SECRET_NAME:VERSION
So stellen Sie das Secret beim Erstellen eines Jobs als Volume bereit:
gcloud run jobs create JOB_NAME \ --image IMAGE_URL \ --set-secrets=PATH=SECRET_NAME:VERSION
Ersetzen Sie Folgendes:
- JOB_NAME: der Name des Jobs.
- IMAGE_URL: Ein Verweis auf das Container-Image, z. B.
us-docker.pkg.dev/cloudrun/container/job:latest
. - PATH: der Bereitstellungspfad des Volumes und der Dateiname des Secrets. Sie muss mit einem Schrägstrich beginnen, z. B.
/etc/secrets/dbconfig/password
, wobei/etc/secrets/dbconfig/
der Bereitstellungspfad des Volumes undpassword
der Dateiname des Secrets ist. - SECRET_NAME: der Secret-Name im selben Projekt, z. B.
mysecret
. - VERSION: die Secret-Version. Verwenden Sie
latest
für die neueste Version oder eine Zahl, z. B.2
.
So aktualisieren Sie ein Secret in einem vorhandenen Job:
gcloud run jobs update JOB_NAME \ --update-secrets=PATH=SECRET_NAME:VERSION
YAML
Aufgrund von Einschränkungen zur API-Kompatibilität müssen die Secret-Standorte in einer Annotation gespeichert werden.
Wenn Sie einen neuen Dienst erstellen, überspringen Sie diesen Schritt. Wenn Sie einen vorhandenen Dienst aktualisieren, laden Sie die zugehörige YAML-Konfiguration herunter:
gcloud run jobs describe JOB_NAME --format export > job.yaml
Für Secrets, die als Umgebungsvariablen bereitgestellt werden:
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
Ersetzen Sie Folgendes:
- JOB: der Name des Jobs.
- IMAGE_URL: Ein Verweis auf das Container-Image, z. B.
us-docker.pkg.dev/cloudrun/container/job:latest
. - SECRET_NAME: der Name des Secrets, z. B.
mysecret
. - VERSION: die Secret-Version. Verwenden Sie
latest
für die neueste Version oder eine Zahl, z. B.2
. - SECRET_LOOKUP_NAME: ein beliebiger Name mit einer gültigen Syntax für Secret-Namen, z. B.
my-secret
. Er kann mit SECRET_NAME identisch sein.
Für Secrets, die als Dateipfade bereitgestellt werden:
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
Ersetzen Sie Folgendes:
- JOB_NAME: der Name des Jobs.
- IMAGE_URL: Ein Verweis auf das Container-Image, z. B.
us-docker.pkg.dev/cloudrun/container/job:latest
. - PATH: der Bereitstellungspfad des Volumes und der Dateiname des Secrets. Sie muss mit einem Schrägstrich beginnen, z. B.
/etc/secrets/dbconfig/password
, wobei/etc/secrets/dbconfig/
der Bereitstellungspfad des Volumes undpassword
der Dateiname des Secrets ist. - PROJECT_NUMBER: die Projektnummer des Projekts, in dem das Secret erstellt wurde.
- SECRET_NAME: der Name des Secrets, z. B.
mysecret
. - VERSION: die Secret-Version. Verwenden Sie
latest
für die neueste Version oder eine Zahl, z. B.2
. - SECRET_LOOKUP_NAME: ein beliebiger Name mit einer gültigen Syntax für Secret-Namen, z. B.
my-secret
. Er kann mit SECRET_NAME identisch sein. - VOLUME_NAME: Ein beliebiger Name, z. B.
my-volume
. Sie kann mit SECRET_NAME identisch sein.
Terraform
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
Fügen Sie einergoogle_cloud_run_v2_job
-Ressource in Ihrer Terraform-Konfiguration Folgendes hinzu:Für Secrets, die als Umgebungsvariablen bereitgestellt werden:
resource "google_cloud_run_v2_job" "default" {
name = "JOB_NAME"
location = "REGION"
template {
template {
containers {
image = "IMAGE_URL"
env {
name = "SECRET_NAME"
value_source {
secret_key_ref {
secret = "SECRET_NAME"
version = "VERSION"
}
}
}
}
}
}
}
Ersetzen Sie Folgendes:
- JOB_NAME: Der Name Ihres Cloud Run-Jobs.
- REGION: die Google Cloud Region. Beispiel:
europe-west1
. - IMAGE_URL: Ein Verweis auf das Container-Image, z. B.
us-docker.pkg.dev/cloudrun/container/job:latest
. - SECRET_NAME: der Name des Secrets, z. B.
mysecret
. - VERSION: die Secret-Version. Verwenden Sie
latest
für die neueste Version oder eine Zahl, z. B.2
.
Für Secrets, die als Dateipfade bereitgestellt werden:
resource "google_cloud_run_v2_job" "default" {
name = "JOB_NAME"
location = "REGION"
template {
template {
containers {
image = "IMAGE_URL"
volume_mounts {
name = "VOLUME_NAME"
mount_path = "MOUNT_PATH"
}
}
volumes {
name = "VOLUME_NAME"
secret {
secret = "SECRET_NAME"
}
}
}
}
}
Ersetzen Sie Folgendes:
- JOB_NAME: Der Name Ihres Cloud Run-Jobs.
- REGION: die Google Cloud Region. Beispiel:
europe-west1
. - IMAGE_URL: Ein Verweis auf das Container-Image, z. B.
us-docker.pkg.dev/cloudrun/container/job:latest
. - VOLUME_NAME: Ein beliebiger Name, z. B.
my-volume
. Sie kann mitSECRET_NAME
identisch sein. - MOUNT_PATH: der Bereitstellungspfad des Volumes und der Dateiname des Secrets. Sie muss mit einem Schrägstrich beginnen, z. B.
/etc/secrets/dbconfig/password
, wobei/etc/secrets/dbconfig/
der Bereitstellungspfad des Volumes undpassword
der Dateiname des Secrets ist. - SECRET_NAME: der Name des Secrets, z. B.
mysecret
.
Auf Secrets aus anderen Projekten verweisen
Sie können auf ein Secret von einem anderen Projekt verweisen, wenn dem Dienstkonto Ihres Projekts Zugriff auf das Secret gewährt wurde.
Konsole
Wechseln Sie in der Google Cloud -Console zur Seite „Cloud Run-Jobs“:
Wählen Sie im Menü Jobs aus und klicken Sie auf Container bereitstellen, um die Seite mit den anfänglichen Jobeinstellungen auszufüllen. Wenn Sie einen vorhandenen Job konfigurieren, wählen Sie den Job aus und klicken Sie dann auf Jobkonfiguration ansehen und bearbeiten.
Klicken Sie auf Container, Volumes, Verbindungen, Sicherheit, um die Seite mit den Jobattributen zu maximieren.
Klicken Sie auf den Tab Variablen und Secrets.
- Auf dem Tab "Variablen und Secrets":
So machen Sie das Secret als Umgebungsvariable verfügbar:
- Klicken Sie auf den Tab Container.
- Klicken Sie auf dem Tab Variablen und Secrets auf Secret-Referenz.
- Geben Sie im Feld Name 1 den Namen der Umgebungsvariable ein.
- Klicken Sie in der Liste Secret auf Secret manuell eingeben.
Geben Sie die Ressourcen-ID des Secrets im folgenden Format ein:
projects/PROJECT_NUMBER/secrets/SECRET_NAME
Ersetzen Sie Folgendes:
Ersetzen Sie PROJECT_NUMBER durch die Google Cloud Projektnummer. Eine detaillierte Anleitung zum Ermitteln der Projektnummer finden Sie unter Projekte erstellen und verwalten.
SECRET_NAME: Der Name des Secrets im Secret Manager.
Wählen Sie in der Liste Version 1 die Version des Secrets aus, auf die verwiesen werden soll.
Klicken Sie auf Fertig.
Klicken Sie auf Erstellen oder Bereitstellen.
So stellen Sie ein Secret als Volume bereit:
- Klicken Sie auf den Tab Volumes und wählen Sie Volume hinzufügen aus.
- Wählen Sie in der Liste Volume-Typ die Option Secret aus.
- Geben Sie im Feld Volume name einen Namen ein oder übernehmen Sie den Standardnamen.
- Klicken Sie in der Liste Secret auf Secret manuell eingeben.
Geben Sie die Ressourcen-ID des Secrets im folgenden Format ein:
projects/PROJECT_NUMBER/secrets/SECRET_NAME
Ersetzen Sie Folgendes:
Ersetzen Sie PROJECT_NUMBER durch die Google Cloud Projektnummer. Eine detaillierte Anleitung zum Ermitteln der Projektnummer finden Sie unter Projekte erstellen und verwalten.
SECRET_NAME: Der Name des Secrets im Secret Manager.
Geben Sie im Feld Path 1 den Namen der Datei ein, die bereitgestellt werden soll.
Wählen Sie in der Liste Version 1 die Version des Secrets aus, auf die verwiesen werden soll. Standardmäßig ist die neueste Version ausgewählt. Sie können bei Bedarf eine bestimmte Version auswählen.
Klicken Sie auf Fertig.
Wechseln Sie zum Tab Container, um das Secret im Container bereitzustellen.
Klicken Sie auf dem Tab Volume-Bereitstellungen auf Volume bereitstellen.
Wählen Sie in der Liste Name 1 den Namen des Volumes aus.
Geben Sie im Feld Bereitstellungspfad 1 den Bereitstellungspfad für dieses Secret ein. In diesem Verzeichnis werden alle Versionen Ihres Secrets abgelegt.
Klicken Sie auf Fertig.
Klicken Sie auf Erstellen oder Bereitstellen.
- Auf dem Tab "Variablen und Secrets":
Klicken Sie auf Erstellen oder Aktualisieren.
gcloud
So stellen Sie ein Secret beim Aktualisieren eines Jobs als Volume bereit:
gcloud run jobs update JOB_NAME \ --image IMAGE_URL \ --update-secrets=PATH=projects/PROJECT_NUMBER/secrets/SECRET_NAME:VERSION
- JOB_NAME: der Name des Jobs.
- IMAGE_URL: Ein Verweis auf das Container-Image, z. B.
us-docker.pkg.dev/cloudrun/container/job:latest
. - PATH: der Bereitstellungspfad des Volumes und der Dateiname des Secrets. Sie muss mit einem Schrägstrich beginnen, z. B.
/etc/secrets/dbconfig/password
, wobei/etc/secrets/dbconfig/
der Bereitstellungspfad des Volumes undpassword
der Dateiname des Secrets ist. - PROJECT_NUMBER: die Projektnummer des Projekts, in dem das Secret erstellt wurde.
- SECRET_NAME: der Name des Secrets, z. B.
mysecret
. - VERSION: die Secret-Version. Verwenden Sie
latest
für die neueste Version oder eine Zahl, z. B.2
.
YAML
Wenn Sie einen neuen Job erstellen, überspringen Sie diesen Schritt. Wenn Sie einen vorhandenen Dienst aktualisieren, laden Sie die zugehörige YAML-Konfiguration herunter:
gcloud run jobs describe JOB_NAME --format export > job.yaml
Aufgrund von Einschränkungen zur API-Kompatibilität müssen die Secret-Standorte in einer Annotation gespeichert werden.
Für Secrets, die als Umgebungsvariablen bereitgestellt werden:
apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB spec: template: metadata: annotations: run.googleapis.com/secrets: SECRET_LOOKUP_NAME:projects/PROJECT_NUMBER/secrets/SECRET_NAME spec: template: spec: containers: - env: - name: SECRET_NAME valueFrom: secretKeyRef: key: VERSION name: SECRET_LOOKUP_NAME image: IMAGE_URL
Ersetzen Sie Folgendes:
- JOB: der Name des Jobs.
- IMAGE_URL: Ein Verweis auf das Container-Image, z. B.
us-docker.pkg.dev/cloudrun/container/job:latest
. - SECRET_NAME: der Name des Secrets, z. B.
mysecret
. - VERSION: die Secret-Version. Verwenden Sie
latest
für die neueste Version oder eine Zahl, z. B.2
. - PROJECT_NUMBER: die Projektnummer des Projekts, in dem das Secret erstellt wurde.
- SECRET_LOOKUP_NAME: ein beliebiger Name mit einer gültigen Syntax für Secret-Namen, z. B.
my-secret
. Er kann mit SECRET_NAME identisch sein.
Für Secrets, die als Dateipfade bereitgestellt werden:
apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB_NAME spec: template: metadata: annotations: run.googleapis.com/secrets: SECRET_LOOKUP_NAME:projects/PROJECT_NUMBER/secrets/SECRET_NAME 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
Ersetzen Sie Folgendes:
- JOB_NAME: der Name des Jobs.
- IMAGE_URL: Ein Verweis auf das Container-Image, z. B.
us-docker.pkg.dev/cloudrun/container/job:latest
. - PATH: der Bereitstellungspfad des Volumes und der Dateiname des Secrets. Sie muss mit einem Schrägstrich beginnen, z. B.
/etc/secrets/dbconfig/password
, wobei/etc/secrets/dbconfig/
der Bereitstellungspfad des Volumes undpassword
der Dateiname des Secrets ist. - PROJECT_NUMBER: die Projektnummer des Projekts, in dem das Secret erstellt wurde.
- SECRET_NAME: der Name des Secrets, z. B.
mysecret
. - VERSION: die Secret-Version. Verwenden Sie
latest
für die neueste Version oder eine Zahl, z. B.2
. - SECRET_LOOKUP_NAME: ein beliebiger Name mit einer gültigen Syntax für Secret-Namen, z. B.
my-secret
. Dieser kann SECRET_NAME entsprechen. - VOLUME_NAME: ein beliebiger Name, z. B.
my-volume
. Er kann mit SECRET_NAME identisch sein.
Terraform
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
Fügen Sie einergoogle_cloud_run_v2_job
-Ressource in Ihrer Terraform-Konfiguration Folgendes hinzu:Für Secrets, die als Umgebungsvariablen bereitgestellt werden:
resource "google_cloud_run_v2_job" "default" {
name = "JOB_NAME"
location = "REGION"
template {
template {
containers {
image = "IMAGE_URL"
env {
name = "SECRET_NAME"
value_source {
secret_key_ref {
secret = "projects/PROJECT_ID/secrets/SECRET_NAME"
version = "VERSION"
}
}
}
}
}
}
}
Ersetzen Sie Folgendes:
- JOB_NAME: Der Name Ihres Cloud Run-Jobs.
- REGION: die Google Cloud Region. Beispiel:
europe-west1
. - IMAGE_URL: Ein Verweis auf das Container-Image, z. B.
us-docker.pkg.dev/cloudrun/container/job:latest
. - SECRET_NAME: der Name des Secrets, z. B.
mysecret
. - PROJECT_ID: die Projekt-ID des Projekts, in dem das Secret erstellt wurde.
- VERSION: die Secret-Version. Verwenden Sie
latest
für die neueste Version oder eine Zahl, z. B.2
.
Für Secrets, die als Dateipfade bereitgestellt werden:
resource "google_cloud_run_v2_job" "default" {
name = "JOB_NAME"
location = "REGION"
template {
template {
containers {
image = "IMAGE_URL"
volume_mounts {
name = "VOLUME_NAME"
mount_path = "MOUNT_PATH"
}
}
volumes {
name = "VOLUME_NAME"
secret {
secret = "projects/PROJECT_ID/secrets/SECRET_NAME"
}
}
}
}
}
Ersetzen Sie Folgendes:
- JOB_NAME: Der Name Ihres Cloud Run-Jobs.
- REGION: die Google Cloud Region, z. B.
europe-west1
. - IMAGE_URL: Ein Verweis auf das Container-Image, z. B.
us-docker.pkg.dev/cloudrun/container/job:latest
. - VOLUME_NAME: ein beliebiger Name, z. B.
my-volume
. Er kann mitSECRET_NAME
identisch sein. - MOUNT_PATH: der Bereitstellungspfad des Volumes und der Dateiname des Secrets. Sie muss mit einem Schrägstrich beginnen, z. B.
/etc/secrets/dbconfig/password
, wobei/etc/secrets/dbconfig/
der Bereitstellungspfad des Volumes undpassword
der Dateiname des Secrets ist. - PROJECT_ID: die Projekt-ID des Projekts, in dem das Secret erstellt wurde.
- SECRET_NAME: der Name des Secrets, z. B.
mysecret
.
Einstellungen für Secrets aufrufen
So rufen Sie die aktuellen Secret-Einstellungen für Ihren Cloud Run-Job auf:
Konsole
Wechseln Sie in der Google Cloud -Console zur Seite „Cloud Run-Jobs“:
Klicken Sie auf den gewünschten Job, um die Seite Jobdetails zu öffnen.
Klicken Sie auf Jobkonfiguration ansehen und bearbeiten.
Suchen Sie die CPU-Einstellung in den Konfigurationsdetails.
gcloud
Verwenden Sie den folgenden Befehl:
gcloud run jobs describe JOB_NAME
Suchen Sie in der zurückgegebenen Konfiguration nach der Einstellung für Secrets.
Unzulässige Pfade und Einschränkungen
Für das Einbinden von Secrets gelten die folgenden Einschränkungen:
- Mit Cloud Run können Sie keine Secrets unter
/dev
,/proc
und/sys
oder in ihren Unterverzeichnissen bereitstellen. - Mit Cloud Run können Sie nicht mehrere Secrets auf demselben Pfad bereitstellen, da zwei Volume-Bereitstellungen nicht an demselben Speicherort bereitgestellt werden können.
Verzeichnis überschreiben
Wenn das Secret als Volume in Cloud Run bereitgestellt wird und das letzte Verzeichnis im Volume-Bereitstellungspfad bereits vorhanden ist, sind alle Dateien oder Ordner im vorhandenen Verzeichnis nicht mehr zugänglich.
Wenn z. B. ein Secret mit dem Namen my-secret
im Pfad /etc/app_data
bereitgestellt wird, wird der gesamte Inhalt im Verzeichnis app_data
überschrieben und die einzige sichtbare Datei ist /etc/app_data/my-secret
.
Um das Überschreiben von Dateien in einem vorhandenen Verzeichnis zu vermeiden, erstellen Sie ein neues Verzeichnis für die Bereitstellung des Secrets, z. B. /etc/app_data/secrets
, sodass der Bereitstellungspfad für das Secret /etc/app_data/secrets/my-secret
lautet.