Azure Blob Depolama'a kimlik doğrulaması yapmak için Azure Stream Analytics işinizde yönetilen kimliği kullanın.

Azure Blob depolama çıkışı için managed identity authentication kullandığınızda, Stream Analytics işleri bağlantı dizesi kullanmadan depolama hesabına doğrudan erişim elde eder. Bu özellik güvenliği artırır ve Azure içindeki bir sanal ağdaki (VNET) depolama hesabına veri yazmanızı sağlar.

Bu makalede, Azure portalı ve Azure Resource Manager dağıtımı aracılığıyla Stream Analytics işinin Blob çıktıları için yönetilen kimliği etkinleştirme işlemi gösterilmektedir.

Azure portalını kullanarak Stream Analytics işini oluşturma

İlk olarak, Azure Stream Analytics işiniz için yönetilen bir kimlik oluşturun. 

  1. Azure portalında Azure Stream Analytics işinizi açın. 

  2. 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.

    Sistem tarafından atanan yönetilen kimlik

  3. Azure, Microsoft Entra ID'da Stream Analytics işinin kimliği için bir hizmet sorumlusu oluşturur. Azure yeni oluşturulan kimliğin yaşam döngüsünü yönetir. Stream Analytics işini sildiğinizde Azure ilişkili kimliği (hizmet sorumlusu) otomatik olarak siler. 

    Yapılandırmayı kaydettiğinizde, hizmet sorumlusunun Nesne Kimliği (OID), aşağıdaki bölümde gösterildiği gibi Asıl Kimlik olarak görünür:

    Asıl Kimlik

    Hizmet sorumlusu, Stream Analytics işiyle aynı ada sahiptir. Örneğin, işinizin adı ise MyASAJob, hizmet sorumlusunun adı da MyASAJobolur. 

Azure Resource Manager dağıtımı

Azure Resource Manager kullanarak Stream Analytics işinizin dağıtımını tam olarak otomatikleştirebilirsiniz. Azure PowerShell veya Azure CLI kullanarak Resource Manager şablonları dağıtabilirsiniz. Aşağıdaki örneklerde Azure CLI kullanılır.

  1. Microsoft.StreamAnalytics/streamingjobs kaynak oluşturun, Resource Manager şablonunuzun kaynak bölümüne aşağıdaki özelliği kapsayarak, Yönetilen Kimlik'e sahip bir kaynak olarak.

    "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ğıdaki örnek Resource Manager şablonu, Yönetilen Kimlik etkinleştirilmiş bir Stream Analytics işi ve Yönetilen Kimlik kullanan bir Blob çıkış havuzu dağıtır:

    {
        "$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"
                                    }
                                }
                            }
                        }
                    ]
                }
            }
        ]
    }
    

    Aşağıdaki Azure CLI komutunu kullanarak yukarıdaki işi ExampleGroup kaynak grubuna dağıtabilirsiniz:

    az deployment group create --resource-group ExampleGroup -template-file StreamingJob.json
    
  2. İşi oluşturduktan sonra, işin tam tanımını almak için Azure Resource Manager kullanın.

    az resource show --ids /subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.StreamAnalytics/StreamingJobs/{RESOURCE_NAME}
    

    Yukarıdaki komut aşağıdaki örneğe 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, Microsoft Entra ID içinde işinizin Yönetilen Kimliğini tanımlar ve sonraki adımda Stream Analytics işinin depolama hesabına erişim izni vermek için kullanılır.

  3. İş oluşturduğunuza göre, bu makaledeki Stream Analytics işinin depolama hesabınıza erişimini sağlama bölümüne bakın.

Stream Analytics işinin depolama hesabınıza erişmesine izin verin

Stream Analytics işinize iki erişim düzeyi verebilirsiniz:

  1. Kapsayıcı düzeyi erişimi: Bu erişim düzeyi, işin belirli bir mevcut kapsayıcıya erişmesini sağlar.
  2. Hesap düzeyi erişimi: Bu erişim düzeyi, işe yeni kapsayıcılar oluşturma da dahil olmak üzere depolama hesabına genel erişim verir.

