Share via


Öğretici: Media Services Yönetilen Kimliği ile depolamaya erişme

Media Services logosu v3


Uyarı

Azure Media Services 30 Haziran 2024'de kullanımdan kaldırılacaktır. Daha fazla bilgi için bkz. AMS Kullanımdan Kaldırma Kılavuzu.

Not

Yönetilen kimlikler yalnızca v3 API'sini kullanarak oluşturulan Media Services hesaplarında kullanılabilir. v2 API'sini kullanıyorsanız ve yönetilen kimlikleri kullanmak istiyorsanız lütfen v2'den v3'e Geçiş Media Services v2'den v3'e giriş.

Depolama hesabı bilinmeyen IP adreslerinden gelen istekleri engelleyecek şekilde yapılandırıldığında bir depolama hesabına erişmek istiyorsanız, Media Services hesabına Depolama hesabına erişim izni verilmelidir. Media Services hesabı için yönetilen kimlik oluşturmak ve Media Services CLI kullanarak bu kimliğe depolama erişimi vermek için aşağıdaki adımları izleyin.

Media Services hesabı depolamaya erişmek için Yönetilen Kimlik kullanır

Bu öğreticide 2020-05-01 Media Services API'sini kullanır.

Genel Bakış

Uyarı

JobInputHTTP veya SAS URL'lerini Media Services hesabıyla ilişkili olmayan bir depolama hesabıyla kullanamazsınız. Bunlar, HTTP(S) kullanılarak erişilebilen mevcut içeriğe sahip müşteriler için kolaylık sağlamak amacıyla tasarlanmıştır; örneğin, genel kullanıma yönelik bir sunucuda medya dosyalarınız varsa veya başka bir bulut sağlayıcısında depolanıyorsa. Yeni çözümler oluşturuyorsanız iş girişleri için Varlıklar'ı kullanın.

Media Services tarafından kullanılan bir depolama hesabına erişimin güvenliğini sağlamak için:

  • Depolama hesabını tüm IP adreslerini reddedecek şekilde yapılandırın (veya yalnızca müşterinin ağında IP adreslerine izin verin)
  • Depolama hesabını "AzureServices" erişimine izin verecek şekilde yapılandırma
  • Media Services'ı Yönetilen Kimlik kullanarak depolama hesabına erişecek şekilde yapılandırma
  • Media Services Varlıklarına medya içeriği yükleme
  • İş girişi olarak Media Services Varlıklarını kullanan kodlama işleri oluşturun. SAS URL'LERINI veya JobInputHTTP'yi KULLANMAYIN.

Azure'da oturum açma

Bu makaledeki komutlardan herhangi birini kullanmak için önce kullanmak istediğiniz abonelikte oturum açmanız gerekir.

Azure'da oturum açın. Bu komutu kullandığınızda, kullanmak istediğiniz abonelik istenir.

az login

Aboneliği ayarlama

Çalışmak istediğiniz aboneliği ayarlamak için bu komutu kullanın.

CLI ile Azure aboneliğini ayarlama

Aşağıdaki komutta, Media Services hesabı için kullanmak istediğiniz Azure abonelik kimliğini sağlayın.

az account set --subscription <subscriptionName>

Kaynak adları

Başlamadan önce, oluşturacağınız kaynakların adlarına karar verin. Özellikle test işlemini tamamladıktan sonra kullanmayı planlamıyorsanız, küme olarak kolayca tanımlanabilir olmalıdır. Adlandırma kuralları birçok kaynak türü için farklıdır, bu nedenle en iyisi küçük harfle devam etmektir. Örneğin, kaynak grubu adınız için "mediatest1rg" ve depolama hesabı adınız için "mediatest1stor". Bu makaledeki her adım için aynı adları kullanın.

Aşağıdaki komutlarda bu adlara başvurulacak şekilde görürsünüz. İhtiyacınız olan kaynakların adları şunlardır:

  • myRG
  • myStorageAccount
  • myAmsAccount
  • location

Not

Yukarıdaki kısa çizgiler yalnızca kılavuz sözcükleri ayırmak için kullanılır. Azure hizmetlerindeki kaynakları adlandırma tutarsızlığı nedeniyle, kaynaklarınızı adlandırırken kısa çizgi kullanmayın. Ayrıca, bölge adını oluşturmazsınız. Bölge adı Azure tarafından belirlenir.

Azure bölgelerini listeleme

Kullanılacak gerçek bölge adından emin değilseniz, bir liste almak için şu komutu kullanın:

Hesabınız için kullanılabilir bölgeleri listelemek için bu komutu kullanın.

az account list-locations --query "[].{DisplayName:displayName, Name:name}" -o table

Sequence

Aşağıdaki adımların her biri belirli bir sırada gerçekleştirilir çünkü JSON yanıtlarındaki bir veya daha fazla değer sıradaki bir sonraki adımda kullanılır.

Depolama hesabı oluşturma

Oluşturacağınız Media Services hesabının kendisiyle ilişkilendirilmiş bir depolama hesabı olmalıdır. Önce Media Services hesabı için depolama hesabını oluşturun. Sonraki adımlar için yerini myStorageAccount alan depolama hesabı adını kullanacaksınız.

CLI ile Azure Depolama hesabı oluşturma

Azure Depolama hesabı oluşturmak için aşağıdaki komutları kullanın.

Depolama hesabı oluşturmak için önce bir konumda bir kaynak grubu oluşturmanız gerekir.

Kullanılabilir konumları listelemek için aşağıdaki komutu kullanın:

CLI ile kullanılabilir konumları listeleme

Kullanılabilir konumları listelemek için aşağıdaki komutu kullanın:

az account list-locations

CLI ile kaynak grubu oluşturma

Kaynak grubu oluşturmak için aşağıdaki komutu kullanın:

az group create -n <resourceGroupName> --location chooseLocation

SKU seçme

Depolama hesabınız için bir SKU seçmeniz de gerekir. Depolama hesaplarını listeleyebilirsiniz.

Aşağıdaki listeden bir SKU seçin: Standard_LRS, Standard_GRS, Standard_RAGRS, Standard_ZRS, Premium_LRS, Premium_ZRS, Standard_GZRS Standard_RAGZRS.

  • Uzunluğu 24 karakterden az olan benzersiz bir adla değiştirin myStorageAccount .
  • İçinde çalışmak istediğiniz bölgeye geçin chooseLocation .
  • Tercih ettiğiniz SKU'ya geçin chooseSKU .
az storage account create -n <myStorageAccount> -g <resourceGroup>  --location <chooseLocation> --sku <chooseSKU>

Hizmet Sorumlusu ile Media Services hesabı oluşturma (Yönetilen Kimlik)

Şimdi Media Services hesabını Yönetilen Kimlik olarak bilinen bir Hizmet Sorumlusu ile oluşturun.

Önemli

Komutta --mi bayrağını kullanmayı unutmamanız önemlidir. Aksi takdirde sonraki bir adım için öğesini principalId bulamazsınız.

Aşağıdaki Azure CLI komutu yeni bir Media Services hesabı oluşturur. Aşağıdaki değerleri değiştirin: your-media-services-account-nameyour-storage-account-nameve your-resource-group-name kullanmak istediğiniz adlarla. komutu, zaten bir kaynak grubu ve depolama hesabı oluşturduğunuzu varsayar.

Media Services hesabına bayrağıyla --mi-system-assigned sistem tarafından atanan yönetilen kimliği verir.


az ams account create --name <your-media-services-account-name> --resource-group <your-resource-group-name> --mi-system-assigned --storage-account <your-storage-account-name>

Örnek JSON yanıtı:

{
  "encryption": {
    "keyVaultProperties": null,
    "type": "SystemKey"
  },
  "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/your-resource-group/providers/Microsoft.Media/mediaservices/your-media-services-account-name",
  "identity": {
    "principalId": "00000000-0000-0000-0000-00000000",
    "tenantId": "00000000-0000-0000-0000-00000000",
    "type": "SystemAssigned"
  },
  "location": "your-region",
  "mediaServiceId": "00000000-0000-0000-0000-00000000",
  "name": "your-media-services-account-name",
  "resourceGroup": "your-resource-group",
  "storageAccounts": [
    {
      "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/mediatest1rg/providers/Microsoft.Storage/storageAccounts/your-storage-account-name",
      "resourceGroup": "your-resource-group",
      "type": "Primary"
    }
  ],
  "storageAuthentication": "System",
  "systemData": {
    "createdAt": "2021-05-14T21:25:12.3492071Z",
    "createdBy": "you@example.com",
    "createdByType": "User",
    "lastModifiedAt": "2021-05-14T21:25:12.3492071Z",
    "lastModifiedBy": "you@example.com",
    "lastModifiedByType": "User"
  },
  "tags": null,
  "type": "Microsoft.Media/mediaservices"
}

Media Services Yönetilen Kimliğine Depolama hesabına erişim verme

Media Services Yönetilen Kimliğine Depolama hesabına erişim izni verin. Üç komut vardır:

Media Services hesabının Yönetilen Kimliğini alma (gösterme)

Aşağıdaki ilk komut, komutu tarafından döndürülen JSON'da listelenen Media Services hesabının principalId Yönetilen Kimliği'ni gösterir.

