<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cloudpods –
Azure</title><link>/docs/en/tags/azure/</link><description>Recent content in Azure on Cloudpods</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><atom:link href="/docs/en/tags/azure/index.xml" rel="self" type="application/rss+xml"/><item><title>Docs: Create Azure Account</title><link>/docs/en/docs/web_ui/resource-mgmt/multiplecloud/cloudaccount/public/azure/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/en/docs/web_ui/resource-mgmt/multiplecloud/cloudaccount/public/azure/</guid><description>
&lt;h2 id="procedure"&gt;Procedure&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;On the Cloud Accounts page, click “Create” above the list to open the create cloud account page.&lt;/li&gt;
&lt;li&gt;Select Azure as the cloud platform, then click “Next: Configure cloud account”.&lt;/li&gt;
&lt;li&gt;Configure the following parameters:
&lt;ul&gt;
&lt;li&gt;Name: Azure account name.&lt;/li&gt;
&lt;li&gt;Account type: Currently supports connecting Azure Global, China, US Government, and Germany region accounts.&lt;/li&gt;
&lt;li&gt;Tenant ID / Client ID / Client secret: see &lt;a href="#how-to-obtain-azure-parameters"&gt;How to obtain Azure parameters&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Common parameters: see &lt;a href="../../#common-configuration-parameters"&gt;Common configuration parameters&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Click “Connection test” to verify that the parameters are correct.&lt;/li&gt;
&lt;li&gt;After a successful test, click “Next: Configure sync regions” to configure resource sync regions (all regions are synced by default).&lt;/li&gt;
&lt;li&gt;After configuration, click “Next: Billing file access information (optional)” to configure billing parameters.&lt;/li&gt;
&lt;li&gt;Configure scheduled sync (optional), then click “OK” to create the Azure account.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;Enable passwordless login: When enabled, the system becomes an identity provider for cloud login, enabling single sign-on from this system to the public cloud platform. Passwordless login is currently supported only for Azure Global; this option is shown only when the account type is Global.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="how-to-obtain-azure-parameters"&gt;How to obtain Azure parameters&lt;/h2&gt;
&lt;h3 id="obtain-azure-tenant-id-and-client-information"&gt;Obtain Azure Tenant ID and Client information&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Sign in to the Azure portal, search for and open “Microsoft Entra ID” (formerly Azure Active Directory), click “App registrations” in the left navigation, and open the app registrations page. Creating a dedicated application for the cloud management platform to call Azure APIs is recommended.&lt;/li&gt;
&lt;/ol&gt;
&lt;img src="/docs/zh/docs/faq/image/azureregisterapp.png" alt="Azure app registration" style="max-width: 800px;"&gt;&lt;ol start="2"&gt;
&lt;li&gt;Click “New registration”. On the register an application page, set any name, set supported account types to “Accounts in this organizational directory only – Default Directory”, then click “Register”.&lt;/li&gt;
&lt;/ol&gt;
&lt;img src="/docs/zh/docs/faq/image/azureregisteredapp.png" alt="Azure register application" style="max-width: 700px;"&gt;&lt;ol start="3"&gt;
&lt;li&gt;After creation succeeds, the system automatically opens the application details page. The Application (client) ID on this page is the required Client ID, and the Directory (tenant) ID is the required Tenant ID.&lt;/li&gt;
&lt;/ol&gt;
&lt;img src="/docs/zh/docs/faq/image/azureclientid.png" alt="Azure Client ID" style="max-width: 1000px;"&gt;&lt;ol start="4"&gt;
&lt;li&gt;On the application details page, click “Certificates &amp;amp; secrets” to open the certificates and secrets page. Click “New client secret”.&lt;/li&gt;
&lt;/ol&gt;
&lt;img src="/docs/zh/docs/faq/image/azureclientsecretlist.png" alt="Azure certificates and secrets" style="max-width: 900px;"&gt;&lt;ol start="5"&gt;
&lt;li&gt;In the add a client secret dialog, enter a description, select an expiration (up to 24 months), then click “Add” to create the client secret.&lt;/li&gt;
&lt;/ol&gt;
&lt;img src="/docs/zh/docs/faq/image/azurecreatesecret.png" alt="Azure create secret" style="max-width: 900px;"&gt;&lt;ol start="6"&gt;
&lt;li&gt;
&lt;p&gt;After saving succeeds, immediately copy the secret value shown on the page; this value is the required client secret.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: The client secret value is shown only once after creation and cannot be viewed again after you leave the page. Copy and store it securely immediately. After the secret expires, create a new one and update the Azure account configuration on the cloud management platform.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img src="/docs/zh/docs/faq/image/azureclientsecret.png" alt="Azure client secret" style="max-width: 900px;"&gt;&lt;h3 id="how-to-grant-subscription-permissions-to-the-application"&gt;How to grant subscription permissions to the application&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Sign in to the Azure portal, click “All services” in the left navigation, then select and click “Subscriptions” to open the subscriptions list.&lt;/li&gt;
&lt;/ol&gt;
&lt;img src="/docs/zh/docs/faq/image/azuresub.png" alt="Azure subscriptions" style="max-width: 900px;"&gt;&lt;ol start="2"&gt;
&lt;li&gt;Click the subscription to authorize to open the subscription details page.&lt;/li&gt;
&lt;/ol&gt;
&lt;img src="/docs/zh/docs/faq/image/azuresublist.png" alt="Azure subscription list" style="max-width: 900px;"&gt;&lt;ol start="3"&gt;
&lt;li&gt;Click “Access control (IAM)”. On the access control page, click “Add role assignment”.&lt;/li&gt;
&lt;/ol&gt;
&lt;img src="/docs/zh/docs/faq/image/azuresubrole.png" alt="Azure access control" style="max-width: 900px;"&gt;&lt;ol start="4"&gt;
&lt;li&gt;On the “Role” tab, select “Owner”, then click “Next”. On the “Members” tab, assign access to “User, group, or service principal”, click “Select members”, search for the application name created in the previous step, select the application, click “Next”, then click “Review + assign”.&lt;/li&gt;
&lt;/ol&gt;
&lt;img src="/docs/zh/docs/faq/image/azure1.png" alt="Azure role assignment" style="max-width: 900px;"&gt;&lt;img src="/docs/zh/docs/faq/image/azure-add-app.png" alt="Azure role assignment" style="max-width: 900px;"&gt;&lt;ol start="5"&gt;
&lt;li&gt;On the role assignments page, verify that subscription permissions have been granted to the application.&lt;/li&gt;
&lt;/ol&gt;
&lt;img src="/docs/zh/docs/faq/image/azure5.png" alt="Azure role assignment complete" style="max-width: 900px;"&gt;&lt;h3 id="application-api-permission-settings"&gt;Application API permission settings&lt;/h3&gt;
&lt;p&gt;If you do not need to manage Azure users and groups, you can skip the following permissions.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: The Azure AD Graph API (&lt;code&gt;graph.windows.net&lt;/code&gt;) is deprecated; use the Microsoft Graph API instead. On the application’s “API permissions” page, add Microsoft Graph application permissions.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Region&lt;/th&gt;
&lt;th&gt;API permissions&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Azure China&lt;/td&gt;
&lt;td&gt;Directory.Read.All, Directory.ReadWrite.All, Domain.Read.All&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Azure Global&lt;/td&gt;
&lt;td&gt;Directory.Read.All, Directory.ReadWrite.All, Domain.Read.All, Domain.ReadWrite.All, Member.Read.Hidden, Policy.Read.All&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="permission-configuration"&gt;Permission configuration&lt;/h2&gt;
&lt;p&gt;To manage Azure cloud resources, the cloud account needs the following permissions:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Permission description&lt;/th&gt;
&lt;th&gt;Read-only&lt;/th&gt;
&lt;th&gt;Read-write&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Manage all resources&lt;/td&gt;
&lt;td&gt;Reader&lt;/td&gt;
&lt;td&gt;Owner&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Manage virtual machine resources&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;Virtual Machine Contributor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Manage network resources&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;Network Contributor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Manage object storage&lt;/td&gt;
&lt;td&gt;Storage Blob Data Reader&lt;/td&gt;
&lt;td&gt;Storage Blob Data Owner&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Manage cloud databases&lt;/td&gt;
&lt;td&gt;Cloud SQL Viewer&lt;/td&gt;
&lt;td&gt;Cloud SQL Admin&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Manage Redis&lt;/td&gt;
&lt;td&gt;Redis Enterprise Cloud Viewer&lt;/td&gt;
&lt;td&gt;Redis Enterprise Cloud Admin&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Manage file storage&lt;/td&gt;
&lt;td&gt;Storage File Data SMB Share Reader&lt;/td&gt;
&lt;td&gt;Storage File Data SMB Share Contributor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Manage resource policies and roles&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;Graph Owner, Resource Policy Contributor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Manage DNS&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;DNS Zone Contributor, Private DNS Zone Contributor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Manage billing and costs&lt;/td&gt;
&lt;td&gt;Billing Reader, Cost Management Reader&lt;/td&gt;
&lt;td&gt;Cost Management Contributor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Manage monitoring&lt;/td&gt;
&lt;td&gt;Monitoring Reader&lt;/td&gt;
&lt;td&gt;Monitoring Contributor&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="billing-configuration"&gt;Billing configuration&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: The Azure EA (Enterprise Agreement) reporting API has been fully retired. Configure a billing bucket (Cost Management export) or API billing sync instead. The EA account configuration below applies only where that method is still supported; prefer billing bucket configuration.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="billing-bucket-configuration"&gt;Billing bucket configuration&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Cloud account type: Includes primary account and associated account&lt;/li&gt;
&lt;li&gt;Bucket URL: URL of the bucket that stores billing files&lt;/li&gt;
&lt;li&gt;File prefix: For Azure, the file prefix is the account ID&lt;/li&gt;
&lt;li&gt;Billing analysis scope: Includes accounts onboarded on this platform and all accounts&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="api-billing-configuration"&gt;API billing configuration&lt;/h3&gt;
&lt;p&gt;This method obtains billing data by calling the Azure Cost Management &lt;code&gt;Generate Cost Details Report&lt;/code&gt; REST API. The application (service principal) must have &lt;strong&gt;Cost Management Reader&lt;/strong&gt; or higher at the &lt;strong&gt;billing account&lt;/strong&gt; level.&lt;/p&gt;
&lt;h4 id="configure-billing-api-permissions"&gt;Configure billing API permissions&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Sign in to the Azure portal, search for and open &lt;strong&gt;“Cost Management”&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;On the Cost Management overview page, find and click your &lt;strong&gt;billing account&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;On the billing account details page, click &lt;strong&gt;“Access control (IAM)”&lt;/strong&gt; in the left menu to open the billing account access control page.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;“Add”&lt;/strong&gt; and select the “Billing account owner” role.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: You can also select &lt;strong&gt;“Billing account reader”&lt;/strong&gt; (Cost Management Reader) or &lt;strong&gt;“Billing account contributor”&lt;/strong&gt; (Cost Management Contributor). Following least privilege and using Cost Management Reader is recommended.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;!-- Screenshot: billing account access control page, showing add role assignment button --&gt;
&lt;img src="/docs/zh/docs/faq/image/azure-billing-iam.png" alt="Billing account access control" style="max-width: 900px;"&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Wait a few minutes for permissions to take effect, then sync billing via the API.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="ea-account-configuration-deprecated"&gt;EA account configuration (deprecated)&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: The Azure EA reporting API has been fully retired. This method is for historical reference only. Use &lt;a href="#billing-bucket-configuration"&gt;Billing bucket configuration&lt;/a&gt; to sync billing.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;EA (Enterprise Agreement) account spending obtains billing information via enrollment number and key:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Enrollment number: Unique identifier associated with the online enterprise agreement, a number starting with V570&lt;/li&gt;
&lt;li&gt;Key: API access key&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="how-to-obtain-the-azure-billing-bucket"&gt;How to obtain the Azure billing bucket&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Sign in to the Azure portal, search for “Cost Management”, and open it.&lt;/li&gt;
&lt;/ol&gt;
&lt;img src="/docs/zh/docs/faq/image/azure_bucket-1.png" alt="Azure Cost Management" style="max-width: 900px;"&gt;&lt;ol start="2"&gt;
&lt;li&gt;Click “Exports”, select a scope. Choose a group (root directory requires admin permissions) so that billing for all subscriptions in the group is merged into one file.&lt;/li&gt;
&lt;/ol&gt;
&lt;img src="/docs/zh/docs/faq/image/azure_bucket-2.png" alt="Azure export scope" style="max-width: 900px;"&gt;&lt;ol start="3"&gt;
&lt;li&gt;After selecting the group as scope, click “Create”, set export type to “Daily export of month-to-date costs”, and fill in other information as prompted.&lt;/li&gt;
&lt;/ol&gt;
&lt;img src="/docs/zh/docs/faq/image/azure_bucket-3.png" alt="Azure export configuration" style="max-width: 900px;"&gt;&lt;ol start="4"&gt;
&lt;li&gt;After creation succeeds, you can manually trigger a billing job to ensure billing files exist in the billing bucket.&lt;/li&gt;
&lt;/ol&gt;
&lt;img src="/docs/zh/docs/faq/image/azure_bucket-4.png" alt="Azure trigger billing" style="max-width: 900px;"&gt;&lt;ol start="5"&gt;
&lt;li&gt;Find the storage account configured in the previous step and locate the corresponding billing bucket URL.&lt;/li&gt;
&lt;/ol&gt;
&lt;img src="/docs/zh/docs/faq/image/azure_bucket-5.png" alt="Azure storage billing" style="max-width: 900px;"&gt;&lt;ol start="6"&gt;
&lt;li&gt;Click Containers, select the container specified in the billing job, then click the name to open details.&lt;/li&gt;
&lt;/ol&gt;
&lt;img src="/docs/zh/docs/faq/image/azure_bucket-6.png" alt="Azure container details" style="max-width: 900px;"&gt;&lt;ol start="7"&gt;
&lt;li&gt;Click Properties to view the URL information.&lt;/li&gt;
&lt;/ol&gt;
&lt;img src="/docs/zh/docs/faq/image/azure_bucket-7.png" alt="Azure URL information" style="max-width: 900px;"&gt;&lt;h3 id="how-to-obtain-the-azure-enrollment-number-and-key-deprecated"&gt;How to obtain the Azure enrollment number and key (deprecated)&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: The Azure EA reporting API has been fully retired. The following content is for historical reference only.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Sign in to the Azure China EA Portal or Azure EA Portal. After signing in, the number in the upper left is the enrollment number.&lt;/li&gt;
&lt;/ol&gt;
&lt;img src="/docs/zh/docs/faq/image/azure_number.png" alt="Azure enrollment number" style="max-width: 900px;"&gt;&lt;ol start="2"&gt;
&lt;li&gt;Click “Reports” in the left navigation, select the “Download usage &amp;gt; API Access Key” tab. The primary key on this page is the key.&lt;/li&gt;
&lt;/ol&gt;
&lt;img src="/docs/zh/docs/faq/image/azure_apikey.png" alt="Azure API key" style="max-width: 900px;"&gt;</description></item></channel></rss>