Správa tajných kódů pro nasazení Azure IoT Operations Preview
Důležité
Azure IoT Operations Preview – Služba Azure Arc je aktuálně ve verzi PREVIEW. Tento software ve verzi Preview byste neměli používat v produkčních prostředích.
Právní podmínky, které platí pro funkce Azure, které jsou ve verzi beta, verzi Preview nebo které zatím nejsou veřejně dostupné, najdete v Dodatečných podmínkách použití pro Microsoft Azure verze Preview.
Správa tajných kódů ve službě Azure IoT Operations Preview používá Azure Key Vault jako řešení spravovaného trezoru v cloudu a používá ovladač CSI úložiště tajných kódů k načítání tajných kódů z cloudu a jejich ukládání na hraničních zařízeních.
Požadavky
- Cluster Kubernetes s podporou arc. Další informace najdete v tématu Příprava clusteru.
Konfigurace úložiště tajných kódů v clusteru
Operace Azure IoT podporují službu Key Vault pro ukládání tajných kódů a certifikátů. Příkaz az iot ops init
Azure CLI automatizuje kroky nastavení instančního objektu pro udělení přístupu k trezoru klíčů a konfiguraci tajných kódů, které potřebujete pro spuštění operací Azure IoT.
Další informace najdete v tématu Nasazení rozšíření Azure IoT Operations Preview do clusteru Kubernetes.
Ruční konfigurace instančního objektu a služby Key Vault
Pokud účet Azure, který az iot ops init
spouští příkaz, nemá oprávnění k dotazování Microsoft Graphu a vytváření instančních objektů, můžete tyto počáteční kroky připravit a použít při spuštění příkazu rozhraní příkazového řádku další argumenty, jak je popsáno v tématu Nasazení rozšíření Azure IoT Operations.
Konfigurace instančního objektu pro interakci se službou Key Vault prostřednictvím ID Microsoft Entra
Pomocí těchto kroků vytvořte novou registraci aplikace pro aplikaci Azure IoT Operations, která se použije k ověření ve službě Key Vault.
Nejprve zaregistrujte aplikaci s ID Microsoft Entra:
Na panelu hledání na webu Azure Portal vyhledejte a vyberte ID Microsoft Entra.
V části Spravovat v nabídce Microsoft Entra ID vyberte Registrace aplikací.
Vyberte Nová registrace.
Na stránce Registrace aplikace zadejte následující informace:
Pole Hodnota Název Zadejte název aplikace. Podporované typy účtů Ujistěte se, že je vybraná jenom možnost Účty v tomto organizačním adresáři (<pouze YOUR_TENANT_NAME> – jeden tenant ). Identifikátor URI přesměrování Vyberte web jako platformu. Webovou adresu můžete ponechat prázdnou. Vyberte Zaregistrovat.
Po vytvoření aplikace budete přesměrováni na stránku prostředků.
Zkopírujte ID aplikace (klienta) ze stránky s přehledem registrace aplikace. Tuto hodnotu použijete jako argument při spuštění nasazení operací Azure IoT pomocí
az iot ops init
příkazu.
Pak dejte aplikaci oprávnění ke službě Key Vault:
Na stránce prostředků vaší aplikace vyberte oprávnění rozhraní API v části Spravovat v nabídce aplikace.
Vyberte Přidat oprávnění.
Na stránce Oprávnění rozhraní API žádosti se posuňte dolů a vyberte Azure Key Vault.
Vyberte Delegovaná oprávnění.
Zaškrtnutím políčka zaškrtněte user_impersonation oprávnění.
Vyberte Přidat oprávnění.
Vytvořte tajný klíč klienta, který se přidá do clusteru Kubernetes pro ověření ve vašem trezoru klíčů:
Na stránce prostředků vaší aplikace vyberte Certifikáty a tajné kódy v části Spravovat v nabídce aplikace.
Vyberte Nový tajný klíč klienta.
Zadejte volitelný popis tajného kódu a pak vyberte Přidat.
Zkopírujte hodnotu z nového tajného kódu. Tuto hodnotu použijete později při spuštění
az iot ops init
.
Načtěte ID instančního objektu:
- Na stránce Přehled aplikace v části Základy vyberte odkaz na název aplikace v části Spravovaná aplikace v místním adresáři. Otevře se vlastnosti podnikové aplikace. Zkopírujte ID objektu, které chcete použít při spuštění
az iot ops init
.
Vytvořte trezor klíčů.
Vytvořte novou instanci služby Azure Key Vault a ujistěte se, že má model oprávnění nastavený na zásady přístupu k trezoru.
az keyvault create --enable-rbac-authorization false --name "<your unique key vault name>" --resource-group "<the name of the resource group>"
Pokud máte existující trezor klíčů, můžete model oprávnění změnit spuštěním následujícího příkazu:
az keyvault update --name "<your unique key vault name>" --resource-group "<the name of the resource group>" --enable-rbac-authorization false
Po spuštění az iot ops init
budete potřebovat ID prostředku služby Key Vault. Id prostředku načtete spuštěním následujícího příkazu:
az keyvault show --name "<your unique key vault name>" --resource-group "<the name of the resource group>" --query id -o tsv
Nastavení zásad přístupu instančního objektu ve službě Key Vault
Nově vytvořený instanční objekt potřebuje zásady tajného list
kódu a get
přístupu, aby operace Azure IoT fungovaly s úložištěm tajných kódů.
Pro správu zásad přístupu ke službě Key Vault potřebuje objekt zabezpečení přihlášený k rozhraní příkazového řádku dostatečná oprávnění Azure. V modelu řízení přístupu na základě role (RBAC) je toto oprávnění součástí přispěvatele služby Key Vault nebo vyšších rolí.
Tip
Pokud jste k vytvoření trezoru klíčů použili přihlášený objekt příkazového řádku, pravděpodobně už máte správná oprávnění. Pokud ale odkazujete na jiný nebo existující trezor klíčů, měli byste zkontrolovat, jestli máte dostatečná oprávnění k nastavení zásad přístupu.
Spuštěním následujícího příkazu přiřaďte instančnímu objektu tajný klíč list
a get
oprávnění.
az keyvault set-policy --name "<your unique key vault name>" --resource-group "<the name of the resource group>" --object-id <Object ID copied from Enterprise Application SP in Microsoft Entra ID> --secret-permissions get list
Předání argumentů instančního objektu a služby Key Vault do nasazení operací Azure IoT
Když použijete průvodce nasazením rozšíření Azure IoT Operations, předejte do příkazu další příznaky az iot ops init
, aby bylo možné použít předkonfigurovaný instanční objekt a trezor klíčů.
Následující příklad ukazuje, jak připravit cluster pro operace Azure IoT bez jeho plného nasazení pomocí --no-deploy
příznaku. Můžete také spustit příkaz bez tohoto argumentu pro výchozí nasazení operací Azure IoT.
az iot ops init --cluster "<your cluster name>" --resource-group "<the name of the resource group>" \
--kv-id <Key Vault Resource ID> \
--sp-app-id <Application registration App ID (client ID) from Microsoft Entra ID> \
--sp-object-id <Object ID copied from Enterprise Application in Microsoft Entra ID> \
--sp-secret "<Client Secret from App registration in Microsoft Entra ID>" \
--no-deploy
Jedním krokem, který příkaz provede, je zajistit, init
aby všechny třídy zprostředkovatele tajných kódů vyžadované operacemi Azure IoT měly výchozí tajný klíč nakonfigurovaný v trezoru klíčů. Pokud hodnota výchozího tajného kódu neexistuje init
, vytvoří ji. Tento krok vyžaduje, aby objekt zabezpečení přihlášený k rozhraní příkazového řádku má oprávnění k tajným kódům set
. Pokud chcete použít existující tajný klíč jako výchozí tajný klíč SPC, můžete ho zadat pomocí parametru --kv-sat-secret-name
, v takovém případě protokolovaný instanční objekt potřebuje jenom oprávnění k tajným kódům get
.
Přidání tajného kódu do komponenty Azure IoT Operations
Jakmile máte v clusteru nastavené úložiště tajných kódů, můžete vytvořit a přidat tajné kódy služby Key Vault.
Vytvořte tajný klíč ve službě Key Vault s jakýmkoli názvem a hodnotou, kterou potřebujete. Tajný klíč můžete vytvořit pomocí webu Azure Portal nebo příkazu az keyvault secret set .
V clusteru identifikujte třídu zprostředkovatele tajných kódů (SPC) pro komponentu, do které chcete tajný kód přidat. Například
aio-default-spc
. Pomocí následujícího příkazu zobrazte seznam všech řadičů služeb v clusteru:kubectl get secretproviderclasses -A
Otevřete soubor v preferovaném textovém editoru. Pokud používáte k9s, zadejte
e
úpravy.Přidejte tajný objekt do seznamu v části
spec.parameters.objects.array
. Příklad:spec: parameters: keyvaultName: my-key-vault objects: | array: - | objectName: PlaceholderSecret objectType: secret objectVersion: ""
Uložte změny a použijte je v clusteru. Pokud používáte k9s, změny se použijí automaticky.
Ovladač CSI aktualizuje tajné kódy pomocí intervalu dotazování, takže nový tajný kód není pro pod dostupný až do dalšího intervalu dotazování. Pokud chcete komponentu aktualizovat okamžitě, restartujte pody pro danou komponentu. Pokud například chcete restartovat komponentu Zpracovatel dat, spusťte následující příkazy:
kubectl delete pod aio-dp-reader-worker-0 -n azure-iot-operations
kubectl delete pod aio-dp-runner-worker-0 -n azure-iot-operations
Tajné kódy Azure IoT MQ Preview
Postup správy tajných kódů pomocí služby Azure Key Vault pro Azure IoT MQ Preview se liší. Další informace najdete v tématu Správa tajných kódů MQ pomocí služby Key Vault.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro