Eseguire la migrazione al summit per l'innovazione:
Informazioni su come la migrazione e la modernizzazione in Azure possono migliorare le prestazioni, la resilienza e la sicurezza dell'azienda, consentendo di adottare completamente l'intelligenza artificiale.Iscriviti subito
Questo browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
Creare sottoscrizioni di Azure a livello di codice per un contratto del cliente Microsoft con le API più recenti
Articolo
Questo articolo illustra come creare a livello di codice sottoscrizioni di Azure per un contratto del cliente Microsoft usando le versioni più recenti dell'API. Se si usa ancora la versione di anteprima precedente, vedere Creare sottoscrizioni di Azure a livello di codice con API legacy.
Questo articolo contiene informazioni su come creare sottoscrizioni a livello di codice usando Azure Resource Manager.
Quando si crea una sottoscrizione di Azure a livello di codice, tale sottoscrizione è regolamentata dal contratto in base al quale l'utente ha ottenuto i servizi di Azure da Microsoft o da un rivenditore autorizzato. Per altre informazioni, vedere Informazioni legali su Microsoft Azure.
Non è possibile creare piani di supporto a livello di codice. È possibile invece acquistare un nuovo piano di supporto o aggiornarne uno già esistente nel portale di Azure. Passare a Guida e supporto e nella parte superiore della pagina selezionare Scegliere il piano di supporto adatto.
Prerequisiti
Per creare sottoscrizioni, è necessario avere un ruolo di tipo Proprietario, Collaboratore o Autore di sottoscrizioni di Azure in una sezione della fattura oppure un ruolo di tipo Proprietario o Collaboratore in un profilo di fatturazione o un account di fatturazione. È anche possibile assegnare lo stesso ruolo a un nome dell'entità servizio (SPN). Per altre informazioni sui ruoli e sull'assegnazione dell'autorizzazione, vedere Ruoli e attività di fatturazione della sottoscrizione.
Le autorizzazioni variano tra l'API legacy (api-version=2018-03-01-preview) e l'API più recente (api-version=2020-05-01). Anche se è disponibile un ruolo sufficiente per usare l'API legacy, potrebbe essere necessario un amministratore del Contratto Enterprise per delegare un ruolo per usare l'API più recente.
Usare la proprietà displayName per identificare l'account di fatturazione per cui si vogliono creare le sottoscrizioni. Assicurarsi che agreementType dell'account sia MicrosoftCustomerAgreement. Copiare il valore name dell'account. Per creare ad esempio una sottoscrizione per l'account di fatturazione Contoso, copiare aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx. Incollare il valore da qualche parte per poterlo usare nel passaggio successivo.
Azure PowerShell
Get-AzBillingAccount
Verrà restituito un elenco di tutti gli account di fatturazione a cui si può accedere
JSON
Name : aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx
DisplayName : Contoso
AccountStatus : Active
AccountType : Enterprise
AgreementType : MicrosoftCustomerAgreement
HasReadAccess : True
Usare la proprietà displayName per identificare l'account di fatturazione per cui si vogliono creare le sottoscrizioni. Assicurarsi che agreementType dell'account sia MicrosoftCustomerAgreement. Copiare il valore name dell'account. Per creare ad esempio una sottoscrizione per l'account di fatturazione Contoso, copiare aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx. Incollare il valore da qualche parte per poterlo usare nel passaggio successivo.
Interfaccia della riga di comando di Azure
az billing account list
Verrà restituito un elenco di tutti gli account di fatturazione a cui si può accedere.
Usare la proprietà displayName per identificare l'account di fatturazione per cui si vogliono creare le sottoscrizioni. Assicurarsi che agreementType dell'account sia MicrosoftCustomerAgreement. Copiare il valore name dell'account. Per creare ad esempio una sottoscrizione per l'account di fatturazione Contoso, copiare aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx. Incollare il valore da qualche parte per poterlo usare nel passaggio successivo.
Trovare profili di fatturazione e sezioni della fattura per creare sottoscrizioni
Gli addebiti per la sottoscrizione vengono visualizzati in una sezione della fattura di un profilo di fatturazione. Usare l'API seguente per ottenere l'elenco di profili di fatturazione e sezioni della fattura per cui si è autorizzati a creare sottoscrizioni di Azure.
Si ottiene prima di tutto l'elenco dei profili di fatturazione nell'account di fatturazione a cui si ha accesso (usare il valore name ottenuto dal passaggio precedente)
GET https://management.azure.com/providers/Microsoft.Billing/billingaccounts/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingprofiles/?api-version=2020-05-01
La risposta dell'API elenca tutti i profili di fatturazione a cui è possibile accedere per creare sottoscrizioni:
Copiare il valore id per identificare quindi le sezioni della fattura sotto il profilo di fatturazione. Copiare ad esempio /providers/Microsoft.Billing/billingAccounts/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingProfiles/AW4F-xxxx-xxx-xxx e chiamare l'API seguente.
JSON
GET https://management.azure.com/providers/Microsoft.Billing/billingAccounts/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingProfiles/AW4F-xxxx-xxx-xxx/invoicesections?api-version=2020-05-01
Usare la proprietà id per identificare la sezione della fattura per cui si vogliono creare le sottoscrizioni. Copiare l'intera stringa. Ad esempio: /providers/Microsoft.Billing/billingAccounts/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingProfiles/AW4F-xxxx-xxx-xxx/invoiceSections/SH3V-xxxx-xxx-xxx.
La risposta ottenuta conterrà l'elenco dei profili di fatturazione di questo account.
JSON
Name : AW4F-xxxx-xxx-xxx
DisplayName : Contoso Billing Profile
Currency : USD
InvoiceDay : 5
InvoiceEmailOptIn : True
SpendingLimit : Off
Status : Active
EnabledAzurePlans : {0002, 0001}
HasReadAccess : True
BillTo :
CompanyName : Contoso
AddressLine1 : One Microsoft Way
AddressLine2 :
City : Redmond
Region : WA
Country : US
PostalCode : 98052
Prendere nota del valore name del profilo di fatturazione dalla risposta precedente. Il passaggio successivo consiste nell'ottenere la sezione della fattura a cui si ha accesso sotto questo profilo di fatturazione. Sarà necessario il name dell'account e del profilo di fatturazione.
Name : SH3V-xxxx-xxx-xxx
DisplayName : Development
Il valore name precedente è il nome della sezione della fattura in cui è necessario creare una sottoscrizione. Creare l'ambito di fatturazione usando il formato /providers/Microsoft.Billing/billingAccounts/<BillingAccountName>/billingProfiles/<BillingProfileName>/invoiceSections/<InvoiceSectionName>. In questo esempio, il valore equivale a "/providers/Microsoft.Billing/billingAccounts/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingProfiles/AW4F-xxxx-xxx-xxx/invoiceSections/SH3V-xxxx-xxx-xxx".
Interfaccia della riga di comando di Azure
az billing profile list --account-name"aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx"--expand"InvoiceSections"
Questa API restituisce l'elenco dei profili di fatturazione e delle sezioni della fattura nell'account di fatturazione specificato.
Usare la proprietà id sotto l'oggetto sezione della fattura per identificare la sezione della fattura per cui si vogliono creare le sottoscrizioni. Copiare l'intera stringa. Ad esempio, /providers/Microsoft.Billing/billingAccounts/aaaa0a0a-bb1b-cc2c-dd3d-eeeee4e4e4e4e:xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingProfiles/AW4F-xxxx-xxx/invoiceSections/SH3V-xxxx-xxx-xxx.
Creare una sottoscrizione per una sezione della fattura
L'esempio seguente crea una sottoscrizione denominata Dev Team subscription per la sezione Sviluppo della fattura. La sottoscrizione viene fatturata al profilo di fatturazione Contoso Billing Profile e viene visualizzata nella sezione Sviluppo della rispettiva fattura. Viene usato l'ambito di fatturazione copiato dal passaggio precedente: /providers/Microsoft.Billing/billingAccounts/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingProfiles/AW4F-xxxx-xxx-xxx/invoiceSections/SH3V-xxxx-xxx-xxx.
Uno stato in corso viene restituito come stato Accepted in provisioningState.
Per installare la versione del modulo che contiene il cmdlet New-AzSubscriptionAlias, nell'esempio seguente eseguire Install-Module Az.Subscription -RequiredVersion 0.9.0. Per installare la versione 0.9.0 di PowerShellGet, vedere Ottenere il modulo PowerShellGet.
Eseguire il comando New-AzSubscriptionAlias e l'ambito di fatturazione "/providers/Microsoft.Billing/billingAccounts/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingProfiles/AW4F-xxxx-xxx-xxx/invoiceSections/SH3V-xxxx-xxx-xxx".
Azure PowerShell
New-AzSubscriptionAlias -AliasName"sampleAlias" -SubscriptionName"Dev Team Subscription" -BillingScope"/providers/Microsoft.Billing/billingAccounts/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingProfiles/AW4F-xxxx-xxx-xxx/invoiceSections/SH3V-xxxx-xxx-xxx" -Workload"Production"
Si ottiene il valore subscriptionId come parte della risposta dal comando.
az account alias create --name"sampleAlias"--billing-scope"/providers/Microsoft.Billing/billingAccounts/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingProfiles/AW4F-xxxx-xxx-xxx/invoiceSections/SH3V-xxxx-xxx-xxx"--display-name"Dev Team Subscription"--workload"Production"
Si ottiene il valore subscriptionId come parte della risposta dal comando.
Nella sezione precedente è stato illustrato come creare una sottoscrizione con PowerShell, l'interfaccia della riga di comando o l'API REST. Se è necessario automatizzare la creazione di sottoscrizioni, è consigliabile usare un modello di Azure Resource Manager (modello di ARM) o un file Bicep.
Il modello seguente consente di creare una sottoscrizione. Per billingScope specificare l'ID della sezione della fattura. La sottoscrizione viene creata nel gruppo di gestione radice. Dopo aver creato la sottoscrizione, è possibile spostarla in un altro gruppo di gestione.
JSON
{
"$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": {}
}
In alternativa, usare un file Bicep per creare la sottoscrizione.
Bicep
targetScope = 'managementGroup'
@description('Provide a name for the alias. This name will also be the display name of the subscription.')paramsubscriptionAliasNamestring
@description('Provide the full resource ID of billing scope to use for subscription creation.')parambillingScopestringresourcesubscriptionAlias'Microsoft.Subscription/aliases@2021-10-01' = {
scope: tenant()name: subscriptionAliasNameproperties: {
workload: 'Production'displayName: subscriptionAliasNamebillingScope: billingScope
}
}
Distribuire il modello a livello di gruppo di gestione. Gli esempi seguenti illustrano la distribuzione del modello di ARM JSON, ma in alternativa è possibile anche implementare un file Bicep.
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/mg1/providers/Microsoft.Resources/deployments/exampledeployment?api-version=2020-06-01
Per spostare una sottoscrizione in un nuovo gruppo di gestione, usare il modello di ARM seguente.
JSON
{
"$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": {}
}
O, in alternativa, il file Bicep seguente.
Bicep
targetScope = 'managementGroup'
@description('Provide the ID of the management group that you want to move the subscription to.')paramtargetMgIdstring
@description('Provide the ID of the existing subscription to move.')paramsubscriptionIdstringresourcesubToMG'Microsoft.Management/managementGroups/subscriptions@2020-05-01' = {
scope: tenant()name: '${targetMgId}/${subscriptionId}'
}
Passaggi successivi
Ora che la sottoscrizione è stata creata, è possibile concedere la medesima possibilità ad altri utenti ed entità servizio. Per altre informazioni, vedere Grant access to create Azure Enterprise subscriptions (preview) (Concedere l'accesso a creare sottoscrizioni di Azure Enterprise (anteprima)).
Informazioni su come creare sottoscrizioni di Azure aggiuntive a livello di codice usando le versioni legacy dell'API REST, dell'interfaccia della riga di comando di Azure e di Azure PowerShell.
Informazioni su come creare sottoscrizioni del Contratto Enterprise di Azure a livello di codice usando le versioni più recenti dell'API REST, dell'interfaccia della riga di comando di Azure, di Azure PowerShell e dei modelli di Azure Resource Manager.
Informazioni su come creare sottoscrizioni di Azure per un Contratto Microsoft Partner a livello di codice usando le versioni più recenti dell'API REST, dell'interfaccia della riga di comando di Azure, di Azure PowerShell e dei modelli di Azure Resource Manager.
Informazioni su come creare a livello di codice una sottoscrizione mca di Azure nei tenant di Microsoft Entra, inclusi i passaggi e le considerazioni necessari.