Bu komut bir Media Services hesabının tüm özelliklerini gösterir.

az ams account show --name <your-media-services-account-name> --resource-group <your-resource-group>

Not

Media Services hesabına erişim rolleri atadıysanız, bu satır döndürür "storageAuthentication": "ManagedIdentity".

Örnek JSON yanıtı:

{
  "encryption": {
    "keyVaultProperties": null,
    "type": "SystemKey"
  },
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/your-resource-group-name/providers/Microsoft.Media/mediaservices/your-media-services-account",
  "identity": {
    "principalId": "00000000-0000-0000-0000-000000000000",
    "tenantId": "00000000-0000-0000-0000-000000000000",
    "type": "SystemAssigned"  //Type will show "Managed Identity" if you have assigned a role to the Media Services account.
  },
  "location": "your-region",
  "mediaServiceId": "00000000-0000-0000-0000-000000000000",
  "name": "your-media-services-account",
  "resourceGroup": "your-resource-group-name",
  "storageAccounts": [
    {
      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/your-resource-group-name/providers/Microsoft.Storage/storageAccounts/your-storage-account-name",
      "resourceGroup": "your-resource-group-name",
      "type": "Primary"
    }
  ],
  "storageAuthentication": "System", //If you have assigned access roles to the account, this line will return storageAuthentication": "ManagedIdentity"
  "systemData": {
    "createdAt": "2021-05-14T21:25:12.3492071Z",
    "createdBy": "you@example.com",
    "createdByType": "User",
    "lastModifiedAt": "2021-05-14T21:25:12.3492071Z",
    "lastModifiedBy": "you@example.com",
    "lastModifiedByType": "User"
  },
  "tags": null,
  "type": "Microsoft.Media/mediaservices"
}

Depolama Blobu Katkıda Bulunanı rol atamasını oluşturma

Aşağıdaki komut bir Depolama Blobu Katkıda Bulunanı rolü oluşturur.

olarak principalIddeğiştirinassignee. komutu, zaten bir kaynak grubu ve depolama hesabı oluşturduğunuzu varsayar. Aşağıdaki komutta scope gösterildiği gibi ve your-storage-account-name değerinin bir parçası olarak kullanınyour-resource-group-name:

az role assignment create --assignee 00000000-0000-0000-000000000000 --role "Storage Blob Data Contributor" --scope "/subscriptions/00000000-0000-0000-000000000000/resourceGroups/<your-resource-group-name>/providers/Microsoft.Storage/storageAccounts/<your-storage-account-name>"

Örnek JSON yanıtı:

{
  "canDelegate": null,
  "condition": null,
  "conditionVersion": null,
  "description": null,
  "id": "/subscriptions/00000000-0000-0000-000000000000/resourceGroups/your-resource-group-name/providers/Microsoft.Storage/storageAccounts/your-storage-account-name/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-000000000000",
  "name": "00000000-0000-0000-000000000000",
  "principalId": "00000000-0000-0000-000000000000",
  "principalType": "ServicePrincipal",
  "resourceGroup": "your-resource-group-name",
  "roleDefinitionId": "/subscriptions/00000000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-000000000000",
  "scope": "/subscriptions/00000000-0000-0000-000000000000/resourceGroups/your-resource-group-name/providers/Microsoft.Storage/storageAccounts/your-storage-account-name",
  "type": "Microsoft.Authorization/roleAssignments"
}

Okuyucu rol ataması oluşturma

Aşağıdaki komut bir Okuyucu rolü oluşturur.

olarak principalIddeğiştirinassignee. komutu, zaten bir kaynak grubu ve depolama hesabı oluşturduğunuzu varsayar. Aşağıdaki komutta scope gösterildiği gibi ve your-storage-account-name değerinin bir parçası olarak kullanınyour-resource-group-name:

az role assignment create --assignee 00000000-0000-0000-000000000000 --role "Reader" --scope "/subscriptions/00000000-0000-0000-000000000000/resourceGroups/your-resource-group-name/providers/Microsoft.Storage/storageAccounts/your-storage-account-name"

Örnek JSON yanıtı:

{
  "canDelegate": null,
  "condition": null,
  "conditionVersion": null,
  "description": null,
  "id": "/subscriptions/00000000-0000-0000-000000000000/resourceGroups/your-resource-group-name/providers/Microsoft.Storage/storageAccounts/your-storage-account-name/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-000000000000",
  "name": "00000000-0000-0000-000000000000",
  "principalId": "00000000-0000-0000-000000000000",
  "principalType": "Reader",
  "resourceGroup": "your-resource-group-name",
  "roleDefinitionId": "/subscriptions/00000000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-000000000000",
  "scope": "/subscriptions/00000000-0000-0000-000000000000/resourceGroups/your-resource-group-name/providers/Microsoft.Storage/storageAccounts/your-storage-account-name",
  "type": "Microsoft.Authorization/roleAssignments"
}

