Verwalten von Geheimnissen in Azure Container Apps

Mithilfe von Azure Container Apps kann Ihre Anwendung vertrauliche Konfigurationswerte sicher speichern. Wenn die geheimen Schlüssel auf Anwendungsebene definiert werden, stehen gesicherte Werte für Revisionen in Ihren Container-Apps zur Verfügung. Darüber hinaus können Sie auf gesicherte Werte innerhalb von Skalierungsregeln verweisen. Informationen zur Verwendung von Geheimnissen mit Dapr finden Sie unter Dapr-Integration.

  • Geheimnisse sind einer Anwendung zugeordnet, unabhängig von spezifischen Revisionen einer Anwendung.
  • Das Hinzufügen, Entfernen oder Ändern von Geheimnissen generiert keine neuen Revisionen.
  • Jede Anwendungsrevision kann auf mindestens ein Geheimnis verweisen.
  • Mehrere Revisionen können auf dieselben Geheimnisse verweisen.

Ein aktualisiertes oder gelöschtes Geheimnis wirkt sich nicht automatisch auf vorhandene Revisionen in Ihrer App aus. Wenn ein Geheimnis aktualisiert oder gelöscht wird, haben Sie zwei Möglichkeiten, auf die Änderungen zu reagieren:

  1. Eine neue Revision bereitstellen.
  2. Eine bestehende Revision neu starten.

Stellen Sie vor dem Löschen eines Geheimnisses eine neue Revision bereit, die nicht mehr auf das alte Geheimnis verweist. Deaktivieren Sie dann alle Revisionen, die auf das Geheimnis verweisen.

Definieren von Geheimnissen

Geheime Schlüssel werden als eine Reihe von Name-Wert-Paaren definiert. Der Wert jedes geheimen Schlüssels wird direkt oder als Verweis auf einen geheimen Schlüssel angegeben, der in Azure Key Vault gespeichert ist.

Geheimen Wert in Container-Apps speichern

Wenn Sie geheime Schlüssel über das Portal oder über verschiedene Befehlszeilenoptionen definieren.

  1. Navigieren Sie im Azure-Portal zu Ihrer Container-App.

  2. Wählen Sie im Abschnitt Einstellungen die Option Geheimnisse aus.

  3. Klicken Sie auf Hinzufügen.

  4. Geben Sie im Kontextbereich Geheimnis hinzufügen folgende Informationen ein:

    • Name: Der Name des Geheimnisses.
    • Typ: Wählen Sie Container Apps-Geheimnis aus.
    • Wert: Der Wert des Geheimnisses.
  5. Wählen Sie Hinzufügen.

Verweisen auf geheime Schlüssel aus Key Vault

Wenn Sie einen geheimen Schlüssel definieren, erstellen Sie einen Verweis auf einen geheimen Schlüssel, der in Azure Key Vault gespeichert ist. Container-Apps rufen automatisch den geheimen Wert aus Key Vault ab und stellt ihn in Ihrer Container-App als geheimen Schlüssel zur Verfügung.

Um auf einen geheimen Schlüssel von Key Vault zu verweisen, müssen Sie zuerst die verwaltete Identität in Ihrer Container-App aktivieren und den Identitätszugriff auf die Schlüsseltresorschlüssel gewähren.

Informationen zum Aktivieren der verwalteten Identität in Ihrer Container-App finden Sie unter Verwaltete Identitäten in Azure Container Apps.

Wenn Sie Zugriff auf Key Vault-Geheimnisse gewähren möchten, erstellen Sie eine Zugriffsrichtlinie in Key Vault für die von Ihnen erstellte verwaltete Identität. Aktivieren Sie die „Get“-Geheimnisberechtigung für diese Richtlinie.

  1. Navigieren Sie im Azure-Portal zu Ihrer Container-App.

  2. Wählen Sie im Abschnitt Einstellungen die Option Identität aus.

  3. Wählen Sie auf der Registerkarte Systemseitig zugewiesen die Option Ein aus.

  4. Wählen Sie Speichern aus, um die systemseitig zugewiesene verwaltete Identität zu aktivieren.

  5. Wählen Sie im Abschnitt Einstellungen die Option Geheimnisse aus.

  6. Klicken Sie auf Hinzufügen.

  7. Geben Sie im Kontextbereich Geheimnis hinzufügen folgende Informationen ein:

    • Name: Der Name des Geheimnisses.
    • Typ: Wählen Sie Key Vault-Verweis aus.
    • Geheimnis-URL von Key Vault: Der URI Ihres Geheimnisses in Key Vault.
    • Identität: Die Identität, die zum Abrufen des Geheimnisses aus Key Vault verwendet werden soll.
  8. Wählen Sie Hinzufügen.

Hinweis

Bei Verwendung von UDRs mit Azure Firewall müssen das Diensttag AzureKeyVault und der vollqualifizierte Domänenname login.microsoft.com der Zulassungsliste für Ihre Firewall hinzugefügt werden. Informationen zu den zusätzlich benötigten Diensttags finden Sie unter Konfigurieren von UDR mit Azure Firewall – Vorschau:.

