Az Azure Container Apps lehetővé teszi, hogy az alkalmazás biztonságosan tárolja a bizalmas konfigurációs értékeket. Miután a titkos kulcsokat az alkalmazás szintjén definiálta, biztonságos értékek érhetők el a tárolóalkalmazások korrektúrái számára. Emellett a skálázási szabályokon belül hivatkozhat a védett értékekre. A titkos kódok Daprvel való használatáról további információt a Dapr-integrációban talál.
A titkos kódok az alkalmazás hatókörén belül érvényesek, az alkalmazás bármely meghatározott verzióján kívül.
A titkos kódok hozzáadása, eltávolítása vagy módosítása nem hoz létre új változatokat.
Az egyes alkalmazásváltozatok egy vagy több titkos kódra mutató hivatkozást tartalmazhatnak.
Több változat is tartalmazhat ugyanarra/ugyanazokra a titkos kód(ok)ra mutató hivatkozást.
A frissített vagy törölt titkos kódok nem befolyásolják automatikusan az alkalmazás meglévő változatait. Egy titkos kód frissítésekor vagy törlésekor fellépő változásokra az alábbi két módszer egyikével reagálhat:
Új változatot helyezhet üzembe.
Újraindíthat egy meglévő változatot.
A titkos kód törlése előtt helyezzen üzembe egy új változatot, amely nem tartalmaz hivatkozást a régi kódra. Ezután inaktiválja a titkos kódra hivatkozó összes változatot.
Titkos kódok definiálása
A titkos kulcsok név-érték párok halmazaként vannak definiálva. Az egyes titkos kódok értéke közvetlenül vagy az Azure Key Vaultban tárolt titkos kódra való hivatkozásként van megadva.
Titkos kód értékének tárolása a Container Appsben
Ha titkos kulcsokat határoz meg a portálon vagy különböző parancssori beállításokon keresztül.
Itt a rendszer a tömbben secrets deklarálja az üzenetsor tárfiókjának kapcsolati sztring. Ebben a példában a kapcsolati sztring értékét kell lecserélni<MY-CONNECTION-STRING-VALUE>.
Tárolóalkalmazás létrehozásakor a titkos kulcsok a --secrets paraméterrel lesznek definiálva.
A paraméter a név/érték párok szóközzel tagolt készletét fogadja el.
Minden pár egy egyenlőségjellel (=) van elválasztva.
Itt a rendszer deklarálja az üzenetsor tárfiókjának kapcsolati sztring a --secrets paraméterben. Cserélje le <CONNECTION_STRING> a kapcsolati sztring értékére.
Tárolóalkalmazás létrehozásakor a titkos kulcsok egy vagy több titkos objektumként vannak definiálva, amelyek a ConfigurationSecrets paraméteren áthaladnak.
Itt deklaráljuk az üzenetsor tárfiókjának kapcsolati sztring. Az érték egy queue-connection-string környezeti változóból $QueueConnectionStringszármazik.
Titkos kulcs hivatkozása a Key Vaultból
Titkos kulcs definiálásakor egy, az Azure Key Vaultban tárolt titkos kódra mutató hivatkozást hoz létre. A Container Apps automatikusan lekéri a titkos kulcsot a Key Vaultból, és titkos kódként elérhetővé teszi a tárolóalkalmazásban.
A Key Vault titkos kulcsára való hivatkozáshoz először engedélyeznie kell a felügyelt identitást a tárolóalkalmazásban, és hozzáférést kell adnia az identitásnak a Key Vault titkos kulcsaihoz.
Ha engedélyezni szeretné a felügyelt identitást a tárolóalkalmazásban, olvassa el a Felügyelt identitások című témakört.
Itt a rendszer a tömbben secrets deklarálja az üzenetsor tárfiókjának kapcsolati sztring. Az érték automatikusan lekéri a Key Vaultból a megadott identitás használatával. Felhasználó által felügyelt identitás használatához cserélje le system az identitás erőforrás-azonosítóját.
Cserélje le <KEY-VAULT-SECRET-URI> a titkos kulcs URI-jára a Key Vaultban.
Tárolóalkalmazás létrehozásakor a titkos kulcsok a --secrets paraméterrel lesznek definiálva.
A paraméter a név/érték párok szóközzel tagolt készletét fogadja el.
Minden pár egy egyenlőségjellel (=) van elválasztva.
Key Vault-referencia megadásához használja a formátumot <SECRET_NAME>=keyvaultref:<KEY_VAULT_SECRET_URI>,identityref:<MANAGED_IDENTITY_ID>. Például: queue-connection-string=keyvaultref:https://mykeyvault.vault.azure.net/secrets/queuereader,identityref:/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourcegroups/my-resource-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-identity.
Itt a rendszer deklarálja az üzenetsor tárfiókjának kapcsolati sztring a --secrets paraméterben. Cserélje le <KEY_VAULT_SECRET_URI> a titkos kulcs URI-jára a Key Vaultban. Cserélje le <USER_ASSIGNED_IDENTITY_ID> a felhasználó által hozzárendelt identitás erőforrás-azonosítójára. A rendszer által hozzárendelt identitáshoz használja system az erőforrás-azonosító helyett.
Feljegyzés
A felhasználó által hozzárendelt identitásnak hozzáféréssel kell rendelkeznie ahhoz, hogy beolvassa a titkos kulcsot a Key Vaultban. A rendszer által hozzárendelt identitás nem használható a létrehozási paranccsal, mert csak a tárolóalkalmazás létrehozása után érhető el.
A Titkos kulcstartó hivatkozásai a PowerShellben nem támogatottak.
A Key Vault titkos URI-jának az alábbi formátumok egyikében kell lennie:
https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931: Hivatkozás egy titkos kód egy adott verziójára.
https://myvault.vault.azure.net/secrets/mysecret: Hivatkozás egy titkos kód legújabb verziójára.
Ha nincs megadva verzió az URI-ban, akkor az alkalmazás a key vaultban található legújabb verziót használja. Az újabb verziók elérhetővé válása után az alkalmazás 30 percen belül automatikusan lekéri a legújabb verziót. A környezeti változó titkos kódjára hivatkozó aktív változatok automatikusan újraindulnak az új érték felvételéhez.
A titkos kódok melyik verziójának teljes vezérléséhez adja meg a verziót az URI-ban.
Titkos kódok hivatkozása környezeti változókban
Miután az alkalmazás szintjén deklarálta a titkos kulcsokat a definiáló titkos kódok szakaszban leírtak szerint, környezeti változókban hivatkozhat rájuk, amikor új változatot hoz létre a tárolóalkalmazásban. Amikor egy környezeti változó egy titkos kódra hivatkozik, annak értéke a titkos kódban meghatározott értékkel lesz feltöltve.
Példa
Az alábbi példa egy olyan alkalmazást mutat be, amely az alkalmazás szintjén deklarál egy kapcsolati sztring. Erre a kapcsolatra egy tárolókörnyezet változója és egy méretezési szabály hivatkozik.
Itt a névvel ellátott connection-string környezeti változó az alkalmazásszintű queue-connection-string titkos kódból kapja meg az értékét. Emellett az Azure Queue Storage skálázási szabály hitelesítési konfigurációja a titkos kulcsot használja a queue-connection-string kapcsolat meghatározásához.
Ha el szeretné kerülni, hogy titkos értékeket véglegesítsen a forráskövetéshez az ARM-sablonnal, adja át a titkos értékeket ARM-sablonparaméterekként.
Ebben a példában létrehoz egy tárolóalkalmazást az Azure CLI használatával egy környezeti változóban hivatkozott titkos kóddal. Ha egy környezeti változóban lévő titkos kódra szeretne hivatkozni secretref:az Azure CLI-ben, állítsa be annak értékét, majd a titkos kód nevét.
Itt a névvel ellátott connection-string környezeti változó az alkalmazásszintű queue-connection-string titkos kódból kapja meg az értékét.
Ebben a példában létrehoz egy tárolót az Azure PowerShell használatával egy környezeti változóban hivatkozott titkos kóddal. Ha a PowerShellben egy környezeti változó titkos kódjára szeretne hivatkozni secretref:, állítsa az értékét , majd a titkos kód nevét.
Itt a névvel ellátott ConnectionString környezeti változó az alkalmazásszintű $QueueConnectionString titkos kódból kapja meg az értékét.
Titkos kódok csatlakoztatása kötetben
Miután az alkalmazás szintjén deklarálta a titkos kulcsokat a definiáló titkos kódok szakaszban leírtak szerint, kötetcsatlakozásokban hivatkozhat rájuk, amikor új változatot hoz létre a tárolóalkalmazásban. Amikor titkos kulcsokat csatlakoztat egy kötethez, minden titkos kód fájlként van csatlakoztatva a kötethez. A fájlnév a titkos kód neve, a fájl tartalma pedig a titkos kód értéke. Betöltheti az összes titkos elemet egy kötetcsatlakoztatásban, vagy betölthet bizonyos titkos kulcsokat.
Az új változat létrehozása és üzembe helyezése lapon.
Jelöljön ki egy tárolót, és válassza a Szerkesztés lehetőséget.
A Kötet csatlakoztatása szakaszban bontsa ki a Titkos kulcsok szakaszt.
Válassza az Új kötet létrehozása lehetőséget.
Adja meg a következő adatokat:
Név: mysecrets
Az összes titkos kód csatlakoztatása: engedélyezve
Feljegyzés
Ha konkrét titkos kulcsokat szeretne betölteni, tiltsa le az összes titkos kulcs csatlakoztatását, és válassza ki a betölteni kívánt titkos kulcsokat.
Válassza a Hozzáadás lehetőséget.
A Kötet neve területen válassza ki a mysecrets elemet.
A csatlakoztatási útvonal alatt adja meg az /mnt/secrets értéket.
Válassza a Mentés lehetőséget.
A Létrehozás gombra kattintva hozza létre az új változatot a kötet csatlakoztatásával.
Ebben a példában két titkos kulcs van deklarálva az alkalmazás szintjén. Ezek a titkos kódok egy típusnak Secretnevezett mysecrets kötetbe vannak csatlakoztatva. A kötet az elérési úthoz /mnt/secretsvan csatlakoztatva. Az alkalmazás ezután hivatkozhat a kötet csatlakoztatásában lévő titkos kódokra.
Ha konkrét titkos kulcsokat szeretne betölteni, és meg szeretné adni az elérési útjukat a csatlakoztatott köteten belül, a kötetobjektum tömbjében definiálhatja a secrets titkos kulcsokat. Az alábbi példa bemutatja, hogyan tölthető be csak a titkos kód a queue-connection-string kötet csatlakoztatásában a mysecrets fájlnévvel connection-string.txt.
Az alkalmazásban elolvashatja a titkos kódot a következő /mnt/secrets/connection-string.txthelyen található fájlból: .
Ebben a példában két titkos kulcs van deklarálva az alkalmazás szintjén. Ezek a titkos kódok egy típusnak Secretnevezett mysecrets kötetbe vannak csatlakoztatva. A kötet az elérési úthoz /mnt/secretsvan csatlakoztatva. Az alkalmazás ezután fájlként olvashatja be a titkos kulcsokat a kötet csatlakoztatásában.
Ha konkrét titkos kulcsokat szeretne betölteni, és meg szeretné adni az elérési útjukat a csatlakoztatott köteten belül, adja meg az alkalmazást a YAML használatával.
A Titkos kódok kötetként való csatlakoztatása nem támogatott a PowerShellben.