Depolama hesabına erişmek için Yönetilen Kimliği kullanma

Aşağıdaki komut, depolama hesabına Media Services Yönetilen Kimliği erişimi verir.

Aşağıdaki komutta kaynak grubu adına ve your-media-services-account-nameçalışmak istediğiniz Media Services hesap adına geçinyour-resource-group-name:

az ams account storage set-authentication --storage-auth ManagedIdentity --resource-group <your-resource-group_name> --account-name <your-media-services-account-name>

Örnek JSON yanıtı:

{
  "encryption": {
    "keyVaultProperties": null,
    "type": "SystemKey"
  },
  "id": "/subscriptions/00000000-0000-0000-00000000/resourceGroups/your-resource-group-name/providers/Microsoft.Media/mediaservices/your-storage-account-name",
  "identity": null,
  "location": "West US 2",
  "mediaServiceId": "00000000-0000-0000-00000000",
  "name": "your-media-services-account",
  "resourceGroup": "your-resource-group-name",
  "storageAccounts": [
    {
      "id": "/subscriptions/2b461b25-f7b4-4a22-90cc-d640a14b5471/resourceGroups/your-resource-group-name/providers/Microsoft.Storage/storageAccounts/your-storage-account-name",
      "resourceGroup": "your-resource-group-name",
      "type": "Primary"
    }
  ],
  "storageAuthentication": "ManagedIdentity",
  "systemData": {
    "createdAt": "2021-05-17T19:15:00.8850297Z",
    "createdBy": "you@example.com",
    "createdByType": "User",
    "lastModifiedAt": "2021-05-17T21:23:11.3863627Z",
    "lastModifiedBy": "you@example.com",
    "lastModifiedByType": "User"
  },
  "tags": null,
  "type": "Microsoft.Media/mediaservices"
}

Doğrulama

Hesabın Müşteri Tarafından Yönetilen Anahtar kullanılarak şifrelendiğini doğrulamak için hesap şifreleme özelliklerini görüntüleyin:

Bu komut bir Media Services hesabının tüm özelliklerini gösterir.

az ams account show --name <your-media-services-account-name> --resource-group <your-resource-group>

Not

Media Services hesabına erişim rolleri atadıysanız, bu satır döndürür "storageAuthentication": "ManagedIdentity".

Örnek JSON yanıtı:

{
  "encryption": {
    "keyVaultProperties": null,
    "type": "SystemKey"
  },
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/your-resource-group-name/providers/Microsoft.Media/mediaservices/your-media-services-account",
  "identity": {
    "principalId": "00000000-0000-0000-0000-000000000000",
    "tenantId": "00000000-0000-0000-0000-000000000000",
    "type": "SystemAssigned"  //Type will show "Managed Identity" if you have assigned a role to the Media Services account.
  },
  "location": "your-region",
  "mediaServiceId": "00000000-0000-0000-0000-000000000000",
  "name": "your-media-services-account",
  "resourceGroup": "your-resource-group-name",
  "storageAccounts": [
    {
      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/your-resource-group-name/providers/Microsoft.Storage/storageAccounts/your-storage-account-name",
      "resourceGroup": "your-resource-group-name",
      "type": "Primary"
    }
  ],
  "storageAuthentication": "System", //If you have assigned access roles to the account, this line will return storageAuthentication": "ManagedIdentity"
  "systemData": {
    "createdAt": "2021-05-14T21:25:12.3492071Z",
    "createdBy": "you@example.com",
    "createdByType": "User",
    "lastModifiedAt": "2021-05-14T21:25:12.3492071Z",
    "lastModifiedBy": "you@example.com",
    "lastModifiedByType": "User"
  },
  "tags": null,
  "type": "Microsoft.Media/mediaservices"
}

storageAuthentication özelliğinde "ManagedIdentity" gösterilmelidir.

Ek doğrulama için Azure Depolama günlüklerini denetledikten sonra her istek için hangi kimlik doğrulama yönteminin kullanıldığını görebilirsiniz.

Kaynakları temizleme

Oluşturduğunuz kaynakları kullanmayı planlamıyorsanız kaynak grubunu silin.

CLI ile kaynak grubunu silme

az group delete --name <your-resource-group-name>

Yardım ve destek alma

Aşağıdaki yöntemlerden birini kullanarak Media Services ile iletişime geçebilir veya güncelleştirmelerimizi izleyebilirsiniz: