Sdílet prostřednictvím


Správa tajných kódů v Azure Container Apps

Azure Container Apps umožňuje aplikaci bezpečně ukládat citlivé konfigurační hodnoty. Jakmile jsou tajné kódy definované na úrovni aplikace, jsou zabezpečené hodnoty k dispozici pro revize v aplikacích kontejnerů. Kromě toho můžete odkazovat na zabezpečené hodnoty uvnitř pravidel škálování. Informace o používání tajných kódů s Dapr najdete v integraci Dapr.

  • Tajnosti jsou určeny pro aplikaci mimo konkrétní revizi této aplikace.
  • Nové revize se negenerují přidáním, odebráním nebo změnou tajných kódů.
  • Každá revize aplikace může odkazovat na jeden nebo více tajných klíčů.
  • Na stejné tajné kódy může odkazovat více revizí.

Aktualizovaný nebo odstraněný tajný klíč nemá automaticky vliv na existující revize ve vaší aplikaci. Při aktualizaci nebo odstranění tajného klíče můžete na změny reagovat dvěma způsoby:

  1. Nasazení nové revize
  2. Restartování stávající revize

Před odstraněním tajného klíče nasaďte novou revizi, která již na starý tajný klíč neodkazuje. Pak deaktivujte všechny revize, které odkazují na tajemství.

Definování tajných kódů

Tajné kódy jsou definovány jako sada párů název/hodnota. Hodnota každého tajného kódu je určena přímo nebo jako odkaz na tajný klíč uložený v Azure Key Vault.

Poznámka:

Vyhněte se zadávání hodnoty tajného kódu přímo v produkčním prostředí. Místo toho použijte odkaz na tajemství uložené v Azure Key Vault, jak je popsáno v části Store secret value in Container Apps.

Uložit tajnou hodnotu v aplikacích Container Apps

Následující kód se používá při definování tajných kódů prostřednictvím portálu nebo prostřednictvím různých možností příkazového řádku.

  1. Přejděte do aplikace kontejneru na portálu Azure.

  2. V části Zabezpečení vyberte Tajné kódy.

  3. Vyberte Přidat.

  4. V podokně Přidat tajný klíč zadejte následující informace:

    • Název: Název tajemství.
    • Typ: Vyberte tajný klíč kontejnerových aplikací.
    • Hodnota: Hodnota tajného klíče.
  5. Vyberte Přidat.

Referenční tajný klíč z Key Vault

Když definujete tajný klíč, vytvoříte odkaz na tajný kód uložený v Azure Key Vault. Container Apps automaticky načte hodnotu tajného kódu z Key Vault a zpřístupní ji jako tajný kód v aplikaci kontejneru.

Pokud chcete odkazovat na tajný klíč z Key Vault, musíte nejprve povolit spravovanou identitu v aplikaci kontejneru a udělit identitě přístup k Key Vault tajným kódům.

Pokud chcete ve své aplikaci kontejneru povolit spravovanou identitu, přečtěte si téma Spravované identity.

K udělení přístupu k tajemstvím Key Vault přidělte spravované identitě roli Azure RBAC Key Vault Secrets User.

  1. Přejděte do aplikace kontejneru na portálu Azure.

  2. V části Zabezpečení vyberte Identita.

  3. Na kartě Systém přiřazen nastavte Stav na Zapnuto.

Poznámka:

Můžete také použít spravovanou identitu přiřazenou uživatelem, která se dá opakovaně používat napříč více prostředky a trvale se zachová nezávisle na životním cyklu aplikace. Pokud ho chcete použít, vyberte kartu Přiřazený uživatel a zvolte existující identitu.

  1. Výběrem možnosti Uložit povolíte spravovanou identitu přiřazenou systémem.

  2. Zobrazí se automaticky otevírané okno s potvrzením, že chcete povolit spravovanou identitu přiřazenou systémem a zaregistrovat aplikaci kontejneru v Microsoft Entra ID. Vyberte Ano.

  3. V části Zabezpečení vyberte Tajné kódy.

  4. Vyberte Přidat.

  5. V podokně Přidat tajný klíč zadejte následující informace:

    • Název: Název tajemství.
    • Type: Vyberte Key Vault reference.
    • URL tajemství Key Vault: URI vašeho tajemství v Key Vault. Tento identifikátor URI má následující formulář: https://<YOUR_KEY_VAULT_NAME>.vault.azure.net/secrets/<YOUR_SECRET_NAME>/<32_DIGIT_HEX_ID>
    • Identita: Vyberte přiřazený systém.
  6. Vyberte Přidat.

Poznámka:

Pokud používáte UDR s Azure Firewall, budete muset přidat značku služby AzureKeyVault a plně kvalifikovaný název domény login.microsoft.com do seznamu povolení pro vaši bránu firewall. Odkazuje na konfigurování UDR pomocí Azure Firewall, abyste rozhodli, které další značky služeb potřebujete.

Key Vault identifikátoru URI a obměně tajných kódů

Identifikátor URI tajného kódu Key Vault musí být v jednom z následujících formátů:

  • https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931: Odkazování na konkrétní verzi tajného kódu.
  • https://myvault.vault.azure.net/secrets/mysecret: Odkaz na nejnovější verzi tajného kódu.

