Öğretici: Media Services Yönetilen Kimliği ile depolamaya erişme
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.
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-name
your-storage-account-name
ve 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 principalId
değ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 principalId
değ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:
- Q & A
- Stack Overflow. soruları ile etiketleyin
azure-media-services
. - Destek istemek için @AzureSupport @MSFTAzureMedia veya kullanın.
- Azure portal üzerinden bir destek bileti açın.