Kapsayıcı oluşturmak için işe ihtiyacınız yoksa, işe gereken en düşük erişim düzeyini vermek için Kapsayıcı düzeyi erişimi'ni seçin. Aşağıdaki bölümlerde hem Azure portalına hem de komut satırına yönelik seçenekler açıklanmaktadır.

Not

Genel çoğaltma veya önbelleğe alma gecikmesi nedeniyle izinlerin iptali veya verilmesi biraz zaman alabilir. Değişiklikler sekiz dakika içinde görünmelidir.

Azure portalı üzerinden erişim izni verme

Kapsayıcı düzeyi erişimi

  1. Depolama hesabınızda kapsayıcının yapılandırma bölmesine gidin.

  2. Erişim denetimi (IAM) öğesini seçin.

  3. Ekle'yi ve >'yi seçerek Rol ataması ekle sayfasını açın.

  4. Aşağıdaki rolü atayın. Ayrıntılı adımlar için bkz. Azure portalı kullanarak Azure rolleri atama.

    Ayarlar Değer
    Rol 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ı>

    Azure portalında Rol ataması ekle sayfasını gösteren ekran görüntüsü.

Hesap düzeyi erişimi

  1. Depolama hesabınıza gidin.

  2. Erişim denetimi (IAM) öğesini seçin.

  3. Ekle'yi ve >'yi seçerek Rol ataması ekle sayfasını açın.

  4. Aşağıdaki rolü atayın. Ayrıntılı adımlar için bkz. Azure portalı kullanarak Azure rolleri atama.

    Ayarlar Değer
    Rol 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ı>

    Azure portalında Rol ataması ekle sayfasını gösteren ekran görüntüsü.

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.

  1. Azure Blob depolama çıkış havuzu için çıkış özellikleri penceresinde Kimlik doğrulama modu açılır menüsünü açın ve Yönetilen Kimlik seçeneğini seçin. Diğer çıkış özellikleri hakkında bilgi için bkz . Azure Stream Analytics çıkışlarını anlama. bitirdiğinizde Kaydet'i seçin.

    Azure Blob depolama çıkışını yapılandırma

Sanal ağ erişimini etkinleştirme

Depolama hesabınızın Güvenlik duvarları ve sanal ağlar yapılandırdığınızda, opsiyonel olarak diğer güvenilen Microsoft hizmetlerinden gelen ağ trafiğine izin verebilirsiniz. Stream Analytics Yönetilen Kimlik kullanarak kimlik doğrulaması yaptığı zaman, isteğin güvenilir bir hizmetten kaynaklandığına dair kanıt sağlar. Aşağıdaki yönergelerde bu sanal ağ erişimi özel durumunun nasıl etkinleştirileceği açıklanmaktadır.

  1. Depolama hesabının yapılandırma bölmesinde güvenlik duvarları ve sanal ağlar bölmesine gidin.
  2. Güvenilen Microsoft hizmetlerinin bu depolama hesabına erişmesine izin verin seçeneğinin etkin olduğundan emin olun.
  3. Etkinleştirdiyseniz Kaydet'i seçin.

Sanal ağ erişimini etkinleştirme

Yönetilen Kimliği Kaldır

Stream Analytics işi için oluşturduğunuz Yönetilen Kimlik yalnızca işi sildiğinizde silinir. İşi silmeden Yönetilen Kimliği silemezsiniz. Yönetilen Kimlik'i artık kullanmak istemiyorsanız çıktının kimlik doğrulama yöntemini değiştirebilirsiniz. İşi silene kadar Yönetilen Kimlik var olmaya devam eder ve Yönetilen Kimlik kimlik doğrulamasını tekrar kullanmak isterseniz kullanılır.

Sınırlamalar

Bu özelliğin geçerli sınırlamaları şunlardır:

  1. Klasik Azure Depolama hesapları.

  2. Microsoft Entra Kimliği olmayan Azure hesapları.

  3. Çok kiracılı erişim desteklenmez. Belirli bir Stream Analytics işi için oluşturulan hizmet sorumlusu, işi oluşturduğunuz Microsoft Entra kiracıda bulunmalıdır ve bunu farklı bir Microsoft Entra kiracısında bulunan bir kaynakla kullanamazsınız.

Sonraki adımlar