Azure Stream Analytics işinizin kimliğini doğrulamak için Yönetilen Kimlik'i kullanarak Azure Blob Depolama
Azure Blob depolama çıkışı için Yönetilen Kimlik kimlik doğrulaması, Stream Analytics işlerinin bağlantı dizesi kullanmak yerine depolama hesabına doğrudan erişmesini sağlar. Geliştirilmiş güvenliğe ek olarak, bu özellik Azure'daki bir Sanal Ağ (VNET) içindeki bir depolama hesabına veri yazmanızı da sağlar.
Bu makalede, Bir Stream Analytics işinin Blob çıktıları için Yönetilen Kimliği Azure portalı üzerinden ve bir Azure Resource Manager dağıtımı aracılığıyla nasıl etkinleştirileceği gösterilmektedir.
Azure portalını kullanarak Stream Analytics işi oluşturma
İlk olarak, Azure Stream Analytics işiniz için bir yönetilen kimlik oluşturursunuz.
Azure portalında Azure Stream Analytics işinizi açın.
Sol gezinti menüsünde Yapılandır'ın altında bulunan Yönetilen Kimlik'i seçin. Ardından Sistem Tarafından Atanan Yönetilen Kimliği Kullan'ın yanındaki kutuyu işaretleyin ve Kaydet'i seçin.
Stream Analytics işinin kimliği için bir hizmet sorumlusu Microsoft Entra Id'de oluşturulur. Yeni oluşturulan kimliğin yaşam döngüsü Azure tarafından yönetilir. Stream Analytics işi silindiğinde, ilişkili kimlik (yani hizmet sorumlusu) Azure tarafından otomatik olarak silinir.
Yapılandırmayı kaydettiğinizde, hizmet sorumlusunun Nesne Kimliği (OID) aşağıda gösterildiği gibi Asıl Kimlik olarak listelenir:
Hizmet sorumlusu, Stream Analytics işiyle aynı ada sahiptir. Örneğin, işinizin adı ise
MyASAJob
, hizmet sorumlusunun adı daMyASAJob
olur.
Azure Resource Manager dağıtımı
Azure Resource Manager'ı kullanarak Stream Analytics işinizin dağıtımını tam olarak otomatikleştirebilirsiniz. Resource Manager şablonlarını Azure PowerShell veya Azure CLI kullanarak dağıtabilirsiniz. Aşağıdaki örneklerde Azure CLI kullanılmaktadır.
Resource Manager şablonunuzun kaynak bölümüne aşağıdaki özelliği ekleyerek Yönetilen Kimlik ile bir Microsoft.StreamAnalytics/streamingjobs kaynağı oluşturabilirsiniz:
"Identity": { "Type": "SystemAssigned", },
Bu özellik, Azure Resource Manager'a Stream Analytics işiniz için kimlik oluşturmasını ve yönetmesini söyler. Aşağıda, Yönetilen Kimlik etkinleştirilmiş bir Stream Analytics işi ve Yönetilen Kimlik kullanan bir Blob çıkış havuzu dağıtan örnek bir Resource Manager şablonu verilmiştir:
{ "$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" } } } } ] } } ] }
Yukarıdaki iş aşağıdaki Azure CLI komutu kullanılarak ExampleGroup Kaynak grubuna dağıtılabilir:
az deployment group create --resource-group ExampleGroup -template-file StreamingJob.json
İş oluşturulduktan sonra, işin tam tanımını almak için Azure Resource Manager'ı kullanabilirsiniz.
az resource show --ids /subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.StreamAnalytics/StreamingJobs/{RESOURCE_NAME}
Yukarıdaki komut aşağıdakine benzer bir yanıt döndürür:
{ "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" }
İş tanımındaki principalId değerini not alın. Bu, işinizin Yönetilen Kimliğini Microsoft Entra Kimliği içinde tanımlar ve bir sonraki adımda Stream Analytics iş hesabına depolama hesabına erişim vermek için kullanılacaktır.
İş oluşturulduğuna göre, bu makalenin Stream Analytics işine depolama hesabınıza erişim verme bölümüne bakın.
Stream Analytics işinin depolama hesabınıza erişmesini sağlayın
Stream Analytics işinize vermeyi seçebileceğiniz iki erişim düzeyi vardır:
- Kapsayıcı düzeyi erişimi: Bu seçenek, işin belirli bir mevcut kapsayıcıya erişmesini sağlar.
- Hesap düzeyinde erişim: Bu seçenek, işe yeni kapsayıcılar oluşturma da dahil olmak üzere depolama hesabına genel erişim sağlar.
Sizin yerinize kapsayıcı oluşturmak için işe ihtiyacınız yoksa Kapsayıcı düzeyi erişimi'ni seçmeniz gerekir çünkü bu seçenek işe gereken en düşük erişim düzeyini verir. Azure portalı ve komut satırı için her iki seçenek de aşağıda açıklanmıştır.
Not
Genel çoğaltma veya önbelleğe alma gecikmesi nedeniyle izinler iptal edildiğinde veya verildiğinde bir gecikme olabilir. Değişiklikler 8 dakika içinde yansıtılmalıdır.
Azure portalı üzerinden erişim izni verme
Kapsayıcı düzeyi erişimi
Depolama hesabınızda kapsayıcının yapılandırma bölmesine gidin.
Erişim denetimi (IAM) öğesini seçin.
Rol ataması ekle sayfasını açmak için Rol ataması ekle'yi> seçin.
Aşağıdaki rolü atayın. Ayrıntılı adımlar için bkz. Azure portalı kullanarak Azure rolleri atama.
Ayar Value Role Depolama Blobu Veri Katılımcısı Şu kişiye erişim ata: Kullanıcı, grup veya hizmet sorumlusu Üyeler <Stream Analytics işinizin adı>
Hesap düzeyi erişimi
Depolama hesabınıza gidin.
Erişim denetimi (IAM) öğesini seçin.
Rol ataması ekle sayfasını açmak için Rol ataması ekle'yi> seçin.
Aşağıdaki rolü atayın. Ayrıntılı adımlar için bkz. Azure portalı kullanarak Azure rolleri atama.
Ayar Value Role Depolama Blobu Veri Katılımcısı Şu kişiye erişim ata: Kullanıcı, grup veya hizmet sorumlusu Üyeler <Stream Analytics işinizin adı>
Komut satırı aracılığıyla erişim verme
Kapsayıcı düzeyi erişimi
Belirli bir kapsayıcıya erişim vermek için Azure CLI kullanarak aşağıdaki komutu çalıştırın:
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>
Hesap düzeyi erişimi
Hesabın tamamına erişim vermek için Azure CLI kullanarak aşağıdaki komutu çalıştırın:
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>
Blob girişi veya çıkışı oluşturma
Yönetilen kimliğiniz yapılandırıldığına göre, blob kaynağını Stream Analytics işinize giriş veya çıkış olarak eklemeye hazırsınız.
Azure Blob depolama çıkış havuzundaki çıkış özellikleri penceresinde Kimlik doğrulama modu açılan listesini seçin ve Yönetilen Kimlik'i seçin. Diğer çıkış özellikleri hakkında bilgi için bkz . Azure Stream Analytics çıkışlarını anlama. İşiniz bittiğinde Kaydet’e tıklayın.
Sanal ağ erişimini etkinleştirme
Depolama hesabınızın Güvenlik duvarlarını ve sanal ağlarını yapılandırırken, isteğe bağlı olarak diğer güvenilen Microsoft hizmetleri gelen ağ trafiğine izin vekleyebilirsiniz. Stream Analytics Yönetilen Kimlik kullanarak kimlik doğrulaması yaparken, isteğin güvenilir bir hizmetten kaynaklandığının kanıtını sağlar. Bu sanal ağ erişim özel durumunu etkinleştirme yönergeleri aşağıdadır.
- Depolama hesabının yapılandırma bölmesindeki "Güvenlik duvarları ve sanal ağlar" bölmesine gidin.
- "Güvenilen Microsoft hizmetleri bu depolama hesabına erişmesine izin ver" seçeneğinin etkinleştirildiğinden emin olun.
- Etkinleştirdiyseniz Kaydet'e tıklayın.
Yönetilen Kimliği Kaldır
Stream Analytics işi için oluşturulan Yönetilen Kimlik yalnızca iş silindiğinde silinir. İşi silmeden Yönetilen Kimliği silmenin hiçbir yolu yoktur. Yönetilen Kimlik'i artık kullanmak istemiyorsanız çıktının kimlik doğrulama yöntemini değiştirebilirsiniz. Yönetilen Kimlik, iş silinene kadar var olmaya devam eder ve Yönetilen Kimlik kimlik doğrulamasını yeniden kullanma kararı alırsanız kullanılır.
Sınırlamalar
Bu özelliğin geçerli sınırlamaları aşağıdadır:
Klasik Azure Depolama hesapları.
Microsoft Entra Kimliği olmayan Azure hesapları.
Çok kiracılı erişim desteklenmez. Belirli bir Stream Analytics işi için oluşturulan Hizmet sorumlusu, işin oluşturulduğu Microsoft Entra kiracısında bulunmalıdır ve farklı bir Microsoft Entra kiracısında bulunan bir kaynakla kullanılamaz.