Pokud v identifikátoru URI není zadaná verze, aplikace použije nejnovější verzi, která existuje v trezoru klíčů. Jakmile budou k dispozici novější verze, aplikace automaticky načte nejnovější verzi do 30 minut. Všechny aktivní revize, které odkazují na tajný klíč v proměnné prostředí, se automaticky restartují, aby přijaly novou hodnotu.

Pro úplnou kontrolu nad tím, která verze tajemství se používá, uveďte verzi v identifikátoru URI.

Odkazování na tajemství v proměnných prostředí

Po deklarování tajných kódů na úrovni aplikace, jak je popsáno v části definování tajných kódů , můžete je při vytváření nové revize v aplikaci kontejneru odkazovat v proměnných prostředí. Když proměnná prostředí odkazuje na tajemství, její hodnota se naplní hodnotou definovanou v tomto tajemství.

Příklad

Následující příklad ukazuje aplikaci, která deklaruje připojovací řetězec na úrovni aplikace. Na toto připojení se odkazuje v proměnné prostředí v kontejneru a v pravidle škálování.

Po definování tajemství v kontejnerové aplikaci na něj můžete při vytváření nové revize odkazovat v proměnné prostředí.

  1. Přejděte do aplikace kontejneru na portálu Azure.

  2. V části Aplikace vyberte Revize a repliky.

  3. Na stránce Revize a repliky vyberte Vytvořit novou revizi.

  4. Na stránce Vytvořit a nasadit novou revizi vyberte na kartě Kontejner v části Image kontejneru kontejner.

  5. Vyberte položku Upravit.

  6. V podokně Upravit kontext kontejneru vyberte kartu Proměnné prostředí.

  7. Vyberte Přidat.

  8. Zadejte následující údaje:

    • Název: Název proměnné prostředí.
    • Zdroj: Vyberte odkaz na tajný klíč.
    • Hodnota: Vyberte tajný klíč, který jste definovali dříve.
  9. Zvolte Uložit.

  10. Na stránce Vytvořit a nasadit novou revizi vyberte Vytvořit a vytvořte novou revizi.

Připojování tajných dat do svazku

Po deklarování tajných kódů na úrovni aplikace, jak je popsáno v části definování tajných kódů , můžete na ně odkazovat při vytváření nové revize v aplikaci kontejneru. Při připojování tajných kódů ke svazku se každý tajný klíč připojí jako soubor ve svazku. Název souboru je název tajného kódu a obsah souboru je hodnota tajného kódu. Všechna tajemství můžete načíst do svazku, nebo můžete načíst konkrétní tajemství.

Příklad

Jakmile v kontejnerové aplikaci definujete tajemství, můžete na něj odkazovat při připojení svazku během vytváření nové revize.

  1. Přejděte do aplikace kontejneru na portálu Azure.

  2. V části Aplikace vyberte Revize a repliky.

  3. Na stránce Revize a repliky vyberte Vytvořit novou revizi.

  4. Na stránce Vytvořit a nasadit novou revizi vyberte na kartě Kontejner v části Image kontejneru kontejner.

  5. Vyberte položku Upravit.

  6. V podokně Upravit kontejner vyberte kartu Připojení svazků.

  7. Vyberte Vytvořit nový svazek.

  8. V podokně Přidat svazek zadejte následující informace:

    • Typ svazku: Vyberte Secret.
    • Název: mysecrets
    • Připojit všechna tajemství: povoleno

    Poznámka:

    Pokud chcete načíst konkrétní tajné kódy, zakažte připojení všech tajných kódů a vyberte tajné kódy, které chcete načíst.

  9. Vyberte Přidat.

  10. V podokně Upravit kontext kontejneru v části Název svazku vyberte mysecrets.

  11. V části Cesta k připojení zadejte /mnt/secrets.

  12. Zvolte Uložit.

  13. Na stránce Vytvořit a nasadit novou revizi vyberte Vytvořit a vytvořte novou revizi pomocí připojení svazku.

Řešení potíží s odkazy na Key Vault

Když odkazujete na tajné kódy z Azure Key Vault, může dojít k problémům při načítání nebo synchronizaci tajných kódů. Tady jsou běžné chyby a jejich řešení:

Error Příčina Resolution
Spravovaná identita není aktivovaná Aplikace kontejneru nemá přiřazenou spravovanou identitu. Povolte spravovanou identitu přiřazenou systémem nebo přiřazenou uživatelem v aplikaci kontejneru. Viz Spravované identity.
Identita nebyla nalezena. Zadaná spravovaná identita neexistuje nebo není přiřazená k aplikaci kontejneru. Ověřte, že je identita vytvořená a přiřazená k aplikaci kontejneru v části Identita .
Tajný kód zakázán v Key Vault Tajný kód je v prostředku Key Vault zakázaný. Přejděte na Key Vault na portálu Azure a povolte tajný kód.
Ověření se nezdařilo Spravovaná identita nemá požadovaná oprávnění ke čtení tajného kódu. Udělte roli uživatele tajemství Key Vault spravované identitě ve vašem Key Vault. Viz uživatelské tajemství služby Key Vault.
Oprávnění RBAC odepřeno. Spravovaná identita nemá dostatečná oprávnění pro přístup k Key Vault. Ověřte přiřazení role RBAC na Key Vault a ujistěte se, že obsahuje oprávnění ke čtení tajných kódů.

Další kroky