Použití spravované identity k ověření úlohy Azure Stream Analytics ve službě Azure Blob Storage
Ověřování spravované identity pro výstup do služby Azure Blob Storage poskytuje úlohám Stream Analytics přímý přístup k účtu úložiště místo použití připojovací řetězec. Kromě vylepšeného zabezpečení umožňuje tato funkce také zapisovat data do účtu úložiště ve virtuální síti v Rámci Azure.
V tomto článku se dozvíte, jak povolit spravovanou identitu pro výstupy objektů blob úlohy Stream Analytics prostřednictvím webu Azure Portal a prostřednictvím nasazení Azure Resource Manageru.
Vytvoření úlohy Stream Analytics pomocí webu Azure Portal
Nejprve vytvoříte spravovanou identitu pro úlohu Azure Stream Analytics.
Na webu Azure Portal otevřete úlohu Azure Stream Analytics.
V levé navigační nabídce vyberte spravovanou identitu umístěnou v části Konfigurovat. Potom zaškrtněte políčko vedle možnosti Použít spravovanou identitu přiřazenou systémem a vyberte Uložit.
Instanční objekt pro identitu úlohy Stream Analytics se vytvoří v Microsoft Entra ID. Životní cyklus nově vytvořené identity spravuje Azure. Když se úloha Stream Analytics odstraní, azure automaticky odstraní přidruženou identitu (tj. instanční objekt).
Při uložení konfigurace se ID objektu (OID) instančního objektu zobrazí jako ID objektu zabezpečení, jak je znázorněno níže:
Instanční objekt má stejný název jako úloha Stream Analytics. Pokud je
MyASAJob
například název vaší úlohy , název instančního objektu je takéMyASAJob
.
Nasazení podle modelu Azure Resource Manager
Pomocí Azure Resource Manageru můžete plně automatizovat nasazení úlohy Stream Analytics. Šablony Resource Manageru můžete nasadit pomocí Azure PowerShellu nebo Azure CLI. Následující příklady používají Azure CLI.
Prostředek Microsoft.StreamAnalytics/streamingjobs se spravovanou identitou můžete vytvořit tak, že do části prostředku šablony Resource Manageru zahrnete následující vlastnost:
"Identity": { "Type": "SystemAssigned", },
Tato vlastnost říká Azure Resource Manageru, aby vytvořil a spravil identitu pro vaši úlohu Stream Analytics. Níže je příklad šablony Resource Manageru, která nasadí úlohu Stream Analytics s povolenou spravovanou identitou a výstupní jímkou objektů blob, která používá spravovanou identitu:
{ "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "resources": [ { "apiVersion": "2017-04-01-preview", "name": "MyStreamingJob", "location": "[resourceGroup().location]", "type": "Microsoft.StreamAnalytics/StreamingJobs", "identity": { "type": "systemAssigned" }, "properties": { "sku": { "name": "standard" }, "outputs":[ { "name":"output", "properties":{ "serialization": { "type": "JSON", "properties": { "encoding": "UTF8" } }, "datasource":{ "type":"Microsoft.Storage/Blob", "properties":{ "storageAccounts": [ { "accountName": "MyStorageAccount" } ], "container": "test", "pathPattern": "segment1/{date}/segment2/{time}", "dateFormat": "yyyy/MM/dd", "timeFormat": "HH", "authenticationMode": "Msi" } } } } ] } } ] }
Výše uvedenou úlohu je možné nasadit do skupiny prostředků ExampleGroup pomocí následujícího příkazu Azure CLI:
az deployment group create --resource-group ExampleGroup -template-file StreamingJob.json
Po vytvoření úlohy můžete pomocí Azure Resource Manageru načíst úplnou definici úlohy.
az resource show --ids /subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.StreamAnalytics/StreamingJobs/{RESOURCE_NAME}
Výše uvedený příkaz vrátí odpověď podobná následující:
{ "id": "/subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.StreamAnalytics/streamingjobs/{RESOURCE_NAME}", "identity": { "principalId": "{PRINCIPAL_ID}", "tenantId": "{TENANT_ID}", "type": "SystemAssigned", "userAssignedIdentities": null }, "kind": null, "location": "West US", "managedBy": null, "name": "{RESOURCE_NAME}", "plan": null, "properties": { "compatibilityLevel": "1.0", "createdDate": "2019-07-12T03:11:30.39Z", "dataLocale": "en-US", "eventsLateArrivalMaxDelayInSeconds": 5, "jobId": "{JOB_ID}", "jobState": "Created", "jobStorageAccount": null, "jobType": "Cloud", "outputErrorPolicy": "Stop", "package": null, "provisioningState": "Succeeded", "sku": { "name": "Standard" } }, "resourceGroup": "{RESOURCE_GROUP}", "sku": null, "tags": null, "type": "Microsoft.StreamAnalytics/streamingjobs" }
Poznamenejte si id objektu zabezpečení z definice úlohy, která identifikuje spravovanou identitu vaší úlohy v rámci ID Microsoft Entra a použije se v dalším kroku k udělení přístupu k úloze Stream Analytics k účtu úložiště.
Teď, když je úloha vytvořená, najdete v části Udělení přístupu k účtu úložiště v tomto článku úlohu Stream Analytics.
Udělení přístupu k účtu úložiště úloze Stream Analytics
Můžete se rozhodnout, že úlohu Stream Analytics získáte dvěma úrovněmi přístupu:
- Přístup na úrovni kontejneru: Tato možnost dává úloze přístup ke konkrétnímu existujícímu kontejneru.
- Přístup na úrovni účtu: Tato možnost dává úloze obecný přístup k účtu úložiště, včetně možnosti vytvářet nové kontejnery.
Pokud úlohu nepotřebujete k vytvoření kontejnerů vaším jménem, měli byste zvolit přístup na úrovni kontejneru, protože tato možnost udělí úloze minimální požadovanou úroveň přístupu. Obě možnosti jsou vysvětleny níže pro Azure Portal a příkazový řádek.
Poznámka:
Kvůli globální replikaci nebo latenci ukládání do mezipaměti může dojít ke zpoždění při odvolání nebo udělení oprávnění. Změny by se měly projevit do 8 minut.
Udělení přístupu prostřednictvím webu Azure Portal
Přístup na úrovni kontejneru
V účtu úložiště přejděte do podokna konfigurace kontejneru.
Vyberte Řízení přístupu (IAM) .
Výběrem možnosti Přidat>přiřazení role otevřete stránku Přidat přiřazení role.
Přiřaďte následující roli. Podrobný postup najdete v tématu Přiřazování rolí Azure s využitím webu Azure Portal.
Nastavení Hodnota Role Přispěvatel dat objektů blob úložiště Přiřadit přístup k Uživatel, skupina nebo instanční objekt Členové <Název úlohy Stream Analytics>
Přístup na úrovni účtu
Přejděte ke svému účtu úložiště.
Vyberte Řízení přístupu (IAM) .
Výběrem možnosti Přidat>přiřazení role otevřete stránku Přidat přiřazení role.
Přiřaďte následující roli. Podrobný postup najdete v tématu Přiřazování rolí Azure s využitím webu Azure Portal.
Nastavení Hodnota Role Přispěvatel dat objektů blob úložiště Přiřadit přístup k Uživatel, skupina nebo instanční objekt Členové <Název úlohy Stream Analytics>
Udělení přístupu přes příkazový řádek
Přístup na úrovni kontejneru
Pokud chcete udělit přístup ke konkrétnímu kontejneru, spusťte pomocí Azure CLI následující příkaz:
az role assignment create --role "Storage Blob Data Contributor" --assignee <principal-id> --scope /subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>/blobServices/default/containers/<container-name>
Přístup na úrovni účtu
Pokud chcete udělit přístup k celému účtu, spusťte pomocí Azure CLI následující příkaz:
az role assignment create --role "Storage Blob Data Contributor" --assignee <principal-id> --scope /subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>
Vytvoření vstupu nebo výstupu objektu blob
Teď, když je vaše spravovaná identita nakonfigurovaná, jste připraveni přidat prostředek objektu blob jako vstup nebo výstup do úlohy Stream Analytics.
V okně vlastností výstupu úložiště objektů blob v Azure vyberte rozevírací seznam Režim ověřování a zvolte Spravovaná identita. Informace o ostatních vlastnostech výstupu najdete v tématu Vysvětlení výstupů z Azure Stream Analytics. Až budete hotovi, klikněte na Uložit.
Povolení přístupu k virtuální síti
Při konfiguraci bran firewall a virtuálních sítí účtu úložiště můžete volitelně povolit síťový provoz z jiných důvěryhodných služby Microsoft. Když se Stream Analytics ověřuje pomocí spravované identity, poskytuje důkaz, že požadavek pochází z důvěryhodné služby. Níže jsou uvedeny pokyny k povolení této výjimky přístupu k virtuální síti.
- V konfiguračním podokně účtu úložiště přejděte do podokna Brány firewall a virtuální sítě.
- Ujistěte se, že je povolená možnost Povolit důvěryhodným služby Microsoft přístup k tomuto účtu úložiště.
- Pokud jste ho povolili, klikněte na Uložit.
Odebrání spravované identity
Spravovaná identita vytvořená pro úlohu Stream Analytics se odstraní jenom při odstranění úlohy. Spravovanou identitu není možné odstranit bez odstranění úlohy. Pokud už spravovanou identitu nechcete používat, můžete změnit metodu ověřování pro výstup. Spravovaná identita bude nadále existovat, dokud se úloha nesmazat, a použije se, pokud se rozhodnete znovu použít ověřování spravované identity.
Omezení
Níže jsou aktuální omezení této funkce:
Klasické účty Azure Storage.
Účty Azure bez ID Microsoft Entra.
Přístup s více tenanty se nepodporuje. Instanční objekt vytvořený pro danou úlohu Stream Analytics se musí nacházet ve stejném tenantovi Microsoft Entra, ve kterém byla úloha vytvořena, a nelze ji použít s prostředkem, který se nachází v jiném tenantovi Microsoft Entra.