Key Vault-Geheimnis-URI und Geheimnisrotation

Der Key Vault-Geheimnis-URI muss in einem der folgenden Formate vorliegen:

  • https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931: Verweis auf eine bestimmte Version eines Geheimnisses
  • https://myvault.vault.azure.net/secrets/mysecret: Verweis auf die neueste Version eines Geheimnisses

Wenn im URI keine Version angegeben ist, verwendet die App die neueste Version, die im Schlüsseltresor vorhanden ist. Wenn neuere Versionen verfügbar werden, ruft die App innerhalb von 30 Minuten automatisch die neueste Version ab. Alle aktiven Revisionen, die in einer Umgebungsvariablen auf das Geheimnis verweisen, werden automatisch neu gestartet, um den neuen Wert zu erfassen.

Geben Sie im URI die Version an, um die vollständige Kontrolle darüber zu haben, welche Version eines Geheimnisses verwendet wird.

Verweisen auf Geheimnisse in Umgebungsvariablen

Nachdem Sie Geheimnisse auf Anwendungsebene deklariert haben, wie im Abschnitt Definieren von Geheimnissen beschrieben, können Sie auf sie in Umgebungsvariablen verweisen, wenn Sie eine neue Revision in Ihrer Container-App erstellen. Wenn eine Umgebungsvariable auf ein Geheimnis verweist, wird ihr Wert mit dem Wert aufgefüllt, der im Geheimnis definiert ist.

Beispiel

Das folgende Beispiel zeigt eine Anwendung, die eine Verbindungszeichenfolge auf Anwendungsebene deklariert. Auf diese Verbindung wird in einer Containerumgebungsvariable und in einer Skalierungsregel verwiesen.

Nach dem Definieren eines Geheimnisses in Ihrer Container-App können Sie in einer Umgebungsvariablen darauf verweisen, wenn Sie eine neue Revision erstellen.

  1. Navigieren Sie im Azure-Portal zu Ihrer Container-App.

  2. Öffnen Sie die Seite Revisionsverwaltung.

  3. Wählen Sie Create new revision (Neue Revision erstellen) aus.

  4. Wählen Sie auf der Seite Erstellen und Bereitstellen einer neuen Revision einen Container aus.

  5. Wählen Sie im Abschnitt Umgebungsvariablen die Option Hinzufügen aus.

  6. Geben Sie die folgenden Informationen ein:

    • Name: Der Name der Umgebungsvariablen.
    • Quelle: Wählen Sie Auf ein Geheimnis verweisen aus.
    • Wert: Wählen Sie das Geheimnis aus, auf das Sie verweisen möchten.
  7. Wählen Sie Speichern.

  8. Wählen Sie Erstellen aus, um die neue Revision zu erstellen.

Einbinden von Geheimnissen in einem Volume

Nachdem Sie Geheimnisse auf Anwendungsebene deklariert haben, wie im Abschnitt Definieren von Geheimnissen beschrieben, können Sie in Volumebereitstellungen auf sie verweisen, wenn Sie eine neue Revision in Ihrer Container-App erstellen. Wenn Sie Geheimnisse in einem Volume einbinden, wird das Geheimnis jeweils als Datei im Volume eingebunden. Der Dateiname ist der Name des Geheimnisses. Beim Dateiinhalt handelt es sich um den Wert des Geheimnisses. Sie können alle Geheimnisse in einer Volumebereitstellung laden oder nur bestimmte Geheimnisse laden.

Beispiel

Nach dem Definieren eines Geheimnisses in Ihrer Container-App können Sie in einer Volumebereitstellung darauf verweisen, wenn Sie eine neue Revision erstellen.

  1. Navigieren Sie im Azure-Portal zu Ihrer Container-App.

  2. Öffnen Sie die Seite Revisionsverwaltung.

  3. Wählen Sie Create new revision (Neue Revision erstellen) aus.

  4. Wählen Sie auf der Seite Erstellen und Bereitstellen einer neuen Revision

  5. einen Container und anschließend die Option Bearbeiten aus.

  6. Erweitern Sie im Abschnitt Volumebereitstellungen den Abschnitt Geheimnisse.

  7. Wählen Sie Neues Volume erstellen aus.

  8. Geben Sie die folgenden Informationen ein:

    • Name: mysecrets
    • Alle Geheimnisse einbinden: Aktiviert

    Hinweis

    Wenn Sie nur bestimmte Geheimnisse laden möchten, deaktivieren Sie Alle Geheimnisse einbinden, und wählen Sie die Geheimnisse aus, die Sie laden möchten.

  9. Wählen Sie Hinzufügen.

  10. Wählen Sie unter Volumename die Option mysecrets aus.

  11. Geben Sie unter Bereitstellungspfad den Pfad /mnt/secrets ein.

  12. Wählen Sie Speichern.

  13. Wählen Sie Erstellen aus, um die neue Revision mit der Volumebereitstellung zu erstellen.

Nächste Schritte