Zabezpečení tajných kódů ověřování ve službě Azure Key Vault pro Azure Static Web Apps
Při konfiguraci vlastních zprostředkovatelů ověřování můžete chtít ukládat tajné kódy připojení ve službě Azure Key Vault. Tento článek ukazuje, jak pomocí spravované identity udělit službě Azure Static Web Apps přístup ke službě Key Vault pro vlastní ověřovací tajné kódy.
Poznámka:
Azure Serverless Functions nepodporuje přímou integraci služby Key Vault. Pokud potřebujete integraci služby Key Vault se spravovanou aplikací funkcí, budete muset do kódu aplikace implementovat přístup ke službě Key Vault.
Tajné kódy zabezpečení vyžadují, aby byly splněny následující položky.
- Ve statické webové aplikaci vytvořte identitu přiřazenou systémem.
- Udělte identitě přístup k tajnému klíči služby Key Vault.
- Odkazujte na tajný klíč služby Key Vault z nastavení aplikace Static Web Apps.
Tento článek ukazuje, jak nastavit každou z těchto položek v produkčním prostředí pro používání vlastních aplikací funkcí.
Integrace služby Key Vault není dostupná pro:
- Pracovní verze statické webové aplikace Integrace služby Key Vault je podporována pouze v produkčním prostředí.
- Statické webové aplikace využívající spravované funkce
Poznámka:
Použití spravované identity je k dispozici pouze v plánu Azure Static Web Apps Standard.
Požadavky
- Existující web Azure Static Web Apps s využitím vlastních funkcí
- Existující prostředek služby Key Vault s hodnotou tajného kódu.
Vytvoření identity
Otevřete statické webové aplikace na webu Azure Portal.
V části Nastavení vyberte Identita.
Vyberte kartu Přiřazená systémem.
Pod popiskem Stav vyberte Zapnuto.
Zvolte Uložit.
Jakmile se zobrazí potvrzovací dialogové okno, vyberte Ano.
Teď můžete přidat zásady přístupu, které vaší statické webové aplikaci umožní číst tajné kódy služby Key Vault.
Přidání zásad přístupu ke službě Key Vault
Na webu Azure Portal otevřete prostředek služby Key Vault.
V nabídce Nastavení vyberte Zásady přístupu.
Vyberte odkaz Přidat zásady přístupu.
V rozevíracím seznamu Oprávnění tajných kódů vyberte Získat.
Vedle popisku Vybrat objekt zabezpečení vyberte odkaz Žádný.
Ve vyhledávacím poli vyhledejte název statické webové aplikace.
Vyberte položku seznamu, která odpovídá názvu vaší aplikace.
Zvolte Zvolit.
Vyberte přidat.
Zvolte Uložit.
Zásady přístupu se teď ukládají do služby Key Vault. Dále přejděte k identifikátoru URI tajného klíče, který se použije při přidružování statické webové aplikace k prostředku služby Key Vault.
V nabídce Nastavení vyberte Tajné kódy.
V seznamu vyberte požadovaný tajný klíč.
Ze seznamu vyberte požadovanou verzi tajného kódu.
Výběrem možnosti Kopírovat na konci textového pole Identifikátor tajného klíče zkopírujte hodnotu identifikátoru URI tajného kódu do schránky.
Tuto hodnotu vložte do textového editoru pro pozdější použití.
Přidání nastavení aplikace
Otevřete web Static Web Apps na webu Azure Portal.
V nabídce Nastavení vyberte Konfigurace.
V části Nastavení aplikace vyberte Přidat.
Do textového pole pro pole Název zadejte název.
Určete hodnotu tajného kódu v textovém poli pro pole Hodnota .
Tajná hodnota je složená z několika různých hodnot. Následující šablona ukazuje, jak se sestaví konečný řetězec.
@Microsoft.KeyVault(SecretUri=<YOUR_KEY_VAULT_SECRET_URI>)
Konečný řetězec by například vypadal jako v následujícím příkladu:
@Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/)
Máte k dispozici i další možnosti:
@Microsoft.KeyVault(VaultName=myvault;SecretName=mysecret)
Pomocí následujících kroků sestavte úplnou hodnotu tajného kódu.
Zkopírujte šablonu shora a vložte ji do textového editoru.
Nahraďte
<YOUR_KEY_VAULT_SECRET_URI>
hodnotou identifikátoru URI služby Key Vault, kterou jste si vyhradili dříve.Zkopírujte novou úplnou hodnotu řetězce.
Vložte hodnotu do textového pole pole Hodnota .
Vyberte OK.
V horní části panelu nástrojů Nastavení aplikace vyberte Uložit.
Když teď konfigurace vlastního ověřování odkazuje na nově vytvořené nastavení aplikace, hodnota se extrahuje ze služby Azure Key Vault pomocí identity statické webové aplikace.