En son API’lerle Microsoft Müşteri Sözleşmesi için program aracılığıyla Azure abonelikleri oluşturma
Bu makale, en son API sürümlerini kullanarak Microsoft Müşteri Sözleşmesi için program aracılığıyla Azure abonelikleri oluşturmanıza yardımcı olur. Eski önizleme sürümünü kullanmaya devam ediyorsanız bkz . Program aracılığıyla eski API'lerle Azure abonelikleri oluşturma.
Bu makalede Azure Resource Manager'ı kullanarak program aracılığıyla abonelik oluşturmayı öğreneceksiniz.
Microsoft Entra kiracılarında Azure MCA aboneliği oluşturmanız gerekiyorsa bkz . Microsoft Entra kiracıları arasında program aracılığıyla MCA abonelikleri oluşturma.
Program aracılığıyla Azure aboneliği oluşturduğunuzda, bu abonelik Microsoft'tan veya yetkili satıcıdan aldığınız Azure hizmetlerinin tabi olduğu sözleşmeye tabidir. Daha fazla bilgi için bkz. Microsoft Azure Yasal Bilgiler.
Not
Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.
Program aracılığıyla destek planları oluşturamazsınız. Azure portalında yeni bir destek planı satın alabilir veya bir destek planı yükseltebilirsiniz. Yardım + destek'e gidin ve sayfanın üst kısmında Doğru destek planını seçin'i seçin.
Önkoşullar
Abonelikleri oluşturmak için bir fatura bölümünde sahip, katkıda bulunan veya Azure abonelik oluşturucu rolünüz ya da faturalama profili veya faturalama hesabında sahip veya katkıda bulunan rolünüz olmalıdır. Hizmet asıl adına (SPN) aynı rolü de verebilirsiniz. Roller ve bunlara izin atama hakkında daha fazla bilgi için bkz . Abonelik faturalama rolleri ve görevleri.
Abonelik oluşturmak için SPN kullanıyorsanız Microsoft Graph PowerShell veya Azure CLI kullanarak Asıl Kimlik olarak Microsoft Entra Enterprise uygulamasının ObjectId değerini kullanın.
Not
İzinler, eski API (api-version=2018-03-01-preview) ile en son API (api-version=2020-05-01) arasında farklılık gösterir. Eski API'yi kullanmak için yeterli bir rolünüz olsa da, en son API'yi kullanmak için size bir rol atamak için bir EA yöneticisine ihtiyacınız olabilir.
Bir Microsoft Müşteri Sözleşmesi hesabına erişiminizin olup olmadığını bilmiyorsanız bkz. Microsoft Müşteri Sözleşmesi’ne erişimi denetleme.
Erişiminiz olan fatura hesaplarını bulma
Tüm faturalama hesaplarını listelemek için aşağıdaki isteği gönderin.
GET https://management.azure.com/providers/Microsoft.Billing/billingaccounts/?api-version=2020-05-01
API yanıtında erişiminiz olan fatura hesapları listelenir.
{
"value": [
{
"id": "/providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx",
"name": "5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx",
"properties": {
"accountStatus": "Active",
"accountType": "Enterprise",
"agreementType": "MicrosoftCustomerAgreement",
"billingProfiles": {
"hasMoreResults": false
},
"displayName": "Contoso",
"hasReadAccess": false
},
"type": "Microsoft.Billing/billingAccounts"
}
]
}
Abonelikleri oluşturmak istediğiniz fatura hesabını belirlemek için displayName
özelliğini kullanın. Hesabın agreementType ayarının MicrosoftCustomerAgreement olduğundan emin olun. Hesabın name
değerini kopyalayın. Örneğin, Contoso
faturalama hesabı için bir abonelik oluşturmak amacıyla 5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx
değerini kopyalayın. Bir sonraki adımda kullanabilmeniz için bu değeri bir yere yapıştırın.
Abonelik oluşturmak için faturalama profillerini ve fatura bölümlerini bulma
Aboneliğinizin ücretleri, faturalama profilinin faturasının bir bölümünde gösterilir. Azure aboneliklerini oluşturma izniniz olan faturalama profillerinin ve fatura bölümlerinin listesini almak için aşağıdaki API’yi kullanın.
İlk olarak, erişiminiz olan ödeme hesabının altında faturalama profillerinin listesini alırsınız (Önceki adımda aldığınız profili kullanın name
)
GET https://management.azure.com/providers/Microsoft.Billing/billingaccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingprofiles/?api-version=2020-05-01
API yanıtında, abonelik oluşturma erişiminiz olan tüm faturalama profilleri listelenir:
{
"value": [
{
"id": "/providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingProfiles/AW4F-xxxx-xxx-xxx",
"name": "AW4F-xxxx-xxx-xxx",
"properties": {
"billingRelationshipType": "Direct",
"billTo": {
"addressLine1": "One Microsoft Way",
"city": "Redmond",
"companyName": "Contoso",
"country": "US",
"email": "kenny@contoso.com",
"phoneNumber": "425xxxxxxx",
"postalCode": "98052",
"region": "WA"
},
"currency": "USD",
"displayName": "Contoso Billing Profile",
"enabledAzurePlans": [
{
"skuId": "0002",
"skuDescription": "Microsoft Azure Plan for DevTest"
},
{
"skuId": "0001",
"skuDescription": "Microsoft Azure Plan"
}
],
"hasReadAccess": true,
"invoiceDay": 5,
"invoiceEmailOptIn": false,
"invoiceSections": {
"hasMoreResults": false
},
"poNumber": "001",
"spendingLimit": "Off",
"status": "Active",
"systemId": "AW4F-xxxx-xxx-xxx",
"targetClouds": []
},
"type": "Microsoft.Billing/billingAccounts/billingProfiles"
}
]
}
Daha sonra, faturalama profilinin altındaki fatura bölümlerini belirlemek için id
değerini kopyalayın. Örneğin, /providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingProfiles/AW4F-xxxx-xxx-xxx
değerini kopyalayın ve aşağıdaki API’yi çağırın.
GET https://management.azure.com/providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingProfiles/AW4F-xxxx-xxx-xxx/invoicesections?api-version=2020-05-01
Response
{
"totalCount": 1,
"value": [
{
"id": "/providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingProfiles/AW4F-xxxx-xxx-xxx/invoiceSections/SH3V-xxxx-xxx-xxx",
"name": "SH3V-xxxx-xxx-xxx",
"properties": {
"displayName": "Development",
"state": "Active",
"systemId": "SH3V-xxxx-xxx-xxx"
},
"type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections"
}
]
}
Abonelikleri oluşturmak istediğiniz fatura bölümünü belirlemek için id
özelliğini kullanın. Dizenin tamamını kopyalayın. Örneğin, /providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingProfiles/AW4F-xxxx-xxx-xxx/invoiceSections/SH3V-xxxx-xxx-xxx
.
Fatura bölümü için aboneliği oluşturma
Aşağıdaki örnekte, Geliştirme fatura bölümü için Geliştirme Ekibi aboneliği adlı bir abonelik oluşturulur. Abonelik Contoso Faturalama Profiline faturalanır ve faturanın Geliştirme bölümünde görüntülenir. Önceki adımda kopyalanan faturalama kapsamını kullanırsınız: /providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingProfiles/AW4F-xxxx-xxx-xxx/invoiceSections/SH3V-xxxx-xxx-xxx
.
PUT https://management.azure.com/providers/Microsoft.Subscription/aliases/{{guid}}?api-version=2021-10-01
Request body
{
"properties":
{
"billingScope": "/providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingProfiles/AW4F-xxxx-xxx-xxx/invoiceSections/SH3V-xxxx-xxx-xxx",
"DisplayName": "Dev Team subscription",
"Workload": "Production"
}
}
Yanıtla
{
"id": "/providers/Microsoft.Subscription/aliases/sampleAlias",
"name": "sampleAlias",
"type": "Microsoft.Subscription/aliases",
"properties": {
"subscriptionId": "b5bab918-e8a9-4c34-a2e2-ebc1b75b9d74",
"provisioningState": "Accepted"
}
}
İsteğin durumunu almak için aynı URL’de bir GET işlemi de yapabilirsiniz.
İste
GET https://management.azure.com/providers/Microsoft.Subscription/aliases/sampleAlias?api-version=2021-10-01
Response
{
"id": "/providers/Microsoft.Subscription/aliases/sampleAlias",
"name": "sampleAlias",
"type": "Microsoft.Subscription/aliases",
"properties": {
"subscriptionId": "b5bab918-e8a9-4c34-a2e2-ebc1b75b9d74",
"provisioningState": "Succeeded"
}
}
Sürüyor durumu, provisioningState
altında Accepted
durumu olarak döndürülür.
ARM şablonu veya Bicep kullanma
Önceki bölümde PowerShell, CLI veya REST API ile nasıl abonelik oluşturulacağı gösterildi. Abonelik oluşturmayı otomatikleştirmeniz gerekiyorsa Azure Resource Manager şablonu (ARM şablonu) veya Bicep dosyası kullanmayı göz önünde bulundurun.
Aşağıdaki şablon bir abonelik oluşturur. için billingScope
fatura bölümü kimliğini belirtin. Abonelik kök yönetim grubunda oluşturulur. Aboneliği oluşturduktan sonra başka bir yönetim grubuna taşıyabilirsiniz.
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/managementGroupDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"subscriptionAliasName": {
"type": "string",
"metadata": {
"description": "Provide a name for the alias. This name will also be the display name of the subscription."
}
},
"billingScope": {
"type": "string",
"metadata": {
"description": "Provide the full resource ID of billing scope to use for subscription creation."
}
}
},
"resources": [
{
"scope": "/",
"name": "[parameters('subscriptionAliasName')]",
"type": "Microsoft.Subscription/aliases",
"apiVersion": "2021-10-01",
"properties": {
"workLoad": "Production",
"displayName": "[parameters('subscriptionAliasName')]",
"billingScope": "[parameters('billingScope')]"
}
}
],
"outputs": {}
}
Alternatif olarak, aboneliği oluşturmak için bir Bicep dosyası da kullanabilirsiniz.
targetScope = 'managementGroup'
@description('Provide a name for the alias. This name will also be the display name of the subscription.')
param subscriptionAliasName string
@description('Provide the full resource ID of billing scope to use for subscription creation.')
param billingScope string
resource subscriptionAlias 'Microsoft.Subscription/aliases@2021-10-01' = {
scope: tenant()
name: subscriptionAliasName
properties: {
workload: 'Production'
displayName: subscriptionAliasName
billingScope: billingScope
}
}
Şablonu yönetim grubu düzeyinde dağıtın. Aşağıdaki örneklerde JSON ARM şablonunu dağıtma gösterilmektedir, ancak bunun yerine bir Bicep dosyası dağıtabilirsiniz.
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/mg1/providers/Microsoft.Resources/deployments/exampledeployment?api-version=2020-06-01
İstek gövdesiyle:
{
"location": "eastus",
"properties": {
"templateLink": {
"uri": "http://mystorageaccount.blob.core.windows.net/templates/template.json"
},
"parameters": {
"subscriptionAliasName": {
"value": "sampleAlias"
},
"billingScope": {
"value": "/providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingProfiles/AW4F-xxxx-xxx-xxx/invoiceSections/SH3V-xxxx-xxx-xxx"
}
},
"mode": "Incremental"
}
}
Aboneliği yeni bir yönetim grubuna taşımak için aşağıdaki ARM şablonunu kullanın.
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/managementGroupDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"targetMgId": {
"type": "string",
"metadata": {
"description": "Provide the ID of the management group that you want to move the subscription to."
}
},
"subscriptionId": {
"type": "string",
"metadata": {
"description": "Provide the ID of the existing subscription to move."
}
}
},
"resources": [
{
"scope": "/",
"type": "Microsoft.Management/managementGroups/subscriptions",
"apiVersion": "2020-05-01",
"name": "[concat(parameters('targetMgId'), '/', parameters('subscriptionId'))]",
"properties": {
}
}
],
"outputs": {}
}
Veya aşağıdaki Bicep dosyası.
targetScope = 'managementGroup'
@description('Provide the ID of the management group that you want to move the subscription to.')
param targetMgId string
@description('Provide the ID of the existing subscription to move.')
param subscriptionId string
resource subToMG 'Microsoft.Management/managementGroups/subscriptions@2020-05-01' = {
scope: tenant()
name: '${targetMgId}/${subscriptionId}'
}
Sonraki adımlar
- Artık aboneliği oluşturduğunuza göre, bu beceriyi diğer kullanıcılara ve hizmet sorumlularına verebilirsiniz. Daha fazla bilgi için bkz. Azure Kurumsal abonelikleri oluşturma erişimi verme (önizlemi).
- Yönetim gruplarını kullanarak çok fazla sayıda aboneliği yönetme hakkında daha fazla bilgi için bkz. Kaynaklarınızı Azure yönetim gruplarıyla düzenleme.
- Aboneliğin yönetim grubunu değiştirmek için bkz . Abonelikleri taşıma.
- REST API kullanarak gelişmiş abonelik oluşturma senaryoları için bkz . Diğer Ad - Oluşturma.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin