Updates from: 06/01/2021 03:21:50
Service Microsoft Docs article Related commit history on GitHub Change details
active-directory-b2c Billing https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/active-directory-b2c/billing.md
Previously updated : 05/24/2021 Last updated : 05/28/2021
Azure Active Directory B2C (Azure AD B2C) pricing is based on monthly active use
## What do I need to do?
-To take advantage of MAU billing, your Azure AD B2C tenant must be linked to an Azure subscription. You might also need to switch your Azure AD B2C tenant to another pricing tier if you want to use Azure AD B2C Premium P2 features, like risk-based Conditional Access.
+To take advantage of MAU billing, your Azure AD B2C tenant must be linked to an Azure subscription. You might also need to switch your Azure AD B2C tenant to another pricing tier if you want to use Azure AD B2C Premium P2 features, like risk-based Conditional Access policies.
|If your tenant is: |You need to: | ||| | An Azure AD B2C tenant already billed on a per-MAU basis | Do nothing. When users authenticate to your Azure AD B2C tenant, you'll be automatically billed using the MAU-based billing model. | | An Azure AD B2C tenant not yet linked to a subscription | [Link your Azure AD B2C tenant to a subscription](#link-an-azure-ad-b2c-tenant-to-a-subscription) to activate MAU billing. | | An Azure AD B2C tenant that was linked to a subscription before November 1, 2019 | [Switch to MAU billing (recommended)](#switch-to-mau-billing-pre-november-2019-azure-ad-b2c-tenants), or stay on the per-authentication billing model. |
-| An Azure AD B2C tenant and you want to use premium features (like risk-based Conditional Access) | [Change to an Azure AD pricing tier](#change-your-azure-ad-pricing-tier) that supports the features you want to use. |
+| An Azure AD B2C tenant and you want to use premium features (like risk-based Conditional Access policies) | [Change to an Azure AD pricing tier](#change-your-azure-ad-pricing-tier) that supports the features you want to use. |
| | | ## About the monthly active users (MAU) billing model MAU billing went into effect for Azure AD B2C tenants on **November 1, 2019**. Any Azure AD B2C tenants that you created and linked to a subscription on or after that date have been billed on a per-MAU basis. If you have an Azure AD B2C tenant that hasn't been linked to a subscription, you'll need to do so now. If you have an existing Azure AD B2C tenant that was linked to a subscription before November 1, 2019, we recommend you upgrade to the monthly active users (MAU) billing model, or you can stay on the per-authentication billing model.
-Your Azure AD B2C tenant must also be linked to the appropriate Azure pricing tier based on the features you want to use. Premium features require Azure AD B2C [Premium P1 or P2 pricing](https://azure.microsoft.com/pricing/details/active-directory-b2c/). You might need to upgrade your pricing tier as you use new features. For example, Conditional Access, you’ll need to select the Azure AD B2C Premium P2 pricing tier for your tenant.
+Your Azure AD B2C tenant must also be linked to the appropriate Azure pricing tier based on the features you want to use. Premium features require Azure AD B2C [Premium P1 or P2 pricing](https://azure.microsoft.com/pricing/details/active-directory-b2c/). You might need to upgrade your pricing tier as you use new features. For example, for risk-based Conditional Access policies, you’ll need to select the Azure AD B2C Premium P2 pricing tier for your tenant.
> [!NOTE] > Your first 50,000 MAUs per month are free for both Premium P1 and Premium P2 features. To determine the total number of MAUs, we combine MAUs from all your tenants (both Azure AD and Azure AD B2C) that are linked to the same subscription. ## Link an Azure AD B2C tenant to a subscription
After you complete these steps for an Azure AD B2C tenant, your Azure subscripti
## Change your Azure AD pricing tier
-A tenant must be linked to the appropriate Azure pricing tier based on the features you want to use with your Azure AD B2C tenant. Premium features require Azure AD B2C Premium P1 or P2, as described in the [Azure Active Directory B2C pricing](https://azure.microsoft.com/pricing/details/active-directory-b2c/). In some cases, you'll need to upgrade your pricing tier as you use new features. For example, if you want to use Identity Protection, risk-based Conditional Access, and any future Premium P2 capabilities with Azure AD B2C, you’ll need to select the Azure AD B2C Premium P2 pricing tier for your tenant.
+A tenant must be linked to the appropriate Azure pricing tier based on the features you want to use with your Azure AD B2C tenant. Premium features require Azure AD B2C Premium P1 or P2, as described in the [Azure Active Directory B2C pricing](https://azure.microsoft.com/pricing/details/active-directory-b2c/). In some cases, you'll need to upgrade your pricing tier as you use new features. For example, if you want to use Identity Protection, risk-based Conditional Access policies, and any future Premium P2 capabilities with Azure AD B2C, you’ll need to select the Azure AD B2C Premium P2 pricing tier for your tenant.
To change your pricing tier, follow these steps.
active-directory-b2c Conditional Access Identity Protection Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/active-directory-b2c/conditional-access-identity-protection-overview.md
Previously updated : 05/13/2021 Last updated : 05/28/2021
If you're already familiar with [Identity Protection](../active-directory/identi
![Conditional Access in a B2C tenant](media/conditional-access-identity-protection-overview/conditional-access-b2c.png) > [!NOTE]
-> To use Conditional Access, Azure AD B2C Premium P2 is required.
+> Azure AD B2C **Premium P2** is required to create risky sign-in policies. **Premium P1** tenants can create a policy that is based on location, application, user-based, or group-based policies. For more information, see [Change your Azure AD B2C pricing tier](billing.md#change-your-azure-ad-pricing-tier).
## Benefits of Identity Protection and Conditional Access for Azure AD B2C
active-directory-b2c Deploy Custom Policies Devops https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/active-directory-b2c/deploy-custom-policies-devops.md
Title: Deploy custom policies with Azure Pipelines
-description: Learn how to deploy Azure AD B2C custom policies in a CI/CD pipeline by using Azure Pipelines in Azure DevOps Services.
+description: Learn how to deploy Azure AD B2C custom policies in a CI/CD pipeline by using Azure Pipelines.
Previously updated : 05/18/2021 Last updated : 05/28/2021 # Deploy custom policies with Azure Pipelines
-By using a continuous integration and delivery (CI/CD) pipeline that you set up in [Azure Pipelines][devops-pipelines], you can include your Azure AD B2C custom policies in your software delivery and code control automation. As you deploy to different Azure AD B2C environments, for example dev, test, and production, we recommend that you remove manual processes and perform automated testing by using Azure Pipelines.
-
-There are three primary steps required for enabling Azure Pipelines to manage custom policies within Azure AD B2C:
-
-1. Create a web application registration in your Azure AD B2C tenant
-1. Configure an Azure Repo
-1. Configure Azure Pipelines
+[Azure Pipelines](/azure/devops/pipelines.md) supports continuous integration (CI) and continuous delivery (CD) to constantly and consistently test, build, and ship a code to any target. This article describes how to automate the deployment process of the Azure Active Directory B2C (Azure AD B2C) [custom policies](user-flow-overview.md) using Azure Pipelines.
> [!IMPORTANT] > Managing Azure AD B2C custom policies with Azure Pipelines currently uses **preview** operations available on the Microsoft Graph API `/beta` endpoint. Use of these APIs in production applications is not supported. For more information, see the [Microsoft Graph REST API beta endpoint reference](/graph/api/overview?toc=.%2fref%2ftoc.json&view=graph-rest-beta&preserve-view=true). ## Prerequisites
-* [Azure AD B2C tenant](tutorial-create-tenant.md), and credentials for a user in the directory with the [B2C IEF Policy Administrator](../active-directory/roles/permissions-reference.md#b2c-ief-policy-administrator) role
-* [Custom policies](tutorial-create-user-flows.md?pivots=b2c-custom-policy) uploaded to your tenant
-* [Management app](microsoft-graph-get-started.md) registered in your tenant with the Microsoft Graph API permission *Policy.ReadWrite.TrustFramework*
-* [Azure Pipelines](https://azure.microsoft.com/services/devops/pipelines/), and access to an [Azure DevOps Services project][devops-create-project]
+* Complete the steps in the [Get started with custom policies in Active Directory B2C](tutorial-create-user-flows.md).
+* If you haven't created an DevOps organization, create one by following the instructions in [Sign up, sign in to Azure DevOps](/azure/devops/user-guide/sign-up-invite-teammates.md).
-## Client credentials grant flow
+## Register an application for management tasks
-The scenario described here makes use of service-to-service calls between Azure Pipelines and Azure AD B2C by using the OAuth 2.0 [client credentials grant flow](../active-directory/azuread-dev/v1-oauth2-client-creds-grant-flow.md). This grant flow permits a web service like Azure Pipelines (the confidential client) to use its own credentials instead of impersonating a user to authenticate when calling another web service (the Microsoft Graph API, in this case). Azure Pipelines obtains a token non-interactively, then makes requests to the Microsoft Graph API.
+You use PowerShell script to deploy the Azure AD B2C policies. Before the PowerShell script can interact with the [Microsoft Graph API](microsoft-graph-operations.md), create an application registration in your Azure AD B2C tenant. If you haven't already done so, [register a Microsoft Graph application](microsoft-graph-get-started.md).
-## Register an application for management tasks
+For the PowerShell script to access data in MS Graph, grant the registered application the relevant [application permissions](/graph/permissions-reference). Granted the **Microsoft Graph** > **Policy** > **Policy.ReadWrite.TrustFramework** permission within the **API Permissions** of the app registration.
-As mentioned in [Prerequisites](#prerequisites), you need an application registration that your PowerShell scripts--executed by Azure Pipelines--can use for accessing the resources in your tenant.
+## Configure an Azure Repo
-If you already have an application registration that you use for automation tasks, ensure it's been granted the **Microsoft Graph** > **Policy** > **Policy.ReadWrite.TrustFramework** permission within the **API Permissions** of the app registration.
+With a Microsoft Graph application registered, you're ready to configure a repository for your policy files.
-For instructions on registering a management application, see [Manage Azure AD B2C with Microsoft Graph](microsoft-graph-get-started.md).
+1. Sign in to your [Azure DevOps organization](https://azure.microsoft.com/services/devops/).
+1. [Create a new project][devops-create-project], or select an existing project.
+1. In your project, navigate to **Repos**, and select **Files**.
+1. Select an existing repository or create one.
+1. In the root directory of your repository, create a folder named `B2CAssets`. Add your Azure AD B2C custom policy files to the *B2CAssets* folder.
+1. In the root directory of your repository, create a folder named `Scripts`. Create a PowerShell file *DeployToB2C.ps1*. Paste the following PowerShell script into *DeployToB2C.ps1*.
+1. **Commit** and **Push** the changes.
-## Configure an Azure Repo
+The following script acquires an access token from Azure AD. With the token, the script calls the MS Graph API to upload the policies in the *B2CAssets* folder. You can also change the content of the policy before uploading it. For example, replace the `tenant-name.onmicrosoft.com` with your tenant name.
-With a management application registered, you're ready to configure a repository for your policy files.
+```PowerShell
+[Cmdletbinding()]
+Param(
+ [Parameter(Mandatory = $true)][string]$ClientID,
+ [Parameter(Mandatory = $true)][string]$ClientSecret,
+ [Parameter(Mandatory = $true)][string]$TenantId,
+ [Parameter(Mandatory = $true)][string]$PolicyId,
+ [Parameter(Mandatory = $true)][string]$PathToFile
+)
-1. Sign in to your Azure DevOps Services organization.
-1. [Create a new project][devops-create-project] or select an existing project.
-1. In your project, navigate to **Repos** and select the **Files** page. Select an existing repository or create one for this exercise.
-1. Create a folder named *B2CAssets*. Name the required placeholder file *README.md* and **Commit** the file. You can remove this file later, if you like.
-1. Add your Azure AD B2C policy files to the *B2CAssets* folder. This includes the *TrustFrameworkBase.xml*, *TrustFrameWorkExtensions.xml*, *SignUpOrSignin.xml*, *ProfileEdit.xml*, *PasswordReset.xml*, and any other policies you've created. Record the filename of each Azure AD B2C policy file for use in a later step (they're used as PowerShell script arguments).
-1. Create a folder named *Scripts* in the root directory of the repository, name the placeholder file *DeployToB2C.ps1*. Don't commit the file at this point, you'll do so in a later step.
-1. Paste the following PowerShell script into *DeployToB2C.ps1*, then **Commit** the file. The script acquires a token from Azure AD and calls the Microsoft Graph API to upload the policies within the *B2CAssets* folder to your Azure AD B2C tenant.
+try {
+ $body = @{grant_type = "client_credentials"; scope = "https://graph.microsoft.com/.default"; client_id = $ClientID; client_secret = $ClientSecret }
- ```PowerShell
- [Cmdletbinding()]
- Param(
- [Parameter(Mandatory = $true)][string]$ClientID,
- [Parameter(Mandatory = $true)][string]$ClientSecret,
- [Parameter(Mandatory = $true)][string]$TenantId,
- [Parameter(Mandatory = $true)][string]$PolicyId,
- [Parameter(Mandatory = $true)][string]$PathToFile
- )
+ $response = Invoke-RestMethod -Uri https://login.microsoftonline.com/$TenantId/oauth2/v2.0/token -Method Post -Body $body
+ $token = $response.access_token
- try {
- $body = @{grant_type = "client_credentials"; scope = "https://graph.microsoft.com/.default"; client_id = $ClientID; client_secret = $ClientSecret }
+ $headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
+ $headers.Add("Content-Type", 'application/xml')
+ $headers.Add("Authorization", 'Bearer ' + $token)
- $response = Invoke-RestMethod -Uri https://login.microsoftonline.com/$TenantId/oauth2/v2.0/token -Method Post -Body $body
- $token = $response.access_token
+ $graphuri = 'https://graph.microsoft.com/beta/trustframework/policies/' + $PolicyId + '/$value'
+ $policycontent = Get-Content $PathToFile
- $headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
- $headers.Add("Content-Type", 'application/xml')
- $headers.Add("Authorization", 'Bearer ' + $token)
+ # Optional: Change the content of the policy. For example, replace the tenant-name with your tenant name.
+ # $policycontent = $policycontent.Replace("your-tenant.onmicrosoft.com", "contoso.onmicrosoft.com")
- $graphuri = 'https://graph.microsoft.com/beta/trustframework/policies/' + $PolicyId + '/$value'
- $policycontent = Get-Content $PathToFile
- $response = Invoke-RestMethod -Uri $graphuri -Method Put -Body $policycontent -Headers $headers
+ $response = Invoke-RestMethod -Uri $graphuri -Method Put -Body $policycontent -Headers $headers
- Write-Host "Policy" $PolicyId "uploaded successfully."
- }
- catch {
- Write-Host "StatusCode:" $_.Exception.Response.StatusCode.value__
+ Write-Host "Policy" $PolicyId "uploaded successfully."
+}
+catch {
+ Write-Host "StatusCode:" $_.Exception.Response.StatusCode.value__
- $_
+ $_
- $streamReader = [System.IO.StreamReader]::new($_.Exception.Response.GetResponseStream())
- $streamReader.BaseStream.Position = 0
- $streamReader.DiscardBufferedData()
- $errResp = $streamReader.ReadToEnd()
- $streamReader.Close()
+ $streamReader = [System.IO.StreamReader]::new($_.Exception.Response.GetResponseStream())
+ $streamReader.BaseStream.Position = 0
+ $streamReader.DiscardBufferedData()
+ $errResp = $streamReader.ReadToEnd()
+ $streamReader.Close()
- $ErrResp
+ $ErrResp
- exit 1
- }
+ exit 1
+}
- exit 0
- ```
+exit 0
+```
## Configure Azure Pipelines
-With your repository initialized and populated with your custom policy files, you're ready to set up the release pipeline.
-
-### Create pipeline
+With your repository initialized and populated with your custom policy files, you're ready to set up the release pipeline. To create a pipeline, follow these steps:
-1. Sign in to your Azure DevOps Services organization and navigate to your project.
1. In your project, select **Pipelines** > **Releases** > **New pipeline**.
-1. Under **Select a template**, select **Empty job**.
+1. Under **Select a template**, select **Empty job**, and then select **Apply**.
1. Enter a **Stage name**, for example *DeployCustomPolicies*, then close the pane. 1. Select **Add an artifact**, and under **Source type**, select **Azure Repository**.
- 1. Choose the source repository containing the *Scripts* folder that you populated with the PowerShell script.
- 1. Choose a **Default branch**. If you created a new repository in the previous section, the default branch is *master*.
+ 1. For the **Project**, select your project.
+ 1. Select the **Source (repository)** that contains the *Scripts* folder.
+ 1. Select a **Default branch**, for example *master*.
1. Leave the **Default version** setting of *Latest from the default branch*.
- 1. Enter a **Source alias** for the repository. For example, *policyRepo*. Do not include any spaces in the alias name.
+ 1. Enter a **Source alias** for the repository. For example, *policyRepo*.
1. Select **Add** 1. Rename the pipeline to reflect its intent. For example, *Deploy Custom Policy Pipeline*. 1. Select **Save** to save the pipeline configuration. ### Configure pipeline variables
-1. Select the **Variables** tab.
-1. Add the following variables under **Pipeline variables** and set their values as specified:
+The pipeline variables give you a convenient way to get key bits of data into various parts of the pipeline. The following variables provide information about your Azure AD B2C environment.
- | Name | Value |
- | - | -- |
- | `clientId` | **Application (client) ID** of the application you registered earlier. |
- | `clientSecret` | The value of the **client secret** that you created earlier. <br /> Change the variable type to **secret** (select the lock icon). |
- | `tenantId` | `your-b2c-tenant.onmicrosoft.com`, where *your-b2c-tenant* is the name of your Azure AD B2C tenant. |
+| Name | Value |
+| - | -- |
+| `clientId` | **Application (client) ID** of the application you registered earlier. |
+| `clientSecret` | The value of the **client secret** that you created earlier. <br /> Change the variable type to **secret** (select the lock icon). |
+| `tenantId` | `your-b2c-tenant.onmicrosoft.com`, where *your-b2c-tenant* is the name of your Azure AD B2C tenant. |
+To add pipeline variables, follow these steps:
+
+1. In your pipeline, select the **Variables** tab.
+1. Under **Pipeline variables**, add the above variable with their values.
1. Select **Save** to save the variables. ### Add pipeline tasks
-Next, add a task to deploy a policy file.
+A pipeline task is a pre-packaged script that performs an action. Add a task that calls the *DeployToB2C.ps1* PowerShell script.
-1. Select the **Tasks** tab.
+1. In the pipeline you created, select the **Tasks** tab.
1. Select **Agent job**, and then select the plus sign (**+**) to add a task to the Agent job. 1. Search for and select **PowerShell**. Do not select "Azure PowerShell," "PowerShell on target machines," or another PowerShell entry. 1. Select newly added **PowerShell Script** task.
Next, add a task to deploy a policy file.
* **Script Path**: Select the ellipsis (***...***), navigate to the *Scripts* folder, and then select the *DeployToB2C.ps1* file. * **Arguments:**
- Enter the following values for **Arguments**. Replace `{alias-name}` with the alias you specified in the previous section.
+ Enter the following values for **Arguments**. Replace the `{alias-name}` with the alias you specified in the previous section. Replace the `{policy-id}` with the policy name. Replace the `{policy-file-name}` with the policy file name.
+
+ The first policy your upload must be the *TrustFrameworkBase.xml*.
```PowerShell
- # Before
- -ClientID $(clientId) -ClientSecret $(clientSecret) -TenantId $(tenantId) -PolicyId B2C_1A_TrustFrameworkBase -PathToFile $(System.DefaultWorkingDirectory)/{alias-name}/B2CAssets/TrustFrameworkBase.xml
+ -ClientID $(clientId) -ClientSecret $(clientSecret) -TenantId $(tenantId) -PolicyId {policy-id} -PathToFile $(System.DefaultWorkingDirectory)/{alias-name}/B2CAssets/{policy-file-name}
+ ```
+
+ The `PolicyId` is a value found at the start of an XML policy file within the TrustFrameworkPolicy node. For example, the `PolicyId` in the following policy XML is *B2C_1A_TrustFrameworkBase*:
+
+ ```xml
+ <TrustFrameworkPolicy
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"
+ PolicySchemaVersion="0.3.0.0"
+ TenantId="your-tenant.onmicrosoft.com"
+ PolicyId= "B2C_1A_TrustFrameworkBase"
+ PublicPolicyUri="http://your-tenant.onmicrosoft.com/B2C_1A_TrustFrameworkBase">
```
- For example, if the alias you specified is *policyRepo*, the argument line should be:
+ Your final arguments should look like the following example:
```PowerShell
- # After
-ClientID $(clientId) -ClientSecret $(clientSecret) -TenantId $(tenantId) -PolicyId B2C_1A_TrustFrameworkBase -PathToFile $(System.DefaultWorkingDirectory)/policyRepo/B2CAssets/TrustFrameworkBase.xml ``` 1. Select **Save** to save the Agent job.
-The task you just added uploads *one* policy file to Azure AD B2C. Before proceeding, manually trigger the job (**Create release**) to ensure that it completes successfully before creating additional tasks.
+## Test your pipeline
+
+To test your release pipeline:
+
+1. Select **Pipelines** and then **Releases**.
+1. Select the pipeline you created earlier, for example *DeployCustomPolicies*.
+1. Select **Create release**, then select **Create** to queue the release.
-If the task completes successfully, add deployment tasks by performing the preceding steps for each of the custom policy files. Modify the `-PolicyId` and `-PathToFile` argument values for each policy.
+You should see a notification banner that says that a release has been queued. To view its status, select the link in the notification banner, or select it in the list on the **Releases** tab.
-The `PolicyId` is a value found at the start of an XML policy file within the TrustFrameworkPolicy node. For example, the `PolicyId` in the following policy XML is *B2C_1A_TrustFrameworkBase*:
+## Add more pipeline tasks
-```xml
-<TrustFrameworkPolicy
-xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"
-PolicySchemaVersion="0.3.0.0"
-TenantId="contoso.onmicrosoft.com"
-PolicyId= "B2C_1A_TrustFrameworkBase"
-PublicPolicyUri="http://contoso.onmicrosoft.com/B2C_1A_TrustFrameworkBase">
-```
+To deploy the rest of your policies, repeat the [preceding steps](#add-pipeline-tasks) for each of the custom policy files.
-When running the agents and uploading the policy files, ensure they're uploaded in this order:
+When running the agents and uploading the policy files, ensure they're uploaded in the correct order:
1. *TrustFrameworkBase.xml* 1. *TrustFrameworkExtensions.xml*
When running the agents and uploading the policy files, ensure they're uploaded
1. *ProfileEdit.xml* 1. *PasswordReset.xml*
-The Identity Experience Framework enforces this order as the file structure is built on a hierarchical chain.
-
-## Test your pipeline
-
-To test your release pipeline:
-
-1. Select **Pipelines** and then **Releases**.
-1. Select the pipeline you created earlier, for example *DeployCustomPolicies*.
-1. Select **Create release**, then select **Create** to queue the release.
-
-You should see a notification banner that says that a release has been queued. To view its status, select the link in the notification banner, or select it in the list on the **Releases** tab.
- ## Next steps Learn more about:
-* [Service-to-service calls using client credentials](../active-directory/azuread-dev/v1-oauth2-client-creds-grant-flow.md)
+* [Service-to-service calls using client credentials](../active-directory/develop/v2-oauth2-client-creds-grant-flow.md)
* [Azure DevOps Services](/azure/devops/user-guide/) <!-- LINKS - External -->
active-directory-b2c Force Password Reset https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/active-directory-b2c/force-password-reset.md
Previously updated : 05/27/2021 Last updated : 05/28/2021 zone_pivot_groups: b2c-policy-type
To enable the **Forced password reset** setting in a sign-up or sign-in user flo
1. Select **User flows**. 1. Select the sign-up and sign-in, or sign-in user flow (of type **Recommended**) that you want to customize. 1. In the left menu under **Settings**, select **Properties**.
-1. Under **Password complexity**, select **Forced password reset**.
+1. Under **Password configuration**, select **Forced password reset**.
1. Select **Save**. ### Test the user flow
To enable the **Forced password reset** setting in a sign-up or sign-in user flo
::: zone pivot="b2c-custom-policy"
-This feature is currently only available for User Flows. For setup steps, choose **User Flow** above.
+This feature is currently only available for User Flows. For setup steps, choose **User Flow** above. For custom policies, use the force password reset first logon [GitHub sample](https://github.com/azure-ad-b2c/samples/tree/master/policies/force-password-reset-first-logon).
::: zone-end
active-directory How To Nudge Authenticator App https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/active-directory/authentication/how-to-nudge-authenticator-app.md
+
+ Title: Nudge users to set up Microsoft Authenticator app (Preview) - Azure Active Directory
+description: Learn how to move your organization away from less secure authentication methods to the Microsoft Authenticator app
+++++ Last updated : 05/27/2021+++++++
+# Customer intent: As an identity administrator, I want to encourage users to use the Microsoft Authenticator app in Azure AD to improve and secure user sign-in events.
+
+# How to nudge users to set up Microsoft Authenticator (Preview) - Microsoft Authenticator app
+
+You can nudge users to set up Microsoft Authenticator during sign-in. Users will go through their regular sign-in, perform multifactor authentication as usual, and then be prompted to set up Microsoft Authenticator. You can include or exclude users or groups to control who gets nudged to set up the app. This allows targeted campaigns to move users from less secure authentication methods to Microsoft Authenticator.
+
+In addition to choosing who can be nudged, you can define how many days a user can postpone, or "snooze", the nudge. If a user taps **Not now** to snooze the app setup, they will be nudged again on the next MFA attempt after the snooze duration has elapsed.
+
+## Prerequisites
+
+- Your organization must have enabled Azure MFA.
+- User must not have already set up Microsoft Authenticator for push notifications on their account.
+- Admins need to enable users for Microsoft Authenticator using one of these policies:
+ - MFA Registration Policy: Users will need to be enabled for **Notification through mobile app**.
+ - Authentication Methods Policy: Users will need to be enabled for the Microsoft Authenticator and the Authentication mode set to **Any** or **Push**. If the policy is set to **Passwordless**, the user will not be eligible for the nudge.
+
+## User experience
+
+1. User successfully performs MFA using Azure MFA.
+
+1. User sees prompt to set up the Microsoft Authenticator app to improve their sign-in experience. Note: Only users who are allowed for the Microsoft Authenticator push notifications and do not have it currently set up will see the prompt.
+
+ ![User performs multifactor authentication](./media/how-to-nudge-authenticator-app/user-mfa.png)
+
+1. User taps **Next** and steps through Microsoft Authenticator setup.
+ 1. First download the app.
+
+ ![User downloads Microsoft Authenticator](./media/how-to-nudge-authenticator-app/download.png)
+
+ 1. See how to set up Microsoft Authenticator.
+
+ ![User sets up Microsoft Authenticator](./media/how-to-nudge-authenticator-app/setup.png)
+
+ 1. Scan the QR Code.
+
+ ![User scans QR Code](./media/how-to-nudge-authenticator-app/scan.png)
+
+ 1. Approve the test notification.
+
+ ![User approves the test notification](./media/how-to-nudge-authenticator-app/test.png)
+
+ 1. Notification approved.
+
+ ![Confirmation of approval](./media/how-to-nudge-authenticator-app/approved.png)
+
+ 1. Authenticator app is now successfully set up as the userΓÇÖs default sign-in method.
+
+ ![Installation complete](./media/how-to-nudge-authenticator-app/finish.png)
+
+1. If a user wishes to not install the Authenticator app, they can tap **Not now** to snooze the prompt for a number of days, which can be defined by an admin.
+
+ ![Snooze installation](./media/how-to-nudge-authenticator-app/snooze.png)
+
+## Enable the nudge policy
+
+To enable the nudge, you must use the Authentication Methods Policy using Graph APIs or PowerShell commands. **Global administrators** and **Authentication Method Policy administrators** can update the policy.
+
+To configure the policy using Graph Explorer:
+
+1. Sign in to Graph Explorer and ensure youΓÇÖve consented to the **Policy.Read.All** and **Policy.ReadWrite.AuthenticationMethod** permissions.
+
+ To open the Permissions panel:
+
+ ![Screenshot of Graph Explorer](./media/how-to-nudge-authenticator-app/permissions.png)
+
+1. Retrieve the Authentication methods policy: `GET https://graph.microsoft.com/beta/policies/authenticationmethodspolicy`
+
+1. Update the registrationEnforcement and authenticationMethodsRegistrationCampaign section of the policy to enable the nudge on a user or group.
+
+ ![Campaign section](./media/how-to-nudge-authenticator-app/campaign.png)
+
+To update the policy, perform a PATCH on the Authentication Methods Policy with only the updated registrationEnforcement section: `PATCH https://graph.microsoft.com/beta/policies/authenticationmethodspolicy`
+
+The following table lists **authenticationMethodsRegistrationCampaign** properties.
+
+| Name | Possible values | Description |
+||--|-|
+| state | "enabled"<br>"disabled"<br>"default" | Allows you to enable or disable the feature.<br>Default value is used when the configuration hasn't been explicitly set and will use Azure AD default value for this setting. Currently maps to disabled.<br>Change states to either enabled or disabled as needed. |
+| snoozeDurationInDays | Range: 0 ΓÇô 14 | Defines after how many days the user will see the nudge again.<br>If the value is 0, the user is nudged during every MFA attempt.<br>Default: 1 day |
+| includeTargets | N/A | Allows you to include different users and groups that you want the feature to target. |
+| excludeTargets | N/A | Allows you to exclude different users and groups that you want omitted from the feature. If a user is in a group that is excluded and a group that is included, the user will be excluded from the feature.|
+
+The following table lists **includeTargets** properties.
+
+| Name | Possible values | Description |
+||--|-|
+| targetType| "user"<br>"group" | The kind of entity targeted. |
+| Id | A guid identifier | The ID of the user or group targeted. |
+| targetedAuthenticationMethod | "microsoftAuthenticator" | The authentication method user is prompted to register. The only permissible value is "microsoftAuthenticator". |
+
+The following table lists **excludeTargets** properties.
+
+| Name | Possible values | Description |
+||-||
+| targetType | "user"<br>"group" | The kind of entity targeted. |
+| Id | A string | The ID of the user or group targeted. |
+
+### Examples
+
+Here are a few sample JSONs you can use to get started!
+
+- Include all users
+
+ If you want to include ALL users in your tenant simply [download this JSON](https://download.microsoft.com/download/1/4/E/14E6151E-C40A-42FB-9F66-D8D374D13B40/All%20Users%20Enabled.json) and paste it in Graph Explorer and run `PATCH` on the endpoint.
+
+ ```json
+ {
+ "registrationEnforcement": {
+ "authenticationMethodsRegistrationCampaign": {
+ "snoozeDurationInDays": 0,
+ "state": "enabled",
+ "excludeTargets": [],
+ "includeTargets": [
+ {
+ "id": "all_users",
+ "targetType": "group",
+ "targetedAuthenticationMethod": "microsoftAuthenticator"
+ }
+ ]
+ }
+ }
+ }
+ ```
+
+- Include specific users or groups of users
+
+ If you want to include certain users or groups in your tenant, [download this JSON](https://download.microsoft.com/download/1/4/E/14E6151E-C40A-42FB-9F66-D8D374D13B40/Multiple%20Includes.json) and update it with the relevant GUIDs of your users and groups. Then paste the JSON in Graph Explorer and run `PATCH` on the endpoint.
+
+ ```json
+ {
+ "registrationEnforcement": {
+ "authenticationMethodsRegistrationCampaign": {
+ "snoozeDurationInDays": 0,
+ "state": "enabled",
+ "excludeTargets": [],
+ "includeTargets": [
+ {
+ "id": "*********PLEASE ENTER GUID***********",
+ "targetType": "group",
+ "targetedAuthenticationMethod": "microsoftAuthenticator"
+ },
+ {
+ "id": "*********PLEASE ENTER GUID***********",
+ "targetType": "user",
+ "targetedAuthenticationMethod": "microsoftAuthenticator"
+ }
+ ]
+ }
+ }
+ ```
+
+- Include and exclude specific users/groups of users
+
+ If you want to include AND exclude certain users/groups of users in your tenant, [download this JSON](https://download.microsoft.com/download/1/4/E/14E6151E-C40A-42FB-9F66-D8D374D13B40/Multiple%20Includes%20and%20Excludes.json) and paste it in Graph Explorer and run `PATCH` on the endpoint. Enter the correct GUIDs for your users and groups.
+
+ ```json
+ {
+ "registrationEnforcement": {
+ "authenticationMethodsRegistrationCampaign": {
+ "snoozeDurationInDays": 0,
+ "state": "enabled",
+ "excludeTargets": [
+ {
+ "id": "*********PLEASE ENTER GUID***********",
+ "targetType": "group"
+ },
+ {
+ "id": "*********PLEASE ENTER GUID***********",
+ "targetType": "user"
+ }
+ ],
+ "includeTargets": [
+ {
+ "id": "*********PLEASE ENTER GUID***********",
+ "targetType": "group",
+ "targetedAuthenticationMethod": "microsoftAuthenticator"
+ },
+ {
+ "id": "*********PLEASE ENTER GUID***********",
+ "targetType": "user",
+ "targetedAuthenticationMethod": "microsoftAuthenticator"
+ }
+ ]
+ }
+ }
+ }
+ ```
+
+### Identify the GUIDs of users to insert in the JSONs
+
+1. Navigate to the Azure portal.
+1. Tap **Azure Active Directory**.
+1. In the **Manage** blade, tap **Users**.
+1. In the **Users** page, identify the specific user you want to target.
+1. When you tap the specific user, youΓÇÖll see their **Object ID**, which is the userΓÇÖs GUID.
+
+ ![User object ID](./media/how-to-nudge-authenticator-app/object-id.png)
+
+### Identify the GUIDs of users to insert in the JSONs
+
+1. Navigate to the Azure portal.
+1. Tap **Azure Active Directory**.
+1. In the **Manage** blade, tap **Groups**.
+1. In the **Groups** page, identify the specific group you want to target.
+1. Tap the group and get the **Object ID**.
+
+ ![Nudge group](./media/how-to-nudge-authenticator-app/group.png)
+
+<!comment out PS until ready>
+
+### PowerShell
+
+1. Install the module.
+1. Ensure you pass the right roles:
+
+ ```powershell
+ Connect-MgGraph -Scopes "User.Read.All","Group.ReadWrite.All"
+ ```
+
+1. Select the beta profile.
+1. Call `Update-MgPolicyAuthenticationMethod`.
+
+<->
+
+## Limitations
+
+The nudge will not appear on mobile devices that run Android or iOS.
+
+## Frequently asked questions
+
+**Will this feature be available for MFA Server?**
+No. This feature will be available only for users using Azure MFA.
+
+**How long will the campaign run for?**
+You can use the APIs to enable the campaign for as long as you like. Whenever you want to be done running the campaign, simply use the APIs to disable the campaign.
+
+**Can each group of users have a different snooze duration?**
+No. The snooze duration for the prompt is a tenant-wide setting and applies to all groups in scope.
+
+**Can users be nudged to set up passwordless phone sign-in?**
+The feature aims to empower admins to get users set up with MFA using the Authenticator app and not passwordless phone sign-in.
+
+**Will a user who has a 3rd party authenticator app setup see the nudge?**
+If this user doesnΓÇÖt have the Microsoft Authenticator app set up for push notifications and are enabled for it by policy, yes, the user will see the nudge.
+
+**Will a user who has a Microsoft Authenticator app setup only for TOTP codes see the nudge?** Yes. If the Microsoft Authenticator app is not set up for push notifications and the user is enabled for it by policy, yes, the user will see the nudge.
+
+**If a user just went through MFA registration, will they be nudged in the same sign-in session?**
+No. To provide a good user experience, users will not be nudged to set up the Authenticator in the same session that they registered other authentication methods.
+
+**Can I nudge my users to register another authentication method?**
+No. The feature, for now, aims to nudge users to set up the Microsoft Authenticator app only.
+
+**Is there a way for me to hide the snooze option and force my users to setup the Authenticator app?**
+There is no way to hide the snooze option on the nudge. You can set the snoozeDuration to 0, which will ensure that users will see the nudge during each MFA attempt.
+
+**Will I be able to nudge my users if I am not using Azure MFA?**
+No. The nudge will only work for users who are doing MFA using the Azure MFA service.
+
+**Will Guest/B2B users in my tenant be nudged?**
+Yes. If they have been scoped for the nudge using the policy.
+
+**What if the user closes the browser?** It's the same as snoozing.
++
+## Next steps
+
+[Enable passwordless sign-in with the Microsoft Authenticator app](howto-authentication-passwordless-phone.md)
active-directory Msal Net Provide Httpclient https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/active-directory/develop/msal-net-provide-httpclient.md
# Providing your own HttpClient and proxy using MSAL.NET
-When [initializing a public client application](msal-net-initializing-client-applications.md), you can use the `.WithHttpClientFactory method` to provide your own HttpClient. Providing your own HttpClient enables advanced scenarios such fine-grained control of an HTTP proxy, customizing user agent headers, or forcing MSAL to use a specific HttpClient (for example in ASP.NET Core web apps/APIs).
+When [initializing a client application](msal-net-initializing-client-applications.md), you can use the `.WithHttpClientFactory method` to provide your own HttpClient. Providing your own HttpClient enables advanced scenarios such fine-grained control of an HTTP proxy, customizing user agent headers, or forcing MSAL to use a specific HttpClient (for example in ASP.NET Core web apps/APIs).
## Initialize with HttpClientFactory The following example shows to create an `HttpClientFactory` and then initialize a public client application with it:
var pca = PublicClientApplicationBuilder.Create(MsalTestConstants.ClientId)
``` ## HttpClient and Xamarin iOS
-When using Xamarin iOS, it is recommended to create an `HttpClient` that explicitly uses the `NSURLSession`-based handler for iOS 7 and newer. MSAL.NET automatically creates an `HttpClient` that uses `NSURLSessionHandler` for iOS 7 and newer. For more information, read the [Xamarin iOS documentation for HttpClient](/xamarin/cross-platform/macios/http-stack).
+When using Xamarin iOS, it is recommended to create an `HttpClient` that explicitly uses the `NSURLSession`-based handler for iOS 7 and newer. MSAL.NET automatically creates an `HttpClient` that uses `NSURLSessionHandler` for iOS 7 and newer. For more information, read the [Xamarin iOS documentation for HttpClient](/xamarin/cross-platform/macios/http-stack).
active-directory Hybrid Azuread Join Plan https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/active-directory/devices/hybrid-azuread-join-plan.md
Previously updated : 06/28/2019 Last updated : 05/28/2021
As a first planning step, you should review your environment and determine wheth
## Review things you should know ### Unsupported scenarios-- Hybrid Azure AD join is currently not supported if your environment consists of a single AD forest synchronizing identity data to more than one Azure AD tenant. - Hybrid Azure AD join is not supported for Windows Server running the Domain Controller (DC) role.
As a first planning step, you should review your environment and determine wheth
- User State Migration Tool (USMT) doesn't work with device registration. ### OS imaging considerations+ - If you are relying on the System Preparation Tool (Sysprep) and if you are using a **pre-Windows 10 1809** image for installation, make sure that image is not from a device that is already registered with Azure AD as Hybrid Azure AD join. - If you are relying on a Virtual Machine (VM) snapshot to create additional VMs, make sure that snapshot is not from a VM that is already registered with Azure AD as Hybrid Azure AD join.
As a first planning step, you should review your environment and determine wheth
- If you are using [Unified Write Filter](/windows-hardware/customize/enterprise/unified-write-filter) and similar technologies that clear changes to the disk at reboot, they must be applied after the device is Hybrid Azure AD joined. Enabling such technologies prior to completion of Hybrid Azure AD join will result in the device getting unjoined on every reboot ### Handling devices with Azure AD registered state+ If your Windows 10 domain joined devices are [Azure AD registered](overview.md#getting-devices-in-azure-ad) to your tenant, it could lead to a dual state of Hybrid Azure AD joined and Azure AD registered device. We recommend upgrading to Windows 10 1803 (with KB4489894 applied) or above to automatically address this scenario. In pre-1803 releases, you will need to remove the Azure AD registered state manually before enabling Hybrid Azure AD join. In 1803 and above releases, the following changes have been made to avoid this dual state: - Any existing Azure AD registered state for a user would be automatically removed <i>after the device is Hybrid Azure AD joined and the same user logs in</i>. For example, if User A had an Azure AD registered state on the device, the dual state for User A is cleaned up only when User A logs in to the device. If there are multiple users on the same device, the dual state is cleaned up individually when those users log in. In addition to removing the Azure AD registered state, Windows 10 will also unenroll the device from Intune or other MDM, if the enrollment happened as part of the Azure AD registration via auto-enrollment.
If your Windows 10 domain joined devices are [Azure AD registered](overview.md#g
> [!NOTE] > Even though Windows 10 automatically removes the Azure AD registered state locally, the device object in Azure AD is not immediately deleted if it is managed by Intune. You can validate the removal of Azure AD registered state by running dsregcmd /status and consider the device not to be Azure AD registered based on that.
+### Hybrid Azure AD join for single forest, multiple Azure AD tenants
+
+To register devices as hybrid Azure AD join to respective tenants, organizations need to ensure that the SCP configuration is done on the devices and not in AD. More details on how to accomplish this can be found in the article [controlled validation of hybrid Azure AD join](hybrid-azuread-join-control.md). It is also important for organizations to understand that certain Azure AD capabilities will not work in a single forest, multiple Azure AD tenants configurations.
+- [Device writeback](https://docs.microsoft.com/azure/active-directory/hybrid/how-to-connect-device-writeback) will not work. This affects [Device based Conditional Access for on-premise apps that are federated using ADFS](https://docs.microsoft.com/windows-server/identity/ad-fs/operations/configure-device-based-conditional-access-on-premises). This also affects [Windows Hello for Business deployment when using the Hybrid Cert Trust model](https://docs.microsoft.com/windows/security/identity-protection/hello-for-business/hello-hybrid-cert-trust).
+- [Groups writeback](https://docs.microsoft.com/azure/active-directory/hybrid/how-to-connect-group-writeback) will not work. This affects writeback of Office 365 Groups to a forest with Exchange installed.
+- [Seamless SSO](https://docs.microsoft.com/azure/active-directory/hybrid/how-to-connect-sso) will not work. This affects SSO scenarios that organizations may be using on cross OS/broowser platforms, for example iOS/Linux with Firefox, Safari, Chrome without the Windows 10 extension.
+- [Hybrid Azure AD join for Windows down-level devices in managed environment](https://docs.microsoft.com/azure/active-directory/devices/hybrid-azuread-join-managed-domains#enable-windows-down-level-devices) will not work. For example, hybrid Azure AD join on Windows Server 2012 R2 in a managed environment requires Seamless SSO and since Seamless SSO will not work, hybrid Azure AD join for such a setup will not work.
+- [On-premises Azure AD Password Protection](https://docs.microsoft.com/azure/active-directory/authentication/concept-password-ban-bad-on-premises) will not work.This affects ability to perform password changes and password reset events against on-premises Active Directory Domain Services (AD DS) domain controllers using the same global and custom banned password lists that are stored in Azure AD.
++ ### Additional considerations+ - If your environment uses virtual desktop infrastructure (VDI), see [Device identity and desktop virtualization](./howto-device-identity-virtual-desktop-infrastructure.md). - Hybrid Azure AD join is supported for FIPS-compliant TPM 2.0 and not supported for TPM 1.2. If your devices have FIPS-compliant TPM 1.2, you must disable them before proceeding with Hybrid Azure AD join. Microsoft does not provide any tools for disabling FIPS mode for TPMs as it is dependent on the TPM manufacturer. Please contact your hardware OEM for support.
active-directory Licensing Service Plan Reference https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/active-directory/enterprise-users/licensing-service-plan-reference.md
When managing licenses in [the Azure portal](https://portal.azure.com/#blade/Mic
| DYNAMICS 365 FOR FINANCIALS BUSINESS EDITION | DYN365_FINANCIALS_BUSINESS_SKU | cc13a803-544e-4464-b4e4-6d6169a138fa | DYN365_FINANCIALS_BUSINESS (920656a2-7dd8-4c83-97b6-a356414dbd36)<br/>FLOW_DYN_APPS (7e6d7d78-73de-46ba-83b1-6d25117334ba)<br/>POWERAPPS_DYN_APPS (874fc546-6efe-4d22-90b8-5c4e7aa59f4b) |FLOW FOR DYNAMICS 365 (7e6d7d78-73de-46ba-83b1-6d25117334ba)<br/>POWERAPPS FOR DYNAMICS 365 (874fc546-6efe-4d22-90b8-5c4e7aa59f4b)<br/>DYNAMICS 365 FOR FINANCIALS (920656a2-7dd8-4c83-97b6-a356414dbd36) | | DYNAMICS 365 FOR SALES AND CUSTOMER SERVICE ENTERPRISE EDITION | DYN365_ENTERPRISE_SALES_CUSTOMERSERVICE | 8edc2cf8-6438-4fa9-b6e3-aa1660c640cc | DYN365_ENTERPRISE_P1 (d56f3deb-50d8-465a-bedb-f079817ccac1)<br/>FLOW_DYN_APPS (7e6d7d78-73de-46ba-83b1-6d25117334ba)<br/>NBENTERPRISE (03acaee3-9492-4f40-aed4-bcb6b32981b6)<br/>POWERAPPS_DYN_APPS (874fc546-6efe-4d22-90b8-5c4e7aa59f4b)<br/>PROJECT_ESSENTIALS (1259157c-8581-4875-bca7-2ffb18c51bda)<br/>SHAREPOINTENTERPRISE (5dbe027f-2339-4123-9542-606e4d348a72)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014) |DYNAMICS 365 CUSTOMER ENGAGEMENT PLAN (d56f3deb-50d8-465a-bedb-f079817ccac1)<br/>FLOW FOR DYNAMICS 365 (7e6d7d78-73de-46ba-83b1-6d25117334ba)<br/>MICROSOFT SOCIAL ENGAGEMENT - SERVICE DISCONTINUATION (03acaee3-9492-4f40-aed4-bcb6b32981b6)<br/>POWERAPPS FOR DYNAMICS 365 (874fc546-6efe-4d22-90b8-5c4e7aa59f4b)<br/>PROJECT ONLINE ESSENTIALS (1259157c-8581-4875-bca7-2ffb18c51bda)<br/>SHAREPOINT ONLINE (PLAN 2) (5dbe027f-2339-4123-9542-606e4d348a72)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014) | | DYNAMICS 365 FOR SALES ENTERPRISE EDITION | DYN365_ENTERPRISE_SALES | 1e1a282c-9c54-43a2-9310-98ef728faace | DYN365_ENTERPRISE_SALES (2da8e897-7791-486b-b08f-cc63c8129df7)<br/>FLOW_DYN_APPS (7e6d7d78-73de-46ba-83b1-6d25117334ba)<br/>NBENTERPRISE (03acaee3-9492-4f40-aed4-bcb6b32981b6)<br/>POWERAPPS_DYN_APPS (874fc546-6efe-4d22-90b8-5c4e7aa59f4b)<br/>PROJECT_ESSENTIALS (1259157c-8581-4875-bca7-2ffb18c51bda)<br/>SHAREPOINTENTERPRISE (5dbe027f-2339-4123-9542-606e4d348a72)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014) | DYNAMICS 365 FOR SALES (2da8e897-7791-486b-b08f-cc63c8129df7)<br/>FLOW FOR DYNAMICS 365 (7e6d7d78-73de-46ba-83b1-6d25117334ba)<br/>MICROSOFT SOCIAL ENGAGEMENT - SERVICE DISCONTINUATION (03acaee3-9492-4f40-aed4-bcb6b32981b6)<br/>POWERAPPS FOR DYNAMICS 365 (874fc546-6efe-4d22-90b8-5c4e7aa59f4b)<br/>PROJECT ONLINE ESSENTIALS (1259157c-8581-4875-bca7-2ffb18c51bda)<br/>SHAREPOINT ONLINE (PLAN 2) (5dbe027f-2339-4123-9542-606e4d348a72)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014) |
-| DYNAMICS 365 FOR TEAM MEMBERS ENTERPRISE EDITION | DYN365_ENTERPRISE_TEAM_MEMBERS | 8e7a3d30-d97d-43ab-837c-d7701cef83dc | DYN365_Enterprise_Talent_Attract_TeamMember (643d201a-9884-45be-962a-06ba97062e5e)<br/>DYN365_Enterprise_Talent_Onboard_TeamMember (f2f49eef-4b3f-4853-809a-a055c6103fe0)<br/>DYN365_ENTERPRISE_TEAM_MEMBERS (6a54b05e-4fab-40e7-9828-428db3b336fa)<br/>Dynamics_365_for_Operations_Team_members (f5aa7b45-8a36-4cd1-bc37-5d06dea98645)<br/>Dynamics_365_for_Retail_Team_members (c0454a3d-32b5-4740-b090-78c32f48f0ad)<br/>Dynamics_365_for_Talent_Team_members (d5156635-0704-4f66-8803-93258f8b2678)<br/>FLOW_DYN_TEAM (1ec58c70-f69c-486a-8109-4b87ce86e449)<br/>POWERAPPS_DYN_TEAM (52e619e2-2730-439a-b0d3-d09ab7e8b705)<br/>PROJECT_ESSENTIALS (1259157c-8581-4875-bca7-2ffb18c51bda)<br/>SHAREPOINTENTERPRISE (5dbe027f-2339-4123-9542-606e4d348a72)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014) | DYNAMICS 365 FOR TALENT - ATTRACT EXPERIENCE TEAM MEMBER (643d201a-9884-45be-962a-06ba97062e5e)<br/>DYNAMICS 365 FOR TALENT - ONBOARD EXPERIENCE (f2f49eef-4b3f-4853-809a-a055c6103fe0)<br/>DYNAMICS 365 FOR TEAM MEMBERS (6a54b05e-4fab-40e7-9828-428db3b336fa)<br/>DYNAMICS_365_FOR_OPERATIONS_TEAM_MEMBERS (f5aa7b45-8a36-4cd1-bc37-5d06dea98645)<br/>DYNAMICS 365 FOR RETAIL TEAM MEMBERS (c0454a3d-32b5-4740-b090-78c32f48f0ad)<br/>DYNAMICS 365 FOR TALENT TEAM MEMBERS (d5156635-0704-4f66-8803-93258f8b2678)<br/>FLOW FOR DYNAMICS 365 (1ec58c70-f69c-486a-8109-4b87ce86e449)<br/>POWERAPPS FOR DYNAMICS 365 (52e619e2-2730-439a-b0d3-d09ab7e8b705)<br/>PROJECT ONLINE ESSENTIALS (1259157c-8581-4875-bca7-2ffb18c51bda)<br/>SHAREPOINT ONLINE (PLAN 2) (5dbe027f-2339-4123-9542-606e4d348a72)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014) |
-| DYNAMICS 365 TEAM MEMBERS | DYN365_TEAM_MEMBERS | 7ac9fe77-66b7-4e5e-9e46-10eed1cff547 | DYNAMICS_365_FOR_RETAIL_TEAM_MEMBERS (c0454a3d-32b5-4740-b090-78c32f48f0ad)<br/>DYN365_ENTERPRISE_TALENT_ATTRACT_TEAMMEMBER (643d201a-9884-45be-962a-06ba97062e5e)<br/>DYN365_ENTERPRISE_TALENT_ONBOARD_TEAMMEMBER (f2f49eef-4b3f-4853-809a-a055c6103fe0)<br/>DYNAMICS_365_FOR_TALENT_TEAM_MEMBERS (d5156635-0704-4f66-8803-93258f8b2678)<br/>DYN365_TEAM_MEMBERS (4092fdb5-8d81-41d3-be76-aaba4074530b)<br/>DYNAMICS_365_FOR_OPERATIONS_TEAM_MEMBERS (f5aa7b45-8a36-4cd1-bc37-5d06dea98645)<br/>EXCHANGE_S_FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/>FLOW_DYN_TEAM (1ec58c70-f69c-486a-8109-4b87ce86e449)<br/>FLOW_DYN_APPS (7e6d7d78-73de-46ba-83b1-6d25117334ba)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>POWERAPPS_DYN_TEAM (52e619e2-2730-439a-b0d3-d09ab7e8b705)<br/>PROJECT_ESSENTIALS (1259157c-8581-4875-bca7-2ffb18c51bda)<br/>SHAREPOINTENTERPRISE (5dbe027f-2339-4123-9542-606e4d348a72) | DYNAMICS 365 FOR RETAIL TEAM MEMBERS (c0454a3d-32b5-4740-b090-78c32f48f0ad)<br/>Dynamics 365 for Talent - ATTRACT EXPERIENCE TEAM MEMBER (643d201a-9884-45be-962a-06ba97062e5e)<br/>DYNAMICS 365 FOR TALENT - ONBOARD EXPERIENCE (f2f49eef-4b3f-4853-809a-a055c6103fe0)<br/>DYNAMICS 365 FOR TALENT TEAM MEMBERS (d5156635-0704-4f66-8803-93258f8b2678)<br/>DYNAMICS 365 TEAM MEMBERS (4092fdb5-8d81-41d3-be76-aaba4074530b)<br/>DYNAMICS_365_FOR_OPERATIONS_TEAM_MEMBERS (f5aa7b45-8a36-4cd1-bc37-5d06dea98645)<br/>EXCHANGE FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/>FLOW FOR DYNAMICS 365 (1ec58c70-f69c-486a-8109-4b87ce86e449)<br/>FLOW FOR DYNAMICS 365 (7e6d7d78-73de-46ba-83b1-6d25117334ba)<br/>OFFICE FOR THE WEB (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>POWERAPPS FOR DYNAMICS 365 (52e619e2-2730-439a-b0d3-d09ab7e8b705)<br/>PROJECT ONLINE ESSENTIALS (1259157c-8581-4875-bca7-2ffb18c51bda)<br/>SHAREPOINT (PLAN 2) (5dbe027f-2339-4123-9542-606e4d348a72) |
-| DYNAMICS 365 UNF OPS PLAN ENT EDITION | Dynamics_365_for_Operations | ccba3cfe-71ef-423a-bd87-b6df3dce59a9 | DDYN365_CDS_DYN_P2 (d1142cfd-872e-4e77-b6ff-d98ec5a51f66)<br/>DYN365_TALENT_ENTERPRISE (65a1ebf4-6732-4f00-9dcb-3d115ffdeecd)<br/>Dynamics_365_for_Operations (95d2cd7b-1007-484b-8595-5e97e63fe189)<br/>Dynamics_365_for_Retail (a9e39199-8369-444b-89c1-5fe65ec45665)<br/>Dynamics_365_Hiring_Free_PLAN (f815ac79-c5dd-4bcc-9b78-d97f7b817d0d)<br/>Dynamics_365_Onboarding_Free_PLAN (300b8114-8555-4313-b861-0c115d820f50)<br/>FLOW_DYN_P2 (b650d915-9886-424b-a08d-633cede56f57)<br/>POWERAPPS_DYN_P2 (0b03f40b-c404-40c3-8651-2aceb74365fa) | COMMON DATA SERVICE (d1142cfd-872e-4e77-b6ff-d98ec5a51f66)<br/>DYNAMICS 365 FOR TALENT (65a1ebf4-6732-4f00-9dcb-3d115ffdeecd)<br/>DYNAMICS_365_FOR_OPERATIONS (95d2cd7b-1007-484b-8595-5e97e63fe189)<br/>DYNAMICS 365 FOR RETAIL (a9e39199-8369-444b-89c1-5fe65ec45665)<br/>Dynamics_365_Hiring_Free_PLAN (f815ac79-c5dd-4bcc-9b78-d97f7b817d0d)<br/>DYNAMICS 365 FOR TALENT: ONBOARD (300b8114-8555-4313-b861-0c115d820f50)<br/>FLOW FOR DYNAMICS 365(b650d915-9886-424b-a08d-633cede56f57)<br/>POWERAPPS FOR DYNAMICS 365 (0b03f40b-c404-40c3-8651-2aceb74365fa) |
+| DYNAMICS 365 FOR TEAM MEMBERS ENTERPRISE EDITION | DYN365_ENTERPRISE_TEAM_MEMBERS | 8e7a3d30-d97d-43ab-837c-d7701cef83dc | DYN365_Enterprise_Talent_Attract_TeamMember (643d201a-9884-45be-962a-06ba97062e5e)<br/>DYN365_Enterprise_Talent_Onboard_TeamMember (f2f49eef-4b3f-4853-809a-a055c6103fe0)<br/>DYN365_ENTERPRISE_TEAM_MEMBERS (6a54b05e-4fab-40e7-9828-428db3b336fa)<br/>DYNAMICS_365_FOR_OPERATIONS_TEAM_MEMBERS (f5aa7b45-8a36-4cd1-bc37-5d06dea98645)<br/>Dynamics_365_for_Retail_Team_members (c0454a3d-32b5-4740-b090-78c32f48f0ad)<br/>Dynamics_365_for_Talent_Team_members (d5156635-0704-4f66-8803-93258f8b2678)<br/>FLOW_DYN_TEAM (1ec58c70-f69c-486a-8109-4b87ce86e449)<br/>POWERAPPS_DYN_TEAM (52e619e2-2730-439a-b0d3-d09ab7e8b705)<br/>PROJECT_ESSENTIALS (1259157c-8581-4875-bca7-2ffb18c51bda)<br/>SHAREPOINTENTERPRISE (5dbe027f-2339-4123-9542-606e4d348a72)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014) | DYNAMICS 365 FOR TALENT - ATTRACT EXPERIENCE TEAM MEMBER (643d201a-9884-45be-962a-06ba97062e5e)<br/>DYNAMICS 365 FOR TALENT - ONBOARD EXPERIENCE (f2f49eef-4b3f-4853-809a-a055c6103fe0)<br/>DYNAMICS 365 FOR TEAM MEMBERS (6a54b05e-4fab-40e7-9828-428db3b336fa)<br/>DYNAMICS 365 FOR OPERATIONS TEAM MEMBERS (f5aa7b45-8a36-4cd1-bc37-5d06dea98645)<br/>DYNAMICS 365 FOR RETAIL TEAM MEMBERS (c0454a3d-32b5-4740-b090-78c32f48f0ad)<br/>DYNAMICS 365 FOR TALENT TEAM MEMBERS (d5156635-0704-4f66-8803-93258f8b2678)<br/>FLOW FOR DYNAMICS 365 (1ec58c70-f69c-486a-8109-4b87ce86e449)<br/>POWERAPPS FOR DYNAMICS 365 (52e619e2-2730-439a-b0d3-d09ab7e8b705)<br/>PROJECT ONLINE ESSENTIALS (1259157c-8581-4875-bca7-2ffb18c51bda)<br/>SHAREPOINT ONLINE (PLAN 2) (5dbe027f-2339-4123-9542-606e4d348a72)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014) |
+| DYNAMICS 365 TEAM MEMBERS | DYN365_TEAM_MEMBERS | 7ac9fe77-66b7-4e5e-9e46-10eed1cff547 | DYNAMICS_365_FOR_RETAIL_TEAM_MEMBERS (c0454a3d-32b5-4740-b090-78c32f48f0ad)<br/>DYN365_ENTERPRISE_TALENT_ATTRACT_TEAMMEMBER (643d201a-9884-45be-962a-06ba97062e5e)<br/>DYN365_ENTERPRISE_TALENT_ONBOARD_TEAMMEMBER (f2f49eef-4b3f-4853-809a-a055c6103fe0)<br/>DYNAMICS_365_FOR_TALENT_TEAM_MEMBERS (d5156635-0704-4f66-8803-93258f8b2678)<br/>DYN365_TEAM_MEMBERS (4092fdb5-8d81-41d3-be76-aaba4074530b)<br/>DYNAMICS_365_FOR_OPERATIONS_TEAM_MEMBERS (f5aa7b45-8a36-4cd1-bc37-5d06dea98645)<br/>EXCHANGE_S_FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/>FLOW_DYN_TEAM (1ec58c70-f69c-486a-8109-4b87ce86e449)<br/>FLOW_DYN_APPS (7e6d7d78-73de-46ba-83b1-6d25117334ba)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>POWERAPPS_DYN_TEAM (52e619e2-2730-439a-b0d3-d09ab7e8b705)<br/>PROJECT_ESSENTIALS (1259157c-8581-4875-bca7-2ffb18c51bda)<br/>SHAREPOINTENTERPRISE (5dbe027f-2339-4123-9542-606e4d348a72) | DYNAMICS 365 FOR RETAIL TEAM MEMBERS (c0454a3d-32b5-4740-b090-78c32f48f0ad)<br/>Dynamics 365 for Talent - ATTRACT EXPERIENCE TEAM MEMBER (643d201a-9884-45be-962a-06ba97062e5e)<br/>DYNAMICS 365 FOR TALENT - ONBOARD EXPERIENCE (f2f49eef-4b3f-4853-809a-a055c6103fe0)<br/>DYNAMICS 365 FOR TALENT TEAM MEMBERS (d5156635-0704-4f66-8803-93258f8b2678)<br/>DYNAMICS 365 TEAM MEMBERS (4092fdb5-8d81-41d3-be76-aaba4074530b)<br/>DYNAMICS 365 FOR OPERATIONS TEAM MEMBERS (f5aa7b45-8a36-4cd1-bc37-5d06dea98645)<br/>EXCHANGE FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/>FLOW FOR DYNAMICS 365 (1ec58c70-f69c-486a-8109-4b87ce86e449)<br/>FLOW FOR DYNAMICS 365 (7e6d7d78-73de-46ba-83b1-6d25117334ba)<br/>OFFICE FOR THE WEB (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>POWERAPPS FOR DYNAMICS 365 (52e619e2-2730-439a-b0d3-d09ab7e8b705)<br/>PROJECT ONLINE ESSENTIALS (1259157c-8581-4875-bca7-2ffb18c51bda)<br/>SHAREPOINT (PLAN 2) (5dbe027f-2339-4123-9542-606e4d348a72) |
+| DYNAMICS 365 UNF OPS PLAN ENT EDITION | Dynamics_365_for_Operations | ccba3cfe-71ef-423a-bd87-b6df3dce59a9 | DDYN365_CDS_DYN_P2 (d1142cfd-872e-4e77-b6ff-d98ec5a51f66)<br/>DYN365_TALENT_ENTERPRISE (65a1ebf4-6732-4f00-9dcb-3d115ffdeecd)<br/>Dynamics_365_for_Operations (95d2cd7b-1007-484b-8595-5e97e63fe189)<br/>Dynamics_365_for_Retail (a9e39199-8369-444b-89c1-5fe65ec45665)<br/>DYNAMICS_365_HIRING_FREE_PLAN (f815ac79-c5dd-4bcc-9b78-d97f7b817d0d)<br/>Dynamics_365_Onboarding_Free_PLAN (300b8114-8555-4313-b861-0c115d820f50)<br/>FLOW_DYN_P2 (b650d915-9886-424b-a08d-633cede56f57)<br/>POWERAPPS_DYN_P2 (0b03f40b-c404-40c3-8651-2aceb74365fa) | COMMON DATA SERVICE (d1142cfd-872e-4e77-b6ff-d98ec5a51f66)<br/>DYNAMICS 365 FOR TALENT (65a1ebf4-6732-4f00-9dcb-3d115ffdeecd)<br/>DYNAMICS 365 FOR_OPERATIONS (95d2cd7b-1007-484b-8595-5e97e63fe189)<br/>DYNAMICS 365 FOR RETAIL (a9e39199-8369-444b-89c1-5fe65ec45665)<br/>DYNAMICS 365 HIRING FREE PLAN (f815ac79-c5dd-4bcc-9b78-d97f7b817d0d)<br/>DYNAMICS 365 FOR TALENT: ONBOARD (300b8114-8555-4313-b861-0c115d820f50)<br/>FLOW FOR DYNAMICS 365(b650d915-9886-424b-a08d-633cede56f57)<br/>POWERAPPS FOR DYNAMICS 365 (0b03f40b-c404-40c3-8651-2aceb74365fa) |
| ENTERPRISE MOBILITY + SECURITY E3 | EMS | efccb6f7-5641-4e0e-bd10-b4976e1bf68e | AAD_PREMIUM (41781fb2-bc02-4b7c-bd55-b576c07bb09d)<br/>ADALLOM_S_DISCOVERY (932ad362-64a8-4783-9106-97849a1a30b9)<br/>INTUNE_A (c1ec4a95-1f05-45b3-a911-aa3fa01094f5)<br/>MFA_PREMIUM (8a256a2b-b617-496d-b51b-e76466e88db0)<br/>RMS_S_ENTERPRISE (bea4c11e-220a-4e6d-8eb8-8ea15d019f90)<br/>RMS_S_PREMIUM (6c57d4b6-3b23-47a5-9bc9-69f17b4947b3) | AZURE ACTIVE DIRECTORY PREMIUM P1 (41781fb2-bc02-4b7c-bd55-b576c07bb09d)<br/>CLOUD APP SECURITY DISCOVERY (932ad362-64a8-4783-9106-97849a1a30b9)<br/>MICROSOFT INTUNE (c1ec4a95-1f05-45b3-a911-aa3fa01094f5)<br/>MICROSOFT AZURE MULTI-FACTOR AUTHENTICATION (8a256a2b-b617-496d-b51b-e76466e88db0)<br/>MICROSOFT AZURE ACTIVE DIRECTORY RIGHTS (bea4c11e-220a-4e6d-8eb8-8ea15d019f90)<br/>AZURE INFORMATION PROTECTION PREMIUM P1 (6c57d4b6-3b23-47a5-9bc9-69f17b4947b3) | | ENTERPRISE MOBILITY + SECURITY E5 | EMSPREMIUM | b05e124f-c7cc-45a0-a6aa-8cf78c946968 | AAD_PREMIUM (41781fb2-bc02-4b7c-bd55-b576c07bb09d)<br/>AAD_PREMIUM_P2 (eec0eb4f-6444-4f95-aba0-50c24d67f998)<br/>ADALLOM_S_STANDALONE (2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2)<br/>ATA (14ab5db5-e6c4-4b20-b4bc-13e36fd2227f)<br/>INTUNE_A (c1ec4a95-1f05-45b3-a911-aa3fa01094f5)<br/>MFA_PREMIUM (8a256a2b-b617-496d-b51b-e76466e88db0)<br/>RMS_S_ENTERPRISE (bea4c11e-220a-4e6d-8eb8-8ea15d019f90)<br/>RMS_S_PREMIUM (6c57d4b6-3b23-47a5-9bc9-69f17b4947b3)<br/>RMS_S_PREMIUM2 (5689bec4-755d-4753-8b61-40975025187c) | AZURE ACTIVE DIRECTORY PREMIUM P1 (41781fb2-bc02-4b7c-bd55-b576c07bb09d)<br/>AZURE ACTIVE DIRECTORY PREMIUM P2 (eec0eb4f-6444-4f95-aba0-50c24d67f998)<br/>MICROSOFT CLOUD APP SECURITY (2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2)<br/>AZURE ADVANCED THREAT PROTECTION (14ab5db5-e6c4-4b20-b4bc-13e36fd2227f)<br/>MICROSOFT INTUNE (c1ec4a95-1f05-45b3-a911-aa3fa01094f5)<br/>MICROSOFT AZURE MULTI-FACTOR AUTHENTICATION (8a256a2b-b617-496d-b51b-e76466e88db0)<br/>MICROSOFT AZURE ACTIVE DIRECTORY RIGHTS (bea4c11e-220a-4e6d-8eb8-8ea15d019f90)<br/>AZURE INFORMATION PROTECTION PREMIUM P1 (6c57d4b6-3b23-47a5-9bc9-69f17b4947b3)<br/>AZURE INFORMATION PROTECTION PREMIUM P2 (5689bec4-755d-4753-8b61-40975025187c) |
+| EXCHANGE ONLINE ESSENTIALS | EXCHANGE_S_ESSENTIALS | e8f81a67-bd96-4074-b108-cf193eb9433b | EXCHANGE_S_ESSENTIALS (1126bef5-da20-4f07-b45e-ad25d2581aa8)<br/>BPOS_S_TODO_1 (5e62787c-c316-451f-b873-1d05acd4d12c) | EXCHANGE ESSENTIALS (1126bef5-da20-4f07-b45e-ad25d2581aa8)<br/> TO-DO (PLAN 1) (5e62787c-c316-451f-b873-1d05acd4d12c) |
| EXCHANGE ONLINE (PLAN 1) | EXCHANGESTANDARD | 4b9405b0-7788-4568-add1-99614e613b69 | EXCHANGE_S_STANDARD (9aaf7827-d63c-4b61-89c3-182f06f82e5c) | EXCHANGE ONLINE (PLAN 1) (9aaf7827-d63c-4b61-89c3-182f06f82e5c)| | EXCHANGE ONLINE (PLAN 2) | EXCHANGEENTERPRISE | 19ec0d23-8335-4cbd-94ac-6050e30712fa | EXCHANGE_S_ENTERPRISE (efb87545-963c-4e0d-99df-69c6916d9eb0) | EXCHANGE ONLINE (PLAN 2) (efb87545-963c-4e0d-99df-69c6916d9eb0) | | EXCHANGE ONLINE ARCHIVING FOR EXCHANGE ONLINE | EXCHANGEARCHIVE_ADDON | ee02fd1b-340e-4a4b-b355-4a514e4c8943 | EXCHANGE_S_ARCHIVE_ADDON (176a09a6-7ec5-4039-ac02-b2791c6ba793) | EXCHANGE ONLINE ARCHIVING FOR EXCHANGE ONLINE (176a09a6-7ec5-4039-ac02-b2791c6ba793) |
When managing licenses in [the Azure portal](https://portal.azure.com/#blade/Mic
| MICROSOFT 365 APPS FOR ENTERPRISE | OFFICESUBSCRIPTION | c2273bd0-dff7-4215-9ef5-2c7bcfb06425 | FORMS_PLAN_E1 (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>OFFICESUBSCRIPTION (43de0ff5-c92c-492b-9116-175376d08c38)<br/>ONEDRIVESTANDARD (13696edf-5a08-49f6-8134-03083ed8ba30)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97) | MICROSOFT FORMS (PLAN E1) (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>OFFICESUBSCRIPTION (43de0ff5-c92c-492b-9116-175376d08c38)<br/>ONEDRIVESTANDARD (13696edf-5a08-49f6-8134-03083ed8ba30)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97) | | MICROSOFT 365 AUDIO CONFERENCING FOR GCC | MCOMEETADV_GOC | 2d3091c7-0712-488b-b3d8-6b97bde6a1f5 | ECHANGE_FOUNDATION_GOV (922ba911-5694-4e99-a794-73aed9bfeec8<br/>MCOMEETADV_GOV (f544b08d-1645-4287-82de-8d91f37c02a1) | EXCHANGE FOUNDATION FOR GOVERNMENT (922ba911-5694-4e99-a794-73aed9bfeec8)<br/>MICROSOFT 365 AUDIO CONFERENCING FOR GOVERNMENT (f544b08d-1645-4287-82de-8d91f37c02a1) | | MICROSOFT 365 BUSINESS BASIC | O365_BUSINESS_ESSENTIALS | 3b555118-da6a-4418-894f-7df1e2096870 | BPOS_S_TODO_1 (5e62787c-c316-451f-b873-1d05acd4d12c)<br/>EXCHANGE_S_STANDARD (9aaf7827-d63c-4b61-89c3-182f06f82e5c)<br/>FLOW_O365_P1 (0f9b09cb-62d1-4ff4-9129-43f4996f83f4)<br/>FORMS_PLAN_E1 (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>MCOSTANDARD (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>OFFICEMOBILE_SUBSCRIPTION (c63d4d19-e8cb-460e-b37c-4d6c34603745)<br/>POWERAPPS_O365_P1 (92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c)<br/>PROJECTWORKMANAGEMENT (b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>SHAREPOINTSTANDARD (c7699d2e-19aa-44de-8edf-1736da088ca1)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>YAMMER_ENTERPRISE (7547a3fe-08ee-4ccb-b430-5077c5041653) | To-Do (Plan 1) (5e62787c-c316-451f-b873-1d05acd4d12c)<br/>EXCHANGE ONLINE (PLAN 1) (9aaf7827-d63c-4b61-89c3-182f06f82e5c)<br/>FLOW FOR OFFICE 365 (0f9b09cb-62d1-4ff4-9129-43f4996f83f4)<br/>MICROSOFT FORMS (PLAN E1) (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>SKYPE FOR BUSINESS ONLINE (PLAN 2) (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>OFFICEMOBILE_SUBSCRIPTION (c63d4d19-e8cb-460e-b37c-4d6c34603745)<br/>POWERAPPS FOR OFFICE 365 (92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c)<br/>MICROSOFT PLANNER(b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>SHAREPOINTSTANDARD (c7699d2e-19aa-44de-8edf-1736da088ca1)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>YAMMER_ENTERPRISE (7547a3fe-08ee-4ccb-b430-5077c5041653) |
-| MICROSOFT 365 BUSINESS BASIC | SMB_BUSINESS_ESSENTIALS | dab7782a-93b1-4074-8bb1-0e61318bea0b | BPOS_S_TODO_1 (5e62787c-c316-451f-b873-1d05acd4d12c)<br/>EXCHANGE_S_STANDARD (9aaf7827-d63c-4b61-89c3-182f06f82e5c)<br/>FLOW_O365_P1 (0f9b09cb-62d1-4ff4-9129-43f4996f83f4)<br/>FORMS_PLAN_E1 (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>MCOSTANDARD (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>OFFICEMOBILE_SUBSCRIPTION (c63d4d19-e8cb-460e-b37c-4d6c34603745)<br/>POWERAPPS_O365_P1 (92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c)<br/>PROJECTWORKMANAGEMENT (b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>SHAREPOINTSTANDARD (c7699d2e-19aa-44de-8edf-1736da088ca1)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>YAMMER_MIDSIZE (41bf139a-4e60-409f-9346-a1361efc6dfb) | To-Do (Plan 1) (5e62787c-c316-451f-b873-1d05acd4d12c)<br/>EXCHANGE ONLINE (PLAN 1) (9aaf7827-d63c-4b61-89c3-182f06f82e5c)<br/>FLOW FOR OFFICE 365 (0f9b09cb-62d1-4ff4-9129-43f4996f83f4)<br/>MICROSOFT FORMS (PLAN E1) (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>SKYPE FOR BUSINESS ONLINE (PLAN 2) (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>OFFICEMOBILE_SUBSCRIPTION (c63d4d19-e8cb-460e-b37c-4d6c34603745)<br/>POWERAPPS FOR OFFICE 365 (92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c)<br/>MICROSOFT PLANNER(b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>SHAREPOINTSTANDARD (c7699d2e-19aa-44de-8edf-1736da088ca1)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>YAMMER_MIDSIZE (41bf139a-4e60-409f-9346-a1361efc6dfb) |
+| MICROSOFT 365 BUSINESS BASIC | SMB_BUSINESS_ESSENTIALS | dab7782a-93b1-4074-8bb1-0e61318bea0b | BPOS_S_TODO_1 (5e62787c-c316-451f-b873-1d05acd4d12c)<br/>EXCHANGE_S_STANDARD (9aaf7827-d63c-4b61-89c3-182f06f82e5c)<br/>FLOW_O365_P1 (0f9b09cb-62d1-4ff4-9129-43f4996f83f4)<br/>FORMS_PLAN_E1 (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>MCOSTANDARD (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>OFFICEMOBILE_SUBSCRIPTION (c63d4d19-e8cb-460e-b37c-4d6c34603745)<br/>POWERAPPS_O365_P1 (92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c)<br/>PROJECTWORKMANAGEMENT (b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>SHAREPOINTSTANDARD (c7699d2e-19aa-44de-8edf-1736da088ca1)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>YAMMER_MIDSIZE (41bf139a-4e60-409f-9346-a1361efc6dfb) | TO-DO (PLAN 1) (5e62787c-c316-451f-b873-1d05acd4d12c)<br/>EXCHANGE ONLINE (PLAN 1) (9aaf7827-d63c-4b61-89c3-182f06f82e5c)<br/>FLOW FOR OFFICE 365 (0f9b09cb-62d1-4ff4-9129-43f4996f83f4)<br/>MICROSOFT FORMS (PLAN E1) (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>SKYPE FOR BUSINESS ONLINE (PLAN 2) (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>OFFICEMOBILE_SUBSCRIPTION (c63d4d19-e8cb-460e-b37c-4d6c34603745)<br/>POWERAPPS FOR OFFICE 365 (92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c)<br/>MICROSOFT PLANNER(b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>SHAREPOINTSTANDARD (c7699d2e-19aa-44de-8edf-1736da088ca1)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>YAMMER MIDSIZE (41bf139a-4e60-409f-9346-a1361efc6dfb) |
| MICROSOFT 365 BUSINESS STANDARD | O365_BUSINESS_PREMIUM | f245ecc8-75af-4f8e-b61f-27d8114de5f3 | BPOS_S_TODO_1 (5e62787c-c316-451f-b873-1d05acd4d12c)<br/>Deskless (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>EXCHANGE_S_STANDARD (9aaf7827-d63c-4b61-89c3-182f06f82e5c)<br/>FLOW_O365_P1 (0f9b09cb-62d1-4ff4-9129-43f4996f83f4)<br/>FORMS_PLAN_E1 (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>MCOSTANDARD (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>MICROSOFTBOOKINGS (199a5c09-e0ca-4e37-8f7c-b05d533e1ea2)<br/>O365_SB_Relationship_Management (5bfe124c-bbdc-4494-8835-f1297d457d79)<br/>OFFICE_BUSINESS (094e7854-93fc-4d55-b2c0-3ab5369ebdc1)<br/>POWERAPPS_O365_P1 (92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c)<br/>PROJECTWORKMANAGEMENT (b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>SHAREPOINTSTANDARD (c7699d2e-19aa-44de-8edf-1736da088ca1)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>YAMMER_ENTERPRISE (7547a3fe-08ee-4ccb-b430-5077c5041653)| To-Do (Plan 1) (5e62787c-c316-451f-b873-1d05acd4d12c)<br/>MICROSOFT STAFFHUB (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>EXCHANGE ONLINE (PLAN 1) (9aaf7827-d63c-4b61-89c3-182f06f82e5c)<br/>FLOW FOR OFFICE 365 (0f9b09cb-62d1-4ff4-9129-43f4996f83f4)<br/>MICROSOFT FORMS (PLAN E1) (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>SKYPE FOR BUSINESS ONLINE (PLAN 2) (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>MICROSOFTBOOKINGS (199a5c09-e0ca-4e37-8f7c-b05d533e1ea2)<br/>OUTLOOK CUSTOMER MANAGER (5bfe124c-bbdc-4494-8835-f1297d457d79)<br/>OFFICE 365 BUSINESS (094e7854-93fc-4d55-b2c0-3ab5369ebdc1)<br/>POWERAPPS FOR OFFICE 365 (92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c)<br/>MICROSOFT PLANNER(b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>SHAREPOINTSTANDARD (c7699d2e-19aa-44de-8edf-1736da088ca1)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>YAMMER_ENTERPRISE (7547a3fe-08ee-4ccb-b430-5077c5041653) |
-| MICROSOFT 365 BUSINESS STANDARD | SMB_BUSINESS_PREMIUM | ac5cef5d-921b-4f97-9ef3-c99076e5470f | BPOS_S_TODO_1 (5e62787c-c316-451f-b873-1d05acd4d12c)<br/>Deskless (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>EXCHANGE_S_STANDARD (9aaf7827-d63c-4b61-89c3-182f06f82e5c)<br/>FLOW_O365_P1 (0f9b09cb-62d1-4ff4-9129-43f4996f83f4)<br/>FORMS_PLAN_E1 (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>MCOSTANDARD (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>MICROSOFTBOOKINGS (199a5c09-e0ca-4e37-8f7c-b05d533e1ea2)<br/>O365_SB_Relationship_Management (5bfe124c-bbdc-4494-8835-f1297d457d79)<br/>OFFICE_BUSINESS (094e7854-93fc-4d55-b2c0-3ab5369ebdc1)<br/>POWERAPPS_O365_P1 (92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c)<br/>PROJECTWORKMANAGEMENT (b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>SHAREPOINTSTANDARD (c7699d2e-19aa-44de-8edf-1736da088ca1)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>YAMMER_MIDSIZE (41bf139a-4e60-409f-9346-a1361efc6dfb) | To-Do (Plan 1) (5e62787c-c316-451f-b873-1d05acd4d12c)<br/>MICROSOFT STAFFHUB (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>EXCHANGE ONLINE (PLAN 1) (9aaf7827-d63c-4b61-89c3-182f06f82e5c)<br/>FLOW FOR OFFICE 365 (0f9b09cb-62d1-4ff4-9129-43f4996f83f4)<br/>MICROSOFT FORMS (PLAN E1) (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>SKYPE FOR BUSINESS ONLINE (PLAN 2) (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>MICROSOFTBOOKINGS (199a5c09-e0ca-4e37-8f7c-b05d533e1ea2)<br/>OUTLOOK CUSTOMER MANAGER (5bfe124c-bbdc-4494-8835-f1297d457d79)<br/>OFFICE 365 BUSINESS (094e7854-93fc-4d55-b2c0-3ab5369ebdc1)<br/>POWERAPPS FOR OFFICE 365 (92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c)<br/>MICROSOFT PLANNER(b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>SHAREPOINTSTANDARD (c7699d2e-19aa-44de-8edf-1736da088ca1)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>YAMMER_MIDSIZE (41bf139a-4e60-409f-9346-a1361efc6dfb) |
+| MICROSOFT 365 BUSINESS STANDARD - PREPAID LEGACY | SMB_BUSINESS_PREMIUM | ac5cef5d-921b-4f97-9ef3-c99076e5470f | BPOS_S_TODO_1 (5e62787c-c316-451f-b873-1d05acd4d12c)<br/>Deskless (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>EXCHANGE_S_STANDARD (9aaf7827-d63c-4b61-89c3-182f06f82e5c)<br/>FLOW_O365_P1 (0f9b09cb-62d1-4ff4-9129-43f4996f83f4)<br/>FORMS_PLAN_E1 (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>MCOSTANDARD (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>MICROSOFTBOOKINGS (199a5c09-e0ca-4e37-8f7c-b05d533e1ea2)<br/>O365_SB_Relationship_Management (5bfe124c-bbdc-4494-8835-f1297d457d79)<br/>OFFICE_BUSINESS (094e7854-93fc-4d55-b2c0-3ab5369ebdc1)<br/>POWERAPPS_O365_P1 (92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c)<br/>PROJECTWORKMANAGEMENT (b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>SHAREPOINTSTANDARD (c7699d2e-19aa-44de-8edf-1736da088ca1)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>YAMMER_MIDSIZE (41bf139a-4e60-409f-9346-a1361efc6dfb) | To-Do (Plan 1) (5e62787c-c316-451f-b873-1d05acd4d12c)<br/>MICROSOFT STAFFHUB (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>EXCHANGE ONLINE (PLAN 1) (9aaf7827-d63c-4b61-89c3-182f06f82e5c)<br/>FLOW FOR OFFICE 365 (0f9b09cb-62d1-4ff4-9129-43f4996f83f4)<br/>MICROSOFT FORMS (PLAN E1) (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>SKYPE FOR BUSINESS ONLINE (PLAN 2) (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>MICROSOFTBOOKINGS (199a5c09-e0ca-4e37-8f7c-b05d533e1ea2)<br/>OUTLOOK CUSTOMER MANAGER (5bfe124c-bbdc-4494-8835-f1297d457d79)<br/>OFFICE 365 BUSINESS (094e7854-93fc-4d55-b2c0-3ab5369ebdc1)<br/>POWERAPPS FOR OFFICE 365 (92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c)<br/>MICROSOFT PLANNER(b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>SHAREPOINTSTANDARD (c7699d2e-19aa-44de-8edf-1736da088ca1)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>YAMMER_MIDSIZE (41bf139a-4e60-409f-9346-a1361efc6dfb) |
| MICROSOFT 365 BUSINESS PREMIUM | SPB | cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46 | AAD_SMB (de377cbc-0019-4ec2-b77c-3f223947e102)<br/>BPOS_S_TODO_1 (5e62787c-c316-451f-b873-1d05acd4d12c)<br/>Deskless (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>EXCHANGE_S_ARCHIVE_ADDON (176a09a6-7ec5-4039-ac02-b2791c6ba793)<br/>EXCHANGE_S_STANDARD (9aaf7827-d63c-4b61-89c3-182f06f82e5c)<br/>FLOW_O365_P1 (0f9b09cb-62d1-4ff4-9129-43f4996f83f4)<br/>FORMS_PLAN_E1 (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>INTUNE_A (c1ec4a95-1f05-45b3-a911-aa3fa01094f5)<br/>INTUNE_SMBIZ (8e9ff0ff-aa7a-4b20-83c1-2f636b600ac2)<br/>MCOSTANDARD (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>MICROSOFTBOOKINGS (199a5c09-e0ca-4e37-8f7c-b05d533e1ea2)<br/>O365_SB_Relationship_Management (5bfe124c-bbdc-4494-8835-f1297d457d79)<br/>OFFICE_BUSINESS (094e7854-93fc-4d55-b2c0-3ab5369ebdc1)<br/>POWERAPPS_O365_P1 (92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c)<br/>PROJECTWORKMANAGEMENT (b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>RMS_S_ENTERPRISE (bea4c11e-220a-4e6d-8eb8-8ea15d019f90)<br/>RMS_S_PREMIUM (6c57d4b6-3b23-47a5-9bc9-69f17b4947b3)<br/>SHAREPOINTSTANDARD (c7699d2e-19aa-44de-8edf-1736da088ca1)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>STREAM_O365_E1 (743dd19e-1ce3-4c62-a3ad-49ba8f63a2f6)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>WINBIZ (8e229017-d77b-43d5-9305-903395523b99)<br/>YAMMER_ENTERPRISE (7547a3fe-08ee-4ccb-b430-5077c5041653) | AZURE ACTIVE DIRECTORY (de377cbc-0019-4ec2-b77c-3f223947e102)<br/>TO-DO (PLAN 1) (5e62787c-c316-451f-b873-1d05acd4d12c)<br/>MICROSOFT STAFFHUB (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>EXCHANGE ONLINE ARCHIVING FOR EXCHANGE ONLINE (176a09a6-7ec5-4039-ac02-b2791c6ba793)<br/>EXCHANGE ONLINE (PLAN 1) (9aaf7827-d63c-4b61-89c3-182f06f82e5c)<br/>FLOW FOR OFFICE 365 (0f9b09cb-62d1-4ff4-9129-43f4996f83f4)<br/>MICROSOFT FORMS (PLAN E1) (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>MICROSOFT INTUNE (c1ec4a95-1f05-45b3-a911-aa3fa01094f5)<br/>MICROSOFT INTUNE (8e9ff0ff-aa7a-4b20-83c1-2f636b600ac2)<br/>SKYPE FOR BUSINESS ONLINE (PLAN 2) (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>MICROSOFT BOOKINGS (199a5c09-e0ca-4e37-8f7c-b05d533e1ea2)<br/>OUTLOOK CUSTOMER MANAGER (5bfe124c-bbdc-4494-8835-f1297d457d79)<br/>OFFICE 365 BUSINESS (094e7854-93fc-4d55-b2c0-3ab5369ebdc1)<br/>POWERAPPS FOR OFFICE 365 (92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c)<br/>MICROSOFT PLANNER(b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>MICROSOFT AZURE ACTIVE DIRECTORY RIGHTS (bea4c11e-220a-4e6d-8eb8-8ea15d019f90)<br/>AZURE INFORMATION PROTECTION PREMIUM P1 (6c57d4b6-3b23-47a5-9bc9-69f17b4947b3)<br/>SHAREPOINTSTANDARD (c7699d2e-19aa-44de-8edf-1736da088ca1)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>MICROSOFT STREAM FOR O365 E1 SKU (743dd19e-1ce3-4c62-a3ad-49ba8f63a2f6)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>WINDOWS 10 BUSINESS (8e229017-d77b-43d5-9305-903395523b99)<br/>YAMMER_ENTERPRISE (7547a3fe-08ee-4ccb-b430-5077c5041653) | | MICROSOFT 365 DOMESTIC CALLING PLAN (120 Minutes) | MCOPSTN_5 | 11dee6af-eca8-419f-8061-6864517c1875 | MCOPSTN5 (54a152dc-90de-4996-93d2-bc47e670fc06) | MICROSOFT 365 DOMESTIC CALLING PLAN (120 min) (54a152dc-90de-4996-93d2-bc47e670fc06) | | MICROSOFT 365 E3 | SPE_E3 | 05e9a617-0261-4cee-bb44-138d3ef5d965 | AAD_PREMIUM (41781fb2-bc02-4b7c-bd55-b576c07bb09d)<br/>ADALLOM_S_DISCOVERY (932ad362-64a8-4783-9106-97849a1a30b9)<br/>BPOS_S_TODO_2 (c87f142c-d1e9-4363-8630-aaea9c4d9ae5)<br/>Deskless (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>EXCHANGE_S_ENTERPRISE (efb87545-963c-4e0d-99df-69c6916d9eb0)<br/>FLOW_O365_P2 (76846ad7-7776-4c40-a281-a386362dd1b9)<br/>FORMS_PLAN_E3 (2789c901-c14e-48ab-a76a-be334d9d793a)<br/>INTUNE_A (c1ec4a95-1f05-45b3-a911-aa3fa01094f5)<br/>MCOSTANDARD (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>MFA_PREMIUM (8a256a2b-b617-496d-b51b-e76466e88db0)<br/>OFFICESUBSCRIPTION (43de0ff5-c92c-492b-9116-175376d08c38)<br/>POWERAPPS_O365_P2 (c68f8d98-5534-41c8-bf36-22fa496fa792)<br/>PROJECTWORKMANAGEMENT (b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>RMS_S_ENTERPRISE (bea4c11e-220a-4e6d-8eb8-8ea15d019f90)<br/>RMS_S_PREMIUM (6c57d4b6-3b23-47a5-9bc9-69f17b4947b3)<br/>SHAREPOINTENTERPRISE (5dbe027f-2339-4123-9542-606e4d348a72)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>STREAM_O365_E3 (9e700747-8b1d-45e5-ab8d-ef187ceec156)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>WIN10_PRO_ENT_SUB (21b439ba-a0ca-424f-a6cc-52f954a5b111)<br/>YAMMER_ENTERPRISE (7547a3fe-08ee-4ccb-b430-5077c5041653) | AZURE ACTIVE DIRECTORY PREMIUM P1 (41781fb2-bc02-4b7c-bd55-b576c07bb09d)<br/>CLOUD APP SECURITY DISCOVERY (932ad362-64a8-4783-9106-97849a1a30b9)<br/>TO-DO (PLAN 2) (c87f142c-d1e9-4363-8630-aaea9c4d9ae5)<br/>MICROSOFT STAFFHUB (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>EXCHANGE ONLINE (PLAN 2) (efb87545-963c-4e0d-99df-69c6916d9eb0)<br/>FLOW FOR OFFICE 365 (76846ad7-7776-4c40-a281-a386362dd1b9)<br/>MICROSOFT FORMS (PLAN E3) (2789c901-c14e-48ab-a76a-be334d9d793a)<br/>MICROSOFT INTUNE (c1ec4a95-1f05-45b3-a911-aa3fa01094f5)<br/>SKYPE FOR BUSINESS ONLINE (PLAN 2) (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>MICROSOFT AZURE MULTI-FACTOR AUTHENTICATION (8a256a2b-b617-496d-b51b-e76466e88db0)<br/>OFFICESUBSCRIPTION (43de0ff5-c92c-492b-9116-175376d08c38)<br/>POWERAPPS FOR OFFICE 365(c68f8d98-5534-41c8-bf36-22fa496fa792)<br/>MICROSOFT PLANNER(b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>MICROSOFT AZURE ACTIVE DIRECTORY RIGHTS (bea4c11e-220a-4e6d-8eb8-8ea15d019f90)<br/>AZURE INFORMATION PROTECTION PREMIUM P1 (6c57d4b6-3b23-47a5-9bc9-69f17b4947b3)<br/>SHAREPOINT ONLINE (PLAN 2) (5dbe027f-2339-4123-9542-606e4d348a72)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>MICROSOFT STREAM FOR O365 E3 SKU (9e700747-8b1d-45e5-ab8d-ef187ceec156)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>WINDOWS 10 ENTERPRISE (21b439ba-a0ca-424f-a6cc-52f954a5b111)<br/>YAMMER ENTERPRISE (7547a3fe-08ee-4ccb-b430-5077c5041653) |
When managing licenses in [the Azure portal](https://portal.azure.com/#blade/Mic
| MICROSOFT 365 PHONE SYSTEM | MCOEV | e43b5b99-8dfb-405f-9987-dc307f34bcbd | MCOEV (4828c8ec-dc2e-4779-b502-87ac9ce28ab7) | MICROSOFT 365 PHONE SYSTEM (4828c8ec-dc2e-4779-b502-87ac9ce28ab7) | | MICROSOFT 365 PHONE SYSTEM FOR DOD | MCOEV_DOD | d01d9287-694b-44f3-bcc5-ada78c8d953e | MCOEV (4828c8ec-dc2e-4779-b502-87ac9ce28ab7) | MICROSOFT 365 PHONE SYSTEM (4828c8ec-dc2e-4779-b502-87ac9ce28ab7) | | MICROSOFT 365 PHONE SYSTEM FOR FACULTY | MCOEV_FACULTY | d979703c-028d-4de5-acbf-7955566b69b9 | MCOEV (4828c8ec-dc2e-4779-b502-87ac9ce28ab7) | MICROSOFT 365 PHONE SYSTEM(4828c8ec-dc2e-4779-b502-87ac9ce28ab7) |
-| MICROSOFT 365 PHONE SYSTEM FOR GCC | MCOEV_GOV | a460366a-ade7-4791-b581-9fbff1bdaa85 | EXCHANGE_S_FOUNDATION_GOV (922ba911-5694-4e99-a794-73aed9bfeec8)<br/>MCOEV_GOV (db23fce2-a974-42ef-9002-d78dd42a0f22) | EXCHANGE FOUNDATION FOR GOVERNMENT (922ba911-5694-4e99-a794-73aed9bfeec8)<br/>MICROSOFT 365 PHONE SYSTEM (4828c8ec-dc2e-4779-b502-87ac9ce28ab7) |
+| MICROSOFT 365 PHONE SYSTEM FOR GCC | MCOEV_GOV | a460366a-ade7-4791-b581-9fbff1bdaa85 | EXCHANGE_S_FOUNDATION_GOV (922ba911-5694-4e99-a794-73aed9bfeec8)<br/>MCOEV_GOV (db23fce2-a974-42ef-9002-d78dd42a0f22) | EXCHANGE FOUNDATION FOR GOVERNMENT (922ba911-5694-4e99-a794-73aed9bfeec8)<br/>MICROSOFT 365 PHONE SYSTEM FOR GOVERNMENT (db23fce2-a974-42ef-9002-d78dd42a0f22) |
| MICROSOFT 365 PHONE SYSTEM FOR GCCHIGH | MCOEV_GCCHIGH | 7035277a-5e49-4abc-a24f-0ec49c501bb5 | MCOEV (4828c8ec-dc2e-4779-b502-87ac9ce28ab7) | MICROSOFT 365 PHONE SYSTEM (4828c8ec-dc2e-4779-b502-87ac9ce28ab7) | | MICROSOFT 365 PHONE SYSTEM FOR SMALL AND MEDIUM BUSINESS | MCOEVSMB_1 | aa6791d3-bb09-4bc2-afed-c30c3fe26032 | MCOEVSMB (ed777b71-af04-42ca-9798-84344c66f7c6) | SKYPE FOR BUSINESS CLOUD PBX FOR SMALL AND MEDIUM BUSINESS (ed777b71-af04-42ca-9798-84344c66f7c6) | | MICROSOFT 365 PHONE SYSTEM FOR STUDENTS | MCOEV_STUDENT | 1f338bbc-767e-4a1e-a2d4-b73207cc5b93 | MCOEV (4828c8ec-dc2e-4779-b502-87ac9ce28ab7) | MICROSOFT 365 PHONE SYSTEM (4828c8ec-dc2e-4779-b502-87ac9ce28ab7) |
When managing licenses in [the Azure portal](https://portal.azure.com/#blade/Mic
| MICROSOFT 365 PHONE SYSTEM_USGOV_DOD | MCOEV_USGOV_DOD | b0e7de67-e503-4934-b729-53d595ba5cd1 | MCOEV (4828c8ec-dc2e-4779-b502-87ac9ce28ab7) | MICROSOFT 365 PHONE SYSTEM (4828c8ec-dc2e-4779-b502-87ac9ce28ab7) | | MICROSOFT 365 PHONE SYSTEM_USGOV_GCCHIGH | MCOEV_USGOV_GCCHIGH | 985fcb26-7b94-475b-b512-89356697be71 | MCOEV (4828c8ec-dc2e-4779-b502-87ac9ce28ab7) | MICROSOFT 365 PHONE SYSTEM (4828c8ec-dc2e-4779-b502-87ac9ce28ab7) | | MICROSOFT 365 PHONE SYSTEM - VIRTUAL USER | PHONESYSTEM_VIRTUALUSER | 440eaaa8-b3e0-484b-a8be-62870b9ba70a | MCOEV_VIRTUALUSER (f47330e9-c134-43b3-9993-e7f004506889) | MICROSOFT 365 PHONE SYSTEM VIRTUAL USER (f47330e9-c134-43b3-9993-e7f004506889)|
+| MICROSOFT 365 SECURITY AND COMPLIANCE FOR FLW | M365_SECURITY_COMPLIANCE_FOR_FLW | 2347355b-4e81-41a4-9c22-55057a399791 | AAD_PREMIUM_P2 (eec0eb4f-6444-4f95-aba0-50c24d67f998)<br/>RMS_S_PREMIUM2 (5689bec4-755d-4753-8b61-40975025187c)<br/>LOCKBOX_ENTERPRISE (9f431833-0334-42de-a7dc-70aa40db46db)<br/>MIP_S_Exchange (cd31b152-6326-4d1b-ae1b-997b625182e6)<br/>BPOS_S_DlpAddOn (9bec7e34-c9fa-40b7-a9d1-bd6d1165c7ed)<br/>EXCHANGE_S_ARCHIVE_ADDON (176a09a6-7ec5-4039-ac02-b2791c6ba793)<br/>INFORMATION_BARRIERS (c4801e8a-cb58-4c35-aca6-f2dcc106f287)<br/>MIP_S_CLP2 (efb0351d-3b08-4503-993d-383af8de41e3)<br/>MTP (bf28f719-7844-4079-9c78-c1307898e192)<br/>ADALLOM_S_STANDALONE (2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2)<br/>WINDEFATP (871d91ec-ec1a-452b-a83f-bd76c7d770ef)<br/>ATA (14ab5db5-e6c4-4b20-b4bc-13e36fd2227f)<br/>ATP_ENTERPRISE (f20fedf3-f3c3-43c3-8267-2bfdd51c0939)<br/>THREAT_INTELLIGENCE (8e0c0a52-6a6c-4d40-8370-dd62790dcd70)<br/>EQUIVIO_ANALYTICS (4de31727-a228-4ec3-a5bf-8e45b5ca48cc)<br/>PAM_ENTERPRISE b1188c4c-1b36-4018-b48b-ee07604f6feb)<br/>PREMIUM_ENCRYPTION (617b097b-4b93-4ede-83de-5f075bb5fb2f) | AZURE ACTIVE DIRECTORY PREMIUM P2 (eec0eb4f-6444-4f95-aba0-50c24d67f998)<br/>AZURE INFORMATION PROTECTION PREMIUM P2 (5689bec4-755d-4753-8b61-40975025187c)<br/>CUSTOMER LOCKBOX (9f431833-0334-42de-a7dc-70aa40db46db)<br/>DATA CLASSIFICATION IN MICROSOFT 365 (cd31b152-6326-4d1b-ae1b-997b625182e6)<br/>DATA LOSS PREVENTION (9bec7e34-c9fa-40b7-a9d1-bd6d1165c7ed)<br/>EXCHANGE ONLINE ARCHIVING FOR EXCHANGE ONLINE (176a09a6-7ec5-4039-ac02-b2791c6ba793)<br/>INFORMATION BARRIERS (c4801e8a-cb58-4c35-aca6-f2dcc106f287)<br/>INFORMATION PROTECTION FOR OFFICE 365 ΓÇô PREMIUM (efb0351d-3b08-4503-993d-383af8de41e3)<br/>MICROSOFT 365 DEFENDER (bf28f719-7844-4079-9c78-c1307898e192)<br/>MICROSOFT CLOUD APP SECURITY (2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2)<br/>MICROSOFT DEFENDER FOR ENDPOINT (871d91ec-ec1a-452b-a83f-bd76c7d770ef)<br/>MICROSOFT DEFENDER FOR IDENTITY (14ab5db5-e6c4-4b20-b4bc-13e36fd2227f)<br/>MICROSOFT DEFENDER FOR OFFICE 365 (PLAN 1) (f20fedf3-f3c3-43c3-8267-2bfdd51c0939)<br/>MICROSOFT DEFENDER FOR OFFICE 365 (PLAN 2) (8e0c0a52-6a6c-4d40-8370-dd62790dcd70)<br/>OFFICE 365 ADVANCED EDISCOVERY (4de31727-a228-4ec3-a5bf-8e45b5ca48cc)<br/>OFFICE 365 PRIVILEGED ACCESS MANAGEMENT (b1188c4c-1b36-4018-b48b-ee07604f6feb)<br/>PREMIUM ENCRYPTION IN OFFICE 365 (617b097b-4b93-4ede-83de-5f075bb5fb2f |
| MICROSOFT BUSINESS CENTER | MICROSOFT_BUSINESS_CENTER | 726a0894-2c77-4d65-99da-9775ef05aad1 | MICROSOFT_BUSINESS_CENTER (cca845f9-fd51-4df6-b563-976a37c56ce0) | MICROSOFT BUSINESS CENTER (cca845f9-fd51-4df6-b563-976a37c56ce0) | | MICROSOFT DEFENDER FOR ENDPOINT | WIN_DEF_ATP | 111046dd-295b-4d6d-9724-d52ac90bd1f2 | EXCHANGE_S_FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/>WINDEFATP (871d91ec-ec1a-452b-a83f-bd76c7d770ef) | Exchange Foundation (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/>MICROSOFT DEFENDER FOR ENDPOINT (871d91ec-ec1a-452b-a83f-bd76c7d770ef) |
-| MICROSOFT DYNAMICS CRM ONLINE BASIC | CRMPLAN2 | 906af65a-2970-46d5-9b58-4e9aa50f0657 | CRMPLAN2 (bf36ca64-95c6-4918-9275-eb9f4ce2c04f)<br/>FLOW_DYN_APPS (7e6d7d78-73de-46ba-83b1-6d25117334ba)<br/>POWERAPPS_DYN_APPS (874fc546-6efe-4d22-90b8-5c4e7aa59f4b) | MICROSOFT DYNAMICS CRM ONLINE BASIC(bf36ca64-95c6-4918-9275-eb9f4ce2c04f)<br/>FLOW FOR DYNAMICS 365 (7e6d7d78-73de-46ba-83b1-6d25117334ba)<br/>POWERAPPS FOR DYNAMICS 365 (874fc546-6efe-4d22-90b8-5c4e7aa59f4b) | MICROSOFT_BUSINESS_CENTER (cca845f9-fd51-4df6-b563-976a37c56ce0) |
+| MICROSOFT DYNAMICS CRM ONLINE BASIC | CRMPLAN2 | 906af65a-2970-46d5-9b58-4e9aa50f0657 | EXCHANGE_S_FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/>FLOW_DYN_APPS (7e6d7d78-73de-46ba-83b1-6d25117334ba)<br/>CRMPLAN2 (bf36ca64-95c6-4918-9275-eb9f4ce2c04f)<br/>POWERAPPS_DYN_APPS (874fc546-6efe-4d22-90b8-5c4e7aa59f4b) | EXCHANGE FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/>FLOW FOR DYNAMICS 365 (7e6d7d78-73de-46ba-83b1-6d25117334ba)<br/>MICROSOFT DYNAMICS CRM ONLINE BASIC (bf36ca64-95c6-4918-9275-eb9f4ce2c04f)<br/>POWERAPPS FOR DYNAMICS 365 (874fc546-6efe-4d22-90b8-5c4e7aa59f4b) |
| MICROSOFT DYNAMICS CRM ONLINE | CRMSTANDARD | d17b27af-3f49-4822-99f9-56a661538792 | CRMSTANDARD (f9646fb2-e3b2-4309-95de-dc4833737456)<br/>FLOW_DYN_APPS (7e6d7d78-73de-46ba-83b1-6d25117334ba)<br/>MDM_SALES_COLLABORATION (3413916e-ee66-4071-be30-6f94d4adfeda)<br/>NBPROFESSIONALFORCRM (3e58e97c-9abe-ebab-cd5f-d543d1529634)<br/>POWERAPPS_DYN_APPS (874fc546-6efe-4d22-90b8-5c4e7aa59f4b) | MICROSOFT DYNAMICS CRM ONLINE PROFESSIONAL(f9646fb2-e3b2-4309-95de-dc4833737456)<br/>FLOW FOR DYNAMICS 365 (7e6d7d78-73de-46ba-83b1-6d25117334ba)<br/>MICROSOFT DYNAMICS MARKETING SALES COLLABORATION - ELIGIBILITY CRITERIA APPLY (3413916e-ee66-4071-be30-6f94d4adfeda)<br/>MICROSOFT SOCIAL ENGAGEMENT PROFESSIONAL - ELIGIBILITY CRITERIA APPLY (3e58e97c-9abe-ebab-cd5f-d543d1529634)<br/>POWERAPPS FOR DYNAMICS 365 (874fc546-6efe-4d22-90b8-5c4e7aa59f4b) | | MS IMAGINE ACADEMY | IT_ACADEMY_AD | ba9a34de-4489-469d-879c-0f0f145321cd | IT_ACADEMY_AD (d736def0-1fde-43f0-a5be-e3f8b2de6e41) | MS IMAGINE ACADEMY (d736def0-1fde-43f0-a5be-e3f8b2de6e41) | | MICROSOFT INTUNE DEVICE for GOVERNMENT | INTUNE_A_D_GOV | 2c21e77a-e0d6-4570-b38a-7ff2dc17d2ca | EXCHANGE_S_FOUNDATION_GOV (922ba911-5694-4e99-a794-73aed9bfeec8)<br/>INTUNE_A (c1ec4a95-1f05-45b3-a911-aa3fa01094f5) | EXCHANGE FOUNDATION FOR GOVERNMENT (922ba911-5694-4e99-a794-73aed9bfeec8)<br/>MICROSOFT INTUNE (c1ec4a95-1f05-45b3-a911-aa3fa01094f5) | | MICROSOFT POWER APPS PLAN 2 TRIAL | POWERAPPS_VIRAL | dcb1a3ae-b33f-4487-846a-a640262fadf4 | DYN365_CDS_VIRAL (17ab22cd-a0b3-4536-910a-cb6eb12696c0)<br/>EXCHANGE_S_FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/>FLOW_P2_VIRAL (50e68c76-46c6-4674-81f9-75456511b170)<br/>FLOW_P2_VIRAL_REAL (d20bfa21-e9ae-43fc-93c2-20783f0840c3)<br/>POWERAPPS_P2_VIRAL (d5368ca3-357e-4acb-9c21-8495fb025d1f) | COMMON DATA SERVICE ΓÇô VIRAL (17ab22cd-a0b3-4536-910a-cb6eb12696c0)<br/>EXCHANGE FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/>FLOW FREE (50e68c76-46c6-4674-81f9-75456511b170)<br/>FLOW P2 VIRAL (d20bfa21-e9ae-43fc-93c2-20783f0840c3)<br/>POWERAPPS TRIAL (d5368ca3-357e-4acb-9c21-8495fb025d1f) |
+| MICROSOFT INTUNE SMB | INTUNE_SMB | e6025b08-2fa5-4313-bd0a-7e5ffca32958 | AAD_SMB (de377cbc-0019-4ec2-b77c-3f223947e102)<br/>EXCHANGE_S_FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/>INTUNE_SMBIZ (8e9ff0ff-aa7a-4b20-83c1-2f636b600ac2)<br/>INTUNE_A (c1ec4a95-1f05-45b3-a911-aa3fa01094f5)<br/> | AZURE ACTIVE DIRECTORY (de377cbc-0019-4ec2-b77c-3f223947e102)<br/> EXCHANGE FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/> MICROSOFT INTUNE (8e9ff0ff-aa7a-4b20-83c1-2f636b600ac2)<br/> MICROSOFT INTUNE (c1ec4a95-1f05-45b3-a911-aa3fa01094f5)<br/> |
| MICROSOFT TEAM (FREE) | TEAMS_FREE | 16ddbbfc-09ea-4de2-b1d7-312db6112d70 | EXCHANGE_S_FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/>MCOFREE (617d9209-3b90-4879-96e6-838c42b2701d)<br/>TEAMS_FREE (4fa4026d-ce74-4962-a151-8e96d57ea8e4)<br/>SHAREPOINTDESKLESS (902b47e5-dcb2-4fdc-858b-c63a90a2bdb9)<br/>TEAMS_FREE_SERVICE (bd6f2ac2-991a-49f9-b23c-18c96a02c228)<br/>WHITEBOARD_FIRSTLINE1 (36b29273-c6d0-477a-aca6-6fbe24f538e3) | EXCHANGE FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/>MCO FREE FOR MICROSOFT TEAMS (FREE) (617d9209-3b90-4879-96e6-838c42b2701d)<br/>MICROSOFT TEAMS (FREE) (4fa4026d-ce74-4962-a151-8e96d57ea8e4)<br/>SHAREPOINT KIOSK (902b47e5-dcb2-4fdc-858b-c63a90a2bdb9)<br/>TEAMS FREE SERVICE (bd6f2ac2-991a-49f9-b23c-18c96a02c228)<br/>WHITEBOARD (FIRSTLINE) (36b29273-c6d0-477a-aca6-6fbe24f538e3) | | MICROSOFT TEAMS EXPLORATORY | TEAMS_EXPLORATORY | 710779e8-3d4a-4c88-adb9-386c958d1fdf | CDS_O365_P1 (bed136c6-b799-4462-824d-fc045d3a9d25)<br/>EXCHANGE_S_STANDARD (9aaf7827-d63c-4b61-89c3-182f06f82e5c)<br/>MYANALYTICS_P2 (33c4f319-9bdd-48d6-9c4d-410b750a4a5a)<br/>FORMS_PLAN_E1 (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>PROJECTWORKMANAGEMENT (b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>MICROSOFT_SEARCH (94065c59-bc8e-4e8b-89e5-5138d471eaff)<br/>DESKLESS (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>STREAM_O365_E1 (743dd19e-1ce3-4c62-a3ad-49ba8f63a2f6)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>MCO_TEAMS_IW (42a3ec34-28ba-46b6-992f-db53a675ac5b)<br/>INTUNE_O365 (882e1d05-acd1-4ccb-8708-6ee03664b117)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>OFFICEMOBILE_SUBSCRIPTION (c63d4d19-e8cb-460e-b37c-4d6c34603745)<br/>POWERAPPS_O365_P1 (92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c)<br/>FLOW_O365_P1 (0f9b09cb-62d1-4ff4-9129-43f4996f83f4)<br/>POWER_VIRTUAL_AGENTS_O365_P1 (0683001c-0492-4d59-9515-d9a6426b5813)<br/>SHAREPOINTSTANDARD (c7699d2e-19aa-44de-8edf-1736da088ca1)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>BPOS_S_TODO_1 (5e62787c-c316-451f-b873-1d05acd4d12c)<br/>WHITEBOARD_PLAN1 (b8afc642-032e-4de5-8c0a-507a7bba7e5d)<br/>YAMMER_ENTERPRISE (7547a3fe-08ee-4ccb-b430-5077c5041653) | COMMON DATA SERVICE FOR TEAMS_P1 (bed136c6-b799-4462-824d-fc045d3a9d25)<br/>EXCHANGE ONLINE (PLAN 1) (9aaf7827-d63c-4b61-89c3-182f06f82e5c)<br/>INSIGHTS BY MYANALYTICS (33c4f319-9bdd-48d6-9c4d-410b750a4a5a)<br/>MICROSOFT FORMS (PLAN E1) (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>MICROSOFT PLANNER (b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>MICROSOFT SEARCH (94065c59-bc8e-4e8b-89e5-5138d471eaff)<br/>MICROSOFT STAFFHUB (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>MICROSOFT STREAM FOR O365 E1 SKU (743dd19e-1ce3-4c62-a3ad-49ba8f63a2f6)<br/>MICROSOFT TEAMS (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>MICROSOFT TEAMS (42a3ec34-28ba-46b6-992f-db53a675ac5b)<br/>MOBILE DEVICE MANAGEMENT FOR OFFICE 365 (882e1d05-acd1-4ccb-8708-6ee03664b117)<br/>OFFICE FOR THE WEB (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>OFFICE MOBILE APPS FOR OFFICE 365 (c63d4d19-e8cb-460e-b37c-4d6c34603745)<br/>POWER APPS FOR OFFICE 365 (92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c)<br/>POWER AUTOMATE FOR OFFICE 365 (0f9b09cb-62d1-4ff4-9129-43f4996f83f4)<br/>POWER VIRTUAL AGENTS FOR OFFICE 365 P1(0683001c-0492-4d59-9515-d9a6426b5813)<br/>SHAREPOINT ONLINE (PLAN 1) (c7699d2e-19aa-44de-8edf-1736da088ca1)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TO-DO (PLAN 1) (5e62787c-c316-451f-b873-1d05acd4d12c)<br/>WHITEBOARD (PLAN 1) (b8afc642-032e-4de5-8c0a-507a7bba7e5d)<br/>YAMMER ENTERPRISE (7547a3fe-08ee-4ccb-b430-5077c5041653) | | Office 365 A5 for faculty| ENTERPRISEPREMIUM_FACULTY | a4585165-0533-458a-97e3-c400570268c4 | AAD_BASIC_EDU (1d0f309f-fdf9-4b2a-9ae7-9c48b91f1426)<br/>RMS_S_ENTERPRISE (bea4c11e-220a-4e6d-8eb8-8ea15d019f90)<br/>LOCKBOX_ENTERPRISE (9f431833-0334-42de-a7dc-70aa40db46db)<br/>EducationAnalyticsP1 (a9b86446-fa4e-498f-a92a-41b447e03337)<br/>EXCHANGE_S_ENTERPRISE (efb87545-963c-4e0d-99df-69c6916d9eb0)<br/>FLOW_O365_P3 (07699545-9485-468e-95b6-2fca3738be01)<br/>INFORMATION_BARRIERS (c4801e8a-cb58-4c35-aca6-f2dcc106f287)<br/>MIP_S_CLP2 (efb0351d-3b08-4503-993d-383af8de41e3)<br/>MIP_S_CLP1 (5136a095-5cf0-4aff-bec3-e84448b38ea5)<br/>M365_ADVANCED_AUDITING (2f442157-a11c-46b9-ae5b-6e39ff4e5849)<br/>MCOMEETADV (3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40)<br/>MCOEV (4828c8ec-dc2e-4779-b502-87ac9ce28ab7)<br/>MICROSOFTBOOKINGS (199a5c09-e0ca-4e37-8f7c-b05d533e1ea2)<br/>COMMUNICATIONS_COMPLIANCE (41fcdd7d-4733-4863-9cf4-c65b83ce2df4)<br/>COMMUNICATIONS_DLP (6dc145d6-95dd-4191-b9c3-185575ee6f6b)<br/>CUSTOMER_KEY (6db1f1db-2b46-403f-be40-e39395f08dbb)<br/>DATA_INVESTIGATIONS (46129a58-a698-46f0-aa5b-17f6586297d9)<br/>OFFICE_FORMS_PLAN_3 (96c1e14a-ef43-418d-b115-9636cdaa8eed)<br/>INFO_GOVERNANCE (e26c2fcc-ab91-4a61-b35c-03cdc8dddf66)<br/>KAIZALA_STANDALONE (0898bdbb-73b0-471a-81e5-20f1fe4dd66e)<br/>EXCHANGE_ANALYTICS (34c0d7a0-a70f-4668-9238-47f9fc208882)<br/>PROJECTWORKMANAGEMENT (b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>RECORDS_MANAGEMENT (65cc641f-cccd-4643-97e0-a17e3045e541)<br/>MICROSOFT_SEARCH (94065c59-bc8e-4e8b-89e5-5138d471eaff)<br/>Deskless (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>STREAM_O365_E5 (6c6042f5-6f01-4d67-b8c1-eb99d36eed3e)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>INTUNE_O365 (882e1d05-acd1-4ccb-8708-6ee03664b117)<br/>EQUIVIO_ANALYTICS (4de31727-a228-4ec3-a5bf-8e45b5ca48cc)<br/>ADALLOM_S_O365 (8c098270-9dd4-4350-9b30-ba4703f3b36b)<br/>ATP_ENTERPRISE (f20fedf3-f3c3-43c3-8267-2bfdd51c0939)<br/>THREAT_INTELLIGENCE (8e0c0a52-6a6c-4d40-8370-dd62790dcd70)<br/>PAM_ENTERPRISE (b1188c4c-1b36-4018-b48b-ee07604f6feb)<br/>OFFICESUBSCRIPTION (43de0ff5-c92c-492b-9116-175376d08c38)<br/>SHAREPOINTWAC_EDU (e03c7e47-402c-463c-ab25-949079bedb21)<br/>BI_AZURE_P2 (70d33638-9c74-4d01-bfd3-562de28bd4ba)<br/>POWERAPPS_O365_P3 (9c0dab89-a30c-4117-86e7-97bda240acd2)<br/>PREMIUM_ENCRYPTION (617b097b-4b93-4ede-83de-5f075bb5fb2f)<br/>SCHOOL_DATA_SYNC_P2 (500b6a2a-7a50-4f40-b5f9-160e5b8c2f48)<br/>SHAREPOINTENTERPRISE_EDU (63038b2c-28d0-45f6-bc36-33062963b498)<br/>MCOSTANDARD (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>BPOS_S_TODO_3 (3fb82609-8c27-4f7b-bd51-30634711ee67)<br/>WHITEBOARD_PLAN3 (4a51bca5-1eff-43f5-878c-177680f191af)<br/>YAMMER_EDU (2078e8df-cff6-4290-98cb-5408261a760a) | Azure Active Directory Basic for EDU (1d0f309f-fdf9-4b2a-9ae7-9c48b91f1426)<br/>Azure Rights Management (bea4c11e-220a-4e6d-8eb8-8ea15d019f90)<br/>Customer Lockbox (9f431833-0334-42de-a7dc-70aa40db46db)<br/>Education Analytics (a9b86446-fa4e-498f-a92a-41b447e03337)<br/>Exchange Online (Plan 2) (efb87545-963c-4e0d-99df-69c6916d9eb0)<br/>Flow for Office 365 (07699545-9485-468e-95b6-2fca3738be01)<br/>Information Barriers (c4801e8a-cb58-4c35-aca6-f2dcc106f287)<br/>Information Protection for Office 365 - Premium (efb0351d-3b08-4503-993d-383af8de41e3)<br/>Information Protection for Office 365 - Standard (5136a095-5cf0-4aff-bec3-e84448b38ea5)<br/>Microsoft 365 Advanced Auditing (2f442157-a11c-46b9-ae5b-6e39ff4e5849)<br/>Microsoft 365 Audio Conferencing (3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40)<br/>Microsoft 365 Phone System (4828c8ec-dc2e-4779-b502-87ac9ce28ab7)<br/>Microsoft Bookings (199a5c09-e0ca-4e37-8f7c-b05d533e1ea2)<br/>Microsoft Communications Compliance (41fcdd7d-4733-4863-9cf4-c65b83ce2df4)<br/>Microsoft Communications DLP (6dc145d6-95dd-4191-b9c3-185575ee6f6b)<br/>Microsoft Customer Key (6db1f1db-2b46-403f-be40-e39395f08dbb)<br/>Microsoft Data Investigations (46129a58-a698-46f0-aa5b-17f6586297d9)<br/>Microsoft Forms (Plan 3) (96c1e14a-ef43-418d-b115-9636cdaa8eed)<br/>Microsoft Information Governance (e26c2fcc-ab91-4a61-b35c-03cdc8dddf66)<br/>Microsoft Kaizala (0898bdbb-73b0-471a-81e5-20f1fe4dd66e)<br/>Microsoft MyAnalytics (Full) (34c0d7a0-a70f-4668-9238-47f9fc208882)<br/>Microsoft Planner (b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>Microsoft Records Management (65cc641f-cccd-4643-97e0-a17e3045e541)<br/>Microsoft Search (94065c59-bc8e-4e8b-89e5-5138d471eaff)<br/>Microsoft StaffHub (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>Microsoft Stream for O365 E5 SKU (6c6042f5-6f01-4d67-b8c1-eb99d36eed3e)<br/>Microsoft Teams (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>Mobile Device Management for Office 365 (882e1d05-acd1-4ccb-8708-6ee03664b117)<br/>Office 365 Advanced eDiscovery (4de31727-a228-4ec3-a5bf-8e45b5ca48cc)<br/>Office 365 Advanced Security Management (8c098270-9dd4-4350-9b30-ba4703f3b36b)<br/>Microsoft Defender for Office 365 (Plan 1) (f20fedf3-f3c3-43c3-8267-2bfdd51c0939)<br/>Microsoft Defender for Office 365 (Plan 2) (8e0c0a52-6a6c-4d40-8370-dd62790dcd70)<br/>Office 365 Privileged Access Management (b1188c4c-1b36-4018-b48b-ee07604f6feb)<br/>Office 365 ProPlus (43de0ff5-c92c-492b-9116-175376d08c38)<br/>Office for the web (Education) (e03c7e47-402c-463c-ab25-949079bedb21)<br/>Power BI Pro (70d33638-9c74-4d01-bfd3-562de28bd4ba)<br/>PowerApps for Office 365 Plan 3 (9c0dab89-a30c-4117-86e7-97bda240acd2)<br/>Premium Encryption in Office 365 (617b097b-4b93-4ede-83de-5f075bb5fb2f)<br/>School Data Sync (Plan 2) (500b6a2a-7a50-4f40-b5f9-160e5b8c2f48)<br/>SharePoint Plan 2 for EDU (63038b2c-28d0-45f6-bc36-33062963b498)<br/>Skype for Business Online (Plan 2) (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>Sway (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>To-Do (Plan 3) (3fb82609-8c27-4f7b-bd51-30634711ee67)<br/>Whiteboard (Plan 3) (4a51bca5-1eff-43f5-878c-177680f191af)<br/>Yammer for Academic (2078e8df-cff6-4290-98cb-5408261a760a) |
When managing licenses in [the Azure portal](https://portal.azure.com/#blade/Mic
| OFFICE 365 E1 | STANDARDPACK | 18181a46-0d4e-45cd-891e-60aabd171b4e | BPOS_S_TODO_1 (5e62787c-c316-451f-b873-1d05acd4d12c)<br/>Deskless (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>EXCHANGE_S_STANDARD (9aaf7827-d63c-4b61-89c3-182f06f82e5c)<br/>FLOW_O365_P1 (0f9b09cb-62d1-4ff4-9129-43f4996f83f4)<br/>FORMS_PLAN_E1 (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>MCOSTANDARD (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>OFFICEMOBILE_SUBSCRIPTION (c63d4d19-e8cb-460e-b37c-4d6c34603745)<br/>POWERAPPS_O365_P1 (92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c)<br/>PROJECTWORKMANAGEMENT (b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>SHAREPOINTSTANDARD (c7699d2e-19aa-44de-8edf-1736da088ca1)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>STREAM_O365_E1 (743dd19e-1ce3-4c62-a3ad-49ba8f63a2f6)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>YAMMER_ENTERPRISE (7547a3fe-08ee-4ccb-b430-5077c5041653)) | BPOS_S_TODO_1 (5e62787c-c316-451f-b873-1d05acd4d12c)<br/>MICROSOFT STAFFHUB (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>EXCHANGE ONLINE (PLAN 1) (9aaf7827-d63c-4b61-89c3-182f06f82e5c)<br/>FLOW FOR OFFICE 365 (0f9b09cb-62d1-4ff4-9129-43f4996f83f4)<br/>MICROSOFT FORMS (PLAN E1) (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>SKYPE FOR BUSINESS ONLINE (PLAN 2) (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>OFFICEMOBILE_SUBSCRIPTION (c63d4d19-e8cb-460e-b37c-4d6c34603745)<br/>POWERAPPS FOR OFFICE 365 (92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c)<br/>MICROSOFT PLANNER(b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>SHAREPOINTSTANDARD (c7699d2e-19aa-44de-8edf-1736da088ca1)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>MICROSOFT STREAM FOR O365 E1 SKU (743dd19e-1ce3-4c62-a3ad-49ba8f63a2f6)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>YAMMER_ENTERPRISE (7547a3fe-08ee-4ccb-b430-5077c5041653)) | | OFFICE 365 E2 | STANDARDWOFFPACK | 6634e0ce-1a9f-428c-a498-f84ec7b8aa2e | BPOS_S_TODO_1(5e62787c-c316-451f-b873-1d05acd4d12c)<br/>Deskless (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>EXCHANGE_S_STANDARD (9aaf7827-d63c-4b61-89c3-182f06f82e5c)<br/>FLOW_O365_P1 (0f9b09cb-62d1-4ff4-9129-43f4996f83f4)<br/>FORMS_PLAN_E1 (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>MCOSTANDARD (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>POWERAPPS_O365_P1 (92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c)<br/>PROJECTWORKMANAGEMENT (b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>SHAREPOINTSTANDARD (c7699d2e-19aa-44de-8edf-1736da088ca1)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>STREAM_O365_E1 (743dd19e-1ce3-4c62-a3ad-49ba8f63a2f6)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>YAMMER_ENTERPRISE (7547a3fe-08ee-4ccb-b430-5077c5041653) | BPOS_S_TODO_1 (5e62787c-c316-451f-b873-1d05acd4d12c)<br/>MICROSOFT STAFFHUB (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>EXCHANGE ONLINE (PLAN 1) (9aaf7827-d63c-4b61-89c3-182f06f82e5c)<br/>FLOW FOR OFFICE 365 (0f9b09cb-62d1-4ff4-9129-43f4996f83f4)<br/>MICROSOFT FORMS (PLAN E1) (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>SKYPE FOR BUSINESS ONLINE (PLAN 2) (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>POWERAPPS FOR OFFICE 365 (92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c)<br/>MICROSOFT PLANNER(b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>SHAREPOINTSTANDARD (c7699d2e-19aa-44de-8edf-1736da088ca1)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>MICROSOFT STREAM FOR O365 E1 SKU (743dd19e-1ce3-4c62-a3ad-49ba8f63a2f6)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>YAMMER_ENTERPRISE (7547a3fe-08ee-4ccb-b430-5077c5041653) | | OFFICE 365 E3 | ENTERPRISEPACK | 6fd2c87f-b296-42f0-b197-1e91e994b900 | RMS_S_ENTERPRISE (bea4c11e-220a-4e6d-8eb8-8ea15d019f90)<br/>DYN365_CDS_O365_P2 (4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14)<br/>CDS_O365_P2 (95b76021-6a53-4741-ab8b-1d1f3d66a95a)<br/>EXCHANGE_S_ENTERPRISE (efb87545-963c-4e0d-99df-69c6916d9eb0)<br/>CONTENTEXPLORER_STANDARD (2b815d45-56e4-4e3a-b65c-66cb9175b560)<br/>MIP_S_CLP1 (5136a095-5cf0-4aff-bec3-e84448b38ea5)<br/>MYANALYTICS_P2 (33c4f319-9bdd-48d6-9c4d-410b750a4a5a)<br/>OFFICESUBSCRIPTION (43de0ff5-c92c-492b-9116-175376d08c38)<br/>MICROSOFTBOOKINGS (199a5c09-e0ca-4e37-8f7c-b05d533e1ea2)<br/>FORMS_PLAN_E3 (2789c901-c14e-48ab-a76a-be334d9d793a)<br/>KAIZALA_O365_P3 (aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1)<br/>PROJECTWORKMANAGEMENT (b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>MICROSOFT_SEARCH (94065c59-bc8e-4e8b-89e5-5138d471eaff)<br/>DESKLESS (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>STREAM_O365_E3 (9e700747-8b1d-45e5-ab8d-ef187ceec156)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>INTUNE_O365 (882e1d05-acd1-4ccb-8708-6ee03664b117)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>POWERAPPS_O365_P2 (c68f8d98-5534-41c8-bf36-22fa496fa792)<br/>FLOW_O365_P2 (76846ad7-7776-4c40-a281-a386362dd1b9)<br/>POWER_VIRTUAL_AGENTS_O365_P2 (041fe683-03e4-45b6-b1af-c0cdc516daee)<br/>PROJECT_O365_P2 (31b4e2fc-4cd6-4e7d-9c1b-41407303bd66)<br/>SHAREPOINTENTERPRISE (5dbe027f-2339-4123-9542-606e4d348a72)<br/>MCOSTANDARD (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>BPOS_S_TODO_2 (c87f142c-d1e9-4363-8630-aaea9c4d9ae5)<br/>WHITEBOARD_PLAN2 (94a54592-cd8b-425e-87c6-97868b000b91)<br/>YAMMER_ENTERPRISE (7547a3fe-08ee-4ccb-b430-5077c5041653) | AZURE RIGHTS MANAGEMENT (bea4c11e-220a-4e6d-8eb8-8ea15d019f90)<br/>COMMON DATA SERVICE - O365 P2 (4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14)<br/>COMMON DATA SERVICE FOR TEAMS_P2 (95b76021-6a53-4741-ab8b-1d1f3d66a95a)<br/>EXCHANGE ONLINE (PLAN 2) (efb87545-963c-4e0d-99df-69c6916d9eb0)<br/>INFORMATION PROTECTION AND GOVERNANCE ANALYTICS ΓÇô STANDARD (2b815d45-56e4-4e3a-b65c-66cb9175b560)<br/>INFORMATION PROTECTION FOR OFFICE 365 ΓÇô STANDARD (5136a095-5cf0-4aff-bec3-e84448b38ea5)<br/>INSIGHTS BY MYANALYTICS (33c4f319-9bdd-48d6-9c4d-410b750a4a5a)<br/>MICROSOFT 365 APPS FOR ENTERPRISE (43de0ff5-c92c-492b-9116-175376d08c38)<br/>MICROSOFT BOOKINGS (199a5c09-e0ca-4e37-8f7c-b05d533e1ea2)<br/>MICROSOFT FORMS (PLAN E3) (2789c901-c14e-48ab-a76a-be334d9d793a)<br/>MICROSOFT KAIZALA PRO PLAN 3 (aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1)<br/>MICROSOFT PLANNER (b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>MICROSOFT SEARCH (94065c59-bc8e-4e8b-89e5-5138d471eaff)<br/>MICROSOFT STAFFHUB (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>MICROSOFT STREAM FOR O365 E3 SKU (9e700747-8b1d-45e5-ab8d-ef187ceec156)<br/>MICROSOFT TEAMS (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>MOBILE DEVICE MANAGEMENT FOR OFFICE 365 (882e1d05-acd1-4ccb-8708-6ee03664b117)<br/>OFFICE FOR THE WEB (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>POWER APPS FOR OFFICE 365 (c68f8d98-5534-41c8-bf36-22fa496fa792)<br/>POWER AUTOMATE FOR OFFICE 365 (76846ad7-7776-4c40-a281-a386362dd1b9)<br/>POWER VIRTUAL AGENTS FOR OFFICE 365 P2 (041fe683-03e4-45b6-b1af-c0cdc516daee)<br/>PROJECT FOR OFFICE (PLAN E3) (31b4e2fc-4cd6-4e7d-9c1b-41407303bd66)<br/>SHAREPOINT (PLAN 2) (5dbe027f-2339-4123-9542-606e4d348a72)<br/>SKYPE FOR BUSINESS ONLINE (PLAN 2) (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TO-DO (PLAN 2) (c87f142c-d1e9-4363-8630-aaea9c4d9ae5)<br/>WHITEBOARD (PLAN 2) (94a54592-cd8b-425e-87c6-97868b000b91)<br/>YAMMER ENTERPRISE (7547a3fe-08ee-4ccb-b430-5077c5041653) |
-| OFFICE 365 E3 DEVELOPER | DEVELOPERPACK | 189a915c-fe4f-4ffa-bde4-85b9628d07a0 | BPOS_S_TODO_3 (3fb82609-8c27-4f7b-bd51-30634711ee67)<br/>EXCHANGE_S_ENTERPRISE (efb87545-963c-4e0d-99df-69c6916d9eb0)<br/>FLOW_O365_P2 (76846ad7-7776-4c40-a281-a386362dd1b9)<br/>FORMS_PLAN_E5 (e212cbc7-0961-4c40-9825-01117710dcb1)<br/>MCOSTANDARD (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>OFFICESUBSCRIPTION (43de0ff5-c92c-492b-9116-175376d08c38)<br/>POWERAPPS_O365_P2 (c68f8d98-5534-41c8-bf36-22fa496fa792)<br/>PROJECTWORKMANAGEMENT (b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>SHAREPOINT_S_DEVELOPER (a361d6e2-509e-4e25-a8ad-950060064ef4)<br/>SHAREPOINTWAC_DEVELOPER (527f7cdd-0e86-4c47-b879-f5fd357a3ac6)<br/>STREAM_O365_E5 (6c6042f5-6f01-4d67-b8c1-eb99d36eed3e)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929) | BPOS_S_TODO_3 (3fb82609-8c27-4f7b-bd51-30634711ee67)<br/>EXCHANGE ONLINE (PLAN 2) (efb87545-963c-4e0d-99df-69c6916d9eb0)<br/>FLOW FOR OFFICE 365 (76846ad7-7776-4c40-a281-a386362dd1b9)<br/>MICROSOFT FORMS (PLAN E5) (e212cbc7-0961-4c40-9825-01117710dcb1)<br/>SKYPE FOR BUSINESS ONLINE (PLAN 2) (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>OFFICESUBSCRIPTION (43de0ff5-c92c-492b-9116-175376d08c38)<br/>POWERAPPS FOR OFFICE 365(c68f8d98-5534-41c8-bf36-22fa496fa792)<br/>MICROSOFT PLANNER(b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>SHAREPOINT_S_DEVELOPER (a361d6e2-509e-4e25-a8ad-950060064ef4)<br/>OFFICE ONLINE FOR DEVELOPER (527f7cdd-0e86-4c47-b879-f5fd357a3ac6)<br/>MICROSOFT STREAM FOR O365 E5 SKU (6c6042f5-6f01-4d67-b8c1-eb99d36eed3e)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929) |
+| OFFICE 365 E3 DEVELOPER | DEVELOPERPACK | 189a915c-fe4f-4ffa-bde4-85b9628d07a0 | BPOS_S_TODO_3 (3fb82609-8c27-4f7b-bd51-30634711ee67)<br/>EXCHANGE_S_ENTERPRISE (efb87545-963c-4e0d-99df-69c6916d9eb0)<br/>FLOW_O365_P2 (76846ad7-7776-4c40-a281-a386362dd1b9)<br/>FORMS_PLAN_E5 (e212cbc7-0961-4c40-9825-01117710dcb1)<br/>MCOSTANDARD (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>OFFICESUBSCRIPTION (43de0ff5-c92c-492b-9116-175376d08c38)<br/>POWERAPPS_O365_P2 (c68f8d98-5534-41c8-bf36-22fa496fa792)<br/>PROJECTWORKMANAGEMENT (b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>SHAREPOINT_S_DEVELOPER (a361d6e2-509e-4e25-a8ad-950060064ef4)<br/>SHAREPOINTWAC_DEVELOPER (527f7cdd-0e86-4c47-b879-f5fd357a3ac6)<br/>STREAM_O365_E5 (6c6042f5-6f01-4d67-b8c1-eb99d36eed3e)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929) | BPOS_S_TODO_3 (3fb82609-8c27-4f7b-bd51-30634711ee67)<br/>EXCHANGE ONLINE (PLAN 2) (efb87545-963c-4e0d-99df-69c6916d9eb0)<br/>FLOW FOR OFFICE 365 (76846ad7-7776-4c40-a281-a386362dd1b9)<br/>MICROSOFT FORMS (PLAN E5) (e212cbc7-0961-4c40-9825-01117710dcb1)<br/>SKYPE FOR BUSINESS ONLINE (PLAN 2) (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>OFFICESUBSCRIPTION (43de0ff5-c92c-492b-9116-175376d08c38)<br/>POWERAPPS FOR OFFICE 365(c68f8d98-5534-41c8-bf36-22fa496fa792)<br/>MICROSOFT PLANNER(b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>SHAREPOINT FOR DEVELOPER (a361d6e2-509e-4e25-a8ad-950060064ef4)<br/>OFFICE ONLINE FOR DEVELOPER (527f7cdd-0e86-4c47-b879-f5fd357a3ac6)<br/>MICROSOFT STREAM FOR O365 E5 SKU (6c6042f5-6f01-4d67-b8c1-eb99d36eed3e)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929) |
| Office 365 E3_USGOV_DOD | ENTERPRISEPACK_USGOV_DOD | b107e5a3-3e60-4c0d-a184-a7e4395eb44c | EXCHANGE_S_ENTERPRISE (efb87545-963c-4e0d-99df-69c6916d9eb0)<br/>RMS_S_ENTERPRISE (bea4c11e-220a-4e6d-8eb8-8ea15d019f90)<br/>STREAM_O365_E3 (9e700747-8b1d-45e5-ab8d-ef187ceec156)<br/>TEAMS_AR_DOD (fd500458-c24c-478e-856c-a6067a8376cd)<br/>OFFICESUBSCRIPTION (43de0ff5-c92c-492b-9116-175376d08c38)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SHAREPOINTENTERPRISE (5dbe027f-2339-4123-9542-606e4d348a72)<br/>MCOSTANDARD (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)| Exchange Online (Plan 2) (efb87545-963c-4e0d-99df-69c6916d9eb0)<br/>Microsoft Azure Active Directory Rights (bea4c11e-220a-4e6d-8eb8-8ea15d019f90)<br/>Microsoft Stream for O365 E3 SKU (9e700747-8b1d-45e5-ab8d-ef187ceec156)<br/>Microsoft Teams for DOD (AR) (fd500458-c24c-478e-856c-a6067a8376cd)<br/>Office 365 ProPlus (43de0ff5-c92c-492b-9116-175376d08c38)<br/>Office Online (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SharePoint Online (Plan 2) (5dbe027f-2339-4123-9542-606e4d348a72)<br/>Skype for Business Online (Plan 2) (0feaeb32-d00e-4d66-bd5a-43b5b83db82c) | | Office 365 E3_USGOV_GCCHIGH | ENTERPRISEPACK_USGOV_GCCHIGH | aea38a85-9bd5-4981-aa00-616b411205bf | EXCHANGE_S_ENTERPRISE (efb87545-963c-4e0d-99df-69c6916d9eb0)<br/>RMS_S_ENTERPRISE (bea4c11e-220a-4e6d-8eb8-8ea15d019f90)<br/>PROJECTWORKMANAGEMENT (b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>STREAM_O365_E3 (9e700747-8b1d-45e5-ab8d-ef187ceec156)<br/>TEAMS_AR_GCCHIGH (9953b155-8aef-4c56-92f3-72b0487fce41)<br/>OFFICESUBSCRIPTION (43de0ff5-c92c-492b-9116-175376d08c38)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SHAREPOINTENTERPRISE (5dbe027f-2339-4123-9542-606e4d348a72)<br/>MCOSTANDARD (0feaeb32-d00e-4d66-bd5a-43b5b83db82c) | Exchange Online (Plan 2) (efb87545-963c-4e0d-99df-69c6916d9eb0)<br/>Microsoft Azure Active Directory Rights (bea4c11e-220a-4e6d-8eb8-8ea15d019f90)<br/>Microsoft Planner (b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>Microsoft Stream for O365 E3 SKU (9e700747-8b1d-45e5-ab8d-ef187ceec156)<br/>Microsoft Teams for GCCHigh (AR) (9953b155-8aef-4c56-92f3-72b0487fce41)<br/>Office 365 ProPlus (43de0ff5-c92c-492b-9116-175376d08c38)<br/>Office Online (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SharePoint Online (Plan 2) (5dbe027f-2339-4123-9542-606e4d348a72)<br/>Skype for Business Online (Plan 2) (0feaeb32-d00e-4d66-bd5a-43b5b83db82c) | | OFFICE 365 E4 | ENTERPRISEWITHSCAL | 1392051d-0cb9-4b7a-88d5-621fee5e8711 | BPOS_S_TODO_2 (c87f142c-d1e9-4363-8630-aaea9c4d9ae5)<br/>Deskless (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>EXCHANGE_S_ENTERPRISE (efb87545-963c-4e0d-99df-69c6916d9eb0)<br/>FLOW_O365_P2 (76846ad7-7776-4c40-a281-a386362dd1b9)<br/>FORMS_PLAN_E3 (2789c901-c14e-48ab-a76a-be334d9d793a)<br/>MCOSTANDARD (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>MCOVOICECONF (27216c54-caf8-4d0d-97e2-517afb5c08f6)<br/>OFFICESUBSCRIPTION (43de0ff5-c92c-492b-9116-175376d08c38)<br/>POWERAPPS_O365_P2 (c68f8d98-5534-41c8-bf36-22fa496fa792)<br/>PROJECTWORKMANAGEMENT (b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>RMS_S_ENTERPRISE (bea4c11e-220a-4e6d-8eb8-8ea15d019f90)<br/>SHAREPOINTENTERPRISE (5dbe027f-2339-4123-9542-606e4d348a72)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>STREAM_O365_E3 (9e700747-8b1d-45e5-ab8d-ef187ceec156)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>YAMMER_ENTERPRISE (7547a3fe-08ee-4ccb-b430-5077c5041653) | BPOS_S_TODO_2 (c87f142c-d1e9-4363-8630-aaea9c4d9ae5)<br/>MICROSOFT STAFFHUB (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>EXCHANGE ONLINE (PLAN 2) (efb87545-963c-4e0d-99df-69c6916d9eb0)<br/>FLOW FOR OFFICE 365 (76846ad7-7776-4c40-a281-a386362dd1b9)<br/>MICROSOFT FORMS (PLAN E3) (2789c901-c14e-48ab-a76a-be334d9d793a)<br/>SKYPE FOR BUSINESS ONLINE (PLAN 2) (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>SKYPE FOR BUSINESS ONLINE (PLAN 3) (27216c54-caf8-4d0d-97e2-517afb5c08f6)<br/>OFFICESUBSCRIPTION (43de0ff5-c92c-492b-9116-175376d08c38)<br/>POWERAPPS FOR OFFICE 365(c68f8d98-5534-41c8-bf36-22fa496fa792)<br/>MICROSOFT PLANNER(b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>MICROSOFT AZURE ACTIVE DIRECTORY RIGHTS (bea4c11e-220a-4e6d-8eb8-8ea15d019f90)<br/>SHAREPOINT ONLINE (PLAN 2) (5dbe027f-2339-4123-9542-606e4d348a72)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>MICROSOFT STREAM FOR O365 E3 SKU (9e700747-8b1d-45e5-ab8d-ef187ceec156)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>YAMMER_ENTERPRISE (7547a3fe-08ee-4ccb-b430-5077c5041653) |
When managing licenses in [the Azure portal](https://portal.azure.com/#blade/Mic
| OFFICE 365 E5 WITHOUT AUDIO CONFERENCING | ENTERPRISEPREMIUM_NOPSTNCONF | 26d45bd9-adf1-46cd-a9e1-51e9a5524128 | ADALLOM_S_O365 (8c098270-9dd4-4350-9b30-ba4703f3b36b)<br/>BI_AZURE_P2 (70d33638-9c74-4d01-bfd3-562de28bd4ba)<br/>BPOS_S_TODO_3 (3fb82609-8c27-4f7b-bd51-30634711ee67)<br/>Deskless (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>EQUIVIO_ANALYTICS (4de31727-a228-4ec3-a5bf-8e45b5ca48cc)<br/>EXCHANGE_ANALYTICS (34c0d7a0-a70f-4668-9238-47f9fc208882)<br/>EXCHANGE_S_ENTERPRISE (efb87545-963c-4e0d-99df-69c6916d9eb0)<br/>FLOW_O365_P3 (07699545-9485-468e-95b6-2fca3738be01)<br/>FORMS_PLAN_E5 (e212cbc7-0961-4c40-9825-01117710dcb1)<br/>LOCKBOX_ENTERPRISE (9f431833-0334-42de-a7dc-70aa40db46db)<br/>MCOEV (4828c8ec-dc2e-4779-b502-87ac9ce28ab7)<br/>MCOSTANDARD (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>OFFICESUBSCRIPTION (43de0ff5-c92c-492b-9116-175376d08c38)<br/>POWERAPPS_O365_P3 (9c0dab89-a30c-4117-86e7-97bda240acd2)<br/>PROJECTWORKMANAGEMENT (b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>RMS_S_ENTERPRISE (bea4c11e-220a-4e6d-8eb8-8ea15d019f90)<br/>SHAREPOINTENTERPRISE (5dbe027f-2339-4123-9542-606e4d348a72)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>STREAM_O365_E5 (6c6042f5-6f01-4d67-b8c1-eb99d36eed3e)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>THREAT_INTELLIGENCE (8e0c0a52-6a6c-4d40-8370-dd62790dcd70)<br/>YAMMER_ENTERPRISE (7547a3fe-08ee-4ccb-b430-5077c5041653) | OFFICE 365 CLOUD APP SECURITY (8c098270-9dd4-4350-9b30-ba4703f3b36b)<br/>POWER BI PRO (70d33638-9c74-4d01-bfd3-562de28bd4ba)<br/>BPOS_S_TODO_3 (3fb82609-8c27-4f7b-bd51-30634711ee67)<br/>MICROSOFT STAFFHUB (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>OFFICE 365 ADVANCED EDISCOVERY (4de31727-a228-4ec3-a5bf-8e45b5ca48cc)<br/>EXCHANGE_ANALYTICS (34c0d7a0-a70f-4668-9238-47f9fc208882)<br/>EXCHANGE ONLINE (PLAN 2) (efb87545-963c-4e0d-99df-69c6916d9eb0)<br/>FLOW FOR OFFICE 365 (07699545-9485-468e-95b6-2fca3738be01)<br/>MICROSOFT FORMS (PLAN E5) (e212cbc7-0961-4c40-9825-01117710dcb1)<br/>LOCKBOX_ENTERPRISE (9f431833-0334-42de-a7dc-70aa40db46db)<br/>PHONE SYSTEM (4828c8ec-dc2e-4779-b502-87ac9ce28ab7)<br/>SKYPE FOR BUSINESS ONLINE (PLAN 2) (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>OFFICESUBSCRIPTION (43de0ff5-c92c-492b-9116-175376d08c38)<br/>POWERAPPS FOR OFFICE 365 (9c0dab89-a30c-4117-86e7-97bda240acd2)<br/>MICROSOFT PLANNER(b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>MICROSOFT AZURE ACTIVE DIRECTORY RIGHTS (bea4c11e-220a-4e6d-8eb8-8ea15d019f90)<br/>SHAREPOINT ONLINE (PLAN 2) (5dbe027f-2339-4123-9542-606e4d348a72)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>MICROSOFT STREAM FOR O365 E5 SKU (6c6042f5-6f01-4d67-b8c1-eb99d36eed3e)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>OFFICE 365 ADVANCED THREAT PROTECTION (PLAN 2) (8e0c0a52-6a6c-4d40-8370-dd62790dcd70)<br/>YAMMER_ENTERPRISE (7547a3fe-08ee-4ccb-b430-5077c5041653) | | OFFICE 365 F3 | DESKLESSPACK | 4b585984-651b-448a-9e53-3b10f069cf7f | BPOS_S_TODO_FIRSTLINE (80873e7a-cd2a-4e67-b061-1b5381a676a5)<br/>CDS_O365_F1 (90db65a7-bf11-4904-a79f-ef657605145b)<br/>DESKLESS (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>DYN365_CDS_O365_F1 (ca6e61ec-d4f4-41eb-8b88-d96e0e14323f)<br/>EXCHANGE_S_DESKLESS (4a82b400-a79f-41a4-b4e2-e94f5787b113)<br/>FLOW_O365_S1 (bd91b1a4-9f94-4ecf-b45b-3a65e5c8128a)<br/>FORMS_PLAN_K (f07046bd-2a3c-4b96-b0be-dea79d7cbfb8)<br/>INTUNE_365 (882e1d05-acd1-4ccb-8708-6ee03664b117)<br/>KAIZALA_O365_P1 (73b2a583-6a59-42e3-8e83-54db46bc3278)<br/>MCOIMP (afc06cb0-b4f4-4473-8286-d644f70d8faf)<br/>MICROSOFT_SEARCH (94065c59-bc8e-4e8b-89e5-5138d471eaff)<br/>OFFICEMOBILE_SUBSCRIPTION (c63d4d19-e8cb-460e-b37c-4d6c34603745)<br/>POWERAPPS_O365_S1 (e0287f9f-e222-4f98-9a83-f379e249159a)<br/>POWER_VIRTUAL_AGENTS_O365_F1 (ba2fdb48-290b-4632-b46a-e4ecc58ac11a)<br/>PROJECT_O365_F3 (7f6f28c2-34bb-4d4b-be36-48ca2e77e1ec)<br/>PROJECTWORKMANAGEMENT (b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>RMS_S_BASIC (31cf2cfc-6b0d-4adc-a336-88b724ed8122)<br/>SHAREPOINTDESKLESS (902b47e5-dcb2-4fdc-858b-c63a90a2bdb9)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>STREAM_O365_K (3ffba0d2-38e5-4d5e-8ec0-98f2b05c09d9)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>WHITEBOARD_FIRSTLINE_1 (36b29273-c6d0-477a-aca6-6fbe24f538e3)<br/>YAMMER_ENTERPRISE (7547a3fe-08ee-4ccb-b430-5077c5041653) | COMMON DATA SERVICE - O365 F1 (ca6e61ec-d4f4-41eb-8b88-d96e0e14323f)<br/>COMMON DATA SERVICE FOR TEAMS_F1 (90db65a7-bf11-4904-a79f-ef657605145b)<br/>EXCHANGE ONLINE KIOSK (4a82b400-a79f-41a4-b4e2-e94f5787b113)<br/>FLOW FOR OFFICE 365 K1 (bd91b1a4-9f94-4ecf-b45b-3a65e5c8128a)<br/>MICROSOFT AZURE RIGHTS MANAGEMENT SERVICE (31cf2cfc-6b0d-4adc-a336-88b724ed8122)<br/>MICROSOFT FORMS (PLAN F1) (f07046bd-2a3c-4b96-b0be-dea79d7cbfb8)<br/>MICROSOFT KAIZALA PRO PLAN 1 (73b2a583-6a59-42e3-8e83-54db46bc3278)<br/>MICROSOFT PLANNER (b737dad2-2f6c-4c65-90e3-ca563267e8b9)<br/>MICROSOFT SEARCH (94065c59-bc8e-4e8b-89e5-5138d471eaff)<br/>MICROSOFT STAFFHUB (8c7d2df8-86f0-4902-b2ed-a0458298f3b3)<br/>MICROSOFT STREAM FOR O365 K SKU (3ffba0d2-38e5-4d5e-8ec0-98f2b05c09d9)<br/>MICROSOFT TEAMS (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>MOBILE DEVICE MANAGEMENT FOR OFFICE 365 (882e1d05-acd1-4ccb-8708-6ee03664b117)<br/>OFFICE FOR THE WEB (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>OFFICE MOBILE APPS FOR OFFICE 365 (c63d4d19-e8cb-460e-b37c-4d6c34603745)<br/>POWER VIRTUAL AGENTS FOR OFFICE 365 F1 (ba2fdb48-290b-4632-b46a-e4ecc58ac11a)<br/>POWERAPPS FOR OFFICE 365 K1 (e0287f9f-e222-4f98-9a83-f379e249159a)<br/>PROJECT FOR OFFICE (PLAN F) (7f6f28c2-34bb-4d4b-be36-48ca2e77e1ec)<br/>SHAREPOINT KIOSK (902b47e5-dcb2-4fdc-858b-c63a90a2bdb9)<br/>SKYPE FOR BUSINESS ONLINE (PLAN 1) (afc06cb0-b4f4-4473-8286-d644f70d8faf)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>TO-DO (FIRSTLINE) (80873e7a-cd2a-4e67-b061-1b5381a676a5)<br/>YAMMER ENTERPRISE (7547a3fe-08ee-4ccb-b430-5077c5041653) | | OFFICE 365 GCC G3 | ENTERPRISEPACK_GOV | 535a3a29-c5f0-42fe-8215-d3b9e1f38c4a | RMS_S_ENTERPRISE_GOV (6a76346d-5d6e-4051-9fe3-ed3f312b5597)<br/>CONTENT_EXPLORER (d9fa6af4-e046-4c89-9226-729a0786685d)<br/>EXCHANGE_S_ENTERPRISE_GOV (8c3069c0-ccdb-44be-ab77-986203a67df2)<br/>FORMS_GOV_E3 (24af5f65-d0f3-467b-9f78-ea798c4aeffc)<br/>MIP_S_CLP1 (5136a095-5cf0-4aff-bec3-e84448b38ea5)<br/>MYANALYTICS_P2_GOV (6e5b7995-bd4f-4cbd-9d19-0e32010c72f0)<br/>OFFICESUBSCRIPTION_GOV (de9234ff-6483-44d9-b15e-dca72fdd27af)<br/>MICROSOFTBOOKINGS (199a5c09-e0ca-4e37-8f7c-b05d533e1ea2)<br/>STREAM_O365_E3_GOV (2c1ada27-dbaa-46f9-bda6-ecb94445f758)<br/>TEAMS_GOV (304767db-7d23-49e8-a945-4a7eb65f9f28)<br/>INTUNE_O365 (882e1d05-acd1-4ccb-8708-6ee03664b117)<br/>PROJECTWORKMANAGEMENT_GOV (5b4ef465-7ea1-459a-9f91-033317755a51)<br/>SHAREPOINTWAC_GOV (8f9f0f3b-ca90-406c-a842-95579171f8ec)<br/> POWERAPPS_O365_P2_GOV (0a20c815-5e81-4727-9bdc-2b5a117850c3)<br/>FLOW_O365_P2_GOV (c537f360-6a00-4ace-a7f5-9128d0ac1e4b)<br/>SHAREPOINTENTERPRISE_GOV (153f85dd-d912-4762-af6c-d6e0fb4f6692)<br/>MCOSTANDARD_GOV (a31ef4a2-f787-435e-8335-e47eb0cafc94) | AZURE RIGHTS MANAGEMENT (6a76346d-5d6e-4051-9fe3-ed3f312b5597)<br/>CONTENT EXPLORER (d9fa6af4-e046-4c89-9226-729a0786685d)<br/>EXCHANGE PLAN 2G (8c3069c0-ccdb-44be-ab77-986203a67df2)<br/>FORMS FOR GOVERNMENT (PLAN E3) (24af5f65-d0f3-467b-9f78-ea798c4aeffc)<br/>INFORMATION PROTECTION FOR OFFICE 365 ΓÇô STANDARD (5136a095-5cf0-4aff-bec3-e84448b38ea5)<br/>INSIGHTS BY MYANALYTICS FOR GOVERNMENT (6e5b7995-bd4f-4cbd-9d19-0e32010c72f0)<br/>MICROSOFT 365 APPS FOR ENTERPRISE G (de9234ff-6483-44d9-b15e-dca72fdd27af)<br/>MICROSOFT BOOKINGS (199a5c09-e0ca-4e37-8f7c-b05d533e1ea2)<br/>MICROSOFT STREAM FOR O365 FOR GOVERNMENT (E3) (2c1ada27-dbaa-46f9-bda6-ecb94445f758)<br/>MICROSOFT TEAMS FOR GOVERNMENT (304767db-7d23-49e8-a945-4a7eb65f9f28)<br/>MOBILE DEVICE MANAGEMENT FOR OFFICE 365 (882e1d05-acd1-4ccb-8708-6ee03664b117)<br/>OFFICE 365 PLANNER FOR GOVERNMENT (5b4ef465-7ea1-459a-9f91-033317755a51)<br/>OFFICE FOR THE WEB (GOVERNMENT) (8f9f0f3b-ca90-406c-a842-95579171f8ec)<br/>POWER APPS FOR OFFICE 365 FOR GOVERNMENT (0a20c815-5e81-4727-9bdc-2b5a117850c3)<br/>POWER AUTOMATE FOR OFFICE 365 FOR GOVERNMENT (c537f360-6a00-4ace-a7f5-9128d0ac1e4b)<br/>SHAREPOINT PLAN 2G (153f85dd-d912-4762-af6c-d6e0fb4f6692)<br/>SKYPE FOR BUSINESS ONLINE (PLAN 2) FOR GOVERNMENT (a31ef4a2-f787-435e-8335-e47eb0cafc94) |
-| OFFICE 365 MIDSIZE BUSINESS | MIDSIZEPACK | 04a7fb0d-32e0-4241-b4f5-3f7618cd1162 | EXCHANGE_S_STANDARD_MIDMARKET (fc52cc4b-ed7d-472d-bbe7-b081c23ecc56)<br/>MCOSTANDARD_MIDMARKET (b2669e95-76ef-4e7e-a367-002f60a39f3e)<br/>OFFICESUBSCRIPTION (43de0ff5-c92c-492b-9116-175376d08c38)<br/>SHAREPOINTENTERPRISE_MIDMARKET (6b5b6a67-fc72-4a1f-a2b5-beecf05de761)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>YAMMER_MIDSIZE (41bf139a-4e60-409f-9346-a1361efc6dfb) | EXCHANGE ONLINE PLAN 1(fc52cc4b-ed7d-472d-bbe7-b081c23ecc56)<br/>SKYPE FOR BUSINESS ONLINE (PLAN 2) FOR MIDSIZE(b2669e95-76ef-4e7e-a367-002f60a39f3e)<br/>OFFICESUBSCRIPTION (43de0ff5-c92c-492b-9116-175376d08c38)<br/>SHAREPOINTENTERPRISE_MIDMARKET (6b5b6a67-fc72-4a1f-a2b5-beecf05de761)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>YAMMER_MIDSIZE (41bf139a-4e60-409f-9346-a1361efc6dfb) |
+| OFFICE 365 MIDSIZE BUSINESS | MIDSIZEPACK | 04a7fb0d-32e0-4241-b4f5-3f7618cd1162 | EXCHANGE_S_STANDARD_MIDMARKET (fc52cc4b-ed7d-472d-bbe7-b081c23ecc56)<br/>MCOSTANDARD_MIDMARKET (b2669e95-76ef-4e7e-a367-002f60a39f3e)<br/>OFFICESUBSCRIPTION (43de0ff5-c92c-492b-9116-175376d08c38)<br/>SHAREPOINTENTERPRISE_MIDMARKET (6b5b6a67-fc72-4a1f-a2b5-beecf05de761)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>YAMMER_MIDSIZE (41bf139a-4e60-409f-9346-a1361efc6dfb) | EXCHANGE ONLINE PLAN 1(fc52cc4b-ed7d-472d-bbe7-b081c23ecc56)<br/>SKYPE FOR BUSINESS ONLINE (PLAN 2) FOR MIDSIZE(b2669e95-76ef-4e7e-a367-002f60a39f3e)<br/>OFFICESUBSCRIPTION (43de0ff5-c92c-492b-9116-175376d08c38)<br/>SHAREPOINT PLAN 1 (6b5b6a67-fc72-4a1f-a2b5-beecf05de761)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97)<br/>YAMMER_MIDSIZE (41bf139a-4e60-409f-9346-a1361efc6dfb) |
| OFFICE 365 SMALL BUSINESS | LITEPACK | bd09678e-b83c-4d3f-aaba-3dad4abd128b | EXCHANGE_L_STANDARD (d42bdbd6-c335-4231-ab3d-c8f348d5aff5)<br/>MCOLITE (70710b6b-3ab4-4a38-9f6d-9f169461650a)<br/>SHAREPOINTLITE (a1f3d0a8-84c0-4ae0-bae4-685917b8ab48)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97) | EXCHANGE ONLINE (P1) (d42bdbd6-c335-4231-ab3d-c8f348d5aff5)<br/>SKYPE FOR BUSINESS ONLINE (PLAN P1) (70710b6b-3ab4-4a38-9f6d-9f169461650a)<br/>SHAREPOINTLITE (a1f3d0a8-84c0-4ae0-bae4-685917b8ab48)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97) |
-| OFFICE 365 SMALL BUSINESS PREMIUM | LITEPACK_P2 | fc14ec4a-4169-49a4-a51e-2c852931814b | EXCHANGE_L_STANDARD (d42bdbd6-c335-4231-ab3d-c8f348d5aff5)<br/>MCOLITE (70710b6b-3ab4-4a38-9f6d-9f169461650a)<br/>OFFICE_PRO_PLUS_SUBSCRIPTION_SMBIZ (8ca59559-e2ca-470b-b7dd-afd8c0dee963)<br/>SHAREPOINTLITE (a1f3d0a8-84c0-4ae0-bae4-685917b8ab48)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97) | EXCHANGE ONLINE (P1) (d42bdbd6-c335-4231-ab3d-c8f348d5aff5)<br/>SKYPE FOR BUSINESS ONLINE (PLAN P1) (70710b6b-3ab4-4a38-9f6d-9f169461650a)<br/>OFFICE_PRO_PLUS_SUBSCRIPTION_SMBIZ (8ca59559-e2ca-470b-b7dd-afd8c0dee963)<br/>SHAREPOINTLITE (a1f3d0a8-84c0-4ae0-bae4-685917b8ab48)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97) |
+| OFFICE 365 SMALL BUSINESS PREMIUM | LITEPACK_P2 | fc14ec4a-4169-49a4-a51e-2c852931814b | EXCHANGE_L_STANDARD (d42bdbd6-c335-4231-ab3d-c8f348d5aff5)<br/>MCOLITE (70710b6b-3ab4-4a38-9f6d-9f169461650a)<br/>OFFICE_PRO_PLUS_SUBSCRIPTION_SMBIZ (8ca59559-e2ca-470b-b7dd-afd8c0dee963)<br/>SHAREPOINTLITE (a1f3d0a8-84c0-4ae0-bae4-685917b8ab48)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97) | EXCHANGE ONLINE (P1) (d42bdbd6-c335-4231-ab3d-c8f348d5aff5)<br/>SKYPE FOR BUSINESS ONLINE (PLAN P1) (70710b6b-3ab4-4a38-9f6d-9f169461650a)<br/>OFFICE 365 SMALL BUSINESS SUBSCRIPTION (8ca59559-e2ca-470b-b7dd-afd8c0dee963)<br/>SHAREPOINTLITE (a1f3d0a8-84c0-4ae0-bae4-685917b8ab48)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97) |
| ONEDRIVE FOR BUSINESS (PLAN 1) | WACONEDRIVESTANDARD | e6778190-713e-4e4f-9119-8b8238de25df | FORMS_PLAN_E1 (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>ONEDRIVESTANDARD (13696edf-5a08-49f6-8134-03083ed8ba30)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97) | MICROSOFT FORMS (PLAN E1) (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>ONEDRIVESTANDARD (13696edf-5a08-49f6-8134-03083ed8ba30)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97) | | ONEDRIVE FOR BUSINESS (PLAN 2) | WACONEDRIVEENTERPRISE | ed01faf2-1d88-4947-ae91-45ca18703a96 | ONEDRIVEENTERPRISE (afcafa6a-d966-4462-918c-ec0b4e0fe642)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014) | ONEDRIVEENTERPRISE (afcafa6a-d966-4462-918c-ec0b4e0fe642)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014) | | POWERAPPS AND LOGIC FLOWS | POWERAPPS_INDIVIDUAL_USER | 87bbbc60-4754-4998-8c88-227dca264858 | EXCHANGE_S_FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/>POWERFLOWSFREE (0b4346bb-8dc3-4079-9dfc-513696f56039)<br/>POWERVIDEOSFREE (2c4ec2dc-c62d-4167-a966-52a3e6374015)<br/>POWERAPPSFREE (e61a2945-1d4e-4523-b6e7-30ba39d20f32) | EXCHANGE FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/>LOGIC FLOWS (0b4346bb-8dc3-4079-9dfc-513696f56039)<br/>MICROSOFT POWER VIDEOS BASIC (2c4ec2dc-c62d-4167-a966-52a3e6374015)<br/>MICROSOFT POWERAPPS (e61a2945-1d4e-4523-b6e7-30ba39d20f32) | | POWER BI (FREE) | POWER_BI_STANDARD | a403ebcc-fae0-4ca2-8c8c-7a907fd6c235 | BI_AZURE_P0 (2049e525-b859-401b-b2a0-e0a31c4b1fe4)<br/>EXCHANGE_S_FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318) | POWER BI (FREE) (2049e525-b859-401b-b2a0-e0a31c4b1fe4)<br/>EXCHANGE FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318) | | POWER BI FOR OFFICE 365 ADD-ON | POWER_BI_ADDON | 45bc2c81-6072-436a-9b0b-3b12eefbc402 | BI_AZURE_P1 (2125cfd7-2110-4567-83c4-c1cd5275163d)<br/>SQL_IS_SSIM (fc0a60aa-feee-4746-a0e3-aecfe81a38dd) |MICROSOFT POWER BI REPORTING AND ANALYTICS PLAN 1 (2125cfd7-2110-4567-83c4-c1cd5275163d)<br/>MICROSOFT POWER BI INFORMATION SERVICES PLAN 1(fc0a60aa-feee-4746-a0e3-aecfe81a38dd) | | POWER BI PRO | POWER_BI_PRO | f8a1db68-be16-40ed-86d5-cb42ce701560 | BI_AZURE_P2 (70d33638-9c74-4d01-bfd3-562de28bd4ba) | POWER BI PRO (70d33638-9c74-4d01-bfd3-562de28bd4ba) |
-| PROJECT FOR OFFICE 365 | PROJECTCLIENT | a10d5e58-74da-4312-95c8-76be4e5b75a0 | PROJECT_CLIENT_SUBSCRIPTION (fafd7243-e5c1-4a3a-9e40-495efcb1d3c3) | PROJECT_CLIENT_SUBSCRIPTION (fafd7243-e5c1-4a3a-9e40-495efcb1d3c3) |
+| PROJECT FOR OFFICE 365 | PROJECTCLIENT | a10d5e58-74da-4312-95c8-76be4e5b75a0 | PROJECT_CLIENT_SUBSCRIPTION (fafd7243-e5c1-4a3a-9e40-495efcb1d3c3) | PROJECT ONLINE DESKTOP CLIENT (fafd7243-e5c1-4a3a-9e40-495efcb1d3c3) |
| PROJECT ONLINE ESSENTIALS | PROJECTESSENTIALS | 776df282-9fc0-4862-99e2-70e561b9909e | FORMS_PLAN_E1 (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>PROJECT_ESSENTIALS (1259157c-8581-4875-bca7-2ffb18c51bda)<br/>SHAREPOINTENTERPRISE (5dbe027f-2339-4123-9542-606e4d348a72)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97) | MICROSOFT FORMS (PLAN E1) (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>PROJECT ONLINE ESSENTIALS (1259157c-8581-4875-bca7-2ffb18c51bda)<br/>SHAREPOINT ONLINE (PLAN 2) (5dbe027f-2339-4123-9542-606e4d348a72)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97) |
-| PROJECT ONLINE PREMIUM | PROJECTPREMIUM | 09015f9f-377f-4538-bbb5-f75ceb09358a | PROJECT_CLIENT_SUBSCRIPTION (fafd7243-e5c1-4a3a-9e40-495efcb1d3c3)<br/>SHAREPOINT_PROJECT (fe71d6c3-a2ea-4499-9778-da042bf08063)<br/>SHAREPOINTENTERPRISE (5dbe027f-2339-4123-9542-606e4d348a72)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014) | PROJECT_CLIENT_SUBSCRIPTION (fafd7243-e5c1-4a3a-9e40-495efcb1d3c3)<br/>SHAREPOINT_PROJECT (fe71d6c3-a2ea-4499-9778-da042bf08063)<br/>SHAREPOINT ONLINE (PLAN 2) (5dbe027f-2339-4123-9542-606e4d348a72)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014) |
+| PROJECT ONLINE PREMIUM | PROJECTPREMIUM | 09015f9f-377f-4538-bbb5-f75ceb09358a | PROJECT_CLIENT_SUBSCRIPTION (fafd7243-e5c1-4a3a-9e40-495efcb1d3c3)<br/>SHAREPOINT_PROJECT (fe71d6c3-a2ea-4499-9778-da042bf08063)<br/>SHAREPOINTENTERPRISE (5dbe027f-2339-4123-9542-606e4d348a72)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014) | PROJECT ONLINE DESKTOP CLIENT (fafd7243-e5c1-4a3a-9e40-495efcb1d3c3)<br/>SHAREPOINT_PROJECT (fe71d6c3-a2ea-4499-9778-da042bf08063)<br/>SHAREPOINT ONLINE (PLAN 2) (5dbe027f-2339-4123-9542-606e4d348a72)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014) |
| PROJECT ONLINE PREMIUM WITHOUT PROJECT CLIENT | PROJECTONLINE_PLAN_1 | 2db84718-652c-47a7-860c-f10d8abbdae3 | FORMS_PLAN_E1 (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>SHAREPOINT_PROJECT (fe71d6c3-a2ea-4499-9778-da042bf08063)<br/>SHAREPOINTENTERPRISE (5dbe027f-2339-4123-9542-606e4d348a72)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97) | MICROSOFT FORMS (PLAN E1) (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>SHAREPOINT_PROJECT (fe71d6c3-a2ea-4499-9778-da042bf08063)<br/>SHAREPOINT ONLINE (PLAN 2) (5dbe027f-2339-4123-9542-606e4d348a72)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97) |
-| PROJECT ONLINE PROFESSIONAL | PROJECTPROFESSIONAL | 53818b1b-4a27-454b-8896-0dba576410e6 | PROJECT_CLIENT_SUBSCRIPTION (fafd7243-e5c1-4a3a-9e40-495efcb1d3c3)<br/>SHAREPOINT_PROJECT (fe71d6c3-a2ea-4499-9778-da042bf08063)<br/>SHAREPOINTENTERPRISE (5dbe027f-2339-4123-9542-606e4d348a72)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014) | PROJECT_CLIENT_SUBSCRIPTION (fafd7243-e5c1-4a3a-9e40-495efcb1d3c3)<br/>SHAREPOINT_PROJECT (fe71d6c3-a2ea-4499-9778-da042bf08063)<br/>SHAREPOINT ONLINE (PLAN 2) (5dbe027f-2339-4123-9542-606e4d348a72)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014) |
-| PROJECT ONLINE WITH PROJECT FOR OFFICE 365 | PROJECTONLINE_PLAN_2 | f82a60b8-1ee3-4cfb-a4fe-1c6a53c2656c | FORMS_PLAN_E1 (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>PROJECT_CLIENT_SUBSCRIPTION (fafd7243-e5c1-4a3a-9e40-495efcb1d3c3)<br/>SHAREPOINT_PROJECT (fe71d6c3-a2ea-4499-9778-da042bf08063)<br/>SHAREPOINTENTERPRISE (5dbe027f-2339-4123-9542-606e4d348a72)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97) | MICROSOFT FORMS (PLAN E1) (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>PROJECT_CLIENT_SUBSCRIPTION (fafd7243-e5c1-4a3a-9e40-495efcb1d3c3)<br/>SHAREPOINT_PROJECT (fe71d6c3-a2ea-4499-9778-da042bf08063)<br/>SHAREPOINT ONLINE (PLAN 2) (5dbe027f-2339-4123-9542-606e4d348a72)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97) |
+| PROJECT ONLINE PROFESSIONAL | PROJECTPROFESSIONAL | 53818b1b-4a27-454b-8896-0dba576410e6 | PROJECT_CLIENT_SUBSCRIPTION (fafd7243-e5c1-4a3a-9e40-495efcb1d3c3)<br/>SHAREPOINT_PROJECT (fe71d6c3-a2ea-4499-9778-da042bf08063)<br/>SHAREPOINTENTERPRISE (5dbe027f-2339-4123-9542-606e4d348a72)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014) | PROJECT ONLINE DESKTOP CLIENT (fafd7243-e5c1-4a3a-9e40-495efcb1d3c3)<br/>SHAREPOINT_PROJECT (fe71d6c3-a2ea-4499-9778-da042bf08063)<br/>SHAREPOINT ONLINE (PLAN 2) (5dbe027f-2339-4123-9542-606e4d348a72)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014) |
+| PROJECT ONLINE WITH PROJECT FOR OFFICE 365 | PROJECTONLINE_PLAN_2 | f82a60b8-1ee3-4cfb-a4fe-1c6a53c2656c | FORMS_PLAN_E1 (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>PROJECT_CLIENT_SUBSCRIPTION (fafd7243-e5c1-4a3a-9e40-495efcb1d3c3)<br/>SHAREPOINT_PROJECT (fe71d6c3-a2ea-4499-9778-da042bf08063)<br/>SHAREPOINTENTERPRISE (5dbe027f-2339-4123-9542-606e4d348a72)<br/>SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97) | MICROSOFT FORMS (PLAN E1) (159f4cd6-e380-449f-a816-af1a9ef76344)<br/>PROJECT ONLINE DESKTOP CLIENT (fafd7243-e5c1-4a3a-9e40-495efcb1d3c3)<br/>SHAREPOINT_PROJECT (fe71d6c3-a2ea-4499-9778-da042bf08063)<br/>SHAREPOINT ONLINE (PLAN 2) (5dbe027f-2339-4123-9542-606e4d348a72)<br/>OFFICE ONLINE (e95bec33-7c88-4a70-8e19-b10bd9d0c014)<br/>SWAY (a23b959c-7ce8-4e57-9140-b90eb88a9e97) |
| PROJECT PLAN 1 | PROJECT_P1 | beb6439c-caad-48d3-bf46-0c82871e12be | DYN365_CDS_FOR_PROJECT_P1 (a6f677b3-62a6-4644-93e7-2a85d240845e)<br/>EXCHANGE_S_FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/>Power_Automate_For_Project_P1 (00283e6b-2bd8-440f-a2d5-87358e4c89a1)<br/>PROJECT_ESSENTIALS (1259157c-8581-4875-bca7-2ffb18c51bda)<br/>PROJECT_P1 (4a12c688-56c6-461a-87b1-30d6f32136f9)<br/>SHAREPOINTSTANDARD (c7699d2e-19aa-44de-8edf-1736da088ca1) | COMMON DATA SERVICE FOR PROJECT P1 (a6f677b3-62a6-4644-93e7-2a85d240845e)<br/>EXCHANGE FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/>POWER AUTOMATE FOR PROJECT P1 (00283e6b-2bd8-440f-a2d5-87358e4c89a1)<br/>PROJECT ONLINE ESSENTIALS (1259157c-8581-4875-bca7-2ffb18c51bda)<br/>PROJECT P1 (4a12c688-56c6-461a-87b1-30d6f32136f9)<br/>SHAREPOINT (c7699d2e-19aa-44de-8edf-1736da088ca1) | | SHAREPOINT ONLINE (PLAN 1) | SHAREPOINTSTANDARD | 1fc08a02-8b3d-43b9-831e-f76859e04e1a | SHAREPOINTSTANDARD (c7699d2e-19aa-44de-8edf-1736da088ca1) | SHAREPOINTSTANDARD (c7699d2e-19aa-44de-8edf-1736da088ca1) | | SHAREPOINT ONLINE (PLAN 2) | SHAREPOINTENTERPRISE | a9732ec9-17d9-494c-a51c-d6b45b384dcb | SHAREPOINTENTERPRISE (5dbe027f-2339-4123-9542-606e4d348a72) | SHAREPOINT ONLINE (PLAN 2) (5dbe027f-2339-4123-9542-606e4d348a72) |
When managing licenses in [the Azure portal](https://portal.azure.com/#blade/Mic
| SKYPE FOR BUSINESS PSTN DOMESTIC CALLING (120 Minutes)| MCOPSTN5 | 54a152dc-90de-4996-93d2-bc47e670fc06 | MCOPSTN5 (54a152dc-90de-4996-93d2-bc47e670fc06) | DOMESTIC CALLING PLAN (54a152dc-90de-4996-93d2-bc47e670fc06) | | TOPIC EXPERIENCES | TOPIC_EXPERIENCES | 4016f256-b063-4864-816e-d818aad600c9 | GRAPH_CONNECTORS_SEARCH_INDEX_TOPICEXP (b74d57b2-58e9-484a-9731-aeccbba954f0)<br/>CORTEX (c815c93d-0759-4bb8-b857-bc921a71be83) | GRAPH CONNECTORS SEARCH WITH INDEX (b74d57b2-58e9-484a-9731-aeccbba954f0)<br/>TOPIC EXPERIENCES (c815c93d-0759-4bb8-b857-bc921a71be83)| | TELSTRA CALLING FOR O365 | MCOPSTNEAU2 | de3312e1-c7b0-46e6-a7c3-a515ff90bc86 | MCOPSTNEAU (7861360b-dc3b-4eba-a3fc-0d323a035746) | AUSTRALIA CALLING PLAN (7861360b-dc3b-4eba-a3fc-0d323a035746) |
-| VISIO ONLINE PLAN 1 | VISIOONLINE_PLAN1 | 4b244418-9658-4451-a2b8-b5e2b364e9bd | ONEDRIVE_BASIC (da792a53-cbc0-4184-a10d-e544dd34b3c1)<br/>VISIOONLINE (2bdbaf8f-738f-4ac7-9234-3c3ee2ce7d0f) | ONEDRIVE_BASIC (da792a53-cbc0-4184-a10d-e544dd34b3c1)<br/>VISIOONLINE (2bdbaf8f-738f-4ac7-9234-3c3ee2ce7d0f) |
-| VISIO Online Plan 2 | VISIOCLIENT | c5928f49-12ba-48f7-ada3-0d743a3601d5 | ONEDRIVE_BASIC (da792a53-cbc0-4184-a10d-e544dd34b3c1)<br/>VISIO_CLIENT_SUBSCRIPTION (663a804f-1c30-4ff0-9915-9db84f0d1cea)<br/>VISIOONLINE (2bdbaf8f-738f-4ac7-9234-3c3ee2ce7d0f) | ONEDRIVE_BASIC (da792a53-cbc0-4184-a10d-e544dd34b3c1)<br/>VISIO_CLIENT_SUBSCRIPTION (663a804f-1c30-4ff0-9915-9db84f0d1cea)<br/>VISIOONLINE (2bdbaf8f-738f-4ac7-9234-3c3ee2ce7d0f) |
-| VISIO PLAN 2 FOR GOV | VISIOCLIENT_GOV | 4ae99959-6b0f-43b0-b1ce-68146001bdba | EXCHANGE_S_FOUNDATION_GOV (922ba911-5694-4e99-a794-73aed9bfeec8)<br/>ONEDRIVE_BASIC_GOV (98709c2e-96b5-4244-95f5-a0ebe139fb8a)<br/>VISIO_CLIENT_SUBSCRIPTION_GOV (f85945f4-7a55-4009-bc39-6a5f14a8eac1)<br/>VISIOONLINE_GOV (8a9ecb07-cfc0-48ab-866c-f83c4d911576) | EXCHANGE FOUNDATION FOR GOVERNMENT (922ba911-5694-4e99-a794-73aed9bfeec8)<br/>ONEDRIVE FOR BUSINESS BASIC FOR GOVERNMENT (98709c2e-96b5-4244-95f5-a0ebe139fb8a)<br/>VISIO DESKTOP APP FOR GOVERNMENT (4ae99959-6b0f-43b0-b1ce-68146001bdba)<br/>VISIO WEB APP FOR GOVERNMENT (8a9ecb07-cfc0-48ab-866c-f83c4d911576) |
+| VISIO ONLINE PLAN 1 | VISIOONLINE_PLAN1 | 4b244418-9658-4451-a2b8-b5e2b364e9bd | EXCHANGE_S_FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/>ONEDRIVE_BASIC (da792a53-cbc0-4184-a10d-e544dd34b3c1)<br/>VISIOONLINE (2bdbaf8f-738f-4ac7-9234-3c3ee2ce7d0f) | EXCHANGE FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/>ONEDRIVE FOR BUSINESS BASIC (da792a53-cbc0-4184-a10d-e544dd34b3c1)<br/>VISIO WEB APP (2bdbaf8f-738f-4ac7-9234-3c3ee2ce7d0f) |
+| VISIO ONLINE PLAN 2 | VISIOCLIENT | c5928f49-12ba-48f7-ada3-0d743a3601d5 | EXCHANGE_S_FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/>ONEDRIVE_BASIC (da792a53-cbc0-4184-a10d-e544dd34b3c1)<br/>VISIO_CLIENT_SUBSCRIPTION (663a804f-1c30-4ff0-9915-9db84f0d1cea)<br/>VISIOONLINE (2bdbaf8f-738f-4ac7-9234-3c3ee2ce7d0f) | EXCHANGE FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/>ONEDRIVE FOR BUSINESS BASIC (da792a53-cbc0-4184-a10d-e544dd34b3c1)<br/>VISIO DESKTOP APP (663a804f-1c30-4ff0-9915-9db84f0d1cea)<br/>VISIO WEB APP (2bdbaf8f-738f-4ac7-9234-3c3ee2ce7d0f) |
+| VISIO PLAN 2 FOR GCC | VISIOCLIENT_GOV | 4ae99959-6b0f-43b0-b1ce-68146001bdba | EXCHANGE_S_FOUNDATION_GOV (922ba911-5694-4e99-a794-73aed9bfeec8)<br/>ONEDRIVE_BASIC_GOV (98709c2e-96b5-4244-95f5-a0ebe139fb8a)<br/>VISIO_CLIENT_SUBSCRIPTION_GOV (f85945f4-7a55-4009-bc39-6a5f14a8eac1)<br/>VISIOONLINE_GOV (8a9ecb07-cfc0-48ab-866c-f83c4d911576) | EXCHANGE FOUNDATION FOR GOVERNMENT (922ba911-5694-4e99-a794-73aed9bfeec8)<br/>ONEDRIVE FOR BUSINESS BASIC FOR GOVERNMENT (98709c2e-96b5-4244-95f5-a0ebe139fb8a)<br/>VISIO DESKTOP APP FOR GOVERNMENT (4ae99959-6b0f-43b0-b1ce-68146001bdba)<br/>VISIO WEB APP FOR GOVERNMENT (8a9ecb07-cfc0-48ab-866c-f83c4d911576) |
| WINDOWS 10 ENTERPRISE E3 | WIN10_PRO_ENT_SUB | cb10e6cd-9da4-4992-867b-67546b1db821 | WIN10_PRO_ENT_SUB (21b439ba-a0ca-424f-a6cc-52f954a5b111) | WINDOWS 10 ENTERPRISE (21b439ba-a0ca-424f-a6cc-52f954a5b111) | | WINDOWS 10 ENTERPRISE E3 | WIN10_VDA_E3 | 6a0f6da5-0b87-4190-a6ae-9bb5a2b9546a | EXCHANGE_S_FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/>VIRTUALIZATION RIGHTS FOR WINDOWS 10 (E3/E5+VDA) (e7c91390-7625-45be-94e0-e16907e03118) | EXCHANGE FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/>WINDOWS 10 ENTERPRISE (NEW) (e7c91390-7625-45be-94e0-e16907e03118) | | Windows 10 Enterprise E5 | WIN10_VDA_E5 | 488ba24a-39a9-4473-8ee5-19291e71b002 | EXCHANGE_S_FOUNDATION (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/>WINDEFATP (871d91ec-ec1a-452b-a83f-bd76c7d770ef)<br/>Virtualization Rights for Windows 10 (E3/E5+VDA) (e7c91390-7625-45be-94e0-e16907e03118) | Exchange Foundation (113feb6c-3fe4-4440-bddc-54d774bf0318)<br/>MICROSOFT DEFENDER FOR ENDPOINT (871d91ec-ec1a-452b-a83f-bd76c7d770ef)<br/>Windows 10 Enterprise (New) (e7c91390-7625-45be-94e0-e16907e03118)
active-directory Manage Guest Access With Access Reviews https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/active-directory/governance/manage-guest-access-with-access-reviews.md
You can review either:
When reviewing guest user access to Microsoft 365 groups, you can either create a review for each group individually, or turn on automatic, recurring access reviews of guest users across all Microsoft 365 groups. The following video provides more information on recurring access reviews of guest users:
-> [!VIDEO https://www.youtube.com/watch?v=3D2_YW2DwQ8]
+> [!VIDEO https://www.youtube.com/embed/3D2_YW2DwQ8]
You can then decide whether to ask each guest to review their own access or to ask one or more users to review every guest's access.
In some organizations, guests might not be aware of their group memberships.
## Next steps
-[Create an access review of groups or applications](create-access-review.md)
+[Create an access review of groups or applications](create-access-review.md)
active-directory Adobe Identity Management Provisioning Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/active-directory/saas-apps/adobe-identity-management-provisioning-tutorial.md
na ms.devlang: na Previously updated : 10/27/2020 Last updated : 04/30/2021
The scenario outlined in this tutorial assumes that you already have the followi
* [An Azure AD tenant](../develop/quickstart-create-new-tenant.md). * A user account in Azure AD with [permission](../roles/permissions-reference.md) to configure provisioning (for example, Application Administrator, Cloud Application administrator, Application Owner, or Global Administrator). * A federated directory in the [Adobe Admin Console](https://adminconsole.adobe.com/) with verified domains.
+* Review the [adobe documentation](https://helpx.adobe.com/enterprise/admin-guide.html/enterprise/using/add-azure-sync.ug.html) on user provisioning
> [!NOTE] > If your organization uses the User Sync Tool or a UMAPI integration, you must first pause the integration. Then, add Azure AD automatic provisioning to automate user management from the Azure Portal. Once Azure AD automatic provisioning is configured and running, you can completely remove the User Sync Tool or UMAPI integration.
Once you've configured provisioning, use the following resources to monitor your
## Next steps
-* [Learn how to review logs and get reports on provisioning activity](../app-provisioning/check-status-user-account-provisioning.md)
+* [Learn how to review logs and get reports on provisioning activity](../app-provisioning/check-status-user-account-provisioning.md)
active-directory Astra Schedule Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/active-directory/saas-apps/astra-schedule-tutorial.md
+
+ Title: 'Tutorial: Azure Active Directory single sign-on (SSO) integration with Astra Schedule | Microsoft Docs'
+description: Learn how to configure single sign-on between Azure Active Directory and Astra Schedule.
++++++++ Last updated : 05/26/2021++++
+# Tutorial: Azure Active Directory single sign-on (SSO) integration with Astra Schedule
+
+In this tutorial, you'll learn how to integrate Astra Schedule with Azure Active Directory (Azure AD). When you integrate Astra Schedule with Azure AD, you can:
+
+* Control in Azure AD who has access to Astra Schedule.
+* Enable your users to be automatically signed-in to Astra Schedule with their Azure AD accounts.
+* Manage your accounts in one central location - the Azure portal.
+
+## Prerequisites
+
+To get started, you need the following items:
+
+* An Azure AD subscription. If you don't have a subscription, you can get a [free account](https://azure.microsoft.com/free/).
+* Astra Schedule single sign-on (SSO) enabled subscription.
+
+## Scenario description
+
+In this tutorial, you configure and test Azure AD SSO in a test environment.
+
+* Astra Schedule supports **SP** initiated SSO.
+* Astra Schedule supports **Just In Time** user provisioning.
+
+## Adding Astra Schedule from the gallery
+
+To configure the integration of Astra Schedule into Azure AD, you need to add Astra Schedule from the gallery to your list of managed SaaS apps.
+
+1. Sign in to the Azure portal using either a work or school account, or a personal Microsoft account.
+1. On the left navigation pane, select the **Azure Active Directory** service.
+1. Navigate to **Enterprise Applications** and then select **All Applications**.
+1. To add new application, select **New application**.
+1. In the **Add from the gallery** section, type **Astra Schedule** in the search box.
+1. Select **Astra Schedule** from results panel and then add the app. Wait a few seconds while the app is added to your tenant.
++
+## Configure and test Azure AD SSO for Astra Schedule
+
+Configure and test Azure AD SSO with Astra Schedule using a test user called **B.Simon**. For SSO to work, you need to establish a link relationship between an Azure AD user and the related user in Astra Schedule.
+
+To configure and test Azure AD SSO with Astra Schedule, perform the following steps:
+
+1. **[Configure Azure AD SSO](#configure-azure-ad-sso)** - to enable your users to use this feature.
+ 1. **[Create an Azure AD test user](#create-an-azure-ad-test-user)** - to test Azure AD single sign-on with B.Simon.
+ 1. **[Assign the Azure AD test user](#assign-the-azure-ad-test-user)** - to enable B.Simon to use Azure AD single sign-on.
+1. **[Configure Astra Schedule SSO](#configure-astra-schedule-sso)** - to configure the single sign-on settings on application side.
+ 1. **[Create Astra Schedule test user](#create-astra-schedule-test-user)** - to have a counterpart of B.Simon in Astra Schedule that is linked to the Azure AD representation of user.
+1. **[Test SSO](#test-sso)** - to verify whether the configuration works.
+
+## Configure Azure AD SSO
+
+Follow these steps to enable Azure AD SSO in the Azure portal.
+
+1. In the Azure portal, on the **Astra Schedule** application integration page, find the **Manage** section and select **single sign-on**.
+1. On the **Select a single sign-on method** page, select **SAML**.
+1. On the **Set up single sign-on with SAML** page, click the pencil icon for **Basic SAML Configuration** to edit the settings.
+
+ ![Edit Basic SAML Configuration](common/edit-urls.png)
+
+1. On the **Basic SAML Configuration** section, enter the values for the following fields:
+
+ a. In the **Identifier** box, type a URL using the following pattern:
+ `https://www.aaiscloud.com/<CUSTOMER_INSTANCE>`
+
+ b. In the **Reply URL** text box, type a URL using the following pattern:
+ `https://www.aaiscloud.com/<CUSTOMER_INSTANCE>/SAML/AssertionConsumerService.aspx`
+
+ c. In the **Sign-on URL** text box, type a URL using the following pattern:
+ `https://www.aaiscloud.com/<CUSTOMER_INSTANCE>`
+
+ > [!NOTE]
+ > These values are not real. Update these values with the actual Identifier, Reply URL and Sign-On URL. Contact [Astra Schedule Client support team](mailto:cloudoperations@aais.com) to get these values. You can also refer to the patterns shown in the **Basic SAML Configuration** section in the Azure portal.
+
+1. On the **Set up single sign-on with SAML** page, in the **SAML Signing Certificate** section, find **Federation Metadata XML** and select **Download** to download the certificate and save it on your computer.
+
+ ![The Certificate download link](common/metadataxml.png)
+
+1. On the **Set up Astra Schedule** section, copy the appropriate URL(s) based on your requirement.
+
+ ![Copy configuration URLs](common/copy-configuration-urls.png)
+
+### Create an Azure AD test user
+
+In this section, you'll create a test user in the Azure portal called B.Simon.
+
+1. From the left pane in the Azure portal, select **Azure Active Directory**, select **Users**, and then select **All users**.
+1. Select **New user** at the top of the screen.
+1. In the **User** properties, follow these steps:
+ 1. In the **Name** field, enter `B.Simon`.
+ 1. In the **User name** field, enter the username@companydomain.extension. For example, `B.Simon@contoso.com`.
+ 1. Select the **Show password** check box, and then write down the value that's displayed in the **Password** box.
+ 1. Click **Create**.
+
+### Assign the Azure AD test user
+
+In this section, you'll enable B.Simon to use Azure single sign-on by granting access to Astra Schedule.
+
+1. In the Azure portal, select **Enterprise Applications**, and then select **All applications**.
+1. In the applications list, select **Astra Schedule**.
+1. In the app's overview page, find the **Manage** section and select **Users and groups**.
+1. Select **Add user**, then select **Users and groups** in the **Add Assignment** dialog.
+1. In the **Users and groups** dialog, select **B.Simon** from the Users list, then click the **Select** button at the bottom of the screen.
+1. If you are expecting a role to be assigned to the users, you can select it from the **Select a role** dropdown. If no role has been set up for this app, you see "Default Access" role selected.
+1. In the **Add Assignment** dialog, click the **Assign** button.
+
+## Configure Astra Schedule SSO
+
+To configure single sign-on on **Astra Schedule** side, you need to send the downloaded **Federation Metadata XML** and appropriate copied URLs from Azure portal to [Astra Schedule support team](mailto:cloudoperations@aais.com). They set this setting to have the SAML SSO connection set properly on both sides.
+
+### Create Astra Schedule test user
+
+In this section, a user called Britta Simon is created in Astra Schedule. Astra Schedule supports just-in-time user provisioning, which is enabled by default. There is no action item for you in this section. If a user doesn't already exist in Astra Schedule, a new one is created after authentication.
+
+## Test SSO
+
+In this section, you test your Azure AD single sign-on configuration with following options.
+
+* Click on **Test this application** in Azure portal. This will redirect to Astra Schedule Sign-on URL where you can initiate the login flow.
+
+* Go to Astra Schedule Sign-on URL directly and initiate the login flow from there.
+
+* You can use Microsoft My Apps. When you click the Astra Schedule tile in the My Apps, this will redirect to Astra Schedule Sign-on URL. For more information about the My Apps, see [Introduction to the My Apps](../user-help/my-apps-portal-end-user-access.md).
++
+## Next steps
+
+Once you configure Astra Schedule you can enforce session control, which protects exfiltration and infiltration of your organizationΓÇÖs sensitive data in real time. Session control extends from Conditional Access. [Learn how to enforce session control with Microsoft Cloud App Security](/cloud-app-security/proxy-deployment-any-app).
++
active-directory Checkpoint Infinity Portal Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/active-directory/saas-apps/checkpoint-infinity-portal-tutorial.md
+
+ Title: 'Tutorial: Azure Active Directory single sign-on (SSO) integration with CheckPoint Infinity Portal | Microsoft Docs'
+description: Learn how to configure single sign-on between Azure Active Directory and CheckPoint Infinity Portal.
++++++++ Last updated : 05/24/2021++++
+# Tutorial: Azure Active Directory single sign-on (SSO) integration with CheckPoint Infinity Portal
+
+In this tutorial, you'll learn how to integrate CheckPoint Infinity Portal with Azure Active Directory (Azure AD). When you integrate CheckPoint Infinity Portal with Azure AD, you can:
+
+* Control in Azure AD who has access to CheckPoint Infinity Portal.
+* Enable your users to be automatically signed-in to CheckPoint Infinity Portal with their Azure AD accounts.
+* Manage your accounts in one central location - the Azure portal.
+
+## Prerequisites
+
+To get started, you need the following items:
+
+* An Azure AD subscription. If you don't have a subscription, you can get a [free account](https://azure.microsoft.com/free/).
+* CheckPoint Infinity Portal single sign-on (SSO) enabled subscription.
+
+## Scenario description
+
+In this tutorial, you configure and test Azure AD SSO in a test environment.
+
+* CheckPoint Infinity Portal supports **SP** initiated SSO.
+
+* CheckPoint Infinity Portal supports **Just In Time** user provisioning.
++
+## Adding CheckPoint Infinity Portal from the gallery
+
+To configure the integration of CheckPoint Infinity Portal into Azure AD, you need to add CheckPoint Infinity Portal from the gallery to your list of managed SaaS apps.
+
+1. Sign in to the Azure portal using either a work or school account, or a personal Microsoft account.
+1. On the left navigation pane, select the **Azure Active Directory** service.
+1. Navigate to **Enterprise Applications** and then select **All Applications**.
+1. To add new application, select **New application**.
+1. In the **Add from the gallery** section, type **CheckPoint Infinity Portal** in the search box.
+1. Select **CheckPoint Infinity Portal** from results panel and then add the app. Wait a few seconds while the app is added to your tenant.
++
+## Configure and test Azure AD SSO for CheckPoint Infinity Portal
+
+Configure and test Azure AD SSO with CheckPoint Infinity Portal using a test user called **B.Simon**. For SSO to work, you need to establish a link relationship between an Azure AD user and the related user in CheckPoint Infinity Portal.
+
+To configure and test Azure AD SSO with CheckPoint Infinity Portal, perform the following steps:
+
+1. **[Configure Azure AD SSO](#configure-azure-ad-sso)** - to enable your users to use this feature.
+ 1. **[Create an Azure AD test user](#create-an-azure-ad-test-user)** - to test Azure AD single sign-on with B.Simon.
+ 1. **[Assign the Azure AD test user](#assign-the-azure-ad-test-user)** - to enable B.Simon to use Azure AD single sign-on.
+1. **[Configure CheckPoint Infinity Portal SSO](#configure-checkpoint-infinity-portal-sso)** - to configure the single sign-on settings on application side.
+ 1. **[Create CheckPoint Infinity Portal test user](#create-checkpoint-infinity-portal-test-user)** - to have a counterpart of B.Simon in CheckPoint Infinity Portal that is linked to the Azure AD representation of user.
+1. **[Test SSO](#test-sso)** - to verify whether the configuration works.
+
+## Configure Azure AD SSO
+
+Follow these steps to enable Azure AD SSO in the Azure portal.
+
+1. In the Azure portal, on the **CheckPoint Infinity Portal** application integration page, find the **Manage** section and select **single sign-on**.
+1. On the **Select a single sign-on method** page, select **SAML**.
+1. On the **Set up single sign-on with SAML** page, click the pencil icon for **Basic SAML Configuration** to edit the settings.
+
+ ![Edit Basic SAML Configuration](common/edit-urls.png)
+
+1. On the **Basic SAML Configuration** section, enter the values for the following fields:
+
+ a. In the **Identifier** text box, type one of the following values:
+
+ | Environment | Identifier |
+ |-| -|
+ | EU/US | `cloudinfra.checkpoint.com` |
+ | AP | `ap.portal.checkpoint.com` |
+ |
+
+ b. In the **Reply URL** text box, type one of the following URLs:
+
+ | Environment | Reply URL |
+ |-| -|
+ | EU/US | `https://portal.checkpoint.com/` |
+ | AP | `https://ap.portal.checkpoint.com/` |
+ |
+
+ c. In the **Sign on URL** text box, type one of the following URLs:
+
+ | Environment | Sign on URL |
+ |-| -|
+ | EU/US | `https://portal.checkpoint.com/` |
+ | AP | `https://ap.portal.checkpoint.com/` |
+ |
+
+1. On the **Set up single sign-on with SAML** page, in the **SAML Signing Certificate** section, find **Federation Metadata XML** and select **Download** to download the certificate and save it on your computer.
+
+ ![The Certificate download link](common/metadataxml.png)
+
+1. On the **Set up CheckPoint Infinity Portal** section, copy the appropriate URL(s) based on your requirement.
+
+ ![Copy configuration URLs](common/copy-configuration-urls.png)
+
+### Create an Azure AD test user
+
+In this section, you'll create a test user in the Azure portal called B.Simon.
+
+1. From the left pane in the Azure portal, select **Azure Active Directory**, select **Users**, and then select **All users**.
+1. Select **New user** at the top of the screen.
+1. In the **User** properties, follow these steps:
+ 1. In the **Name** field, enter `B.Simon`.
+ 1. In the **User name** field, enter the username@companydomain.extension. For example, `B.Simon@contoso.com`.
+ 1. Select the **Show password** check box, and then write down the value that's displayed in the **Password** box.
+ 1. Click **Create**.
+
+### Assign the Azure AD test user
+
+In this section, you'll enable B.Simon to use Azure single sign-on by granting access to CheckPoint Infinity Portal.
+
+1. In the Azure portal, select **Enterprise Applications**, and then select **All applications**.
+1. In the applications list, select **CheckPoint Infinity Portal**.
+1. In the app's overview page, find the **Manage** section and select **Users and groups**.
+1. Select **Add user**, then select **Users and groups** in the **Add Assignment** dialog.
+1. In the **Users and groups** dialog, select **B.Simon** from the Users list, then click the **Select** button at the bottom of the screen.
+1. If you are expecting a role to be assigned to the users, you can select it from the **Select a role** dropdown. If no role has been set up for this app, you see "Default Access" role selected.
+1. In the **Add Assignment** dialog, click the **Assign** button.
+
+## Configure CheckPoint Infinity Portal SSO
+
+1. On the Infinity Portal, click **Global Events > Account Settings**.
+
+1. Perform the following steps in the **Account Settings** page.
+
+ ![screenshot to upload metadata.](./media/checkpoint-infinity-portal-tutorial/upload-metadata.png)
+
+ a. Move the **Use SSO Authorization** slider from **OFF** to **ON**.
+
+ b. Click **Upload Metadata file** to upload the **Federation Metadata XML** file which you have downloaded from the Azure portal.
+
+ c. Go to **Domain Name** field and enter the name of your company.
+
+ d. In the **SSO Login URL** textbox, paste the **Login URL** value which you have copied from the Azure portal.
+
+ e. Click **Save**.
+
+#### Validate your Domain name
+
+1. You must add your company domain to the list of validated domains.
+
+1. If your company domain is not in the list, the **Domain is not validated** message appears.
+
+1. Check Point requests **Your Company Domain Name** identity and generates a DNS TXT record.
+
+ ![screenshot to domain validating.](./media/checkpoint-infinity-portal-tutorial/domain-value.png)
+
+ a. Copy the DNS record values and add them to the DNS values in your company domain name registrar.
+
+ b. In the **SSO Authorization** section, click **Validate**.
+
+ c. Wait for Check Point to approve your DNS record. The registrar update of the DNS records can last for up to 30 minutes.
+
+### Create CheckPoint Infinity Portal test user
+
+In this section, a user called Britta Simon is created in CheckPoint Infinity Portal. CheckPoint Infinity Portal supports just-in-time user provisioning, which is enabled by default. There is no action item for you in this section. If a user doesn't already exist in CheckPoint Infinity Portal, a new one is created after authentication.
+
+## Test SSO
+
+In this section, you test your Azure AD single sign-on configuration with following options.
+
+* Click on **Test this application** in Azure portal. This will redirect to CheckPoint Infinity Portal Sign-on URL where you can initiate the login flow.
+
+* Go to CheckPoint Infinity Portal Sign-on URL directly and initiate the login flow from there.
+
+* You can use Microsoft My Apps. When you click the CheckPoint Infinity Portal tile in the My Apps, this will redirect to CheckPoint Infinity Portal Sign-on URL. For more information about the My Apps, see [Introduction to the My Apps](../user-help/my-apps-portal-end-user-access.md).
++
+## Next steps
+
+Once you configure CheckPoint Infinity Portal you can enforce session control, which protects exfiltration and infiltration of your organizationΓÇÖs sensitive data in real time. Session control extends from Conditional Access. [Learn how to enforce session control with Microsoft Cloud App Security](/cloud-app-security/proxy-deployment-any-app).
++
active-directory Ihasco Training Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/active-directory/saas-apps/ihasco-training-tutorial.md
+
+ Title: 'Tutorial: Azure Active Directory single sign-on (SSO) integration with iHASCO Training | Microsoft Docs'
+description: Learn how to configure single sign-on between Azure Active Directory and iHASCO Training.
++++++++ Last updated : 05/25/2021++++
+# Tutorial: Azure Active Directory single sign-on (SSO) integration with iHASCO Training
+
+In this tutorial, you'll learn how to integrate iHASCO Training with Azure Active Directory (Azure AD). When you integrate iHASCO Training with Azure AD, you can:
+
+* Control in Azure AD who has access to iHASCO Training.
+* Enable your users to be automatically signed-in to iHASCO Training with their Azure AD accounts.
+* Manage your accounts in one central location - the Azure portal.
+
+## Prerequisites
+
+To get started, you need the following items:
+
+* An Azure AD subscription. If you don't have a subscription, you can get a [free account](https://azure.microsoft.com/free/).
+* iHASCO Training single sign-on (SSO) enabled subscription.
+
+## Scenario description
+
+In this tutorial, you configure and test Azure AD SSO in a test environment.
+
+* iHASCO Training supports **SP** initiated SSO.
+* iHASCO Training supports **Just In Time** user provisioning.
++
+## Adding iHASCO Training from the gallery
+
+To configure the integration of iHASCO Training into Azure AD, you need to add iHASCO Training from the gallery to your list of managed SaaS apps.
+
+1. Sign in to the Azure portal using either a work or school account, or a personal Microsoft account.
+1. On the left navigation pane, select the **Azure Active Directory** service.
+1. Navigate to **Enterprise Applications** and then select **All Applications**.
+1. To add new application, select **New application**.
+1. In the **Add from the gallery** section, type **iHASCO Training** in the search box.
+1. Select **iHASCO Training** from results panel and then add the app. Wait a few seconds while the app is added to your tenant.
++
+## Configure and test Azure AD SSO for iHASCO Training
+
+Configure and test Azure AD SSO with iHASCO Training using a test user called **B.Simon**. For SSO to work, you need to establish a link relationship between an Azure AD user and the related user in iHASCO Training.
+
+To configure and test Azure AD SSO with iHASCO Training, perform the following steps:
+
+1. **[Configure Azure AD SSO](#configure-azure-ad-sso)** - to enable your users to use this feature.
+ 1. **[Create an Azure AD test user](#create-an-azure-ad-test-user)** - to test Azure AD single sign-on with B.Simon.
+ 1. **[Assign the Azure AD test user](#assign-the-azure-ad-test-user)** - to enable B.Simon to use Azure AD single sign-on.
+1. **[Configure iHASCO Training SSO](#configure-ihasco-training-sso)** - to configure the single sign-on settings on application side.
+ 1. **[Create iHASCO Training test user](#create-ihasco-training-test-user)** - to have a counterpart of B.Simon in iHASCO Training that is linked to the Azure AD representation of user.
+1. **[Test SSO](#test-sso)** - to verify whether the configuration works.
+
+## Configure Azure AD SSO
+
+Follow these steps to enable Azure AD SSO in the Azure portal.
+
+1. In the Azure portal, on the **iHASCO Training** application integration page, find the **Manage** section and select **single sign-on**.
+1. On the **Select a single sign-on method** page, select **SAML**.
+1. On the **Set up single sign-on with SAML** page, click the pencil icon for **Basic SAML Configuration** to edit the settings.
+
+ ![Edit Basic SAML Configuration](common/edit-urls.png)
+
+1. On the **Basic SAML Configuration** section, enter the values for the following fields:
+
+ a. In the **Identifier** box, type a URL using the following pattern:
+ `https://authentication.ihasco.co.uk/saml2/<ID>/metadata`
+
+ b. In the **Reply URL** text box, type a URL using the following pattern:
+ `https://authentication.ihasco.co.uk/saml2/<ID>/acs`
+
+ c. In the **Sign-on URL** text box, type a URL using the following pattern:
+ `https://app.ihasco.co.uk/<ID>`
+
+ > [!NOTE]
+ > These values are not real. Update these values with the actual Identifier, Reply URL and Sign-On URL. Contact [iHASCO Training Client support team](mailto:support@ihasco.co.uk) to get these values. You can also refer to the patterns shown in the **Basic SAML Configuration** section in the Azure portal.
+
+1. On the **Set up single sign-on with SAML** page, in the **SAML Signing Certificate** section, find **Certificate (Base64)** and select **Download** to download the certificate and save it on your computer.
+
+ ![The Certificate download link](common/certificatebase64.png)
+
+1. On the **Set up iHASCO Training** section, copy the appropriate URL(s) based on your requirement.
+
+ ![Copy configuration URLs](common/copy-configuration-urls.png)
+### Create an Azure AD test user
+
+In this section, you'll create a test user in the Azure portal called B.Simon.
+
+1. From the left pane in the Azure portal, select **Azure Active Directory**, select **Users**, and then select **All users**.
+1. Select **New user** at the top of the screen.
+1. In the **User** properties, follow these steps:
+ 1. In the **Name** field, enter `B.Simon`.
+ 1. In the **User name** field, enter the username@companydomain.extension. For example, `B.Simon@contoso.com`.
+ 1. Select the **Show password** check box, and then write down the value that's displayed in the **Password** box.
+ 1. Click **Create**.
+
+### Assign the Azure AD test user
+
+In this section, you'll enable B.Simon to use Azure single sign-on by granting access to iHASCO Training.
+
+1. In the Azure portal, select **Enterprise Applications**, and then select **All applications**.
+1. In the applications list, select **iHASCO Training**.
+1. In the app's overview page, find the **Manage** section and select **Users and groups**.
+1. Select **Add user**, then select **Users and groups** in the **Add Assignment** dialog.
+1. In the **Users and groups** dialog, select **B.Simon** from the Users list, then click the **Select** button at the bottom of the screen.
+1. If you are expecting a role to be assigned to the users, you can select it from the **Select a role** dropdown. If no role has been set up for this app, you see "Default Access" role selected.
+1. In the **Add Assignment** dialog, click the **Assign** button.
+
+## Configure iHASCO Training SSO
+
+1. Log in to your iHASCO Training website as an administrator.
+
+1. Click **Settings** in top right navigation, scroll to
+the **ADVANCED** tile and click **Configure Single Sign On**.
+
+ ![Screenshot for iHASCO Training sso button.](./media/ihasco-training-tutorial/settings.png)
+
+1. In the **IDENTITY PROVIDERS** tab, click **Add provider** and select **SAML2**.
+
+ ![Screenshot for iHASCO Training IDENTITY PROVIDERS.](./media/ihasco-training-tutorial/add-provider.png)
+
+1. Perform the following steps in the **Single Sign On / New SAML2** page:
+
+ ![Screenshot for iHASCO Training Single Sign On.](./media/ihasco-training-tutorial/single-sign-on.png)
+
+ a. Under **GENERAL**, enter a **Description** to identify this configuration.
+
+ b. Under **IDENTITY PROVIDER DETAILS**, in the **Single Sign-on URL** textbox, paste the **Login URL** value which you have copied from the Azure portal.
+
+ c. In the **Single Logout URL** textbox, paste the **Logout URL** value which you have copied from the Azure portal.
+
+ d. In the **Entity ID** textbox, paste the **Identifier** value which you have copied from the Azure portal.
+
+ e. Open the downloaded **Certificate (Base64)** from the Azure portal into Notepad and paste the content into the **X509 (Public) Certificate** textbox.
+
+ f. Under **USER ATTRIBUTE MAPPING**, in the **Email address** enter the value like `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress`.
+
+ g. In the **First name** enter the value like `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname`.
+
+ h. In the **Last name** enter the value like `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname`.
+
+ i. Click **Save**.
+
+ j. Click **Enable now** after the page reload.
+
+1. Click **Security** in the left-hand navigation and select **Single Sign On provider** as **Registration** method, and your **Azure AD configuration** as **Selected provider**.
+
+ ![Screenshot for iHASCO Training Security.](./media/ihasco-training-tutorial/security.png)
+
+1. Click **Save changes**.
+
+### Create iHASCO Training test user
+
+In this section, a user called Britta Simon is created in iHASCO Training. iHASCO Training supports just-in-time user provisioning, which is enabled by default. There is no action item for you in this section. If a user doesn't already exist in iHASCO Training, a new one is created after authentication.
+
+## Test SSO
+
+In this section, you test your Azure AD single sign-on configuration with following options.
+
+* Click on **Test this application** in Azure portal. This will redirect to iHASCO Training Sign-on URL where you can initiate the login flow.
+
+* Go to iHASCO Training Sign-on URL directly and initiate the login flow from there.
+
+* You can use Microsoft My Apps. When you click the iHASCO Training tile in the My Apps, this will redirect to iHASCO Training Sign-on URL. For more information about the My Apps, see [Introduction to the My Apps](../user-help/my-apps-portal-end-user-access.md).
++
+## Next steps
+
+Once you configure iHASCO Training you can enforce session control, which protects exfiltration and infiltration of your organizationΓÇÖs sensitive data in real time. Session control extends from Conditional Access. [Learn how to enforce session control with Microsoft Cloud App Security](/cloud-app-security/proxy-deployment-any-app).
++
active-directory Miro Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/active-directory/saas-apps/miro-tutorial.md
Previously updated : 02/11/2021 Last updated : 05/26/2021 # Tutorial: Integrate Miro with Azure Active Directory
-In this tutorial, you'll learn how to integrate Miro with Azure Active Directory (Azure AD). When you integrate Miro with Azure AD, you can:
+In this tutorial, you'll learn how to integrate Miro with Azure Active Directory (Azure AD). Another version of this tutorial can be found at help.miro.com. When you integrate Miro with Azure AD, you can:
* Control in Azure AD who has access to Miro. * Enable your users to be automatically signed-in to Miro with their Azure AD accounts.
To get started, you need the following items:
In this tutorial, you configure and test Azure AD SSO in a test environment. * Miro supports **SP and IDP** initiated SSO and supports **Just In Time** user provisioning.
+> [!NOTE]
+> Identifier of this application is a fixed string value so only one instance can be configured in one tenant.
+ ## Add Miro from the gallery To configure the integration of Miro into Azure AD, you need to add Miro from the gallery to your list of managed SaaS apps.
Follow these steps to enable Azure AD SSO in the Azure portal.
4. On the **Basic SAML Configuration** section, if you wish to configure the application in **IDP** initiated mode, perform the following step: In the **Identifier** text box, type the URL:
- `https://miro.com`
-
-5. Click **Set additional URLs** and perform the following step if you wish to configure the application in **SP** initiated mode:
+ `https://miro.com/`
- In the **Sign-on URL** text box, type the URL:
- `https://miro.com/sso/saml`
+5. If you wish to configure the application in **SP** initiated mode then in the **Sign-on URL** text box, type the URL:
+ `https://miro.com/sso/login/`
-1. On the **Set up Single Sign-On with SAML** page, in the **SAML Signing Certificate** section, find **Federation Metadata XML** and select **Download** to download the certificate and save it on your computer.
+1. On the **Set up Single Sign-On with SAML** page, in the **SAML Signing Certificate** section, find **Certificate (Base64)** and select **Download** to download the certificate and save it on your computer. You will need it to configure SSO on the Miro side.
- ![The Certificate download link](common/metadataxml.png)
+ ![The Certificate download link](common/certificatebase64.png "The Certificate download link")
-1. On the **Set up Miro** section, copy the appropriate URL(s) based on your requirement.
+1. On the **Set up Miro** section, copy the the Login URL. You will need it to configure SSO on the Miro side.
- ![Copy configuration URLs](common/copy-configuration-urls.png)
+ ![Copy Login URL](./media/miro-tutorial/login.png "Copy Login URL")
### Create an Azure AD test user
In this section, you'll enable B.Simon to use Azure single sign-on by granting a
1. If you are expecting a role to be assigned to the users, you can select it from the **Select a role** dropdown. If no role has been set up for this app, you see "Default Access" role selected. 1. In the **Add Assignment** dialog, click the **Assign** button.
+* Alternatively go to the application's **Properties** and toggle off **User assignment required**
+![Disable assignment requirement](./media/miro-tutorial/properties.png "Disable assignment requirement")
+ ## Configure Miro SSO
-To configure single sign-on on **Miro** side, you need to send the downloaded **Federation Metadata XML** and appropriate copied URLs from Azure portal to Miro support team. They set this setting to have the SAML SSO connection set properly on both sides.
+To configure single sign-on on Miro side, use the certificate you previously downloaded and the Login URL you previously copied. In the Miro account settings go to the **Security** section and toggle on **Enable SSO/SAML**.
+
+1. Paste the Login URL in the **SAML Sign-in URL** field.
+1. Open the certificate file with a text editor and copy the certificate sequence. Paste the sequence in the **Key x509 Certificate** field.
+![Miro settings](./media/miro-tutorial/security.png "Miro settings")
+
+1. In the **Domains** field type in your domain address, click **Add** and follow the verification procedure. Repeat for your other domain addresses if you have any. The Miro SSO feature will be working for the end users which domains are on the list.
+![Domain](./media/miro-tutorial/add-domain.png "Domain")
+
+1. Decide if you will be using Just in Time provisioning (pulling your users into your subscription during their registration in Miro) and click **Save** to complete the SSO configuration on the Miro side.
+![Just in Time Provisioning](./media/miro-tutorial/save-configuration.png "Just in Time Provisioning")
### Create Miro test user
-In this section, a user called B.Simon is created in Miro. Miro supports just-in-time provisioning, which can be enabled as per requirement. There is no action item for you in this section. If a user doesn't already exist in Miro, a new one is created when you attempt to access Miro.
+In this section, a user called B.Simon is created in Miro. Miro supports just-in-time user provisioning, which is enabled by default. There's no action item for you in this section. If a user doesn't already exist in Miro, a new one is created after authentication.
## Test SSO
-In this section, you test your Azure AD single sign-on configuration with following options.
+In this section, you test your Azure AD single sign-on configuration with following options using the test user B.Simon.
#### SP initiated:
-* Click on **Test this application** in Azure portal. This will redirect to Miro Sign on URL where you can initiate the login flow.
- * Go to Miro Sign-on URL directly and initiate the login flow from there. #### IDP initiated:
-* Click on **Test this application** in Azure portal and you should be automatically signed in to the Miro for which you set up the SSO.
+* Click on **Test this application** in Azure portal and choose to log in as B.Simon. You should be automatically signed in to the Miro subscription for which you set up the SSO.
You can also use Microsoft My Apps to test the application in any mode. When you click the Miro tile in the My Apps, if configured in SP mode you would be redirected to the application sign on page for initiating the login flow and if configured in IDP mode, you should be automatically signed in to the Miro for which you set up the SSO. For more information about the My Apps, see [Introduction to the My Apps](../user-help/my-apps-portal-end-user-access.md).-
-## Next steps
-
-Once you configure Miro you can enforce session control, which protects exfiltration and infiltration of your organizationΓÇÖs sensitive data in real time. Session control extends from Conditional Access. [Learn how to enforce session control with Microsoft Cloud App Security](/cloud-app-security/proxy-deployment-any-app).
aks Aks Migration https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/aks/aks-migration.md
In this article we will summarize migration details for:
Azure Migrate offers a unified platform to assess and migrate to Azure on-premises servers, infrastructure, applications, and data. For AKS, you can use Azure Migrate for the following tasks:
-* [Containerize ASP.NET applications and migrate to AKS](/azure/aks/tutorial-app-containerization-aspnet-kubernetes)
+* [Containerize ASP.NET applications and migrate to AKS](/azure/migrate/tutorial-app-containerization-aspnet-kubernetes)
* [Containerize Java web applications and migrate to AKS](../migrate/tutorial-containerize-java-kubernetes.md) ## AKS with Standard Load Balancer and Virtual Machine Scale Sets
In this article, we summarized migration details for:
> * Deployment of your cluster configuration
-[region-availability]: https://azure.microsoft.com/global-infrastructure/services/?products=kubernetes-service
+[region-availability]: https://azure.microsoft.com/global-infrastructure/services/?products=kubernetes-service
aks Configure Azure Cni https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/aks/configure-azure-cni.md
The following screenshot from the Azure portal shows an example of configuring t
> [!NOTE] > This preview feature is currently available in the following regions: >
+> * East US
> * West Central US
+> * West US 2
+> * Canada Central
+> * Australia East
+> * UK South
A drawback with the traditional CNI is the exhaustion of pod IP addresses as the AKS cluster grows, resulting in the need to rebuild the entire cluster in a bigger subnet. The new dynamic IP allocation capability in Azure CNI solves this problem by allotting pod IPs from a subnet separate from the subnet hosting the AKS cluster. It offers the following benefits:
aks Tutorial Kubernetes App Update https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/aks/tutorial-kubernetes-app-update.md
Title: Kubernetes on Azure tutorial - Update an application
description: In this Azure Kubernetes Service (AKS) tutorial, you learn how to update an existing application deployment to AKS with a new version of the application code. Previously updated : 01/12/2021 Last updated : 05/24/2021 -+ #Customer intent: As a developer, I want to learn how to update an existing application deployment in an Azure Kubernetes Service (AKS) cluster so that I can maintain the application lifecycle.
In previous tutorials, an application was packaged into a container image. This
An application repository was also cloned that includes the application source code, and a pre-created Docker Compose file used in this tutorial. Verify that you've created a clone of the repo, and have changed directories into the cloned directory. If you haven't completed these steps, and want to follow along, start with [Tutorial 1 ΓÇô Create container images][aks-tutorial-prepare-app].
+### [Azure CLI](#tab/azure-cli)
+ This tutorial requires that you're running the Azure CLI version 2.0.53 or later. Run `az --version` to find the version. If you need to install or upgrade, see [Install Azure CLI][azure-cli-install].
+### [Azure PowerShell](#tab/azure-powershell)
+
+This tutorial requires that you're running Azure PowerShell version 5.9.0 or later. Run `Get-InstalledModule -Name Az` to find the version. If you need to install or upgrade, see [Install Azure PowerShell][azure-powershell-install].
+++ ## Update an application Let's make a change to the sample application, then update the version already deployed to your AKS cluster. Make sure that you're in the cloned *azure-voting-app-redis* directory. The sample application source code can then be found inside the *azure-vote* directory. Open the *config_file.cfg* file with an editor, such as `vi`:
The updated values provided in the *config_file.cfg* file are displayed in your
## Tag and push the image
+### [Azure CLI](#tab/azure-cli)
+ To correctly use the updated image, tag the *azure-vote-front* image with the login server name of your ACR registry. Get the login server name with the [az acr list](/cli/azure/acr) command: ```azurecli az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table ```
+### [Azure PowerShell](#tab/azure-powershell)
+
+To correctly use the updated image, tag the *azure-vote-front* image with the login server name of your ACR registry. Get the login server name with the [Get-AzContainerRegistry][get-azcontainerregistry] cmdlet:
+
+```azurepowershell
+(Get-AzContainerRegistry -ResourceGroupName myResourceGroup -Name <acrName>).LoginServer
+```
++++ Use [docker tag][docker-tag] to tag the image. Replace `<acrLoginServer>` with your ACR login server name or public registry hostname, and update the image version to *:v2* as follows: ```console
docker tag mcr.microsoft.com/azuredocs/azure-vote-front:v1 <acrLoginServer>/azur
Now use [docker push][docker-push] to upload the image to your registry. Replace `<acrLoginServer>` with your ACR login server name.
+### [Azure CLI](#tab/azure-cli)
+ > [!NOTE] > If you experience issues pushing to your ACR registry, make sure that you are still logged in. Run the [az acr login][az-acr-login] command using the name of your Azure Container Registry that you created in the [Create an Azure Container Registry](tutorial-kubernetes-prepare-acr.md#create-an-azure-container-registry) step. For example, `az acr login --name <azure container registry name>`.
+### [Azure PowerShell](#tab/azure-powershell)
+
+> [!NOTE]
+> If you experience issues pushing to your ACR registry, make sure that you are still logged in. Run the [Connect-AzContainerRegistry][connect-azcontainerregistry] cmdlet using the name of your Azure Container Registry that you created in the [Create an Azure Container Registry](tutorial-kubernetes-prepare-acr.md#create-an-azure-container-registry) step. For example, `Connect-AzContainerRegistry -Name <azure container registry name>`.
+++ ```console docker push <acrLoginServer>/azure-vote-front:v2 ```
Advance to the next tutorial to learn how to upgrade an AKS cluster to a new ver
[aks-tutorial-upgrade]: ./tutorial-kubernetes-upgrade-cluster.md [az-acr-login]: /cli/azure/acr [azure-cli-install]: /cli/azure/install-azure-cli
+[azure-powershell-install]: /powershell/azure/install-az-ps
+[get-azcontainerregistry]: /powershell/module/az.containerregistry/get-azcontainerregistry
+[connect-azcontainerregistry]: /powershell/module/az.containerregistry/connect-azcontainerregistry
aks Tutorial Kubernetes Deploy Application https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/aks/tutorial-kubernetes-deploy-application.md
Title: Kubernetes on Azure tutorial - Deploy an application
description: In this Azure Kubernetes Service (AKS) tutorial, you deploy a multi-container application to your cluster using a custom image stored in Azure Container Registry. Previously updated : 01/12/2021 Last updated : 05/24/2021 -+ #Customer intent: As a developer, I want to learn how to deploy apps to an Azure Kubernetes Service (AKS) cluster so that I can deploy and run my own applications.
In previous tutorials, an application was packaged into a container image, this
To complete this tutorial, you need the pre-created `azure-vote-all-in-one-redis.yaml` Kubernetes manifest file. This file was downloaded with the application source code in a previous tutorial. Verify that you've cloned the repo, and that you have changed directories into the cloned repo. If you haven't done these steps, and would like to follow along, start with [Tutorial 1 ΓÇô Create container images][aks-tutorial-prepare-app].
+### [Azure CLI](#tab/azure-cli)
+ This tutorial requires that you're running the Azure CLI version 2.0.53 or later. Run `az --version` to find the version. If you need to install or upgrade, see [Install Azure CLI][azure-cli-install].
+### [Azure PowerShell](#tab/azure-powershell)
+
+This tutorial requires that you're running Azure PowerShell version 5.9.0 or later. Run `Get-InstalledModule -Name Az` to find the version. If you need to install or upgrade, see [Install Azure PowerShell][azure-powershell-install].
+++ ## Update the manifest file In these tutorials, an Azure Container Registry (ACR) instance stores the container image for the sample application. To deploy the application, you must update the image name in the Kubernetes manifest file to include the ACR login server name.
+### [Azure CLI](#tab/azure-cli)
+ Get the ACR login server name using the [az acr list][az-acr-list] command as follows: ```azurecli az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table ```
+### [Azure PowerShell](#tab/azure-powershell)
+
+Get the ACR login server name using the [Get-AzContainerRegistry][get-azcontainerregistry] cmdlet as follows:
+
+```azurepowershell
+(Get-AzContainerRegistry -ResourceGroupName myResourceGroup -Name <acrName>).LoginServer
+```
+++ The sample manifest file from the git repo cloned in the first tutorial uses the login server name of *microsoft*. Make sure that you're in the cloned *azure-voting-app-redis* directory, then open the manifest file with a text editor, such as `vi`: ```console
Advance to the next tutorial to learn how to scale a Kubernetes application and
[azure-cli-install]: /cli/azure/install-azure-cli [kubernetes-concepts]: concepts-clusters-workloads.md [kubernetes-service]: concepts-network.md#services
+[azure-powershell-install]: /powershell/azure/install-az-ps
+[get-azcontainerregistry]: /powershell/module/az.containerregistry/get-azcontainerregistry
aks Tutorial Kubernetes Deploy Cluster https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/aks/tutorial-kubernetes-deploy-cluster.md
Title: Kubernetes on Azure tutorial - Deploy a cluster
description: In this Azure Kubernetes Service (AKS) tutorial, you create an AKS cluster and use kubectl to connect to the Kubernetes master node. Previously updated : 01/12/2021 Last updated : 05/24/2021 -+ #Customer intent: As a developer or IT pro, I want to learn how to create an Azure Kubernetes Service (AKS) cluster so that I can deploy and run my own applications.
In later tutorials, the Azure Vote application is deployed to the cluster, scale
In previous tutorials, a container image was created and uploaded to an Azure Container Registry instance. If you haven't done these steps, and would like to follow along, start at [Tutorial 1 ΓÇô Create container images][aks-tutorial-prepare-app].
+### [Azure CLI](#tab/azure-cli)
+ This tutorial requires that you're running the Azure CLI version 2.0.53 or later. Run `az --version` to find the version. If you need to install or upgrade, see [Install Azure CLI][azure-cli-install].
+### [Azure PowerShell](#tab/azure-powershell)
+
+This tutorial requires that you're running Azure PowerShell version 5.9.0 or later. Run `Get-InstalledModule -Name Az` to find the version. If you need to install or upgrade, see [Install Azure PowerShell][azure-powershell-install].
+++ ## Create a Kubernetes cluster AKS clusters can use Kubernetes role-based access control (Kubernetes RBAC). These controls let you define access to resources based on roles assigned to users. Permissions are combined if a user is assigned multiple roles, and permissions can be scoped to either a single namespace or across the whole cluster. By default, the Azure CLI automatically enables Kubernetes RBAC when you create an AKS cluster.
+### [Azure CLI](#tab/azure-cli)
+ Create an AKS cluster using [az aks create][]. The following example creates a cluster named *myAKSCluster* in the resource group named *myResourceGroup*. This resource group was created in the [previous tutorial][aks-tutorial-prepare-acr] in the *eastus* region. The following example does not specify a region so the AKS cluster is also created in the *eastus* region. For more information, see [Quotas, virtual machine size restrictions, and region availability in Azure Kubernetes Service (AKS)][quotas-skus-regions] for more information about resource limits and region availability for AKS. To allow an AKS cluster to interact with other Azure resources, a cluster identity is automatically created, since you did not specify one. Here, this cluster identity is [granted the right to pull images][container-registry-integration] from the Azure Container Registry (ACR) instance you created in the previous tutorial. To execute the command successfully, you're required to have an **Owner** or **Azure account administrator** role on the Azure subscription.
az aks create \
--attach-acr <acrName> ```
+### [Azure PowerShell](#tab/azure-powershell)
+
+Create an AKS cluster using [New-AzAksCluster][new-azakscluster]. The following example creates a cluster named *myAKSCluster* in the resource group named *myResourceGroup*. This resource group was created in the [previous tutorial][aks-tutorial-prepare-acr] in the *eastus* region. The following example does not specify a region so the AKS cluster is also created in the *eastus* region. For more information, see [Quotas, virtual machine size restrictions, and region availability in Azure Kubernetes Service (AKS)][quotas-skus-regions] for more information about resource limits and region availability for AKS.
+
+To allow an AKS cluster to interact with other Azure resources, a cluster identity is automatically created, since you did not specify one. Here, this cluster identity is [granted the right to pull images][container-registry-integration] from the Azure Container Registry (ACR) instance you created in the previous tutorial. To execute the command successfully, you're required to have an **Owner** or **Azure account administrator** role on the Azure subscription.
+
+```azurepowershell
+New-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -NodeCount 2 -GenerateSshKey -AcrNameToAttach <acrName>
+```
+++ To avoid needing an **Owner** or **Azure account administrator** role, you can also manually configure a service principal to pull images from ACR. For more information, see [ACR authentication with service principals](../container-registry/container-registry-auth-service-principal.md) or [Authenticate from Kubernetes with a pull secret](../container-registry/container-registry-auth-kubernetes.md). Alternatively, you can use a [managed identity](use-managed-identity.md) instead of a service principal for easier management. After a few minutes, the deployment completes, and returns JSON-formatted information about the AKS deployment.
After a few minutes, the deployment completes, and returns JSON-formatted inform
To connect to the Kubernetes cluster from your local computer, you use [kubectl][kubectl], the Kubernetes command-line client.
+### [Azure CLI](#tab/azure-cli)
+ If you use the Azure Cloud Shell, `kubectl` is already installed. You can also install it locally using the [az aks install-cli][] command: ```azurecli az aks install-cli ```
+### [Azure PowerShell](#tab/azure-powershell)
+
+If you use the Azure Cloud Shell, `kubectl` is already installed. You can also install it locally using the [Install-AzAksKubectl][install-azakskubectl] cmdlet:
+
+```azurepowershell
+Install-AzAksKubectl
+```
++ ## Connect to cluster using kubectl
+### [Azure CLI](#tab/azure-cli)
+ To configure `kubectl` to connect to your Kubernetes cluster, use the [az aks get-credentials][] command. The following example gets credentials for the AKS cluster named *myAKSCluster* in the *myResourceGroup*: ```azurecli az aks get-credentials --resource-group myResourceGroup --name myAKSCluster ```
+### [Azure PowerShell](#tab/azure-powershell)
+
+To configure `kubectl` to connect to your Kubernetes cluster, use the [Import-AzAksCredential][import-azakscredential] cmdlet. The following example gets credentials for the AKS cluster named *myAKSCluster* in the *myResourceGroup*:
+
+```azurepowershell
+Import-AzAksCredential -ResourceGroupName myResourceGroup -Name myAKSCluster
+```
+++ To verify the connection to your cluster, run the [kubectl get nodes][kubectl-get] command to return a list of the cluster nodes: ```
Advance to the next tutorial to learn how to deploy an application to the cluste
[azure-cli-install]: /cli/azure/install-azure-cli [container-registry-integration]: ./cluster-container-registry-integration.md [quotas-skus-regions]: quotas-skus-regions.md
+[azure-powershell-install]: /powershell/azure/install-az-ps
+[new-azakscluster]: /powershell/module/az.aks/new-azakscluster
+[install-azakskubectl]: /powershell/module/az.aks/install-azakskubectl
+[import-azakscredential]: /powershell/module/az.aks/import-azakscredential
aks Tutorial Kubernetes Prepare Acr https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/aks/tutorial-kubernetes-prepare-acr.md
Title: Kubernetes on Azure tutorial - Create a container registry
description: In this Azure Kubernetes Service (AKS) tutorial, you create an Azure Container Registry instance and upload a sample application container image. Previously updated : 01/31/2021 Last updated : 05/20/2021 -+ #Customer intent: As a developer, I want to learn how to create and use a container registry so that I can deploy my own applications to Azure Kubernetes Service.
In later tutorials, this ACR instance is integrated with a Kubernetes cluster in
In the [previous tutorial][aks-tutorial-prepare-app], a container image was created for a simple Azure Voting application. If you have not created the Azure Voting app image, return to [Tutorial 1 ΓÇô Create container images][aks-tutorial-prepare-app].
+### [Azure CLI](#tab/azure-cli)
+ This tutorial requires that you're running the Azure CLI version 2.0.53 or later. Run `az --version` to find the version. If you need to install or upgrade, see [Install Azure CLI][azure-cli-install].
+### [Azure PowerShell](#tab/azure-powershell)
+
+This tutorial requires that you're running Azure PowerShell version 5.9.0 or later. Run `Get-InstalledModule -Name Az` to find the version. If you need to install or upgrade, see [Install Azure PowerShell][azure-powershell-install].
+++ ## Create an Azure Container Registry To create an Azure Container Registry, you first need a resource group. An Azure resource group is a logical container into which Azure resources are deployed and managed.
+### [Azure CLI](#tab/azure-cli)
+ Create a resource group with the [az group create][az-group-create] command. In the following example, a resource group named *myResourceGroup* is created in the *eastus* region: ```azurecli
Create an Azure Container Registry instance with the [az acr create][az-acr-crea
az acr create --resource-group myResourceGroup --name <acrName> --sku Basic ```
+### [Azure PowerShell](#tab/azure-powershell)
+
+Create a resource group with the [New-AzResourceGroup][new-azresourcegroup] cmdlet. In the following example, a resource group named *myResourceGroup* is created in the *eastus* region:
+
+```azurepowershell
+New-AzResourceGroup -Name myResourceGroup -Location eastus
+```
+
+Create an Azure Container Registry instance with the [New-AzContainerRegistry][new-azcontainerregistry] cmdlet and provide your own registry name. The registry name must be unique within Azure, and contain 5-50 alphanumeric characters. In the rest of this tutorial, `<acrName>` is used as a placeholder for the container registry name. Provide your own unique registry name. The *Basic* SKU is a cost-optimized entry point for development purposes that provides a balance of storage and throughput.
+
+```azurepowershell
+New-AzContainerRegistry -ResourceGroupName myResourceGroup -Name <acrname> -Sku Basic
+```
+++ ## Log in to the container registry
+### [Azure CLI](#tab/azure-cli)
+ To use the ACR instance, you must first log in. Use the [az acr login][az-acr-login] command and provide the unique name given to the container registry in the previous step. ```azurecli az acr login --name <acrName> ```
+### [Azure PowerShell](#tab/azure-powershell)
+
+To use the ACR instance, you must first log in. Use the [Connect-AzContainerRegistry][connect-azcontainerregistry] cmdlet and provide the unique name given to the container registry in the previous step.
+
+```azurepowershell
+Connect-AzContainerRegistry -Name <acrName>
+```
+++ The command returns a *Login Succeeded* message once completed. ## Tag a container image
tiangolo/uwsgi-nginx-flask python3.6 a16ce562e863
To use the *azure-vote-front* container image with ACR, the image needs to be tagged with the login server address of your registry. This tag is used for routing when pushing container images to an image registry.
+### [Azure CLI](#tab/azure-cli)
+ To get the login server address, use the [az acr list][az-acr-list] command and query for the *loginServer* as follows: ```azurecli az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table ```
+### [Azure PowerShell](#tab/azure-powershell)
+
+To get the login server address, use the [Get-AzContainerRegistry][get-azcontainerregistry] cmdlet and query for the *loginServer* as follows:
+
+```azurepowershell
+(Get-AzContainerRegistry -ResourceGroupName myResourceGroup -Name <acrName>).LoginServer
+```
++ Now, tag your local *azure-vote-front* image with the *acrLoginServer* address of the container registry. To indicate the image version, add *:v1* to the end of the image name:
It may take a few minutes to complete the image push to ACR.
## List images in registry
+### [Azure CLI](#tab/azure-cli)
+ To return a list of images that have been pushed to your ACR instance, use the [az acr repository list][az-acr-repository-list] command. Provide your own `<acrName>` as follows: ```azurecli
Result
v1 ```
+### [Azure PowerShell](#tab/azure-powershell)
+
+To return a list of images that have been pushed to your ACR instance, use the [Get-AzContainerRegistryManifest][get-azcontainerregistrymanifest] cmdlet. Provide your own `<acrName>` as follows:
+
+```azurepowershell
+Get-AzContainerRegistryManifest -RegistryName <acrName> -RepositoryName azure-vote-front
+```
+
+The following example output lists the *azure-vote-front* image as available in the registry:
+
+```output
+Registry ImageName ManifestsAttributes
+-- -
+<acrName> azure-vote-front {Microsoft.Azure.Commands.ContainerRegistry.Models.PSManifestAttributeBase}
+```
+
+To see the tags for a specific image, use the [Get-AzContainerRegistryTag][get-azcontainerregistrytag] cmdlet as follows:
+
+```azurepowershell
+Get-AzContainerRegistryTag -RegistryName <acrName> -RepositoryName azure-vote-front
+```
+
+The following example output shows the *v1* image tagged in a previous step:
+
+```output
+Registry ImageName Tags
+-- -
+<acrName> azure-vote-front {v1}
+```
+++ You now have a container image that is stored in a private Azure Container Registry instance. This image is deployed from ACR to a Kubernetes cluster in the next tutorial. ## Next steps
Advance to the next tutorial to learn how to deploy a Kubernetes cluster in Azur
[azure-cli-install]: /cli/azure/install-azure-cli [aks-tutorial-deploy-cluster]: ./tutorial-kubernetes-deploy-cluster.md [aks-tutorial-prepare-app]: ./tutorial-kubernetes-prepare-app.md
+[azure-powershell-install]: /powershell/azure/install-az-ps
+[new-azresourcegroup]: /powershell/module/az.resources/new-azresourcegroup
+[new-azcontainerregistry]: /powershell/module/az.containerregistry/new-azcontainerregistry
+[connect-azcontainerregistry]: /powershell/module/az.containerregistry/connect-azcontainerregistry
+[get-azcontainerregistry]: /powershell/module/az.containerregistry/get-azcontainerregistry
+[get-azcontainerregistrymanifest]: /powershell/module/az.containerregistry/get-azcontainerregistrymanifest
+[get-azcontainerregistrytag]: /powershell/module/az.containerregistry/get-azcontainerregistrytag
aks Tutorial Kubernetes Scale https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/aks/tutorial-kubernetes-scale.md
Title: Kubernetes on Azure tutorial - Scale Application
description: In this Azure Kubernetes Service (AKS) tutorial, you learn how to scale nodes and pods in Kubernetes, and implement horizontal pod autoscaling. Previously updated : 01/12/2021 Last updated : 05/24/2021 -+ #Customer intent: As a developer or IT pro, I want to learn how to scale my applications in an Azure Kubernetes Service (AKS) cluster so that I can provide high availability or respond to customer demand and application load.
In later tutorials, the Azure Vote application is updated to a new version.
In previous tutorials, an application was packaged into a container image. This image was uploaded to Azure Container Registry, and you created an AKS cluster. The application was then deployed to the AKS cluster. If you haven't done these steps, and would like to follow along, start with [Tutorial 1 ΓÇô Create container images][aks-tutorial-prepare-app].
+### [Azure CLI](#tab/azure-cli)
+ This tutorial requires that you're running the Azure CLI version 2.0.53 or later. Run `az --version` to find the version. If you need to install or upgrade, see [Install Azure CLI][azure-cli-install].
+### [Azure PowerShell](#tab/azure-powershell)
+
+This tutorial requires that you're running Azure PowerShell version 5.9.0 or later. Run `Get-InstalledModule -Name Az` to find the version. If you need to install or upgrade, see [Install Azure PowerShell][azure-powershell-install].
+++ ## Manually scale pods When the Azure Vote front-end and Redis instance were deployed in previous tutorials, a single replica was created. To see the number and state of pods in your cluster, use the [kubectl get][kubectl-get] command as follows:
azure-vote-front-3309479140-qphz8 1/1 Running 0 3m
## Autoscale pods
+### [Azure CLI](#tab/azure-cli)
+ Kubernetes supports [horizontal pod autoscaling][kubernetes-hpa] to adjust the number of pods in a deployment depending on CPU utilization or other select metrics. The [Metrics Server][metrics-server] is used to provide resource utilization to Kubernetes, and is automatically deployed in AKS clusters versions 1.10 and higher. To see the version of your AKS cluster, use the [az aks show][az-aks-show] command, as shown in the following example: ```azurecli az aks show --resource-group myResourceGroup --name myAKSCluster --query kubernetesVersion --output table ```
+### [Azure PowerShell](#tab/azure-powershell)
+
+Kubernetes supports [horizontal pod autoscaling][kubernetes-hpa] to adjust the number of pods in a deployment depending on CPU utilization or other select metrics. The [Metrics Server][metrics-server] is used to provide resource utilization to Kubernetes, and is automatically deployed in AKS clusters versions 1.10 and higher. To see the version of your AKS cluster, use the [Get-AzAksCluster][get-azakscluster] cmdlet, as shown in the following example:
+
+```azurepowershell
+(Get-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster).KubernetesVersion
+```
+++ > [!NOTE] > If your AKS cluster is less than *1.10*, the Metrics Server is not automatically installed. Metrics Server installation manifests are available as a `components.yaml` asset on Metrics Server releases, which means you can install them via a url. To learn more about these YAML definitions, see the [Deployment][metrics-server-github] section of the readme.
->
+>
> Example installation: > ```console > kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml
If you created your Kubernetes cluster using the commands in the previous tutori
The following example increases the number of nodes to three in the Kubernetes cluster named *myAKSCluster*. The command takes a couple of minutes to complete.
+### [Azure CLI](#tab/azure-cli)
+ ```azurecli az aks scale --resource-group myResourceGroup --name myAKSCluster --node-count 3 ```
When the cluster has successfully scaled, the output is similar to following exa
} ```
+### [Azure PowerShell](#tab/azure-powershell)
+
+```azurepowershell
+Get-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster | Set-AzAksCluster -NodeCount 3
+```
+
+When the cluster has successfully scaled, the output is similar to following example:
+
+```output
+ProvisioningState : Succeeded
+MaxAgentPools : 100
+KubernetesVersion : 1.19.9
+DnsPrefix : myAKSCluster
+Fqdn : myakscluster-000a0aa0.hcp.eastus.azmk8s.io
+PrivateFQDN :
+AgentPoolProfiles : {default}
+WindowsProfile : Microsoft.Azure.Commands.Aks.Models.PSManagedClusterWindowsProfile
+AddonProfiles : {}
+NodeResourceGroup : MC_myresourcegroup_myAKSCluster_eastus
+EnableRBAC : True
+EnablePodSecurityPolicy :
+NetworkProfile : Microsoft.Azure.Commands.Aks.Models.PSContainerServiceNetworkProfile
+AadProfile :
+ApiServerAccessProfile :
+Identity :
+LinuxProfile : Microsoft.Azure.Commands.Aks.Models.PSContainerServiceLinuxProfile
+ServicePrincipalProfile : Microsoft.Azure.Commands.Aks.Models.PSContainerServiceServicePrincipalProfile
+Id : /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myresourcegroup/providers/Micros
+ oft.ContainerService/managedClusters/myAKSCluster
+Name : myAKSCluster
+Type : Microsoft.ContainerService/ManagedClusters
+Location : eastus
+Tags : {}
+```
+++ ## Next steps In this tutorial, you used different scaling features in your Kubernetes cluster. You learned how to:
Advance to the next tutorial to learn how to update application in Kubernetes.
[az-aks-scale]: /cli/azure/aks#az_aks_scale [azure-cli-install]: /cli/azure/install-azure-cli [az-aks-show]: /cli/azure/aks#az_aks_show
+[azure-powershell-install]: /powershell/azure/install-az-ps
+[get-azakscluster]: /powershell/module/az.aks/get-azakscluster
aks Tutorial Kubernetes Upgrade Cluster https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/aks/tutorial-kubernetes-upgrade-cluster.md
Title: Kubernetes on Azure tutorial - Upgrade a cluster
description: In this Azure Kubernetes Service (AKS) tutorial, you learn how to upgrade an existing AKS cluster to the latest available Kubernetes version. Previously updated : 01/12/2021 Last updated : 05/24/2021 -+ #Customer intent: As a developer or IT pro, I want to learn how to upgrade an Azure Kubernetes Service (AKS) cluster so that I can use the latest version of Kubernetes and features.
In this tutorial, part seven of seven, a Kubernetes cluster is upgraded. You lea
In previous tutorials, an application was packaged into a container image. This image was uploaded to Azure Container Registry, and you created an AKS cluster. The application was then deployed to the AKS cluster. If you have not done these steps, and would like to follow along, start with [Tutorial 1 ΓÇô Create container images][aks-tutorial-prepare-app].
+### [Azure CLI](#tab/azure-cli)
+ This tutorial requires that you are running the Azure CLI version 2.0.53 or later. Run `az --version` to find the version. If you need to install or upgrade, see [Install Azure CLI][azure-cli-install].
+### [Azure PowerShell](#tab/azure-powershell)
+
+This tutorial requires that you're running Azure PowerShell version 5.9.0 or later. Run `Get-InstalledModule -Name Az` to find the version. If you need to install or upgrade, see [Install Azure PowerShell][azure-powershell-install].
+++ ## Get available cluster versions
+### [Azure CLI](#tab/azure-cli)
+ Before you upgrade a cluster, use the [az aks get-upgrades][] command to check which Kubernetes releases are available for upgrade: ```azurecli
In the following example, the current version is *1.18.10*, and the available ve
} ```
+### [Azure PowerShell](#tab/azure-powershell)
+
+Before you upgrade a cluster, use the [Get-AzAksCluster][get-azakscluster] cmdlet to determine which Kubernetes version you're running and what region it resides in:
+
+```azurepowershell
+Get-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster |
+ Select-Object -Property Name, KubernetesVersion, Location
+```
+
+In the following example, the current version is *1.19.9*:
+
+```output
+Name KubernetesVersion Location
+- -- --
+myAKSCluster 1.19.9 eastus
+```
+
+Use the [Get-AzAksVersion][get-azaksversion] cmdlet to determine which Kubernetes upgrade releases are available in the region where your AKS cluster resides:
+
+```azurepowershell
+Get-AzAksVersion -Location eastus | Where-Object OrchestratorVersion -gt 1.19.9
+```
+
+The available versions are shown under *OrchestratorVersion*.
+
+```output
+OrchestratorType : Kubernetes
+OrchestratorVersion : 1.20.2
+DefaultProperty :
+IsPreview :
+Upgrades : {Microsoft.Azure.Commands.Aks.Models.PSOrchestratorProfile}
+
+OrchestratorType : Kubernetes
+OrchestratorVersion : 1.20.5
+DefaultProperty :
+IsPreview :
+Upgrades : {}
+```
+++ ## Upgrade a cluster To minimize disruption to running applications, AKS nodes are carefully cordoned and drained. In this process, the following steps are performed:
To minimize disruption to running applications, AKS nodes are carefully cordoned
1. When the new node is ready and joined to the cluster, the Kubernetes scheduler begins to run pods on it. 1. The old node is deleted, and the next node in the cluster begins the cordon and drain process.
+### [Azure CLI](#tab/azure-cli)
+ Use the [az aks upgrade][] command to upgrade the AKS cluster. ```azurecli
The following condensed example output shows the result of upgrading to *1.19.1*
} ```
+### [Azure PowerShell](#tab/azure-powershell)
+
+Use the [Set-AzAksCluster][set-azakscluster] cmdlet to upgrade the AKS cluster.
+
+```azurepowershell
+Set-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -KubernetesVersion <KUBERNETES_VERSION>
+```
+
+> [!NOTE]
+> You can only upgrade one minor version at a time. For example, you can upgrade from *1.14.x* to *1.15.x*, but cannot upgrade from *1.14.x* to *1.16.x* directly. To upgrade from *1.14.x* to *1.16.x*, first upgrade from *1.14.x* to *1.15.x*, then perform another upgrade from *1.15.x* to *1.16.x*.
+
+The following condensed example output shows the result of upgrading to *1.19.9*. Notice the *kubernetesVersion* now reports *1.20.2*:
+
+```output
+ProvisioningState : Succeeded
+MaxAgentPools : 100
+KubernetesVersion : 1.20.2
+PrivateFQDN :
+AgentPoolProfiles : {default}
+Name : myAKSCluster
+Type : Microsoft.ContainerService/ManagedClusters
+Location : eastus
+Tags : {}
+```
+++ ## Validate an upgrade
+### [Azure CLI](#tab/azure-cli)
+ Confirm that the upgrade was successful using the [az aks show][] command as follows: ```azurecli
Name Location ResourceGroup KubernetesVersion ProvisioningStat
myAKSCluster eastus myResourceGroup 1.19.1 Succeeded myaksclust-myresourcegroup-19da35-bd54a4be.hcp.eastus.azmk8s.io ```
+### [Azure PowerShell](#tab/azure-powershell)
+
+Confirm that the upgrade was successful using the [Get-AzAksCluster][get-azakscluster] cmdlet as follows:
+
+```azurepowershell
+Get-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster |
+ Select-Object -Property Name, Location, KubernetesVersion, ProvisioningState
+```
+
+The following example output shows the AKS cluster runs *KubernetesVersion 1.20.2*:
+
+```output
+Name Location KubernetesVersion ProvisioningState
+- -- -- --
+myAKSCluster eastus 1.20.2 Succeeded
+```
+++ ## Delete the cluster
+### [Azure CLI](#tab/azure-cli)
+ As this tutorial is the last part of the series, you may want to delete the AKS cluster. As the Kubernetes nodes run on Azure virtual machines (VMs), they continue to incur charges even if you don't use the cluster. Use the [az group delete][az-group-delete] command to remove the resource group, container service, and all related resources. ```azurecli-interactive az group delete --name myResourceGroup --yes --no-wait ```
+### [Azure PowerShell](#tab/azure-powershell)
+
+As this tutorial is the last part of the series, you may want to delete the AKS cluster. As the Kubernetes nodes run on Azure virtual machines (VMs), they continue to incur charges even if you don't use the cluster. Use the [Remove-AzResourceGroup][remove-azresourcegroup] cmdlet to remove the resource group, container service, and all related resources.
+
+```azurepowershell-interactive
+Remove-AzResourceGroup -Name myResourceGroup
+```
++ > [!NOTE] > When you delete the cluster, the Azure Active Directory service principal used by the AKS cluster is not removed. For steps on how to remove the service principal, see [AKS service principal considerations and deletion][sp-delete]. If you used a managed identity, the identity is managed by the platform and does not require you to provision or rotate any secrets.
For more information on AKS, see [AKS overview][aks-intro]. For guidance on a cr
[az-group-delete]: /cli/azure/group#az_group_delete [sp-delete]: kubernetes-service-principal.md#additional-considerations [aks-solution-guidance]: /azure/architecture/reference-architectures/containers/aks-start-here?WT.mc_id=AKSDOCSPAGE
+[azure-powershell-install]: /powershell/azure/install-az-ps
+[get-azakscluster]: /powershell/module/az.aks/get-azakscluster
+[get-azaksversion]: /powershell/module/az.aks/get-azaksversion
+[set-azakscluster]: /powershell/module/az.aks/set-azakscluster
+[remove-azresourcegroup]: /powershell/module/az.resources/remove-azresourcegroup
app-service App Service Web Tutorial Custom Domain https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/app-service/app-service-web-tutorial-custom-domain.md
Title: 'Tutorial: Map existing custom DNS name' description: Learn how to add an existing custom DNS domain name (vanity domain) to a web app, mobile app back end, or API app in Azure App Service.
-keywords: app service, azure app service, domain mapping, domain name, existing domain, hostname
+keywords: app service, azure app service, domain mapping, domain name, existing domain, hostname, vanity domain
ms.assetid: dc446e0e-0958-48ea-8d99-441d2b947a7c Previously updated : 08/25/2020 Last updated : 05/27/2021 adobe-target: true adobe-target-activity: DocsExpΓÇô386541ΓÇôA/BΓÇôEnhanced-Readability-QuickstartsΓÇô2.19.2021
adobe-target-content: ./app-service-web-tutorial-custom-domain-uiex
[Azure App Service](overview.md) provides a highly scalable, self-patching web hosting service. This tutorial shows you how to map an existing custom Domain Name System (DNS) name to App Service.
-![Screenshot that shows the Azure portal navigation to an Azure app.](./media/app-service-web-tutorial-custom-domain/app-with-custom-dns.png)
- In this tutorial, you learn how to: > [!div class="checklist"]
-> * Map a subdomain (for example, `www.contoso.com`) by using a CNAME record.
-> * Map a root domain (for example, `contoso.com`) by using an A record.
-> * Map a wildcard domain (for example, `*.contoso.com`) by using a CNAME record.
+> * Map a subdomain by using a [CNAME record](https://en.wikipedia.org/wiki/CNAME_record).
+> * Map a root domain by using an [A record](https://en.wikipedia.org/wiki/List_of_DNS_record_types#A).
+> * Map a [wildcard domain](https://en.wikipedia.org/wiki/Wildcard_DNS_record) by using a CNAME record.
> * Redirect the default URL to a custom directory.
-> * Automate domain mapping with scripts.
-## Prerequisites
-To complete this tutorial:
+## 1. Prepare your environment
* [Create an App Service app](./index.yml), or use an app that you created for another tutorial.
-* Purchase a domain name, and make sure you have access to the DNS registry for your domain provider (such as GoDaddy).
-
- For example, to add DNS entries for `contoso.com` and `www.contoso.com`, you must be able to configure the DNS settings for the `contoso.com` root domain.
+* Make sure you can edit DNS records for your custom domain. If you don't have a custom domain yet, you can [purchase an App Service domain](manage-custom-dns-buy-domain.md).
- > [!NOTE]
- > If you don't have an existing domain name, consider [purchasing a domain by using the Azure portal](manage-custom-dns-buy-domain.md).
+ > [!NOTE]
+ > To edit DNS records, you need access to the DNS registry for your domain provider, such as GoDaddy. For example, to add DNS entries for `contoso.com` and `www.contoso.com`, you must be able to configure the DNS settings for the `contoso.com` root domain.
-## Prepare the app
-To map a custom DNS name to a web app, the web app's [App Service plan](https://azure.microsoft.com/pricing/details/app-service/) must be a paid tier (Shared, Basic, Standard, Premium, or Consumption for Azure Functions). In this step, you make sure that the App Service app is in the supported pricing tier.
+## 2. Prepare the app
+To map a custom DNS name to a web app, the web app's [App Service plan](overview-hosting-plans.md) must be a paid tier (not **Free (F1)**).
- > [!NOTE]
- > Removing or adding a custom domain to your web app will cause your site to be restarted.
-### Sign in to Azure
+#### Sign in to Azure
Open the [Azure portal](https://portal.azure.com), and sign in with your Azure account.
-### Select the app in the Azure portal
+#### Select the app in the Azure portal
1. Search for and select **App Services**.
Open the [Azure portal](https://portal.azure.com), and sign in with your Azure a
![Screenshot showing portal navigation to an Azure app.](./media/app-service-web-tutorial-custom-domain/select-app.png)
-You see the management page of the App Service app.
+ You see the management page of the App Service app.
<a name="checkpricing" aria-hidden="true"></a>
-### Check the pricing tier
+#### Check the pricing tier
1. In the left pane of the app page, scroll to the **Settings** section and select **Scale up (App Service plan)**.
You see the management page of the App Service app.
1. The app's current tier is highlighted by a blue border. Check to make sure that the app isn't in the **F1** tier. Custom DNS isn't supported in the **F1** tier.
- ![Screenshot that shows recommended pricing tiers.](./media/app-service-web-tutorial-custom-domain/check-pricing-tier.png)
+ ![Screenshot that shows Recommended pricing tiers.](./media/app-service-web-tutorial-custom-domain/check-pricing-tier.png)
-1. If the App Service plan isn't in the **F1** tier, close the **Scale up** page and skip to [Map a CNAME record](#map-a-cname-record).
+1. If the App Service plan isn't in the **F1** tier, close the **Scale up** page and skip to [3. Get a domain verification ID](#3-get-a-domain-verification-id).
<a name="scaleup" aria-hidden="true"></a>
-### Scale up the App Service plan
+#### Scale up the App Service plan
1. Select any of the non-free tiers (**D1**, **B1**, **B2**, **B3**, or any tier in the **Production** category). For additional options, select **See additional options**.
You see the management page of the App Service app.
![Screenshot that shows the scale operation confirmation.](./media/app-service-web-tutorial-custom-domain/scale-notification.png)
-<a name="cname" aria-hidden="true"></a>
-
-## Get a domain verification ID
-
-To add a custom domain to your app, you need to verify your ownership of the domain by adding a verification ID as a TXT record with your domain provider. In the left pane of your app page, select **Custom domains**. Copy the ID in the **Custom Domain Verification ID** box in the **Custom Domains** page for the next step.
-
-![Screenshot that shows the ID in the Custom Domain Verification ID box.](./media/app-service-web-tutorial-custom-domain/get-custom-domain-verification-id.png)
-> [!WARNING]
-> Adding domain verification IDs to your custom domain can prevent dangling DNS entries and help to avoid subdomain takeovers. For custom domains you previously configured without this verification ID, you should protect them from the same risk by adding the verification ID to your DNS record. For more information on this common high-severity threat, see [Subdomain takeover](../security/fundamentals/subdomain-takeover.md).
+## 3. Get a domain verification ID
-## Map your domain
+To add a custom domain to your app, you need to verify your ownership of the domain by adding a verification ID as a TXT record with your domain provider.
-You can use either a CNAME record or an A record to map a custom DNS name to App Service. Follow the respective steps:
+1. In the left pane of your app page, select **Custom domains**.
+1. Copy the ID in the **Custom Domain Verification ID** box in the **Custom Domains** page for the next step.
-- [Map a CNAME record](#map-a-cname-record)-- [Map an A record](#map-an-a-record)-- [Map a wildcard domain (with a CNAME record)](#map-a-wildcard-domain)
+ ![Screenshot that shows the ID in the Custom Domain Verification ID box.](./media/app-service-web-tutorial-custom-domain/get-custom-domain-verification-id.png)
-> [!NOTE]
-> You should use CNAME records for all custom DNS names except root domains (for example, `contoso.com`). For root domains, use A records.
-
-### Map a CNAME record
-
-In the tutorial example, you add a CNAME record for the `www` subdomain (for example, `www.contoso.com`).
+ > [!WARNING]
+ > Adding domain verification IDs to your custom domain can prevent dangling DNS entries and help to avoid subdomain takeovers. For custom domains you previously configured without this verification ID, you should protect them from the same risk by adding the verification ID to your DNS record. For more information on this common high-severity threat, see [Subdomain takeover](../security/fundamentals/subdomain-takeover.md).
+
+<a name="info"></a>
-If you have a subdomain other than `www`, replace `www` with your subdomain (for example, with `sub` if your custom domain is `sub.constoso.com`).
+3. **(A record only)** To map an [A record](https://en.wikipedia.org/wiki/List_of_DNS_record_types#A), you need the app's external IP address. In the **Custom domains** page, copy the value of **IP address**.
-#### Access DNS records with a domain provider
+ ![Screenshot that shows portal navigation to an Azure app.](./media/app-service-web-tutorial-custom-domain/mapping-information.png)
-#### Create the CNAME record
+## 4. Create the DNS records
-Map a subdomain to the app's default domain name (`<app-name>.azurewebsites.net`, where `<app-name>` is the name of your app). To create a CNAME mapping for the `www` subdomain, create two records:
+1. Sign in to the website of your domain provider.
-| Record type | Host | Value | Comments |
-| - | - | - |
-| CNAME | `www` | `<app-name>.azurewebsites.net` | The domain mapping itself. |
-| TXT | `asuid.www` | [The verification ID you got earlier](#get-a-domain-verification-id) | App Service accesses the `asuid.<subdomain>` TXT record to verify your ownership of the custom domain. |
+ > [!NOTE]
+ > If you like, you can use Azure DNS to manage DNS records for your domain and configure a custom DNS name for Azure App Service. For more information, see [Tutorial: Host your domain in Azure DNS](../dns/dns-delegate-domain-azure-dns.md).
-After you add the CNAME and TXT records, the DNS records page looks like the following example:
+1. Find the page for managing DNS records.
-![Screenshot that shows the portal navigation to an Azure app.](./media/app-service-web-tutorial-custom-domain/cname-record.png)
+ > [!NOTE]
+ > Every domain provider has its own DNS records interface, so consult the provider's documentation. Look for areas of the site labeled **Domain Name**, **DNS**, or **Name Server Management**.
+ >
+ > Often, you can find the DNS records page by viewing your account information and then looking for a link such as **My domains**. Go to that page, and then look for a link that's named something like **Zone file**, **DNS Records**, or **Advanced configuration**.
-#### Enable the CNAME record mapping in Azure
+ The following screenshot is an example of a DNS records page:
-1. In the left pane of the app page in the Azure portal, select **Custom domains**.
+ ![Screenshot that shows an example DNS records page.](../../includes/media/app-service-web-access-dns-records-no-h/example-record-ui.png)
- ![Screenshot that shows the custom domains menu.](./media/app-service-web-tutorial-custom-domain/custom-domain-menu.png)
+1. Select **Add** or the appropriate widget to create a record.
-1. On the **Custom domains** page of the app, add the fully qualified custom DNS name (`www.contoso.com`) to the list.
+1. Select the type of record to create and follow the instructions. You can use either a [CNAME record](https://en.wikipedia.org/wiki/CNAME_record) or an [A record](https://en.wikipedia.org/wiki/List_of_DNS_record_types#A) to map a custom DNS name to App Service.
-1. Select **Add custom domain**.
+ > [!NOTE]
+ > **Which record to choose**
+ >
+ > * To map the root domain (for example, `contoso.com`), use an [A record](https://en.wikipedia.org/wiki/List_of_DNS_record_types#A). Don't use the CNAME record for the root record (for information, see [RFC 1912 Section 2.4](https://datatracker.ietf.org/doc/html/rfc1912#section-2.4)).
+ > * To map a subdomain (for example, `www.contoso.com`), use a [CNAME record](https://en.wikipedia.org/wiki/CNAME_record).
+ > * You can map a subdomain to the app's IP address directly with an A record, but it's possible for [the IP address to change](overview-inbound-outbound-ips.md#when-inbound-ip-changes). The CNAME maps to the app's default hostname instead, which is less susceptible to change.
+ > * To map a [wildcard domain](https://en.wikipedia.org/wiki/Wildcard_DNS_record) (for example, `*.contoso.com`), use a CNAME record.
+
+# [CNAME](#tab/cname)
- ![Screenshot that shows the Add host name item.](./media/app-service-web-tutorial-custom-domain/add-host-name-cname.png)
+For a subdomain like `www` in `www.contoso.com`, create two records according to the following table:
-1. Type the fully qualified domain name that you added a CNAME record for, such as `www.contoso.com`.
+| Record type | Host | Value | Comments |
+| - | - | - |
+| CNAME | `<subdomain>` (for example, `www`) | `<app-name>.azurewebsites.net` | The domain mapping itself. |
+| TXT | `asuid.<subdomain>` (for example, `asuid.www`) | [The verification ID you got earlier](#3-get-a-domain-verification-id) | App Service accesses the `asuid.<subdomain>` TXT record to verify your ownership of the custom domain. |
-1. Select **Validate**. The **Add custom domain** page appears.
+![Screenshot that shows the portal navigation to an Azure app.](./media/app-service-web-tutorial-custom-domain/cname-record.png)
+
+# [A](#tab/a)
-1. Make sure that **Hostname record type** is set to **CNAME (www\.example.com or any subdomain)**. Select **Add custom domain**.
+- For a root domain like `contoso.com`, create two records according to the following table:
- ![Screenshot that shows the Add custom domain button.](./media/app-service-web-tutorial-custom-domain/validate-domain-name-cname.png)
+ | Record type | Host | Value | Comments |
+ | - | - | - |
+ | A | `@` | IP address from [Copy the app's IP address](#3-get-a-domain-verification-id) | The domain mapping itself (`@` typically represents the root domain). |
+ | TXT | `asuid` | [The verification ID you got earlier](#3-get-a-domain-verification-id) | App Service accesses the `asuid.<subdomain>` TXT record to verify your ownership of the custom domain. For the root domain, use `asuid`. |
+
+ ![Screenshot that shows a DNS records page.](./media/app-service-web-tutorial-custom-domain/a-record.png)
+
+- To map a subdomain like `www.contoso.com` with an A record instead of a recommended CNAME record, your A record and TXT record should look like the following table instead:
- It might take some time for the new custom domain to be reflected in the app's **Custom Domains** page. Refresh the browser to update the data.
+ |Record type|Host|Value|
+ | | | |
+ |A|<subdomain> (for example, www)|IP address from Copy the app's IP address|
+ |TXT|asuid.<subdomain> (for example, asuid.www)|The verification ID you got earlier|
+
+# [Wildcard (CNAME)](#tab/wildcard)
- ![Screenshot that shows adding the CNAME record.](./media/app-service-web-tutorial-custom-domain/cname-record-added.png)
+For a wildcard name like `*` in `*.contoso.com`, create two records according to the following table:
- > [!NOTE]
- > A warning label for your custom domain means that it's not yet bound to a TLS/SSL certificate. Any HTTPS request from a browser to your custom domain will receive an error or warning, depending on the browser. To add a TLS binding, see [Secure a custom DNS name with a TLS/SSL binding in Azure App Service](configure-ssl-bindings.md).
+| Record type | Host | Value | Comments |
+| - | - | - |
+| CNAME | `*` | `<app-name>.azurewebsites.net` | The domain mapping itself. |
+| TXT | `asuid` | [The verification ID you got earlier](#3-get-a-domain-verification-id) | App Service accesses the `asuid` TXT record to verify your ownership of the custom domain. |
- If you missed a step or made a typo somewhere earlier, a verification error appears at the bottom of the page.
+![Screenshot that shows the navigation to an Azure app.](./media/app-service-web-tutorial-custom-domain/cname-record-wildcard.png)
+
+--
- ![Screenshot that shows a verification error.](./media/app-service-web-tutorial-custom-domain/verification-error-cname.png)
+> [!NOTE]
+> For certain providers, such as GoDaddy, changes to DNS records don't become effective until you select a separate **Save Changes** link.
<a name="a" aria-hidden="true"></a>
-### Map an A record
-
-In the tutorial example, you add an A record for the root domain (for example, `contoso.com`).
+<a name="enable-a" aria-hidden="true"></a>
-<a name="info"></a>
+<a name="wildcard" aria-hidden="true"></a>
-#### Copy the app's IP address
+<a name="cname" aria-hidden="true"></a>
-To map an A record, you need the app's external IP address. You can find this IP address on the app's **Custom Domains** page in the Azure portal.
+## 5. Enable the mapping in your app
1. In the left pane of the app page in the Azure portal, select **Custom domains**.
- ![Screenshot that shows the custom domains menu.](./media/app-service-web-tutorial-custom-domain/custom-domain-menu.png)
-
-1. On the **Custom Domains** page, copy the app's IP address.
+ ![Screenshot that shows the Custom domains menu.](./media/app-service-web-tutorial-custom-domain/custom-domain-menu.png)
- ![Screenshot that shows portal navigation to an Azure app.](./media/app-service-web-tutorial-custom-domain/mapping-information.png)
-
-#### Access DNS records with a domain provider
+1. Select **Add custom domain**.
+ ![Screenshot that shows the Add host name item.](./media/app-service-web-tutorial-custom-domain/add-host-name-cname.png)
-#### Create the A record
+# [CNAME](#tab/cname)
-To map an A record to an app, usually to the root domain, create two records:
+3. Type the fully qualified domain name that you added a CNAME record for, such as `www.contoso.com`.
-| Record type | Host | Value | Comments |
-| - | - | - |
-| A | `@` | IP address from [Copy the app's IP address](#info) | The domain mapping itself (`@` typically represents the root domain). |
-| TXT | `asuid` | [The verification ID you got earlier](#get-a-domain-verification-id) | App Service accesses the `asuid.<subdomain>` TXT record to verify your ownership of the custom domain. For the root domain, use `asuid`. |
+1. Select **Validate**. The **Add custom domain** page appears.
-> [!NOTE]
-> To add a subdomain (like `www.contoso.com`) by using an A record instead of a recommended [CNAME record](#map-a-cname-record), your A record and TXT record should look like the following table instead:
->
-> | Record type | Host | Value |
-> | - | - | - |
-> | A | `www` | IP address from [Copy the app's IP address](#info) |
-> | TXT | `asuid.www` | [The verification ID you got earlier](#get-a-domain-verification-id) |
->
+1. Make sure that **Hostname record type** is set to **CNAME (www\.example.com or any subdomain)**. Select **Add custom domain**.
-After the records are added, the DNS records page looks like the following example:
+ ![Screenshot that shows the Add custom domain button.](./media/app-service-web-tutorial-custom-domain/validate-domain-name-cname.png)
-![Screenshot that shows a DNS records page.](./media/app-service-web-tutorial-custom-domain/a-record.png)
+ It might take some time for the new custom domain to be reflected in the app's **Custom Domains** page. Refresh the browser to update the data.
-<a name="enable-a" aria-hidden="true"></a>
+ ![Screenshot that shows adding the CNAME record.](./media/app-service-web-tutorial-custom-domain/cname-record-added.png)
-#### Enable the A record mapping in the app
+ > [!NOTE]
+ > A warning label for your custom domain means that it's not yet bound to a TLS/SSL certificate. Any HTTPS request from a browser to your custom domain will receive an error or warning, depending on the browser. To add a TLS binding, see [Secure a custom DNS name with a TLS/SSL binding in Azure App Service](configure-ssl-bindings.md).
-Back in the app's **Custom Domains** page in the Azure portal, add the fully qualified custom DNS name (for example, `contoso.com`) to the list.
+ If you missed a step or made a typo somewhere earlier, a verification error appears at the bottom of the page.
-1. Select **Add custom domain**.
+ ![Screenshot that shows a verification error.](./media/app-service-web-tutorial-custom-domain/verification-error-cname.png)
- ![Screenshot that shows adding a host name.](./media/app-service-web-tutorial-custom-domain/add-host-name-cname.png)
+# [A](#tab/a)
-1. Type the fully qualified domain name that you configured the A record for, such as `contoso.com`.
+3. Type the fully qualified domain name that you configured the A record for, such as `contoso.com`.
1. Select **Validate**. The **Add custom domain** page is shown.
Back in the app's **Custom Domains** page in the Azure portal, add the fully qua
![Screenshot showing a verification error.](./media/app-service-web-tutorial-custom-domain/verification-error.png)
-<a name="wildcard" aria-hidden="true"></a>
-
-### Map a wildcard domain
-
-In the tutorial example, you map a [wildcard DNS name](https://en.wikipedia.org/wiki/Wildcard_DNS_record) (for example, `*.contoso.com`) to the App Service app by adding a CNAME record.
-
-#### Access DNS records with a domain provider
--
-#### Create the CNAME record
-
-Map a wildcard name `*` to the app's default domain name (`<app-name>.azurewebsites.net`, where `<app-name>` is the name of your app). To map the wildcard name, create two records:
-
-| Record type | Host | Value | Comments |
-| - | - | - |
-| CNAME | `*` | `<app-name>.azurewebsites.net` | The domain mapping itself. |
-| TXT | `asuid` | [The verification ID you got earlier](#get-a-domain-verification-id) | App Service accesses the `asuid` TXT record to verify your ownership of the custom domain. |
-
-For the `*.contoso.com` domain example, the CNAME record will map the name `*` to `<app-name>.azurewebsites.net`.
+# [Wildcard (CNAME)](#tab/wildcard)
-When the CNAME is added, the DNS records page looks like the following example:
-
-![Screenshot that shows the navigation to an Azure app.](./media/app-service-web-tutorial-custom-domain/cname-record-wildcard.png)
-
-#### Enable the CNAME record mapping in the app
-
-You can now add any subdomain that matches the wildcard name to the app (for example, `sub1.contoso.com`, `sub2.contoso.com` and `*.contoso.com` both match `*.contoso.com`).
-
-1. In the left pane of the app page in the Azure portal, select **Custom domains**.
-
- ![Screenshot that shows the custom domains menu.](./media/app-service-web-tutorial-custom-domain/custom-domain-menu.png)
-
-1. Select **Add custom domain**.
-
- ![Screenshot that shows adding a host name.](./media/app-service-web-tutorial-custom-domain/add-host-name-cname.png)
-
-1. Type a fully qualified domain name that matches the wildcard domain (for example, `sub1.contoso.com`), and then select **Validate**.
+3. Type a fully qualified domain name that matches the wildcard domain. For example, for the example `*.contoso.com`, you can use `sub1.contoso.com`, `sub2.contoso.com`, `*.contoso.com`, or any other string that matches the wildcard pattern. Then, select **Validate**.
The **Add custom domain** button is activated.
You can now add any subdomain that matches the wildcard name to the app (for exa
It might take some time for the new custom domain to be reflected in the app's **Custom Domains** page. Refresh the browser to update the data.
-1. Select the **+** icon again to add another custom domain that matches the wildcard domain. For example, add `sub2.contoso.com`.
-
- ![Screenshot that shows adding a CNAME record.](./media/app-service-web-tutorial-custom-domain/cname-record-added-wildcard-2.png)
- > [!NOTE] > A warning label for your custom domain means that it's not yet bound to a TLS/SSL certificate. Any HTTPS request from a browser to your custom domain will receive an error or warning, depending on the browser. To add a TLS binding, see [Secure a custom DNS name with a TLS/SSL binding in Azure App Service](configure-ssl-bindings.md).
-
-## Test in a browser
-Browse to the DNS names that you configured earlier (for example, `contoso.com`, `www.contoso.com`, `sub1.contoso.com`, and `sub2.contoso.com`).
+--
++
+## 6. Test in a browser
+
+Browse to the DNS names that you configured earlier.
![Screenshot that shows navigation to an Azure app.](./media/app-service-web-tutorial-custom-domain/app-with-custom-dns.png)
-## Resolve 404 "Not Found"
+<a name="resolve-404-not-found" aria-hidden="true"></a>
+
+If you receive an HTTP 404 (Not Found) error when you browse to the URL of your custom domain, the two most common causes are:
+
+* The custom domain configured is missing an A record or a CNAME record. You may have deleted the DNS record after you've enabled the mapping in your app.
+* The browser client has cached the old IP address of your domain. Clear the cache, and test DNS resolution again. On a Windows machine, you clear the cache with `ipconfig /flushdns`.
-If you receive an HTTP 404 (Not Found) error when you browse to the URL of your custom domain, verify that your domain resolves to your app's IP address by using <a href="https://www.nslookup.io/" target="_blank">nslookup.io</a>. If not, verify that the A and CNAME records are configured correctly using the same site. If it resolves the IP correctly, but you're still getting a 404, then your browser may have cached the old IP address of your domain. Clear the cache, and test DNS resolution again. On a Windows machine, you clear the cache with `ipconfig /flushdns`.
## Migrate an active domain
To migrate a live site and its DNS domain name to App Service with no downtime,
## Redirect to a custom directory
-By default, App Service directs web requests to the root directory of your app code. But certain web frameworks don't start in the root directory. For example, [Laravel](https://laravel.com/) starts in the `public` subdirectory. To continue the `contoso.com` DNS example, such an app is accessible at `http://contoso.com/public`, but you want to direct `http://contoso.com` to the `public` directory instead. This step doesn't involve DNS resolution but is about customizing the virtual directory.
+> [!NOTE]
+> By default, App Service directs web requests to the root directory of your app code. But certain web frameworks don't start in the root directory. For example, [Laravel](https://laravel.com/) starts in the `public` subdirectory. To continue the `contoso.com` DNS example, such an app is accessible at `http://contoso.com/public`, but you you typically want to direct `http://contoso.com` to the `public` directory instead.
-To do customize a virtual directory for Windows apps, select **Application settings** in the left pane of your web app page.
+While this is a common scenario, it doesn't actually involve custom DNS mapping, but is about customizing the virtual directory within your app.
-> [!NOTE]
-> Linux apps don't have this page. To change the site root for Linux apps, see the language-specific configuration guides ([PHP](configure-language-php.md?pivots=platform-linux#change-site-root), for example).
+1. Select **Application settings** in the left pane of your web app page.
-At the bottom of the page, the root virtual directory `/` points to `site\wwwroot` by default, which is the root directory of your app code. Change it to point to the `site\wwwroot\public` instead, for example, and save your changes.
+1. At the bottom of the page, the root virtual directory `/` points to `site\wwwroot` by default, which is the root directory of your app code. Change it to point to the `site\wwwroot\public` instead, for example, and save your changes.
-![Screenshot that shows customizing a virtual directory.](./media/app-service-web-tutorial-custom-domain/customize-virtual-directory.png)
+ ![Screenshot that shows customizing a virtual directory.](./media/app-service-web-tutorial-custom-domain/customize-virtual-directory.png)
+
+1. After the operation finishes, verify by navigating to your app's root path in the browser (for example, `http://contoso.com` or `http://<app-name>.azurewebsites.net`).
-After the operation finishes, your app should return the right page at the root path (for example, `http://contoso.com`).
## Automate with scripts You can automate management of custom domains with scripts by using the [Azure CLI](/cli/azure/install-azure-cli) or [Azure PowerShell](/powershell/azure/).
-### Azure CLI
+#### Azure CLI
The following command adds a configured custom DNS name to an App Service app.
az webapp config hostname add \
For more information, see [Map a custom domain to a web app](scripts/cli-configure-custom-domain.md).
-### Azure PowerShell
+#### Azure PowerShell
[!INCLUDE [updated-for-az](../../includes/updated-for-az.md)]
Set-AzWebApp `
For more information, see [Assign a custom domain to a web app](scripts/powershell-configure-custom-domain.md).
-## Next steps
-
-In this tutorial, you learned how to:
-> [!div class="checklist"]
-> * Map a subdomain by using a CNAME record.
-> * Map a root domain by using an A record.
-> * Map a wildcard domain by using a CNAME record.
-> * Redirect the default URL to a custom directory.
-> * Automate domain mapping with scripts.
+## Next steps
Continue to the next tutorial to learn how to bind a custom TLS/SSL certificate to a web app.
app-service Configure Domain Traffic Manager https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/app-service/configure-domain-traffic-manager.md
Once you have finished adding or modifying DNS records at your domain provider,
Since Traffic Manager only supports custom domain mapping with CNAME records, and because DNS standards don't support CNAME records for mapping root domains (for example, **contoso.com**), Traffic Manager doesn't support mapping to root domains. To work around this issue, use a URL redirect from at the app level. In ASP.NET Core, for example, you can use [URL Rewriting](/aspnet/core/fundamentals/url-rewriting). Then, use Traffic Manager to load balance the subdomain (**www.contoso.com**). Another approach is you can [create an alias record for your domain name apex to reference an Azure Traffic Manager profile](../dns/tutorial-alias-tm.md). An example is contoso.com. Instead of using a redirecting service, you can configure Azure DNS to reference a Traffic Manager profile directly from your zone.
-For high availability scenarios, you can implement a load-balancing DNS setup without Traffic Manager by creating multiple *A records* that point from the root domain to each app copy's IP address. Then, [map the same root domain to all the app copies](app-service-web-tutorial-custom-domain.md#map-an-a-record). Since the same domain name cannot be mapped to two different apps in the same region, this setup only works when your app copies are in different regions.
+For high availability scenarios, you can implement a load-balancing DNS setup without Traffic Manager by creating multiple *A records* that point from the root domain to each app copy's IP address. Then, [map the same root domain to all the app copies](app-service-web-tutorial-custom-domain.md#4-create-the-dns-records). Since the same domain name cannot be mapped to two different apps in the same region, this setup only works when your app copies are in different regions.
## Enable custom domain After the records for your domain name have propagated, use the browser to verify that your custom domain name resolves to your App Service app.
After the records for your domain name have propagated, use the browser to verif
> >
-1. Once domain resolution succeeds, to back to your app page in the [Azure Portal](https://portal.azure.com)
+1. Once domain resolution succeeds, to back to your app page in the [Azure portal](https://portal.azure.com)
2. From the left navigation, select **Custom domains** > **Add hostname**. 4. Type the custom domain name that you mapped earlier and select **Validate**. 5. Make sure that **Hostname record type** is set to **CNAME (www\.example.com or any subdomain)**.
app-service Configure Ssl Bindings https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/app-service/configure-ssl-bindings.md
There are two changes you need to make, potentially:
- By default, your app uses a shared public IP address. When you bind a certificate with IP SSL, App Service creates a new, dedicated IP address for your app. If you mapped an A record to your app, update your domain registry with this new, dedicated IP address.
- Your app's **Custom domain** page is updated with the new, dedicated IP address. [Copy this IP address](app-service-web-tutorial-custom-domain.md#info), then [remap the A record](app-service-web-tutorial-custom-domain.md#map-an-a-record) to this new IP address.
+ Your app's **Custom domain** page is updated with the new, dedicated IP address. [Copy this IP address](app-service-web-tutorial-custom-domain.md#info), then [remap the A record](app-service-web-tutorial-custom-domain.md#4-create-the-dns-records) to this new IP address.
-- If you have an SNI SSL binding to `<app-name>.azurewebsites.net`, [remap any CNAME mapping](app-service-web-tutorial-custom-domain.md#map-a-cname-record) to point to `sni.<app-name>.azurewebsites.net` instead (add the `sni` prefix).
+- If you have an SNI SSL binding to `<app-name>.azurewebsites.net`, [remap any CNAME mapping](app-service-web-tutorial-custom-domain.md#4-create-the-dns-records) to point to `sni.<app-name>.azurewebsites.net` instead (add the `sni` prefix).
## Test HTTPS
app-service Manage Custom Dns Migrate Domain https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/app-service/manage-custom-dns-migrate-domain.md
When you finally migrate your custom DNS name from the old site to the App Servi
### Get domain verification ID
-Get the domain verification ID for you app by following the steps at [Get domain verification ID](app-service-web-tutorial-custom-domain.md#get-a-domain-verification-id).
+Get the domain verification ID for you app by following the steps at [Get domain verification ID](app-service-web-tutorial-custom-domain.md#3-get-a-domain-verification-id).
### Create domain verification record
To verify domain ownership, add a TXT record for domain verification. The hostna
| DNS record example | TXT Host | TXT Value | | - | - | - |
-| \@ (root) | _asuid_ | [Domain verification ID for your app](app-service-web-tutorial-custom-domain.md#get-a-domain-verification-id) |
-| www (sub) | _asuid.www_ | [Domain verification ID for your app](app-service-web-tutorial-custom-domain.md#get-a-domain-verification-id) |
-| \* (wildcard) | _asuid_ | [Domain verification ID for your app](app-service-web-tutorial-custom-domain.md#get-a-domain-verification-id) |
+| \@ (root) | _asuid_ | [Domain verification ID for your app](app-service-web-tutorial-custom-domain.md#3-get-a-domain-verification-id) |
+| www (sub) | _asuid.www_ | [Domain verification ID for your app](app-service-web-tutorial-custom-domain.md#3-get-a-domain-verification-id) |
+| \* (wildcard) | _asuid_ | [Domain verification ID for your app](app-service-web-tutorial-custom-domain.md#3-get-a-domain-verification-id) |
In your DNS records page, note the record type of the DNS name you want to migrate. App Service supports mappings from CNAME and A records.
app-service Troubleshoot Domain Ssl Certificates https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/app-service/troubleshoot-domain-ssl-certificates.md
The custom domain that you configured is missing a CNAME or A record.
**Solution for cause 1** -- If you added an A record, make sure that a TXT record is also added. For more information, see [Create the A record](./app-service-web-tutorial-custom-domain.md#create-the-a-record).
+- If you added an A record, make sure that a TXT record is also added. For more information, see [Create the A record](./app-service-web-tutorial-custom-domain.md#4-create-the-dns-records).
- If you don't have to use the root domain for your app, we recommend that you use a CNAME record instead of an A record. - Don't use both a CNAME record and an A record for the same domain. This issue can cause a conflict and prevent the domain from being resolved.
application-gateway Troubleshoot App Service Redirection App Service Url https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/application-gateway/troubleshoot-app-service-redirection-app-service-url.md
Using App Service's Custom Domain feature is another solution to always redirect
You can follow the given method for both the Redirection and ARRAffinity's cookie domain mismatch issues. This method will need you to have your custom domain's DNS zone access.
-**Step1**: Set a Custom Domain in App Service and verify the domain ownership by adding the [CNAME & TXT DNS records](../app-service/app-service-web-tutorial-custom-domain.md#get-a-domain-verification-id).
+**Step1**: Set a Custom Domain in App Service and verify the domain ownership by adding the [CNAME & TXT DNS records](../app-service/app-service-web-tutorial-custom-domain.md#3-get-a-domain-verification-id).
The records would look similar to - `www.contoso.com` IN CNAME `contoso.azurewebsite.net` - `asuid.www.contoso.com` IN TXT "`<verification id string>`"
automation Manage Scope Configurations https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/automation/change-tracking/manage-scope-configurations.md
Title: Limit Azure Automation Change Tracking and Inventory deployment scope
description: This article tells how to work with scope configurations to limit the scope of a Change Tracking and Inventory deployment. Previously updated : 10/14/2020 Last updated : 05/27/2021
This article describes how to work with scope configurations when using the [Cha
A scope configuration is a group of one or more saved searches (queries) used to limit the scope of Change Tracking and Inventory to specific computers. The scope configuration is used within the Log Analytics workspace to target the computers to enable. When you add a computer to changes from the feature, the computer is also added to a saved search in the workspace.
-## Set the scope limit
+By default, Change Tracking and Inventory creates a computer group named **ChangeTracking__MicrosoftDefaultComputerGroup** depending on how you enabled machines:
-To limit the scope for your Change Tracking and Inventory deployment:
+* From the Automation account, you selected **+ Add Azure VMs**.
+* From the Automation account, you selected **Manage machines**, and then you selected the option **Enable on all available machines** or you selected **Enable on selected machines**.
-1. Sign in to the [Azure portal](https://portal.azure.com).
+If one of the methods above is selected, this computer group is added to the **MicrosoftDefaultScopeConfig-ChangeTracking** scope configuration. You can also add one or more custom computer groups to this scope to match your management needs and control how specific computers are enabled for management with Change Tracking and Inventory.
-2. In the Azure portal, select **All services**. In the list of resources, type **Automation**. As you begin typing, the list filters suggestions based on your input. Select **Automation Accounts**.
+To remove one or more machines from the **ChangeTracking__MicrosoftDefaultComputerGroup** to stop managing them with Change Tracking and Inventory, see [Remove VMs from Change Tracking and Inventory](remove-vms-from-change-tracking.md).
-3. In your list of Automation accounts, select the account you chose when you enabled Change Tracking and Inventory.
+## Set the scope limit
-4. In your Automation account, select **Linked Workspace** under **Related resources**.
+To limit the scope for your Change Tracking and Inventory deployment:
+
+1. Sign in to the [Azure portal](https://portal.azure.com).
-5. Click **Go to workspace**.
+2. In the Azure portal, navigate to **Log Analytics workspaces**. Select your workspace from the list.
-6. Select **Scope Configurations (Preview)** under **Workspace Data Sources**.
+3. In your Log Analytics workspace, select **Scope Configurations (Preview)** from the left-hand menu.
-7. Select the ellipsis to the right of the `MicrosoftDefaultScopeConfig-ChangeTracking` scope configuration, and click **Edit**.
+4. Select the ellipsis to the right of the **MicrosoftDefaultScopeConfig-ChangeTracking** scope configuration, and select **Edit**.
-8. In the editing pane, select **Select Computer Groups**. The Computer Groups pane shows the saved searches that are used to create the scope configuration. The saved search used by Change Tracking and Inventory is:
+5. In the editing pane, expand **Select Computer Groups**. The **Computer Groups** pane shows the saved searches that are added to the scope configuration. The saved search used by Update Management is:
|Name |Category |Alias | ||||
- |MicrosoftDefaultComputerGroup | ChangeTracking | ChangeTracking__MicrosoftDefaultComputerGroup |
+ |MicrosoftDefaultComputerGroup | ChangeTracking | ChangeTracking__MicrosoftDefaultComputerGroup |
-9. Select the saved search to view and edit the query used to populate the group. The following image shows the query and its results:
+6. If you added a custom group, it is shown in the list. To deselect it, clear the checkbox to the left of the item. To add a custom group to the scope, select it and then when you are finished with your changes, click **Select**.
- ![Saved searches](media/manage-scope-configurations/logsearch.png)
+7. On the **Edit scope configuration** page, click **OK** to save your changes.
## Next steps
automation Remove Vms From Change Tracking https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/automation/change-tracking/remove-vms-from-change-tracking.md
Sign in to the [Azure portal](https://portal.azure.com).
4. In your Log Analytics workspace, select **Computer Groups** from the left-hand menu.
-5. From **Computer Groups** in the right-hand pane, the **Saved groups** tab is shown by default..
+5. From **Computer Groups** in the right-hand pane, the **Saved groups** tab is shown by default.
6. From the table, click the icon **Run query** to the right of the item **MicrosoftDefaultComputerGroup** with the **Legacy category** value **ChangeTracking**. 7. In the query editor, review the query and find the UUID for the VM. Remove the UUID for the VM and repeat the steps for any other VMs you want to remove.
+ > [!NOTE]
+ > For added protection, before making edits be sure to make a copy of the query. Then you can restore it if a problem occurs.
+
+ If you want to start with the original query and re-add machines in support of a cleanup or maintenance activity, copy the following query:
+
+ ```kusto
+ Heartbeat
+ | where Computer in~ ("") or VMUUID in~ ("")
+ | distinct Computer
+ ```
+ 8. Save the saved search when you're finished editing it by selecting **Save > Save as function** from the top bar. When prompted, specify the following: * **Name**: ChangeTracking__MicrosoftDefaultComputerGroup
automation Scope Configuration https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/automation/update-management/scope-configuration.md
To limit the scope for your Update Management deployment:
1. Sign in to the [Azure portal](https://portal.azure.com).
-3. In the Azure portal, navigate to **Log Analytics workspaces**. Select your workspace from the list.
+2. In the Azure portal, navigate to **Log Analytics workspaces**. Select your workspace from the list.
-4. In your Log Analytics workspace, select **Scope Configurations (Preview)** from the left-hand menu.
+3. In your Log Analytics workspace, select **Scope Configurations (Preview)** from the left-hand menu.
-5. Select the ellipsis to the right of the **MicrosoftDefaultScopeConfig-Updates** scope configuration, and select **Edit**.
+4. Select the ellipsis to the right of the **MicrosoftDefaultScopeConfig-Updates** scope configuration, and select **Edit**.
-6. In the editing pane, expand **Select Computer Groups**. The **Computer Groups** pane shows the saved searches that are added to the scope configuration. The saved search used by Update Management is:
+5. In the editing pane, expand **Select Computer Groups**. The **Computer Groups** pane shows the saved searches that are added to the scope configuration. The saved search used by Update Management is:
|Name |Category |Alias | |||| |MicrosoftDefaultComputerGroup | Updates | Updates__MicrosoftDefaultComputerGroup |
-7. If you added a custom group, it is shown in the list. To deselect it, clear the checkbox to the left of the item. To add a custom group to the scope, select it and then when you are finished with your changes, click **Select**.
+6. If you added a custom group, it is shown in the list. To deselect it, clear the checkbox to the left of the item. To add a custom group to the scope, select it and then when you are finished with your changes, click **Select**.
-8. On the **Edit scope configuration** page, click **OK** to save your changes.
+7. On the **Edit scope configuration** page, click **OK** to save your changes.
## Next steps
availability-zones Az Region https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/availability-zones/az-region.md
description: To create highly available and resilient applications in Azure, Ava
Previously updated : 04/21/2021 Last updated : 05/27/2021
To achieve comprehensive business continuity on Azure, build your application ar
| [Azure Backup](../backup/backup-create-rs-vault.md#set-storage-redundancy) | :large_blue_diamond: | | [Azure Cosmos DB](../cosmos-db/high-availability.md#availability-zone-support) | :large_blue_diamond: | | [Azure Data Lake Storage Gen 2](../storage/blobs/data-lake-storage-introduction.md) | :large_blue_diamond: |
+| [Azure DNS: Azure DNS Private Zones](https://docs.microsoft.com/azure/dns/private-dns-getstarted-portal) | :large_blue_diamond: |
| [Azure Express Route](../expressroute/designing-for-high-availability-with-expressroute.md) | :large_blue_diamond: | | [Azure Public IP](../virtual-network/public-ip-addresses.md) | :large_blue_diamond: | | Azure SQL Database ([General Purpose Tier](../azure-sql/database/high-availability-sla.md)) | :large_blue_diamond: |
To achieve comprehensive business continuity on Azure, build your application ar
| [Azure Cognitive Search](../search/search-performance-optimization.md#availability-zones) | :large_blue_diamond: | | Azure Cognitive | [Azure Data Explorer](/azure/data-explorer/create-cluster-database-portal) | :large_blue_diamond: |
+| [Azure Data Factory](https://docs.microsoft.com/azure/data-factory) | :large_blue_diamond: |
| Azure Database for MySQL ΓÇô [Flexible Server](../mysql/flexible-server/concepts-high-availability.md) | :large_blue_diamond: | | Azure Database for PostgreSQL ΓÇô [Flexible Server](../postgresql/flexible-server/overview.md) | :large_blue_diamond: | | [Azure DDoS Protection](../ddos-protection/ddos-faq.md) | :large_blue_diamond: |
Azure Availability Zones are available with your Azure subscription. Learn more
## Next steps > [!div class="nextstepaction"]
-> [Regions and Availability Zones in Azure](az-overview.md)
+> [Regions and Availability Zones in Azure](az-overview.md)
azure-cache-for-redis Cache Administration https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-cache-for-redis/cache-administration.md
# How to administer Azure Cache for Redis
-This topic describes how to perform administration tasks such as [rebooting](#reboot) and [scheduling updates](#schedule-updates) for your Azure Cache for Redis instances.
+
+This article describes how to do administration tasks such as [rebooting](#reboot) and [scheduling updates](#schedule-updates) for your Azure Cache for Redis instances.
[!INCLUDE [updated-for-az](../../includes/updated-for-az.md)] ## Reboot
-The **Reboot** blade allows you to reboot one or more nodes of your cache. This reboot capability enables you to test your application for resiliency if there is a failure of a cache node.
+
+On the left, **Reboot** allows you to reboot one or more nodes of your cache. This reboot capability enables you to test your application for resiliency if there's a failure of a cache node.
![Screenshot that highlights the Reboot menu option.](./media/cache-administration/redis-cache-administration-reboot.png)
-Select the nodes to reboot and click **Reboot**.
+Select the nodes to reboot and select **Reboot**.
![Screenshot that shows which nodes you can reboot.](./media/cache-administration/redis-cache-reboot.png)
If you have a premium cache with clustering enabled, you can select which shards
![Reboot](./media/cache-administration/redis-cache-reboot-cluster.png)
-To reboot one or more nodes of your cache, select the desired nodes and click **Reboot**. If you have a premium cache with clustering enabled, select the desired shards to reboot and then click **Reboot**. After a few minutes, the selected nodes reboot, and are back online a few minutes later.
+To reboot one or more nodes of your cache, select the nodes and select **Reboot**. If you have a premium cache with clustering enabled, select the shards to reboot and then select **Reboot**. After a few minutes, the selected nodes reboot, and are back online a few minutes later.
-The impact on client applications varies depending on which nodes that you reboot.
+The effect on your client applications varies depending on which nodes you reboot.
* **Master** - When the primary node is rebooted, Azure Cache for Redis fails over to the replica node and promotes it to primary. During this failover, there may be a short interval in which connections may fail to the cache.
-* **Replica** - When the replica node is rebooted, there is typically no impact to cache clients.
-* **Both primary and replica** - When both cache nodes are rebooted, all data is lost in the cache and connections to the cache fail until the primary node comes back online. If you have configured [data persistence](cache-how-to-premium-persistence.md), the most recent backup is restored when the cache comes back online, but any cache writes that occurred after the most recent backup are lost.
+* **Replica** - When the replica node is rebooted, there's typically no effect on the cache clients.
+* **Both primary and replica** - When both cache nodes are rebooted, you lose all data in the cache and connections to the cache fail until the primary node comes back online. If you have configured [data persistence](cache-how-to-premium-persistence.md), the most recent backup is restored when the cache comes back online. However, any cache writes that occurred after the most recent backup are lost.
* **Nodes of a premium cache with clustering enabled** - When you reboot one or more nodes of a premium cache with clustering enabled, the behavior for the selected nodes is the same as when you reboot the corresponding node or nodes of a non-clustered cache. ## Reboot FAQ+ * [Which node should I reboot to test my application?](#which-node-should-i-reboot-to-test-my-application) * [Can I reboot the cache to clear client connections?](#can-i-reboot-the-cache-to-clear-client-connections) * [Will I lose data from my cache if I do a reboot?](#will-i-lose-data-from-my-cache-if-i-do-a-reboot) * [Can I reboot my cache using PowerShell, CLI, or other management tools?](#can-i-reboot-my-cache-using-powershell-cli-or-other-management-tools) ### Which node should I reboot to test my application?+ To test the resiliency of your application against failure of the primary node of your cache, reboot the **Master** node. To test the resiliency of your application against failure of the replica node, reboot the **Replica** node. To test the resiliency of your application against total failure of the cache, reboot **Both** nodes. ### Can I reboot the cache to clear client connections?
-Yes, if you reboot the cache all client connections are cleared. Rebooting can be useful in the case where all client connections are used up due to a logic error or a bug in the client application. Each pricing tier has different [client connection limits](cache-configure.md#default-redis-server-configuration) for the various sizes, and once these limits are reached, no more client connections are accepted. Rebooting the cache provides a way to clear all client connections.
+
+Yes, if you reboot the cache, all client connections are cleared. Rebooting can be useful in the case where each client connection is used up because of a logic error or a bug in the client application. Each pricing tier has different [client connection limits](cache-configure.md#default-redis-server-configuration) for the various sizes, and once these limits are reached, no more client connections are accepted. Rebooting the cache provides a way to clear all client connections.
> [!IMPORTANT] > If you reboot your cache to clear client connections, StackExchange.Redis automatically reconnects once the Redis node is back online. If the underlying issue is not resolved, the client connections may continue to be used up.
->
->
--
+>
+>
### Will I lose data from my cache if I do a reboot?
-If you reboot both the **Master** and **Replica** nodes, all data in the cache (or in that shard if you are using a premium cache with clustering enabled) may be lost, but this is not guaranteed either. If you have configured [data persistence](cache-how-to-premium-persistence.md), the most recent backup will be restored when the cache comes back online, but any cache writes that have occurred after the backup was made are lost.
-If you reboot just one of the nodes, data is not typically lost, but it still may be. For example if the primary node is rebooted and a cache write is in progress, the data from the cache write is lost. Another scenario for data loss would be if you reboot one node and the other node happens to go down due to a failure at the same time. For more information about possible causes for data loss, see [What happened to my data in Redis?](https://gist.github.com/JonCole/b6354d92a2d51c141490f10142884ea4#file-whathappenedtomydatainredis-md)
+If you reboot both the **Master** and **Replica** nodes, all data in the cache (or in that shard when you're using a premium cache with clustering enabled) might be lost. However, the data might not be lost either. If you have configured [data persistence](cache-how-to-premium-persistence.md), the most recent backup is restored when the cache comes back online. However, any cache writes that have occurred after the backup was made are lost.
+
+If you reboot just one of the nodes, data isn't typically lost, but it still might be. For example if the primary node is rebooted and a cache write is in progress, the data from the cache write is lost. Another scenario for data loss would be if you reboot one node and the other node happens to go down because of a failure at the same time. For more information about possible causes for data loss, see [What happened to my data in Redis?](https://gist.github.com/JonCole/b6354d92a2d51c141490f10142884ea4#file-whathappenedtomydatainredis-md)
### Can I reboot my cache using PowerShell, CLI, or other management tools?+ Yes, for PowerShell instructions see [To reboot an Azure Cache for Redis](cache-how-to-manage-redis-cache-powershell.md#to-reboot-an-azure-cache-for-redis). ## Schedule updates
-The **Schedule updates** blade allows you to designate a maintenance window for your cache instance. A maintenance window allows you to control the day(s) and time(s) of a week during which the VM(s) hosting your cache can be updated. Azure Cache for Redis will make a best effort to start and finish updating Redis server software within the specified time window you define.
-> [!NOTE]
+On the left, **Schedule updates** allow you to choose a maintenance window for your cache instance. A maintenance window allows you to control the day(s) and time(s) of a week during which the VM(s) hosting your cache can be updated. Azure Cache for Redis will make a best effort to start and finish updating Redis server software within the specified time window you define.
+
+> [!NOTE]
> The maintenance window applies to Redis server updates and updates to the Operating System of the VMs hosting the cache. The maintenance window does not apply to Host OS updates to the Hosts hosting the cache VMs or other Azure Networking components. In rare cases, where caches are hosted on older models (you can tell if your cache is on an older model if the DNS name of the cache resolves to a suffix of "cloudapp.net", "chinacloudapp.cn", "usgovcloudapi.net" or "cloudapi.de"), the maintenance window won't apply to Guest OS updates either.
->
+>
> Currently, no option is available to configure a reboot or scheduled updates for an Enterprise tier cache. > - ![Schedule updates](./media/cache-administration/redis-schedule-updates.png)
-To specify a maintenance window, check the desired days and specify the maintenance window start hour for each day, and click **OK**. Note that the maintenance window time is in UTC.
+To specify a maintenance window, check the days you want and specify the maintenance window start hour for each day. Then, select **OK**. The maintenance window time is in UTC.
-The default, and minimum, maintenance window for updates is five hours. This value is not configurable from the Azure portal, but you can configure it in PowerShell using the `MaintenanceWindow` parameter of the [New-AzRedisCacheScheduleEntry](/powershell/module/az.rediscache/new-azrediscachescheduleentry) cmdlet. For more information, see Can I manage scheduled updates using PowerShell, CLI, or other management tools?
+The default, and minimum, maintenance window for updates is five hours. This value isn't configurable from the Azure portal, but you can configure it in PowerShell using the `MaintenanceWindow` parameter of the [New-AzRedisCacheScheduleEntry](/powershell/module/az.rediscache/new-azrediscachescheduleentry) cmdlet. For more information, see Can I manage scheduled updates using PowerShell, CLI, or other management tools?
## Schedule updates FAQ+ * [When do updates occur if I don't use the schedule updates feature?](#when-do-updates-occur-if-i-dont-use-the-schedule-updates-feature) * [What type of updates are made during the scheduled maintenance window?](#what-type-of-updates-are-made-during-the-scheduled-maintenance-window) * [Can I manage scheduled updates using PowerShell, CLI, or other management tools?](#can-i-manage-scheduled-updates-using-powershell-cli-or-other-management-tools) * [Can an update that is covered and managed by the "Scheduled Updates" feature happen outside of the "Scheduled Updates" window?](#can-an-update-that-is-covered-and-managed-by-the-scheduled-updates-feature-happen-outside-the-scheduled-updates-window) ### When do updates occur if I don't use the schedule updates feature?+ If you don't specify a maintenance window, updates can be made at any time. ### What type of updates are made during the scheduled maintenance window?
-Only Redis server updates are made during the scheduled maintenance window. The maintenance window does not apply to Azure updates or updates to the VM operating system.
+
+Only Redis server updates are made during the scheduled maintenance window. The maintenance window doesn't apply to Azure updates or updates to the VM operating system.
### Can I manage scheduled updates using PowerShell, CLI, or other management tools?+ Yes, you can manage your scheduled updates using the following PowerShell cmdlets: * [Get-AzRedisCachePatchSchedule](/powershell/module/az.rediscache/get-azrediscachepatchschedule)
Yes, you can manage your scheduled updates using the following PowerShell cmdlet
* [Remove-AzRedisCachePatchSchedule](/powershell/module/az.rediscache/remove-azrediscachepatchschedule) ### Can an update that is covered and managed by the Scheduled Updates feature happen outside the Scheduled Updates window?
-Yes. Although in general, updates aren't applied outside the configured Scheduled Updates window, rare critical security updates can be applied outside the patching schedule as part of our security policy.
+
+Yes. In general, updates aren't applied outside the configured Scheduled Updates window. Rare critical security updates can be applied outside the patching schedule as part of our security policy.
## Next steps+ Learn more about Azure Cache for Redis features. * [Azure Cache for Redis service tiers](cache-overview.md#service-tiers)-
azure-cache-for-redis Cache Manage Cli https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-cache-for-redis/cache-manage-cli.md
> * [Azure classic CLI](cache-manage-cli.md) >
-The Azure classic CLI is a great way to manage your Azure infrastructure from any platform. This article shows you how to create and manage your Azure Cache for Redis instances using the Azure classic CLI.
+The Azure classic CLI is a great way to manage your Azure infrastructure from any platform. This article shows how to create and manage your Azure Cache for Redis instances using the Azure classic CLI.
[!INCLUDE [outdated-cli-content](../../includes/contains-classic-cli-content.md)] > [!NOTE]
The following properties are used when creating and updating Azure Cache for Red
| Redis Configuration |-c, --redis-configuration |Redis Configuration. Enter a JSON formatted string of configuration keys and values here. Format:"{"":"","":""}" | | Redis Configuration |-f, --redis-configuration-file |Redis Configuration. Enter the path of a file containing configuration keys and values here. Format for the file entry: {"":"","":""} | | Shard Count |-r, --shard-count |Number of Shards to create on a Premium Cluster Cache with clustering. |
-| Virtual Network |-v, --virtual-network |When hosting your cache in a VNET, specifies the exact Resource Manager (ARM) resource ID of the virtual network to deploy the Azure Cache for Redis in. Example format: /subscriptions/{subid}/resourceGroups/{resourceGroupName}/Microsoft.ClassicNetwork/VirtualNetworks/vnet1 |
+| Virtual Network |-v, --virtual-network |When hosting your cache in a VNET, specifies the exact Resource Manager resource ID of the virtual network to deploy the Azure Cache for Redis in. Example format: /subscriptions/{subid}/resourceGroups/{resourceGroupName}/Microsoft.ClassicNetwork/VirtualNetworks/vnet1 |
| key type |-t, --key-type |Type of key to renew. Valid values: [Primary, Secondary] | | StaticIP |-p, --static-ip \<static-ip\> |When hosting your cache in a VNET, specifies a unique IP address in the subnet for the cache. If not provided, one is chosen for you from the subnet. | | Subnet |t, --subnet \<subnet\> |When hosting your cache in a VNET, specifies the name of the subnet in which to deploy the cache. |
-| VirtualNetwork |-v, --virtual-network \<virtual-network\> |When hosting your cache in a VNET, specifies the exact ARM resource ID of the virtual network to deploy the Azure Cache for Redis in. Example format: /subscriptions/{subid}/resourceGroups/{resourceGroupName}/Microsoft.ClassicNetwork/VirtualNetworks/vnet1 |
+| VirtualNetwork |-v, --virtual-network \<virtual-network\> |When hosting your cache in a VNET, specifies the exact Resource Manager resource ID of the virtual network to deploy the Azure Cache for Redis in. Example format: /subscriptions/{subid}/resourceGroups/{resourceGroupName}/Microsoft.ClassicNetwork/VirtualNetworks/vnet1 |
| Subscription |-s, --subscription |The subscription identifier. | ## See all Azure Cache for Redis commands
azure-cache-for-redis Cache Management Faq https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-cache-for-redis/cache-management-faq.md
Last updated 08/06/2020 # Azure Cache for Redis management FAQs+ This article provides answers to common questions about how to manage Azure Cache for Redis. ## Common questions and answers+ This section covers the following FAQs: * [When should I enable the non-TLS/SSL port for connecting to Redis?](#when-should-i-enable-the-non-tlsssl-port-for-connecting-to-redis)
This section covers the following FAQs:
* [Performance considerations around connections](#performance-considerations-around-connections) ### When should I enable the non-TLS/SSL port for connecting to Redis?
-Redis server does not natively support TLS, but Azure Cache for Redis does. If you are connecting to Azure Cache for Redis and your client supports TLS, like StackExchange.Redis, then you should use TLS.
+
+Redis server doesn't natively support TLS, but Azure Cache for Redis does. If you're connecting to Azure Cache for Redis and your client supports TLS, like StackExchange.Redis, then use TLS.
>[!NOTE] >The non-TLS port is disabled by default for new Azure Cache for Redis instances. If your client does not support TLS, then you must enable the non-TLS port by following the directions in the [Access ports](cache-configure.md#access-ports) section of the [Configure a cache in Azure Cache for Redis](cache-configure.md) article. > >
-Redis tools such as `redis-cli` do not work with the TLS port, but you can use a utility such as `stunnel` to securely connect the tools to the TLS port by following the directions in the [Announcing ASP.NET Session State Provider for Redis Preview Release](https://devblogs.microsoft.com/aspnet/announcing-asp-net-session-state-provider-for-redis-preview-release/) blog post.
+Redis tools such as `redis-cli` don't work with the TLS port, but you can use a utility such as `stunnel` to securely connect the tools to the TLS port by following the directions in the [Announcing ASP.NET Session State Provider for Redis Preview Release](https://devblogs.microsoft.com/aspnet/announcing-asp-net-session-state-provider-for-redis-preview-release/) blog post.
For instructions on downloading the Redis tools, see the [How can I run Redis commands?](cache-development-faq.md#how-can-i-run-redis-commands) section. ### What are some production best practices?+ * [StackExchange.Redis best practices](#stackexchangeredis-best-practices) * [Configuration and concepts](#configuration-and-concepts) * [Performance testing](#performance-testing) #### StackExchange.Redis best practices+ * Set `AbortConnect` to false, then let the ConnectionMultiplexer reconnect automatically. [See here for details](https://gist.github.com/JonCole/36ba6f60c274e89014dd#file-se-redis-setabortconnecttofalse-md).
-* Reuse the ConnectionMultiplexer - do not create a new one for each request. The `Lazy<ConnectionMultiplexer>` pattern [shown here](cache-dotnet-how-to-use-azure-redis-cache.md#connect-to-the-cache) is recommended.
+* Reuse the ConnectionMultiplexer - don't create a new one for each request. Instead use this pattern. The `Lazy<ConnectionMultiplexer>` pattern [shown here](cache-dotnet-how-to-use-azure-redis-cache.md#connect-to-the-cache).
* Redis works best with smaller values, so consider chopping up bigger data into multiple keys. In [this Redis discussion](https://groups.google.com/forum/#!searchin/redis-db/size/redis-db/n7aa2A4DZDs/3OeEPHSQBAAJ), 100 kb is considered large. Read [this article](https://gist.github.com/JonCole/db0e90bedeb3fc4823c2#large-requestresponse-size) for an example problem that can be caused by large values. * Configure your [ThreadPool settings](#important-details-about-threadpool-growth) to avoid timeouts.
-* Use at least the default connectTimeout of 5 seconds. This interval gives StackExchange.Redis sufficient time to re-establish the connection in the event of a network blip.
-* Be aware of the performance costs associated with different operations you are running. For instance, the `KEYS` command is an O(n) operation and should be avoided. The [redis.io site](https://redis.io/commands/) has details around the time complexity for each operation that it supports. Click each command to see the complexity for each operation.
+* Use at least the default connectTimeout of 5 seconds. This interval gives StackExchange.Redis sufficient time to re-establish the connection if there's a network blip.
+* Be aware of the performance costs associated with different operations you're running. For instance, the `KEYS` command is an O(n) operation and should be avoided. The [redis.io site](https://redis.io/commands/) has details around the time complexity for each operation that it supports. Select each command to see the complexity for each operation.
#### Configuration and concepts+ * Use Standard or Premium Tier for Production systems. The Basic Tier is a single node system with no data replication and no SLA. Also, use at least a C1 cache. C0 caches are typically used for simple dev/test scenarios.
-* Remember that Redis is an **In-Memory** data store. Read [this article](https://gist.github.com/JonCole/b6354d92a2d51c141490f10142884ea4#file-whathappenedtomydatainredis-md) so that you are aware of scenarios where data loss can occur.
-* Develop your system such that it can handle connection blips [due to patching and failover](https://gist.github.com/JonCole/317fe03805d5802e31cfa37e646e419d#file-azureredis-patchingexplained-md).
+* Remember that Redis is an **In-Memory** data store. Read [this article](https://gist.github.com/JonCole/b6354d92a2d51c141490f10142884ea4#file-whathappenedtomydatainredis-md) so that you're aware of scenarios where data loss can occur.
+* Develop your system such that it can handle connection blips [caused by patching and failover](https://gist.github.com/JonCole/317fe03805d5802e31cfa37e646e419d#file-azureredis-patchingexplained-md).
#### Performance testing
-* Start by using `redis-benchmark.exe` to get a feel for possible throughput before writing your own perf tests. Because `redis-benchmark` does not support TLS, you must [enable the Non-TLS port through the Azure portal](cache-configure.md#access-ports) before you run the test. For examples, see [How can I benchmark and test the performance of my cache?](#how-can-i-benchmark-and-test-the-performance-of-my-cache)
+
+* Start by using `redis-benchmark.exe` to get a feel for possible throughput before writing your own perf tests. Because `redis-benchmark` doesn't support TLS, you must [enable the Non-TLS port through the Azure portal](cache-configure.md#access-ports) before you run the test. For examples, see [How can I benchmark and test the performance of my cache?](#how-can-i-benchmark-and-test-the-performance-of-my-cache)
* The client VM used for testing should be in the same region as your Azure Cache for Redis instance. * We recommend using Dv2 VM Series for your client as they have better hardware and should give the best results.
-* Make sure your client VM you choose has at least as much computing and bandwidth capability as the cache you are testing.
+* Make sure the client VM you choose has at least as much computing and bandwidth capability as the cache you're testing.
* Enable VRSS on the client machine if you are on Windows. [See here for details](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/dn383582(v=ws.11)).
-* Premium tier Redis instances have better network latency and throughput because they are running on better hardware for both CPU and Network.
+* Premium tier Redis instances have better network latency and throughput because they're running on better hardware for both CPU and Network.
### What are some of the considerations when using common Redis commands?
-* Avoid using certain Redis commands that take a long time to complete, unless you fully understand the impact of these commands. For example, do not run the [KEYS](https://redis.io/commands/keys) command in production. Depending on the number of keys, it could take a long time to return. Redis is a single-threaded server and it processes commands one at a time. If you have other commands issued after KEYS, they will not be processed until Redis processes the KEYS command. The [redis.io site](https://redis.io/commands/) has details around the time complexity for each operation that it supports. Click each command to see the complexity for each operation.
+* Avoid using certain Redis commands that take a long time to complete, unless you fully understand the result of these commands. For example, don't run the [KEYS](https://redis.io/commands/keys) command in production. Depending on the number of keys, it could take a long time to return. Redis is a single-threaded server and it processes commands one at a time. If you have other commands issued after KEYS, they're not be processed until Redis processes the KEYS command. The [redis.io site](https://redis.io/commands/) has details around the time complexity for each operation that it supports. Select each command to see the complexity for each operation.
* Key sizes - should I use small key/values or large key/values? It depends on the scenario. If your scenario requires larger keys, you can adjust the ConnectionTimeout, then retry values and adjust your retry logic. From a Redis server perspective, smaller values give better performance.
-* These considerations don't mean that you can't store larger values in Redis; you must be aware of the following considerations. Latencies will be higher. If you have one set of data that is larger and one that is smaller, you can use multiple ConnectionMultiplexer instances, each configured with a different set of timeout and retry values, as described in the previous [What do the StackExchange.Redis configuration options do](cache-development-faq.md#what-do-the-stackexchangeredis-configuration-options-do) section.
+* These considerations don't mean that you can't store larger values in Redis; you must be aware of the following considerations. Latencies will be higher. If you have one set of data that is larger and one that is smaller, you can use multiple ConnectionMultiplexer instances. Configure each with a different set of timeout and retry values, as described in the previous [What do the StackExchange.Redis configuration options do](cache-development-faq.md#what-do-the-stackexchangeredis-configuration-options-do) section.
### How can I benchmark and test the performance of my cache?+ * [Enable cache diagnostics](cache-how-to-monitor.md#enable-cache-diagnostics) so you can [monitor](cache-how-to-monitor.md) the health of your cache. You can view the metrics in the Azure portal and you can also [download and review](https://github.com/rustd/RedisSamples/tree/master/CustomMonitoring) them using the tools of your choice. * You can use redis-benchmark.exe to load test your Redis server. * Ensure that the load testing client and the Azure Cache for Redis are in the same region.
For instructions on downloading the Redis tools, see the [How can I run Redis co
* If your load is causing high memory fragmentation, you should scale up to a larger cache size. * For instructions on downloading the Redis tools, see the [How can I run Redis commands?](cache-development-faq.md#how-can-i-run-redis-commands) section.
-The following commands provide an example of using redis-benchmark.exe. For accurate results, run these commands from a VM in the same region as your cache.
+Here are some examples of using redis-benchmark.exe. Run these commands from a VM in the same region as your cache for accurate results.
* Test Pipelined SET requests using a 1k payload
The following commands provide an example of using redis-benchmark.exe. For accu
`redis-benchmark.exe -h **yourcache**.redis.cache.windows.net -a **yourAccesskey** -t GET -n 1000000 -d 1024 -P 50` ### Important details about ThreadPool growth+ The CLR ThreadPool has two types of threads - "Worker" and "I/O Completion Port" (IOCP) threads. * Worker threads are used for things like processing the `Task.Run(…)`, or `ThreadPool.QueueUserWorkItem(…)` methods. These threads are also used by various components in the CLR when work needs to happen on a background thread.
The CLR ThreadPool has two types of threads - "Worker" and "I/O Completion Port"
The thread pool provides new worker threads or I/O completion threads on demand (without any throttling) until it reaches the "Minimum" setting for each type of thread. By default, the minimum number of threads is set to the number of processors on a system.
-Once the number of existing (busy) threads hits the "minimum" number of threads, the ThreadPool will throttle the rate at which it injects new threads to one thread per 500 milliseconds. Typically, if your system gets a burst of work needing an IOCP thread, it will process that work quickly. However, if the burst of work is more than the configured "Minimum" setting, there will be some delay in processing some of the work as the ThreadPool waits for one of two things to happen.
+Once the number of existing (busy) threads hits the "minimum" number of threads, the ThreadPool will throttle the rate at which it injects new threads to one thread per 500 milliseconds. Typically, if your system gets a burst of work needing an IOCP thread, it will process that work quickly. However, if the burst is more than the configured "Minimum" setting, there's some delay in processing some of the work as the ThreadPool waits for one of two possibilities:
* An existing thread becomes free to process the work.
-* No existing thread becomes free for 500 ms, so a new thread is created.
+* No existing thread becomes free for 500 ms and a new thread is created.
-Basically, it means that when the number of Busy threads is greater than Min threads, you are likely paying a 500-ms delay before network traffic is processed by the application. Also, it is important to note that when an existing thread stays idle for longer than 15 seconds (based on what I remember), it will be cleaned up and this cycle of growth and shrinkage can repeat.
+Basically, when the number of Busy threads is greater than Min threads, you're likely paying a 500-ms delay before network traffic is processed by the application. Also, when an existing thread stays idle for longer than 15 seconds, it's cleaned up and this cycle of growth and shrinkage can repeat.
-If we look at an example error message from StackExchange.Redis (build 1.0.450 or later), you will see that it now prints ThreadPool statistics (see IOCP and WORKER details below).
+If we look at an example error message from StackExchange.Redis (build 1.0.450 or later), we see that it now prints ThreadPool statistics. See IOCP and WORKER details below.
``` System.TimeoutException: Timeout performing GET MyKey, inst: 2, mgr: Inactive,
IOCP: (Busy=6,Free=994,Min=4,Max=1000),
WORKER: (Busy=3,Free=997,Min=4,Max=1000) ```
-In the previous example, you can see that for IOCP thread there are six busy threads and the system is configured to allow four minimum threads. In this case, the client would have likely seen two 500-ms delays, because 6 > 4.
+As shown In the example, you see that for IOCP thread there are six busy threads and the system is configured to allow four minimum threads. In this case, the client would have likely seen two 500-ms delays, because 6 > 4.
-Note that StackExchange.Redis can hit timeouts if growth of either IOCP or WORKER threads gets throttled.
+> [!NOTE]
+> StackExchange.Redis can hit timeouts if growth of either IOCP or WORKER threads gets throttled.
#### Recommendation
-Given this information, we strongly recommend that customers set the minimum configuration value for IOCP and WORKER threads to something larger than the default value. We can't give one-size-fits-all guidance on what this value should be because the right value for one application will likely be too high or low for another application. This setting can also impact the performance of other parts of complicated applications, so each customer needs to fine-tune this setting to their specific needs. A good starting place is 200 or 300, then test and tweak as needed.
+Given this information, we strongly recommend that customers set the minimum configuration value for IOCP and WORKER threads to something larger than the default value. We can't give one-size-fits-all guidance on what this value should be because the right value for one application will likely be too high or low for another application. This setting can also affect the performance of other parts of complicated applications, so each customer needs to fine-tune this setting to their specific needs. A good starting place is 200 or 300, then test and tweak as needed.
How to configure this setting:
How to configure this setting:
``` > [!NOTE]
- > The value specified by this method is a global setting, affecting the whole AppDomain. For example, if you have a 4-core machine and want to set *minWorkerThreads* and *minIoThreads* to 50 per CPU during run-time, you would use **ThreadPool.SetMinThreads(200, 200)**.
+ > The value specified by this method is a global setting, affecting the whole AppDomain. For example, if you have a 4-core machine and want to set *minWorkerThreads* and *minIoThreads* to 50 per CPU during run-time, use **ThreadPool.SetMinThreads(200, 200)**.
-* It is also possible to specify the minimum threads setting by using the [*minIoThreads* or *minWorkerThreads* configuration setting](/previous-versions/dotnet/netframework-4.0/7w2sway1(v=vs.100)) under the `<processModel>` configuration element in `Machine.config`, usually located at `%SystemRoot%\Microsoft.NET\Framework\[versionNumber]\CONFIG\`. **Setting the number of minimum threads in this way is generally not recommended, because it is a System-wide setting.**
+* It is also possible to specify the minimum threads setting by using the [*minIoThreads* or *minWorkerThreads* configuration setting](/previous-versions/dotnet/netframework-4.0/7w2sway1(v=vs.100)) under the `<processModel>` configuration element in `Machine.config`. `Machine.config` is typically located at `%SystemRoot%\Microsoft.NET\Framework\[versionNumber]\CONFIG\`. **Setting the number of minimum threads in this way isn't recommended because it's a System-wide setting.**
> [!NOTE] > The value specified in this configuration element is a *per-core* setting. For example, if you have a 4-core machine and want your *minIoThreads* setting to be 200 at runtime, you would use `<processModel minIoThreads="50"/>`. > ### Enable server GC to get more throughput on the client when using StackExchange.Redis+ Enabling server GC can optimize the client and provide better performance and throughput when using StackExchange.Redis. For more information on server GC and how to enable it, see the following articles: * [To enable server GC](/dotnet/framework/configure-apps/file-schema/runtime/gcserver-element)
Enabling server GC can optimize the client and provide better performance and th
### Performance considerations around connections
-Each pricing tier has different limits for client connections, memory, and bandwidth. While each size of cache allows *up to* a certain number of connections, each connection to Redis has overhead associated with it. An example of such overhead would be CPU and memory usage as a result of TLS/SSL encryption. The maximum connection limit for a given cache size assumes a lightly loaded cache. If load from connection overhead *plus* load from client operations exceeds capacity for the system, the cache can experience capacity issues even if you have not exceeded the connection limit for the current cache size.
+Each pricing tier has different limits for client connections, memory, and bandwidth. While each size of cache allows *up to* some number of connections, each connection to Redis has overhead associated with it. An example of such overhead would be CPU and memory usage because of TLS/SSL encryption. The maximum connection limit for a given cache size assumes a lightly loaded cache. If load from connection overhead *plus* load from client operations exceeds capacity for the system, the cache can experience capacity issues even if you haven't exceeded the connection limit for the current cache size.
For more information about the different connections limits for each tier, see [Azure Cache for Redis pricing](https://azure.microsoft.com/pricing/details/cache/). For more information about connections and other default configurations, see [Default Redis server configuration](cache-configure.md#default-redis-server-configuration). ## Next steps
-Learn about other [Azure Cache for Redis FAQs](cache-faq.md).
+Learn about other [Azure Cache for Redis FAQs](cache-faq.md).
azure-cache-for-redis Cache Network Isolation https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-cache-for-redis/cache-network-isolation.md
Last updated 10/15/2020
-# Azure Cache for Redis network isolation options
-In this article, youΓÇÖll learn how to determine the best network isolation solution for your needs. WeΓÇÖll go through the basics of Azure Private Link, Azure Virtual Network (VNet) injection, and Azure Firewall Rules with their advantages and limitations.
+# Azure Cache for Redis network isolation options
+
+In this article, youΓÇÖll learn how to determine the best network isolation solution for your needs. WeΓÇÖll discuss the basics of Azure Private Link, Azure Virtual Network (VNet) injection, and Azure Firewall Rules. We'll discuss their advantages and limitations.
## Azure Private Link
-Azure Private Link provides private connectivity from a virtual network to Azure PaaS services. It simplifies the network architecture and secures the connection between endpoints in Azure by eliminating data exposure to the public internet.
+
+Azure Private Link provides private connectivity from a virtual network to Azure PaaS services. It simplifies the network architecture and secures the connection between endpoints in Azure. It secures the connection by eliminating data exposure to the public internet.
### Advantages
-* Supported on Basic, Standard, and Premium Azure Cache for Redis instances.
-* By using [Azure Private Link](../private-link/private-link-overview.md), you can connect to an Azure Cache instance from your virtual network via a private endpoint, which is assigned a private IP address in a subnet within the virtual network. With this, cache instances are available from both within the VNet and publicly.
-* Once a private endpoint is created, access to the public network can be restricted through the `publicNetworkAccess` flag. This flag is set to `Disabled` by default, which will only allow private link access. You can set the value to `Enabled` or `Disabled` with a PATCH request. For more information, see [Azure Cache for Redis with Azure Private Link](cache-private-link.md).
+
+* Supported on Basic, Standard, and Premium Azure Cache for Redis instances.
+* By using [Azure Private Link](../private-link/private-link-overview.md), you can connect to an Azure Cache instance from your virtual network via a private endpoint. The endpoint is assigned a private IP address in a subnet within the virtual network. With this private link, cache instances are available from both within the VNet and publicly.
+* Once a private endpoint is created, access to the public network can be restricted through the `publicNetworkAccess` flag. This flag is set to `Disabled` by default, which will only allow private link access. You can set the value to `Enabled` or `Disabled` with a PATCH request. For more information, see [Azure Cache for Redis with Azure Private Link (cache-private-link.md).
* All external cache dependencies won't affect the VNet's NSG rules.
-### Limitations
+### Limitations
+ * Network security groups (NSG) are disabled for private endpoints. However, if there are other resources on the subnet, NSG enforcement will apply to those resources.
-* Geo-replication, firewall rules, portal console support, multiple endpoints per clustered cache, persistence to firewall and VNet injected caches aren't supported yet.
+* Not supported yet: Geo-replication, firewall rules, portal console support, multiple endpoints per clustered cache, persistence to firewall, and VNet injected caches.
* To connect to a clustered cache, `publicNetworkAccess` needs to be set to `Disabled` and there can only be one private endpoint connection. > [!NOTE] > When adding a private endpoint to a cache instance, all Redis traffic will be moved to the private endpoint because of the DNS. > Ensure previous firewall rules are adjusted before.
->
->
-## Azure Virtual Network injection
-VNet is the fundamental building block for your private network in Azure. VNet enables many Azure resources to securely communicate with each other, the internet, and on-premises networks. VNet is like a traditional network that you would operate in your own data center, but with the benefits of Azure infrastructure, scale, availability, and isolation.
+## Azure Virtual Network injection
+
+VNet is the fundamental building block for your private network in Azure. VNet enables many Azure resources to securely communicate with each other, the internet, and on-premises networks. VNet is like a traditional network you would operate in your own data center. However, VNet also has the benefits of Azure infrastructure, scale, availability, and isolation.
### Advantages
-* When an Azure Cache for Redis instance is configured with a VNet, it's not publicly addressable and can only be accessed from virtual machines and applications within the VNet.
-* When VNet is combined with restricted NSG policies, it helps reduce the risk of data exfiltration.
-* VNet deployment provides enhanced security and isolation for your Azure Cache for Redis, as well as subnets, access control policies, and other features to further restrict access.
-* Geo replication is supported.
+
+* When an Azure Cache for Redis instance is configured with a VNet, it's not publicly addressable. It can only be accessed from virtual machines and applications within the VNet.
+* When VNet is combined with restricted NSG policies, it helps reduce the risk of data exfiltration.
+* VNet deployment provides enhanced security and isolation for your Azure Cache for Redis. Subnets, access control policies, and other features further restrict access.
+* Geo-replication is supported.
### Limitations
-* VNet injected caches are only available for Premium Azure Cache for Redis.
-* When using a VNet injected cache, you'll need to open your VNet to cache dependencies such as CRLs/PKI, AKV, Azure Storage, Azure Monitor, and more.
+* VNet injected caches are only available for Premium Azure Cache for Redis.
+* When using a VNet injected cache, you must change your VNet to cache dependencies such as CRLs/PKI, AKV, Azure Storage, Azure Monitor, and more.
## Azure Firewall rules+ [Azure Firewall](../firewall/overview.md) is a managed, cloud-based network security service that protects your Azure VNet resources. ItΓÇÖs a fully stateful firewall as a service with built-in high availability and unrestricted cloud scalability. You can centrally create, enforce, and log application and network connectivity policies across subscriptions and virtual networks. ### Advantages+ * When firewall rules are configured, only client connections from the specified IP address ranges can connect to the cache. Connections from Azure Cache for Redis monitoring systems are always permitted, even if firewall rules are configured. NSG rules that you define are also permitted. ### Limitations
-* Firewall rules can be used in conjunction with VNet injected caches, but not private endpoints currently.
+* Firewall rules can be used with VNet injected caches, but not private endpoints currently.
## Next steps
-* Learn how to configure a [VNet injected cache for a Premium Azure Cache for Redis instance](cache-how-to-premium-vnet.md).
-* Learn how to configure [firewall rules for all Azure Cache for Redis tiers](cache-configure.md#firewall).
-* Learn how to [configure private endpoints for all Azure Cache for Redis tiers](cache-private-link.md).
+
+* Learn how to configure a [VNet injected cache for a Premium Azure Cache for Redis instance](cache-how-to-premium-vnet.md).
+* Learn how to configure [firewall rules for all Azure Cache for Redis tiers](cache-configure.md#firewall).
+* Learn how to [configure private endpoints for all Azure Cache for Redis tiers](cache-private-link.md).
azure-cache-for-redis Cache Nodejs Get Started https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-cache-for-redis/cache-nodejs-get-started.md
If you want to skip straight to the code, see the [Node.js quickstart](https://g
## Prerequisites - Azure subscription - [create one for free](https://azure.microsoft.com/free/)-- [node_redis](https://github.com/mranney/node_redis), which you can install with the command `npm install redis`.
+- [node_redis](https://github.com/mranney/node_redis), which you can install with the command `npm install redis`.
For examples of using other Node.js clients, see the individual documentation for the Node.js clients listed at [Node.js Redis clients](https://redis.io/clients#nodejs). ## Create a cache+ [!INCLUDE [redis-cache-create](../../includes/redis-cache-create.md)] [!INCLUDE [redis-cache-access-keys](../../includes/redis-cache-access-keys.md)]
+Add environment variables for your **HOST NAME** and **Primary** access key. Use these variables from your code instead of including the sensitive information directly in your code.
-Add environment variables for your **HOST NAME** and **Primary** access key. You will use these variables from your code instead of including the sensitive information directly in your code.
-
+```powershell
+set REDISCACHEHOSTNAME=contosoCache.redis.cache.windows.net
+set REDISCACHEKEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
```+
+```powershell
set REDISCACHEHOSTNAME=contosoCache.redis.cache.windows.net set REDISCACHEKEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ``` ## Connect to the cache
-The latest builds of [node_redis](https://github.com/mranney/node_redis) provide support for connecting to Azure Cache for Redis using TLS. The following example shows how to connect to Azure Cache for Redis using the TLS endpoint of 6380.
+The latest builds of [node_redis](https://github.com/mranney/node_redis) provide support for connecting to Azure Cache for Redis using TLS. The following example shows how to connect to Azure Cache for Redis using the TLS endpoint of 6380.
```js var redis = require("redis");
var client = redis.createClient(6380, process.env.REDISCACHEHOSTNAME,
{auth_pass: process.env.REDISCACHEKEY, tls: {servername: process.env.REDISCACHEHOSTNAME}}); ```
-Don't create a new connection for each operation in your code. Instead, reuse connections as much as possible.
+Don't create a new connection for each operation in your code. Instead, reuse connections as much as possible.
## Create a new Node.js app
testCache();
Run the script with Node.js.
-```
+```powershell
node redistest.js ```
In the example below, you can see the `Message` key previously had a cached valu
## Clean up resources
-If you will be continuing to the next tutorial, you can keep the resources created in this quickstart and reuse them.
+If you continue to the next tutorial, can keep the resources created in this quickstart and reuse them.
-Otherwise, if you are finished with the quickstart sample application, you can delete the Azure resources created in this quickstart to avoid charges.
+Otherwise, if you're finished with the quickstart sample application, you can delete the Azure resources created in this quickstart to avoid charges.
> [!IMPORTANT] > Deleting a resource group is irreversible and that the resource group and all the resources in it are permanently deleted. Make sure that you do not accidentally delete the wrong resource group or resources. If you created the resources for hosting this sample inside an existing resource group that contains resources you want to keep, you can delete each resource individually from their respective blades instead of deleting the resource group.
In the **Filter by name** text box, enter the name of your resource group. The i
![Delete Azure Resource group](./media/cache-nodejs-get-started/redis-cache-delete-resource-group.png)
-You will be asked to confirm the deletion of the resource group. Enter the name of your resource group to confirm, and select **Delete**.
+You'll be asked to confirm the deletion of the resource group. Enter the name of your resource group to confirm, and select **Delete**.
After a few moments, the resource group and all of its contained resources are deleted.
azure-cache-for-redis Cache Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-cache-for-redis/cache-overview.md
The [Azure Cache for Redis Pricing](https://azure.microsoft.com/pricing/details/
| [Data persistence](cache-how-to-premium-persistence.md) |-|-|Γ£ö|Preview|Preview| | [Zone redundancy](cache-how-to-zone-redundancy.md) |-|-|Γ£ö|Γ£ö|Γ£ö| | [Geo-replication](cache-how-to-geo-replication.md) |-|-|Γ£ö|Preview|Preview|
-| [Modules](https://redis.io/modules) |-|-|-|Γ£ö|Γ£ö|
+| [Redis Modules](#choosing-the-right-tier) |-|-|-|Γ£ö|Γ£ö|
| [Import/Export](cache-how-to-import-export-data.md) |-|-|Γ£ö|Γ£ö|Γ£ö|
+| [Reboot](cache-administration.md#reboot) |Γ£ö|Γ£ö|Γ£ö|-|-|
| [Scheduled updates](cache-administration.md#schedule-updates) |Γ£ö|Γ£ö|Γ£ö|-|-| ### Choosing the right tier
You should consider the following when choosing an Azure Cache for Redis tier:
* **Performance**: Caches in the Premium and Enterprise tiers are deployed on hardware that has faster processors, giving better performance compared to the Basic or Standard tier. Premium tier Caches have higher throughput and lower latencies. For more information, see [Azure Cache for Redis performance](cache-planning-faq.md#azure-cache-for-redis-performance). * **Dedicated core for Redis server**: All caches except C0 run dedicated VM cores. Redis, by design, uses only one thread for command processing. Azure Cache for Redis utilizes additional cores for I/O processing. Having more cores improves throughput performance even though it may not produce linear scaling. Furthermore, larger VM sizes typically come with higher bandwidth limits than smaller ones. That helps you avoid network saturation, which will cause timeouts in your application. * **Network performance**: If you have a workload that requires high throughput, the Premium or Enterprise tier offers more bandwidth compared to Basic or Standard. Also within each tier, larger size caches have more bandwidth because of the underlying VM that hosts the cache. For more information, see [Azure Cache for Redis performance](cache-planning-faq.md#azure-cache-for-redis-performance).
-* **Maximum number of client connections**: The Premium tier offers the maximum number of clients that can connect to Redis, with a higher number of connections for larger sized caches. Clustering does not increase the number of connections available for a clustered cache. For more information, see [Azure Cache for Redis pricing](https://azure.microsoft.com/pricing/details/cache/).
+* **Maximum number of client connections**: The Premium and Enterprise tiers offer the maximum numbers of clients that can connect to Redis, with higher numbers of connections for larger sized caches. Clustering increases the total amount of network bandwidth available for a clustered cache.
* **High availability**: Azure Cache for Redis provides multiple [high availability](cache-high-availability.md) options. It guarantees that a Standard, Premium, or Enterprise cache is available according to our [SLA](https://azure.microsoft.com/support/legal/sla/cache/v1_0/). The SLA only covers connectivity to the cache endpoints. The SLA does not cover protection from data loss. We recommend using the Redis data persistence feature in the Premium and Enterprise tiers to increase resiliency against data loss. * **Data persistence**: The Premium and Enterprise tiers allow you to persist the cache data to an Azure Storage account and a Managed Disk respectively. Underlying infrastructure issues might result in potential data loss. We recommend using the Redis data persistence feature in these tiers to increase resiliency against data loss. Azure Cache for Redis offers both RDB and AOF (preview) options. Data persistence can be enabled through Azure portal and CLI. For the Premium tier, see [How to configure persistence for a Premium Azure Cache for Redis](cache-how-to-premium-persistence.md). * **Network isolation**: Azure Private Link and Virtual Network (VNET) deployments provide enhanced security and traffic isolation for your Azure Cache for Redis. VNET allows you to further restrict access through network access control policies. For more information, see [Azure Cache for Redis with Azure Private Link](cache-private-link.md) and [How to configure Virtual Network support for a Premium Azure Cache for Redis](cache-how-to-premium-vnet.md).
-* **Extensibility**: Enterprise tiers support [RediSearch](https://docs.redislabs.com/latest/modules/redisearch/), [RedisBloom](https://docs.redislabs.com/latest/modules/redisbloom/) and [RedisTimeSeries](https://docs.redislabs.com/latest/modules/redistimeseries/). These modules add new data types and functionality to Redis.
+* **Redis Modules**: Enterprise tiers support [RediSearch](https://docs.redislabs.com/latest/modules/redisearch/), [RedisBloom](https://docs.redislabs.com/latest/modules/redisbloom/) and [RedisTimeSeries](https://docs.redislabs.com/latest/modules/redistimeseries/). These modules add new data types and functionality to Redis.
You can scale your cache from the Basic tier up to Premium after it has been created. Scaling down to a lower tier is not supported currently. For step-by-step scaling instructions, see [How to Scale Azure Cache for Redis](cache-how-to-scale.md) and [How to automate a scaling operation](cache-how-to-scale.md#how-to-automate-a-scaling-operation).
azure-cache-for-redis Cache Private Link https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-cache-for-redis/cache-private-link.md
Last updated 3/31/2021
# Azure Cache for Redis with Azure Private Link+ In this article, you'll learn how to create a virtual network and an Azure Cache for Redis instance with a private endpoint using the Azure portal. You'll also learn how to add a private endpoint to an existing Azure Cache for Redis instance. Azure Private Endpoint is a network interface that connects you privately and securely to Azure Cache for Redis powered by Azure Private Link. ## Prerequisites+ * Azure subscription - [create one for free](https://azure.microsoft.com/free/) > [!IMPORTANT]
In this section, you'll create a new Azure Cache for Redis instance with a priva
| | - | -- | | **Subscription** | Drop down and select your subscription. | The subscription under which to create this virtual network. | | **Resource group** | Drop down and select a resource group, or select **Create new** and enter a new resource group name. | Name for the resource group in which to create your virtual network and other resources. By putting all your app resources in one resource group, you can easily manage or delete them together. |
- | **Name** | Enter a virtual network name. | The name must begin with a letter or number, end with a letter, number or underscore, and may contain only letters, numbers, underscores, periods, or hyphens. |
+ | **Name** | Enter a virtual network name. | The name must: begin with a letter or number; end with a letter, number, or underscore; and contain only letters, numbers, underscores, periods, or hyphens. |
| **Region** | Drop down and select a region. | Select a [region](https://azure.microsoft.com/regions/) near other services that will use your virtual network. |
-5. Select the **IP Addresses** tab or click the **Next: IP Addresses** button at the bottom of the page.
+5. Select the **IP Addresses** tab or select the **Next: IP Addresses** button at the bottom of the page.
-6. In the **IP Addresses** tab, specify the **IPv4 address space** as one or more address prefixes in CIDR notation (e.g. 192.168.1.0/24).
+6. In the **IP Addresses** tab, specify the **IPv4 address space** as one or more address prefixes in CIDR notation (for example, 192.168.1.0/24).
-7. Under **Subnet name**, click on **default** to edit the subnet's properties.
+7. Under **Subnet name**, select on **default** to edit the subnet's properties.
-8. In the **Edit subnet** pane, specify a **Subnet name** as well as the **Subnet address range**. The subnet's address range should be in CIDR notation (e.g. 192.168.1.0/24). It must be contained by the address space of the virtual network.
+8. In the **Edit subnet** pane, specify a **Subnet name** and the **Subnet address range**. The subnet's address range should be in CIDR notation (for example, 192.168.1.0/24). It must be contained by the address space of the virtual network.
9. Select **Save**.
-10. Select the **Review + create** tab or click the **Review + create** button.
+10. Select the **Review + create** tab or select the **Review + create** button.
-11. Verify that all the information is correct and click **Create** to provision the virtual network.
+11. Verify that all the information is correct and select **Create** to provision the virtual network.
### Create an Azure Cache for Redis instance with a private endpoint+ To create a cache instance, follow these steps. 1. Go back to the Azure portal homepage or open the sidebar menu, then select **Create a resource**.
To create a cache instance, follow these steps.
| Setting | Suggested value | Description | | | - | -- |
- | **DNS name** | Enter a globally unique name. | The cache name must be a string between 1 and 63 characters that contains only numbers, letters, or hyphens. The name must start and end with a number or letter, and can't contain consecutive hyphens. Your cache instance's *host name* will be *\<DNS name>.redis.cache.windows.net*. |
+ | **DNS name** | Enter a globally unique name. | The cache name must be a string between 1 and 63 characters. The string must contain only numbers, letters, or hyphens. The name must start and end with a number or letter, and can't contain consecutive hyphens. Your cache instance's *host name* will be *\<DNS name>.redis.cache.windows.net*. |
| **Subscription** | Drop down and select your subscription. | The subscription under which to create this new Azure Cache for Redis instance. | | **Resource group** | Drop down and select a resource group, or select **Create new** and enter a new resource group name. | Name for the resource group in which to create your cache and other resources. By putting all your app resources in one resource group, you can easily manage or delete them together. | | **Location** | Drop down and select a location. | Select a [region](https://azure.microsoft.com/regions/) near other services that will use your cache. | | **Pricing tier** | Drop down and select a [Pricing tier](https://azure.microsoft.com/pricing/details/cache/). | The pricing tier determines the size, performance, and features that are available for the cache. For more information, see [Azure Cache for Redis Overview](cache-overview.md). |
-1. Select the **Networking** tab or click the **Networking** button at the bottom of the page.
+1. Select the **Networking** tab or select the **Networking** button at the bottom of the page.
1. In the **Networking** tab, select **Private Endpoint** for the connectivity method.
-1. Click the **Add** button to create your private endpoint.
+1. Select the **Add** button to create your private endpoint.
:::image type="content" source="media/cache-private-link/3-add-private-endpoint.png" alt-text="In networking, add a private endpoint."::: 1. On the **Create a private endpoint** page, configure the settings for your private endpoint with the virtual network and subnet you created in the last section and select **OK**.
-1. Select the **Next: Advanced** tab or click the **Next: Advanced** button on the bottom of the page.
+1. Select the **Next: Advanced** tab or select the **Next: Advanced** button on the bottom of the page.
1. In the **Advanced** tab for a basic or standard cache instance, select the enable toggle if you want to enable a non-TLS port. 1. In the **Advanced** tab for premium cache instance, configure the settings for non-TLS port, clustering, and data persistence.
-1. Select the **Next: Tags** tab or click the **Next: Tags** button at the bottom of the page.
+1. Select the **Next: Tags** tab or select the **Next: Tags** button at the bottom of the page.
1. Optionally, in the **Tags** tab, enter the name and value if you wish to categorize the resource.
It takes a while for the cache to create. You can monitor progress on the Azure
> [!IMPORTANT] > > There is a `publicNetworkAccess` flag which is `Disabled` by default.
-> This flag is meant to allow you to optionally allow both public and private endpoint access to the cache if it is set to `Enabled`. If set to `Disabled`, it will only allow private endpoint access. You can set the value to `Disabled` or `Enabled`. For more details on how to change the value, see the [FAQ](#how-can-i-change-my-private-endpoint-to-be-disabled-or-enabled-from-public-network-access)
+> This flag is meant to allow you to optionally allow both public and private endpoint access to the cache if it is set to `Enabled`. If set to `Disabled`, it will only allow private endpoint access. You can set the value to `Disabled` or `Enabled`. For more information on how to change the value, see the [FAQ](#how-can-i-change-my-private-endpoint-to-be-disabled-or-enabled-from-public-network-access)
> >
It takes a while for the cache to create. You can monitor progress on the Azure
In this section, you'll add a private endpoint to an existing Azure Cache for Redis instance.
-### Create a virtual network
+### Create a virtual network
+ To create a virtual network, follow these steps. 1. Sign in to the [Azure portal](https://portal.azure.com) and select **Create a resource**.
To create a virtual network, follow these steps.
| | - | -- | | **Subscription** | Drop down and select your subscription. | The subscription under which to create this virtual network. | | **Resource group** | Drop down and select a resource group, or select **Create new** and enter a new resource group name. | Name for the resource group in which to create your virtual network and other resources. By putting all your app resources in one resource group, you can easily manage or delete them together. |
- | **Name** | Enter a virtual network name. | The name must begin with a letter or number, end with a letter, number or underscore, and may contain only letters, numbers, underscores, periods, or hyphens. |
+ | **Name** | Enter a virtual network name. | The name must: begin with a letter or number; end with a letter, number, or underscore; and contain only letters, numbers, underscores, periods, or hyphens. |
| **Region** | Drop down and select a region. | Select a [region](https://azure.microsoft.com/regions/) near other services that will use your virtual network. |
-5. Select the **IP Addresses** tab or click the **Next: IP Addresses** button at the bottom of the page.
+5. Select the **IP Addresses** tab or select the **Next: IP Addresses** button at the bottom of the page.
-6. In the **IP Addresses** tab, specify the **IPv4 address space** as one or more address prefixes in CIDR notation (e.g. 192.168.1.0/24).
+6. In the **IP Addresses** tab, specify the **IPv4 address space** as one or more address prefixes in CIDR notation (for example, 192.168.1.0/24).
-7. Under **Subnet name**, click on **default** to edit the subnet's properties.
+7. Under **Subnet name**, select on **default** to edit the subnet's properties.
-8. In the **Edit subnet** pane, specify a **Subnet name** as well as the **Subnet address range**. The subnet's address range should be in CIDR notation (e.g. 192.168.1.0/24). It must be contained by the address space of the virtual network.
+8. In the **Edit subnet** pane, specify a **Subnet name** and the **Subnet address range**. The subnet's address range should be in CIDR notation (for example, 192.168.1.0/24). It must be contained by the address space of the virtual network.
9. Select **Save**.
-10. Select the **Review + create** tab or click the **Review + create** button.
+10. Select the **Review + create** tab or select the **Review + create** button.
-11. Verify that all the information is correct and click **Create** to provision the virtual network.
+11. Verify that all the information is correct and select **Create** to provision the virtual network.
### Create a private endpoint To create a private endpoint, follow these steps.
-1. In the Azure portal, search for **Azure Cache for Redis** and press enter or select it from the search suggestions.
+1. In the Azure portal, search for **Azure Cache for Redis**. Then, press enter or select it from the search suggestions.
:::image type="content" source="media/cache-private-link/4-search-for-cache.png" alt-text="Search for Azure Cache for Redis.":::
To create a private endpoint, follow these steps.
3. On the left side of the screen, select **Private Endpoint**.
-4. Click the **Private Endpoint** button to create your private endpoint.
+4. Select the **Private Endpoint** button to create your private endpoint.
:::image type="content" source="media/cache-private-link/5-add-private-endpoint.png" alt-text="Add private endpoint.":::
To create a private endpoint, follow these steps.
| | - | -- | | **Subscription** | Drop down and select your subscription. | The subscription under which to create this private endpoint. | | **Resource group** | Drop down and select a resource group, or select **Create new** and enter a new resource group name. | Name for the resource group in which to create your private endpoint and other resources. By putting all your app resources in one resource group, you can easily manage or delete them together. |
- | **Name** | Enter a private endpoint name. | The name must begin with a letter or number, end with a letter, number or underscore, and may contain only letters, numbers, underscores, periods, or hyphens. |
+ | **Name** | Enter a private endpoint name. | The name must: begin with a letter or number; end with a letter, number, or underscore; and can contain only letters, numbers, underscores, periods, or hyphens. |
| **Region** | Drop down and select a region. | Select a [region](https://azure.microsoft.com/regions/) near other services that will use your private endpoint. |
-6. Click the **Next: Resource** button at the bottom of the page.
+6. Select the **Next: Resource** button at the bottom of the page.
7. In the **Resource** tab, select your subscription, choose the resource type as `Microsoft.Cache/Redis`, and then select the cache you want to connect the private endpoint to.
-8. Click the **Next: Configuration** button at the bottom of the page.
+8. Select the **Next: Configuration** button at the bottom of the page.
9. In the **Configuration** tab, select the virtual network and subnet you created in the previous section.
-10. Click the **Next: Tags** button at the bottom of the page.
+10. Select the **Next: Tags** button at the bottom of the page.
11. Optionally, in the **Tags** tab, enter the name and value if you wish to categorize the resource.
To create a private endpoint, follow these steps.
> [!IMPORTANT] > > There is a `publicNetworkAccess` flag which is `Disabled` by default.
-> This flag is meant to allow you to optionally allow both public and private endpoint access to the cache if it is set to `Enabled`. If set to `Disabled`, it will only allow private endpoint access. You can set the value to `Disabled` or `Enabled`. For more details on how to change the value, see the [FAQ](#how-can-i-change-my-private-endpoint-to-be-disabled-or-enabled-from-public-network-access)
+> This flag is meant to allow you to optionally allow both public and private endpoint access to the cache if it is set to `Enabled`. If set to `Disabled`, it will only allow private endpoint access. You can set the value to `Disabled` or `Enabled`. For more information on how to change the value, see the [FAQ](#how-can-i-change-my-private-endpoint-to-be-disabled-or-enabled-from-public-network-access)
> >
To create a private endpoint, follow these steps.
## FAQ ### Why can't I connect to a private endpoint?
-If your cache is already a VNet injected cache, private endpoints cannot be used with your cache instance. If your cache instance is using an unsupported feature (listed below), you won't be able to connect to your private endpoint instance.
-### What features are not supported with private endpoints?
+If your cache is already a VNet injected cache, private endpoints cannot be used with your cache instance. If your cache instance is using an unsupported feature listed below, you can't connect to your private endpoint instance.
+
+### What features aren't supported with private endpoints?
+ Currently, zone redundancy, portal console support, and persistence to firewall storage accounts are not supported. ### How can I change my private endpoint to be disabled or enabled from public network access?
-There is a `publicNetworkAccess` flag which is `Disabled` by default.
-This flag is meant to allow you to optionally allow both public and private endpoint access to the cache if it is set to `Enabled`. If set to `Disabled`, it will only allow private endpoint access. You can set the value to `Disabled` or `Enabled` in the Azure portal or with a Restful API PATCH request.
+
+There's a `publicNetworkAccess` flag that is `Disabled` by default.
+This flag is meant to allow you to optionally allow both public and private endpoint access to the cache if it's set to `Enabled`. If set to `Disabled`, it will only allow private endpoint access. You can set the value to `Disabled` or `Enabled` in the Azure portal or with a Restful API PATCH request.
To change the value in the Azure portal, follow these steps.
-1. In the Azure portal, search for **Azure Cache for Redis** and press enter or select it from the search suggestions.
+1. In the Azure portal, search for **Azure Cache for Redis**. Then, press enter or select it from the search suggestions.
2. Select the cache instance you want to change the public network access value. 3. On the left side of the screen, select **Private Endpoint**.
-4. Click the **Enable public network access** button.
+4. Select the **Enable public network access** button.
To change the value through a Restful API PATCH request, see below and edit the value to reflect which flag you want for your cache.
PATCH https://management.azure.com/subscriptions/{subscription}/resourceGroups/
``` ### How can I have multiple endpoints in different virtual networks?
-To have multiple private endpoints in different virtual networks, the private DNS zone needs to be manually configured to the multiple virtual networks _before_ creating the private endpoint. For more information, see [Azure Private Endpoint DNS configuration](../private-link/private-endpoint-dns.md).
+
+To have multiple private endpoints in different virtual networks, the private DNS zone must be manually configured to the multiple virtual networks _before_ creating the private endpoint. For more information, see [Azure Private Endpoint DNS configuration](../private-link/private-endpoint-dns.md).
### What happens if I delete all the private endpoints on my cache?
-Once you delete the private endpoints on your cache, your cache instance may become unreachable until either you explicitly enable public network access or you add another private endpoint. You can change the `publicNetworkAccess` flag on either the Azure portal or through a Restful API PATCH request. For more details on how to change the value, see the [FAQ](#how-can-i-change-my-private-endpoint-to-be-disabled-or-enabled-from-public-network-access)
+
+Once you delete the private endpoints on your cache, your cache instance can become unreachable until: you explicitly enable public network access, or you add another private endpoint. You can change the `publicNetworkAccess` flag on either the Azure portal or through a Restful API PATCH request. For more information on how to change the value, see the [FAQ](#how-can-i-change-my-private-endpoint-to-be-disabled-or-enabled-from-public-network-access)
### Are network security groups (NSG) enabled for private endpoints?
-No, they are disabled for private endpoints. While subnets containing the private endpoint can have NSG associated with it, the rules will not be effective on traffic processed by the private endpoint. You must have [network policies enforcement disabled](../private-link/disable-private-endpoint-network-policy.md) to deploy private endpoints in a subnet. NSG is still enforced on other workloads hosted on the same subnet. Routes on any client subnet will be using an /32 prefix, changing the default routing behavior requires a similar UDR.
+
+No, they're disabled for private endpoints. While subnets containing the private endpoint can have NSG associated with it, the rules aren't effective on traffic processed by the private endpoint. You must have [network policies enforcement disabled](../private-link/disable-private-endpoint-network-policy.md) to deploy private endpoints in a subnet. NSG is still enforced on other workloads hosted on the same subnet. Routes on any client subnet will be using an /32 prefix, changing the default routing behavior requires a similar UDR.
Control the traffic by using NSG rules for outbound traffic on source clients. Deploy individual routes with /32 prefix to override private endpoint routes. NSG Flow logs and monitoring information for outbound connections are still supported and can be used
-### Since my private endpoint instance is not in my VNet, how is it associated with my VNet?
-It is only linked to your VNet. Since it is not in your VNet, NSG rules do not need to be modified for dependent endpoints.
+### My private endpoint instance isn't in my VNet, so how is it associated with my VNet?
+
+It's only linked to your VNet. Because it's not in your VNet, NSG rules don't need to be modified for dependent endpoints.
### How can I migrate my VNet injected cache to a private endpoint cache?
-You will need to delete your VNet injected cache and create a new cache instance with a private endpoint. For more information, see [migrate to Azure Cache for Redis](cache-migration-guide.md)
+
+Delete your VNet injected cache and create a new cache instance with a private endpoint. For more information, see [migrate to Azure Cache for Redis](cache-migration-guide.md)
## Next steps+ * To learn more about Azure Private Link, see the [Azure Private Link documentation](../private-link/private-link-overview.md). * To compare various network isolation options for your cache instance, see [Azure Cache for Redis network isolation options documentation](cache-network-isolation.md).
azure-cache-for-redis Cache Remove Tls 10 11 https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-cache-for-redis/cache-remove-tls-10-11.md
There's an industry-wide push toward the exclusive use of Transport Layer Securi
As a part of this effort, we'll be making the following changes to Azure Cache for Redis:
-* **Phase 1:** We'll configure the default minimum TLS version to be 1.2 for newly created cache instances (previously, it was TLS 1.0). Existing cache instances won't be updated at this point. You can still use the Azure portal or other management APIs to [change the minimum TLS version](cache-configure.md#access-ports) to 1.0 or 1.1 for backward compatibility if you need to.
+* **Phase 1:** We'll configure the default minimum TLS version to be 1.2 for newly created cache instances (previously, it was TLS 1.0). Existing cache instances won't be updated at this point. You can still use the Azure portal or other management APIs to [change the minimum TLS version](cache-configure.md#access-ports) to 1.0 or 1.1 for backward compatibility.
* **Phase 2:** We'll stop supporting TLS 1.1 and TLS 1.0. After this change, your application must use TLS 1.2 or later to communicate with your cache. The Azure Cache for Redis service is expected to be available while we migrate it to support only TLS 1.2 or later. > [!NOTE] > Phase 2 is tentatively planned to begin not earlier than December 31, 2020. However, we strongly recommend that you begin planning for this change now and proactively update clients to support TLS 1.2 or later. >
-As part of this change, we'll also remove support for older cypher suites that are not secure. Our supported cypher suites will be restricted to the following suites when the cache is configured with a minimum of TLS 1.2:
+As part of this change, we'll also remove support for older cypher suites that aren't secure. Our supported cypher suites are restricted to the following suites when the cache is configured with a minimum of TLS 1.2:
* TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384 * TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256
The dates when these changes take effect are:
| Cloud | Phase 1 Start Date | Phase 2 Start Date | |-|--|-|
-| Azure (global) | January 13, 2020 | Postponed due to COVID-19 |
-| Azure Government | March 13, 2020 | Postponed due to COVID-19 |
-| Azure Germany | March 13, 2020 | Postponed due to COVID-19 |
-| Azure China 21Vianet | March 13, 2020 | Postponed due to COVID-19 |
+| Azure (global) | January 13, 2020 | Postponed because of COVID-19 |
+| Azure Government | March 13, 2020 | Postponed because of COVID-19 |
+| Azure Germany | March 13, 2020 | Postponed because of COVID-19 |
+| Azure China 21Vianet | March 13, 2020 | Postponed because of COVID-19 |
> [!NOTE] > Phase 2 is tentatively planned to begin not earlier than December 31, 2020. This article will be updated when specific dates are set.
The dates when these changes take effect are:
## Check whether your application is already compliant
-The easiest way to find out whether your application will work with TLS 1.2 is to set the **Minimum TLS version** value to TLS 1.2 on a test or staging cache, then run tests. The **Minimum TLS version** setting is in the [Advanced settings](cache-configure.md#advanced-settings) of your cache instance in the Azure portal. If the application continues to function as expected after this change, it's probably compliant. You might need to configure the Redis client library used by your application to enable TLS 1.2 in order to connect to Azure Cache for Redis.
+You can find out whether your application works with TLS 1.2 by setting the **Minimum TLS version** value to TLS 1.2 on a test or staging cache, then running tests. The **Minimum TLS version** setting is in the [Advanced settings](cache-configure.md#advanced-settings) of your cache instance in the Azure portal. If the application continues to function as expected after this change, it's probably compliant. You might need to configure the Redis client library used by your application to enable TLS 1.2 to connect to Azure Cache for Redis.
## Configure your application to use TLS 1.2
Most applications use Redis client libraries to handle communication with their
### .NET Framework
-Redis .NET clients use the earliest TLS version by default on .NET Framework 4.5.2 or earlier, and use the latest TLS version on .NET Framework 4.6 or later. If you're using an older version of .NET Framework, you can enable TLS 1.2 manually:
+Redis .NET clients use the earliest TLS version by default on .NET Framework 4.5.2 or earlier, and use the latest TLS version on .NET Framework 4.6 or later. If you're using an older version of .NET Framework, enable TLS 1.2 manually:
* **StackExchange.Redis:** Set `ssl=true` and `sslprotocols=tls12` in the connection string. * **ServiceStack.Redis:** Follow the [ServiceStack.Redis](https://github.com/ServiceStack/ServiceStack.Redis#servicestackredis-ssl-support) instructions and requires ServiceStack.Redis v5.6 at a minimum. ### .NET Core
-Redis .NET Core clients default to the OS default TLS version which obviously depends on the OS itself.
+Redis .NET Core clients default to the OS default TLS version, which depends on the OS itself.
-Depending on the OS version and any patches which have been applied, the effective default TLS version can vary. While there is one source of info about this, [here](/dotnet/framework/network-programming/tls#support-for-tls-12) is an article for Windows.
+Depending on the OS version and any patches that have been applied, the effective default TLS version can vary. For more information, see [here](/dotnet/framework/network-programming/#support-for-tls-12).
-However, if you are using a old OS or just want to be sure, we recommend configuring the preferred TLS version manually through the client.
+However, if you're using an old OS or just want to be sure, we recommend configuring the preferred TLS version manually through the client.
### Java
shardInfo.setPassword("cachePassword");
Jedis jedis = new Jedis(shardInfo); ```
-The Lettuce and Redisson clients don't yet support specifying the TLS version, so they'll break if the cache accepts only TLS 1.2 connections. Fixes for these clients are being reviewed, so check with those packages for an updated version with this support.
+The Lettuce and Redisson clients don't yet support specifying the TLS version. They'll break if the cache accepts only TLS 1.2 connections. Fixes for these clients are being reviewed, so check with those packages for an updated version with this support.
In Java 8, TLS 1.2 is used by default and shouldn't require updates to your client configuration in most cases. To be safe, test your application.
azure-cache-for-redis Policy Reference https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-cache-for-redis/policy-reference.md
# Azure Policy built-in definitions for Azure Cache for Redis
-This page is an index of [Azure Policy](../governance/policy/overview.md) built-in policy
-definitions for Azure Cache for Redis. For additional Azure Policy built-ins for other services, see
+This article is an index of [Azure Policy](../governance/policy/overview.md) built-in policy
+definitions for Azure Cache for Redis. For other Azure Policy built-ins for other services, see
[Azure Policy built-in definitions](../governance/policy/samples/built-in-policies.md). The name of each built-in policy definition links to the policy definition in the Azure portal. Use
azure-cache-for-redis Quickstart Create Redis Enterprise https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-cache-for-redis/quickstart-create-redis-enterprise.md
You'll need an Azure subscription before you begin. If you don't have one, creat
:::image type="content" source="media/cache-create/enterprise-tier-basics.png" alt-text="Enterprise tier Basics tab":::
- > [!NOTE]
+ > [!IMPORTANT]
> Be sure to select **Terms** before you proceed. > 1. Select **Next: Networking** and skip.
-1. Select **Next: Advanced** and set **Clustering policy** to **Enterprise**. Enable **Non-TLS access only** if you plan to connect to the new cache without using TLS. This is not recommended, however.
+1. Select **Next: Advanced** and set **Clustering policy** to **Enterprise** for a non-clustered cache. Enable **Non-TLS access only** if you plan to connect to the new cache without using TLS. This is not recommended, however.
:::image type="content" source="media/cache-create/enterprise-tier-advanced.png" alt-text="Screenshot that shows the Enterprise tier Advanced tab.":::
+ > [!NOTE]
+ > Redis Enterprise supports two clustering policies. Use the **Enterprise** policy to access
+ > your cache using the regular Redis API, and **OSS** the OSS Cluster API.
+ >
+ > [!NOTE] > You can't change modules after you create the cache instance. The setting is create-only. >
azure-functions Functions Reference Powershell https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-functions/functions-reference-powershell.md
You may want to target a specific version of a module in your requirements.psd1
```powershell @{
- Az.Accounts = '1.9.5'
+ 'Az.Accounts' = '1.9.5'
} ```
azure-monitor Action Groups https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-monitor/alerts/action-groups.md
Title: Create and manage action groups in the Azure portal
description: Learn how to create and manage action groups in the Azure portal. Previously updated : 04/07/2021 Last updated : 05/28/2021 # Create and manage action groups in the Azure portal
While setting up *Email ARM Role* you need to make sure below 3 conditions are m
### Function Calls an existing HTTP trigger endpoint in [Azure Functions](../../azure-functions/functions-get-started.md). To handle a request, your endpoint must handle the HTTP POST verb.
+When defining the Function action the the Function's httptrigger endpoint and access key are saved in the action definition. For example: https://azfunctionurl.azurewebsites.net/api/httptrigger?code=this_is_access_key. If you change the access key for the function you will need to remove and recreate the Function action in the Action Group.
+ You may have a limited number of Function actions in an Action Group. ### ITSM
azure-monitor Annotations https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-monitor/app/annotations.md
Title: Release annotations for Application Insights | Microsoft Docs
-description: Add deployment or build markers to your metrics explorer charts in Application Insights.
+description: Learn how to create annotations to track deployment or other significant events with Application Insights.
Previously updated : 08/14/2020 Last updated : 05/27/2021
-# Annotations on metric charts in Application Insights
+# Release annotations for Application Insights
Annotations show where you deployed a new build, or other significant events. Annotations make it easy to see whether your changes had any effect on your application's performance. They can be automatically created by the [Azure Pipelines](/azure/devops/pipelines/tasks/) build system. You can also create annotations to flag any event you like by creating them from PowerShell.
Annotations show where you deployed a new build, or other significant events. An
Release annotations are a feature of the cloud-based Azure Pipelines service of Azure DevOps.
-### Install the Annotations extension (one time)
+If your subscription has an Application Insights resource linked to it and you use one of the following deployment tasks, then you don't need to configure anything else.
-To be able to create release annotations, you'll need to install one of the many Azure DevOps extensions available in the Visual Studio Marketplace.
+| Task code | Task name | Versions |
+||-|--|
+| AzureAppServiceSettings | Azure App Service Settings | Any |
+| AzureRmWebAppDeployment | Azure App Service deploy | V3 and above |
+| AzureFunctionApp | Azure Functions | Any |
+| AzureFunctionAppContainer | Azure Functions for container | Any |
+| AzureWebAppContainer | Azure Web App for Containers | Any |
+| AzureWebApp | Azure Web App | Any |
-1. Sign in to your [Azure DevOps](https://azure.microsoft.com/services/devops/) project.
-
-1. On the Visual Studio Marketplace [Release Annotations extension](https://marketplace.visualstudio.com/items/ms-appinsights.appinsightsreleaseannotations) page, select your Azure DevOps organization, and then select **Install** to add the extension to your Azure DevOps organization.
-
- ![Select an Azure DevOps organization and then select Install.](./media/annotations/1-install.png)
-
-You only need to install the extension once for your Azure DevOps organization. You can now configure release annotations for any project in your organization.
+> [!NOTE]
+> If youΓÇÖre still using the Application Insights annotation deployment task, you should delete it.
### Configure release annotations
-Create a separate API key for each of your Azure Pipelines release templates.
-
-1. Sign in to the [Azure portal](https://portal.azure.com) and open the Application Insights resource that monitors your application. Or if you don't have one, [create a new Application Insights resource](./app-insights-overview.md).
-
-1. Open the **API Access** tab and copy the **Application Insights ID**.
-
- ![Under API Access, copy the Application ID.](./media/annotations/2-app-id.png)
-
-1. In a separate browser window, open or create the release template that manages your Azure Pipelines deployments.
-
-1. Select **Add task**, and then select the **Application Insights Release Annotation** task from the menu.
-
- ![Select Add Task and select Application Insights Release Annotation.](./media/annotations/3-add-task.png)
-
- > [!NOTE]
- > The Release Annotation task currently supports only Windows-based agents; it won't run on Linux, macOS, or other types of agents.
-
-1. Under **Application ID**, paste the Application Insights ID you copied from the **API Access** tab.
-
- ![Paste the Application Insights ID](./media/annotations/4-paste-app-id.png)
-
-1. Back in the Application Insights **API Access** window, select **Create API Key**.
-
- ![In the API Access tab, select Create API Key.](./media/annotations/5-create-api-key.png)
-
-1. In the **Create API key** window, type a description, select **Write annotations**, and then select **Generate key**. Copy the new key.
-
- ![In the Create API key window, type a description, select Write annotations, and then select Generate key.](./media/annotations/6-create-api-key.png)
-
-1. In the release template window, on the **Variables** tab, select **Add** to create a variable definition for the new API key.
-
-1. Under **Name**, enter `ApiKey`, and under **Value**, paste the API key you copied from the **API Access** tab.
-
- ![In the Azure DevOps Variables tab, select Add, name the variable ApiKey, and paste the API key under Value.](./media/annotations/7-paste-api-key.png)
-
-1. Select **Save** in the main release template window to save the template.
--
- > [!NOTE]
- > Limits for API keys are described in the [REST API rate limits documentation](https://dev.applicationinsights.io/documentation/Authorization/Rate-limits).
+If you can't use one the deployment tasks in the pervious section, then you need to add an inline script task in your deployment pipeline.
-## View annotations
--
- > [!NOTE]
- > Release annotations are not currently available in the Metrics pane of Application Insights
-
-Now, whenever you use the release template to deploy a new release, an annotation is sent to Application Insights. The annotations can be viewed in the following locations:
+1. Navigate to a new or existing pipeline and select a task.
+ :::image type="content" source="./media/annotations/task.png" alt-text="Screenshot of task in stages selected." lightbox="./media/annotations/task.png":::
+1. Add a new task and select **Azure CLI**.
+ :::image type="content" source="./media/annotations/add-azure-cli.png" alt-text="Screenshot of adding a new task and selecting Azure CLI." lightbox="./media/annotations/add-azure-cli.png":::
+1. Specify the relevant Azure subscription. Change the **Script Type** to *PowerShell* and **Script Location** to *Inline*.
+1. Add the [PowerShell script from step 2 in the next section](#create-release-annotations-with-azure-cli) to **Inline Script**.
+1. Add the arguments below, replacing the angle-bracketed placeholders with your values to **Script Arguments**. The -releaseProperties are optional.
-The **Usage** pane where you also have the ability to manually create release annotations:
-
-![Screenshot of bar chart with number of user visits displayed over a period of hours. Release annotations appear as green checkmarks above the chart indicating the moment in time that a release occurred](./media/annotations/usage-pane.png)
-
-In any log-based workbook query where the visualization displays time along the x-axis.
-
-![Screenshot of workbooks pane with time series log-based query with annotations displayed](./media/annotations/workbooks-annotations.png)
+ ```powershell
+ -aiResourceId "<aiResourceId>" `
+ -releaseName "<releaseName>" `
+ -releaseProperties @{"ReleaseDescription"="<a description>";
+ "TriggerBy"="<Your name>" }
+ ```
-To enable annotations in your workbook go to **Advanced Settings** and select **Show annotations**.
+ :::image type="content" source="./media/annotations/inline-script.png" alt-text="Screenshot of Azure CLI task settings with Script Type, Script Location, Inline Script, and Script Arguments highlighted." lightbox="./media/annotations/inline-script.png":::
-![Screenshot of Advanced Settings menu with the words show annotations highlighted with a checkmark next to the setting to enable it.](./media/annotations/workbook-show-annotations.png)
+1. Save.
-Select any annotation marker to open details about the release, including requestor, source control branch, release pipeline, and environment.
+## Create release annotations with Azure CLI
-## Create custom annotations from PowerShell
You can use the CreateReleaseAnnotation PowerShell script to create annotations from any process you like, without using Azure DevOps.
-> [!IMPORTANT]
-> If you are using PowerShell 7.1, add `-SkipHttpErrorCheck` at the end of line 26. For example: `$request = Invoke-WebRequest -Uri $fwLink -MaximumRedirection 0 -UseBasicParsing -ErrorAction Ignore -SkipHttpErrorCheck`.
+1. Sign into [Azure CLI](/cli/azure/authenticate-azure-cli).
-1. Make a local copy of CreateReleaseAnnotation.ps1:
+2. Make a local copy of the script below and call it CreateReleaseAnnotation.ps1.
```powershell
+ param(
- # Copyright (c) Microsoft Corporation. All rights reserved.
- # Licensed under the MIT License. See License.txt in the project root for license information.
-
- # Sample usage .\CreateReleaseAnnotation.ps1 -applicationId "<appId>" -apiKey "<apiKey>" -releaseFilePath "<path to .exe with file version>" -releaseProperties @{"ReleaseDescription"="Release with annotation";"TriggerBy"="John Doe"}
- param(
- [parameter(Mandatory = $true)][string]$applicationId,
- [parameter(Mandatory = $true)][string]$apiKey,
- [parameter(Mandatory = $true)][string]$releaseFilePath,
- [parameter(Mandatory = $false)]$releaseProperties
- )
-
- $releaseName = (Get-Item $releaseFilePath).VersionInfo.FileVersion
- Write-Host "Creating release annotation $releaseName in ApplicationInsights" -ForegroundColor Cyan
-
- # background info on how fwlink works: After you submit a web request, many sites redirect through a series of intermediate pages before you finally land on the destination page.
- # So when calling Invoke-WebRequest, the result it returns comes from the final page in any redirect sequence. Hence, I set MaximumRedirection to 0, as this prevents the call to
- # be redirected. By doing this, we get a response with status code 302, which indicates that there is a redirection link from the response body. We grab this redirection link and
- # construct the url to make a release annotation.
- # Here's how this logic is going to works
- # 1. Client send http request, such as: http://go.microsoft.com/fwlink/?LinkId=625115
- # 2. FWLink get the request and find out the destination URL for it, such as: http://www.bing.com
- # 3. FWLink generate a new http response with status code ΓÇ£302ΓÇ¥ and with destination URL ΓÇ£http://www.bing.comΓÇ¥. Send it back to Client.
- # 4. Client, such as a powershell script, knows that status code ΓÇ£302ΓÇ¥ means redirection to new a location, and the target location is ΓÇ£http://www.bing.comΓÇ¥
- function GetRequestUrlFromFwLink($fwLink)
- {
- $request = Invoke-WebRequest -Uri $fwLink -MaximumRedirection 0 -UseBasicParsing -ErrorAction Ignore
- if ($request.StatusCode -eq "302") {
- return $request.Headers.Location
- }
-
- return $null
- }
+     [parameter(Mandatory = $true)][string]$aiResourceId,
- function CreateAnnotation($grpEnv)
- {
- $retries = 1
- $success = $false
- while (!$success -and $retries -lt 6) {
- $location = "$grpEnv/applications/$applicationId/Annotations?api-version=2015-11"
-
- Write-Host "Invoke a web request for $location to create a new release annotation. Attempting $retries"
- set-variable -Name createResultStatus -Force -Scope Local -Value $null
- set-variable -Name createResultStatusDescription -Force -Scope Local -Value $null
- set-variable -Name result -Force -Scope Local
+     [parameter(Mandatory = $true)][string]$releaseName,
- try {
- $result = Invoke-WebRequest -Uri $location -Method Put -Body $bodyJson -Headers $headers -ContentType "application/json; charset=utf-8" -UseBasicParsing
- } catch {
- if ($_.Exception){
- if($_.Exception.Response) {
- $createResultStatus = $_.Exception.Response.StatusCode.value__
- $createResultStatusDescription = $_.Exception.Response.StatusDescription
- }
- else {
- $createResultStatus = "Exception"
- $createResultStatusDescription = $_.Exception.Message
- }
- }
- }
+     [parameter(Mandatory = $false)]$releaseProperties = @()
- if ($result -eq $null) {
- if ($createResultStatus -eq $null) {
- $createResultStatus = "Unknown"
- }
- if ($createResultStatusDescription -eq $null) {
- $createResultStatusDescription = "Unknown"
- }
- }
- else {
- $success = $true
- }
+ )
- if ($createResultStatus -eq 409 -or $createResultStatus -eq 404 -or $createResultStatus -eq 401) # no retry when conflict or unauthorized or not found
- {
- break
- }
+ $annotation = @{
- $retries = $retries + 1
- sleep 1
- }
+     Id = [GUID]::NewGuid();
- $createResultStatus
- $createResultStatusDescription
- return
- }
+     AnnotationName = $releaseName;
- # Need powershell version 3 or greater for script to run
- $minimumPowershellMajorVersion = 3
- if ($PSVersionTable.PSVersion.Major -lt $minimumPowershellMajorVersion) {
- Write-Host "Need powershell version $minimumPowershellMajorVersion or greater to create release annotation"
- return
- }
+     EventTime = (Get-Date).ToUniversalTime().GetDateTimeFormats("s")[0];
- $currentTime = (Get-Date).ToUniversalTime()
- $annotationDate = $currentTime.ToString("MMddyyyy_HHmmss")
- set-variable -Name requestBody -Force -Scope Script
- $requestBody = @{}
- $requestBody.Id = [GUID]::NewGuid()
- $requestBody.AnnotationName = $releaseName
- $requestBody.EventTime = $currentTime.GetDateTimeFormats("s")[0] # GetDateTimeFormats returns an array
- $requestBody.Category = "Deployment"
+     Category = "Deployment";
- if ($releaseProperties -eq $null) {
- $properties = @{}
- } else {
- $properties = $releaseProperties
- }
- $properties.Add("ReleaseName", $releaseName)
+     Properties = ConvertTo-Json $releaseProperties -Compress
- $requestBody.Properties = ConvertTo-Json($properties) -Compress
+ }
- $bodyJson = [System.Text.Encoding]::UTF8.GetBytes(($requestBody | ConvertTo-Json))
- $headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
- $headers.Add("X-AIAPIKEY", $apiKey)
+ $body = (ConvertTo-Json $annotation -Compress) -replace '(\\+)"', '$1$1"' -replace "`"", "`"`""
- set-variable -Name createAnnotationResult1 -Force -Scope Local -Value $null
- set-variable -Name createAnnotationResultDescription -Force -Scope Local -Value ""
-
- # get redirect link from fwlink
- $requestUrl = GetRequestUrlFromFwLink("http://go.microsoft.com/fwlink/?prd=11901&pver=1.0&sbp=Application%20Insights&plcid=0x409&clcid=0x409&ar=Annotations&sar=Create%20Annotation")
- if ($requestUrl -eq $null) {
- $output = "Failed to find the redirect link to create a release annotation"
- throw $output
- }
+ az rest --method put --uri "$($aiResourceId)/Annotations?api-version=2015-05-01" --body "$($body) "
+ ```
+
+3. Call the PowerShell script with the following code, replacing the angle-bracketed placeholders with your values. The -releaseProperties are optional.
+
+ ```powershell
+ .\CreateReleaseAnnotation.ps1 `
+ -aiResourceId "<aiResourceId>" `
+ -releaseName "<releaseName>" `
+ -releaseProperties @{"ReleaseDescription"="<a description>";
+ "TriggerBy"="<Your name>" }
+ ```
+
+|Argument | Definition | Note|
+|--|--|--|
+|aiResourceId | The Resource ID to the target Application Insights resource. | Example:<br> /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyRGName/providers/microsoft.insights/components/MyResourceName|
+|releaseName | The name to give the created release annotation. | |
+|releaseProperties | Used to attach custom metadata to the annotation. | Optional|
+
+## View annotations
+
+> [!NOTE]
+> Release annotations are not currently available in the Metrics pane of Application Insights
+
+Now, whenever you use the release template to deploy a new release, an annotation is sent to Application Insights. The annotations can be viewed in the following locations:
+
+- Performance
+
+ :::image type="content" source="./media/annotations/performance.png" alt-text="Screenshot of the Performance tab with a release annotation selected(blue arrow) to show the Release Properties tab." lightbox="./media/annotations/performance.png":::
+
+- Failures
+
+ :::image type="content" source="./media/annotations/failures.png" alt-text="Screenshot of the Failures tab with a release annotation (blue arrow) selected to show the Release Properties tab." lightbox="./media/annotations/failures.png":::
+- Usage
+
+ :::image type="content" source="./media/annotations/usage-pane.png" alt-text="Screenshot of the Users tab bar with release annotations selected. Release annotations appear as blue arrows above the chart indicating the moment in time that a release occurred." lightbox="./media/annotations/usage-pane.png":::
+
+- Workbooks
+
+ In any log-based workbook query where the visualization displays time along the x-axis.
- $createAnnotationResult1, $createAnnotationResultDescription = CreateAnnotation($requestUrl)
- if ($createAnnotationResult1)
- {
- $output = "Failed to create an annotation with Id: {0}. Error {1}, Description: {2}." -f $requestBody.Id, $createAnnotationResult1, $createAnnotationResultDescription
- throw $output
- }
+ :::image type="content" source="./media/annotations/workbooks-annotations.png" alt-text="Screenshot of workbooks pane with time series log-based query with annotations displayed." lightbox="./media/annotations/workbooks-annotations.png":::
- $str = "Release annotation created. Id: {0}." -f $requestBody.Id
- Write-Host $str -ForegroundColor Green
+ To enable annotations in your workbook, go to **Advanced Settings** and select **Show annotations**.
- ```
-
-1. Use the steps in the preceding procedure to get your Application Insights ID and create an API key from your Application Insights **API Access** tab.
-
-1. Call the PowerShell script with the following code, replacing the angle-bracketed placeholders with your values. The `-releaseProperties` are optional.
-
- ```powershell
-
- .\CreateReleaseAnnotation.ps1 `
- -applicationId "<applicationId>" `
- -apiKey "<apiKey>" `
- -releaseName "<releaseName>" `
- -releaseProperties @{
- "ReleaseDescription"="<a description>";
- "TriggerBy"="<Your name>" }
- ```
-
-You can modify the script, for example to create annotations for the past.
+ :::image type="content" source="./media/annotations/workbook-show-annotations.png" alt-text="Screenshot of Advanced Settings menu with the show annotations checkbox highlighted.":::
+Select any annotation marker to open details about the release, including requestor, source control branch, release pipeline, and environment.
## Next steps
azure-netapp-files Azure Netapp Files Solution Architectures https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-netapp-files/azure-netapp-files-solution-architectures.md
na ms.devlang: na Previously updated : 05/03/2021 Last updated : 05/27/2021 # Solution architectures using Azure NetApp Files
This section provides references for solutions for Linux OSS applications and da
### Machine Learning * [Cloudera Machine Learning](https://docs.cloudera.com/machine-learning/cloud/requirements-azure/topics/ml-requirements-azure.html)
+* [Distributed training in Azure: Lane detection - Solution design](https://www.netapp.com/media/32427-tr-4896-design.pdf)
### Education * [Moodle on Azure NetApp Files NFS storage](https://techcommunity.microsoft.com/t5/azure-architecture-blog/azure-netapp-files-for-nfs-storage-with-moodle/ba-p/2300630)
azure-relay Private Link Service https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-relay/private-link-service.md
$namespaceName = "<NAMESPACE NAME>"
$peConnectionName = "<PRIVATE ENDPOINT CONNECTION NAME>" # create resource group
-az group create -l $vnetLocation -n $rgName
+New-AzResourceGroup -Name $rgName -Location $vnetLocation
# create virtual network $virtualNetwork = New-AzVirtualNetwork `
azure-resource-manager Template Functions Resource https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-resource-manager/templates/template-functions-resource.md
Title: Template functions - resources description: Describes the functions to use in an Azure Resource Manager template (ARM template) to retrieve values about resources. Previously updated : 05/13/2021 Last updated : 05/13/2021 + # Resource functions for ARM templates
azure-resource-manager Template Outputs https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-resource-manager/templates/template-outputs.md
Title: Outputs in templates description: Describes how to define output values in an Azure Resource Manager template (ARM template) and Bicep file. Previously updated : 05/18/2021 Last updated : 05/18/2021 + # Outputs in ARM templates
azure-resource-manager Template Specs Create Linked https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-resource-manager/templates/template-specs-create-linked.md
Title: Create a template spec with linked templates description: Learn how to create a template spec with linked templates. Previously updated : 05/04/2021 Last updated : 05/04/2021 +
azure-resource-manager Template Specs Deploy Linked Template https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-resource-manager/templates/template-specs-deploy-linked-template.md
Title: Deploy a template spec as a linked template description: Learn how to deploy an existing template spec in a linked deployment. Previously updated : 05/04/2021 Last updated : 05/04/2021 +
azure-resource-manager Template Specs https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-resource-manager/templates/template-specs.md
Title: Create & deploy template specs
description: Describes how to create template specs and share them with other users in your organization. Last updated 05/04/2021-++ # Azure Resource Manager template specs
azure-resource-manager Template Tutorial Add Parameters https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-resource-manager/templates/template-tutorial-add-parameters.md
description: Add parameters to your Azure Resource Manager template (ARM templat
Last updated 03/31/2020 -++ # Tutorial: Add parameters to your ARM template
azure-resource-manager Template Tutorial Create First Template https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-resource-manager/templates/template-tutorial-create-first-template.md
Last updated 12/17/2020 -+ #Customer intent: As a developer new to Azure deployment, I want to learn how to use Visual Studio Code to create and edit Resource Manager templates, so I can use the templates to deploy Azure resources.
azure-resource-manager Template Tutorial Create Multiple Instances https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-resource-manager/templates/template-tutorial-create-multiple-instances.md
Last updated 04/23/2020 -+ # Tutorial: Create multiple resource instances with ARM templates
azure-resource-manager Template Tutorial Deploy Sql Extensions Bacpac https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-resource-manager/templates/template-tutorial-deploy-sql-extensions-bacpac.md
description: Learn how to use Azure SQL Database extensions to import SQL BACPAC
Last updated 12/09/2019 -++ # Tutorial: Import SQL BACPAC files with ARM templates
azure-resource-manager Template Tutorial Troubleshoot https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-resource-manager/templates/template-tutorial-troubleshoot.md
-
+ Title: Troubleshoot deployments description: Learn how to monitor and troubleshoot Azure Resource Manager template (ARM template) deployments. Shows activity logs and deployment history. Last updated 01/15/2019 -++ # Tutorial: Troubleshoot ARM template deployments
azure-resource-manager Template Tutorial Use Conditions https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-resource-manager/templates/template-tutorial-use-conditions.md
-
+ Title: Use condition in templates description: Learn how to deploy Azure resources based on conditions. Shows how to either deploy a new resource or use an existing resource. Last updated 04/23/2020 -++ # Tutorial: Use condition in ARM templates
azure-resource-manager Template Tutorial Use Key Vault https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-resource-manager/templates/template-tutorial-use-key-vault.md
Last updated 03/01/2021 -+ # Tutorial: Integrate Azure Key Vault in your ARM template deployment
azure-resource-manager Template Tutorial Use Parameter File https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-resource-manager/templates/template-tutorial-use-parameter-file.md
description: Use parameter files that contain the values to use for deploying yo
Last updated 09/10/2020 -++
azure-resource-manager Templates Cloud Consistency https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-resource-manager/templates/templates-cloud-consistency.md
Last updated 12/09/2018 -+ # Develop ARM templates for cloud consistency
azure-signalr Signalr Quickstart Azure Signalr Service Arm Template https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-signalr/signalr-quickstart-azure-signalr-service-arm-template.md
Last updated 10/02/2020 -+ - subject-armqs - mode-arm
azure-sql-edge Backup Restore https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql-edge/backup-restore.md
Previously updated : 05/19/2020 Last updated : 05/19/2020 + # Back up and restore databases in Azure SQL Edge
FROM URL = 'https://mystorageaccount.blob.core.windows.net/mysecondcontainer/Iro
WITH MOVE 'IronOreSilicaPrediction' TO '/var/opt/mssql/datf', MOVE 'IronOreSilicaPrediction_log' TO '/var/opt/mssql/data/IronOreSilicaPrediction_Primary_3.ldf', STATS = 10;
-```
+```
azure-sql Accelerated Database Recovery https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/accelerated-database-recovery.md
Title: Accelerated database recovery
description: Accelerated database recovery provides fast and consistent database recovery, instantaneous transaction rollback, and aggressive log truncation for databases in the Azure SQL portfolio. -+ ms.devlang: ---+++ Last updated 05/19/2020 # Accelerated Database Recovery in Azure SQL
azure-sql Azure Hybrid Benefit https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/azure-hybrid-benefit.md
description: Use existing SQL Server licenses for Azure SQL Database and SQL Managed Instance discounts. -+ --++ Last updated 02/16/2021
azure-sql Azure Sql Iaas Vs Paas What Is Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/azure-sql-iaas-vs-paas-what-is-overview.md
Title: "What is Azure SQL?"
description: "Learn about the different options within the Azure SQL family of -+ ms.devlang: keywords: SQL Server cloud, SQL Server in the cloud, PaaS database, cloud SQL Server, DBaaS, IaaS--++ Last updated 07/27/2020
azure-sql Active Geo Replication Configure Portal https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/active-geo-replication-configure-portal.md
ms.devlang: ---+++ Last updated 02/13/2019 # Tutorial: Configure active geo-replication and failover in the Azure portal (Azure SQL Database)
azure-sql Active Geo Replication Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/active-geo-replication-overview.md
ms.devlang: ---+++ Last updated 04/28/2021
azure-sql Active Geo Replication Security Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/active-geo-replication-security-configure.md
ms.devlang: ---+++ Last updated 12/18/2018 # Configure and manage Azure SQL Database security for geo-restore or failover
azure-sql Adonet V12 Develop Direct Route Ports https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/adonet-v12-develop-direct-route-ports.md
ms.devlang: ---+++ Last updated 06/11/2020 # Ports beyond 1433 for ADO.NET 4.5
azure-sql Advance Notifications https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/advance-notifications.md
Title: Advance notifications (Preview) for planned maintenance events
description: Get notification before planned maintenance for Azure SQL Database. -+ ms.devlang: ---+++ Last updated 03/02/2021 # Advance notifications for planned maintenance events (Preview)
azure-sql Alerts Insights Configure Portal https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/alerts-insights-configure-portal.md
ms.devlang: ---+++ Last updated 05/04/2020 # Create alerts for Azure SQL Database and Azure Synapse Analytics using the Azure portal
azure-sql Always Encrypted Azure Key Vault Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/always-encrypted-azure-key-vault-configure.md
keywords: data encryption, encryption key, cloud encryption
-+ ms.devlang:
azure-sql Always Encrypted Enclaves Configure Attestation https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/always-encrypted-enclaves-configure-attestation.md
ms.reviwer: vanto Previously updated : 05/01/2021 Last updated : 05/01/2021 + # Configure Azure Attestation for your Azure SQL logical server
azure-sql Application Authentication Get Client Id Keys https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/application-authentication-get-client-id-keys.md
description: Create a service principal for accessing Azure SQL Database from co
-+ ms.devlang: ---+++ Last updated 03/12/2019 # Get the required values for authenticating an application to access Azure SQL Database from code
azure-sql Arm Templates Content Guide https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/arm-templates-content-guide.md
Title: Azure Resource Manager templates - Azure SQL Database & SQL Managed Insta
description: Use Azure Resource Manager templates to create and configure Azure SQL Database and Azure SQL Managed Instance. -+ ms.devlang: -+ Last updated 05/24/2021
azure-sql Authentication Aad Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/authentication-aad-configure.md
description: Learn how to connect to SQL Database, SQL Managed Instance, and Azu
-+ ms.devlang:
azure-sql Authentication Aad Service Principal Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/authentication-aad-service-principal-tutorial.md
Previously updated : 05/10/2021 Last updated : 05/10/2021 + # Tutorial: Create Azure AD users using Azure AD applications
azure-sql Auto Failover Group Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/auto-failover-group-configure.md
---
+ms.devlang:
+++ Last updated 08/14/2019 # Configure a failover group for Azure SQL Database
azure-sql Auto Failover Group Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/auto-failover-group-overview.md
ms.devlang: ---+++ Last updated 05/10/2021
azure-sql Automated Backups Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/automated-backups-overview.md
description: Azure SQL Database and Azure SQL Managed Instance automatically cre
-+ -+ Last updated 03/10/2021 # Automated backups - Azure SQL Database & SQL Managed Instance
azure-sql Automatic Tuning Email Notifications Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/automatic-tuning-email-notifications-configure.md
description: Enable e-mail notifications for Azure SQL Database automatic query
-+ ms.devlang:
You might further customize the solution to build email notifications based on a
- Learn more on how automatic tuning can help you improve database performance, see [Automatic tuning in Azure SQL Database](automatic-tuning-overview.md). - To enable automatic tuning in Azure SQL Database to manage your workload, see [Enable automatic tuning](automatic-tuning-enable.md).-- To manually review and apply automatic tuning recommendations, see [Find and apply performance recommendations](database-advisor-find-recommendations-portal.md).
+- To manually review and apply automatic tuning recommendations, see [Find and apply performance recommendations](database-advisor-find-recommendations-portal.md).
azure-sql Automation Manage https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/automation-manage.md
Title: Manage databases with Azure Automation
description: Learn about how the Azure Automation service can be used to manage Azure SQL Database at scale. -+ ms.devlang: -+ Last updated 03/12/2019
azure-sql Az Cli Script Samples Content Guide https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/az-cli-script-samples-content-guide.md
description: Azure CLI script examples to create and manage Azure SQL Database and Azure SQL Managed Instance -+ ms.devlang: azurecli --++ Last updated 02/03/2019
azure-sql Business Continuity High Availability Disaster Recover Hadr Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/business-continuity-high-availability-disaster-recover-hadr-overview.md
ms.devlang: ---+++ Last updated 06/25/2019 # Overview of business continuity with Azure SQL Database
azure-sql Connect Excel https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/connect-excel.md
description: Learn how to connect Microsoft Excel to a database in Azure SQL Dat
-+ ms.devlang: ---+++ Last updated 05/29/2020
azure-sql Connect Github Actions Sql Db https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/connect-github-actions-sql-db.md
description: Use Azure SQL from a GitHub Actions workflow
+ Last updated 05/05/2021 +
azure-sql Connect Query Content Reference Guide https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/connect-query-content-reference-guide.md
description: Links to Azure SQL Database quickstarts showing how to connect to a
-+ ms.devlang: ---+++ Last updated 03/17/2021 # Azure SQL Database and Azure SQL Managed Instance connect and query articles
azure-sql Connect Query Dotnet Core https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/connect-query-dotnet-core.md
description: This topic shows you how to use .NET Core to create a program that
-+ ms.devlang: dotnet ---+++ Last updated 05/29/2020 # Quickstart: Use .NET Core (C#) to query a database
azure-sql Connect Query Dotnet Visual Studio https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/connect-query-dotnet-visual-studio.md
description: Use Visual Studio to create a C# app that connects to a database in
-+ ms.devlang: dotnet ---+++ Last updated 08/10/2020 # Quickstart: Use .NET and C# in Visual Studio to connect to and query a database
azure-sql Connect Query Go https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/connect-query-go.md
description: Use Go to create a program that connects to a database in Azure SQL
-+ ms.devlang: go ---++++ Last updated 04/14/2021 # Quickstart: Use Golang to query a database in Azure SQL Database or Azure SQL Managed Instance
azure-sql Connect Query Nodejs https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/connect-query-nodejs.md
description: How to use Node.js to create a program that connects to a database
-+ ms.devlang: nodejs ---+++ Last updated 05/19/2021
azure-sql Connect Query Php https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/connect-query-php.md
description: How to use PHP to create a program that connects to a database in A
-+ ms.devlang: php ---+++ Last updated 05/29/2020
azure-sql Connect Query Python https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/connect-query-python.md
description: This topic shows you how to use Python to create a program that con
-+ ms.devlang: python ---+++ Last updated 12/19/2020 # Quickstart: Use Python to query a database
azure-sql Connect Query Ruby https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/connect-query-ruby.md
description: This topic shows you how to use Ruby to create a program that conne
-+ ms.devlang: ruby ---+++ Last updated 05/29/2020 # Quickstart: Use Ruby to query a database in Azure SQL Database or Azure SQL Managed Instance
azure-sql Connect Query Ssms https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/connect-query-ssms.md
description: Learn how to connect to Azure SQL Database or SQL Managed Instance
keywords: connect to sql database,sql server management studio -+ ms.devlang: ---+++ Last updated 09/28/2020 # Quickstart: Use SSMS to connect to and query Azure SQL Database or Azure SQL Managed Instance
azure-sql Connect Query Vscode https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/connect-query-vscode.md
description: Learn how to connect to Azure SQL Database or SQL Managed Instance
keywords: connect to sql database -+ ms.devlang: ---+++ Last updated 05/29/2020 # Quickstart: Use Visual Studio Code to connect and query
azure-sql Connectivity Architecture https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/connectivity-architecture.md
Title: Azure SQL Database Connectivity Architecture
description: This document explains the Azure SQL Database connectivity architecture for database connections from within Azure or from outside of Azure. -+ ms.devlang: -+ Last updated 01/25/2021 # Azure SQL Database and Azure Synapse Analytics connectivity architecture
azure-sql Connectivity Settings https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/connectivity-settings.md
Title: Connectivity settings for Azure SQL Database and Azure Synapse Analytics
description: This article explains the Transport Layer Security (TLS) version choice and the Proxy versus Redirect settings for Azure SQL Database and Azure Synapse Analytics. + -+ Last updated 07/06/2020+ # Azure SQL connectivity settings
azure-sql Cost Management https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/cost-management.md
Title: Plan and manage costs for Azure SQL Database description: Learn how to plan for and manage costs for Azure SQL Database by using cost analysis in the Azure portal.--++ + Last updated 01/15/2021
azure-sql Database Copy https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/database-copy.md
description: Create a transactionally consistent copy of an existing database in
-+ ms.devlang: ---+++ Last updated 03/10/2021 # Copy a transactionally consistent copy of a database in Azure SQL Database
azure-sql Database Export https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/database-export.md
description: Export a database to a BACPAC file using the Azure portal. -----+++++ Last updated 01/11/2021
Stop-AzSqlDatabaseActivity -ResourceGroupName $ResourceGroupName -ServerName $Se
- To learn about exporting a BACPAC from a SQL Server database, see [Export a Data-tier Application](/sql/relational-databases/data-tier-applications/export-a-data-tier-application) - To learn about using the Data Migration Service to migrate a database, see [Migrate from SQL Server to Azure SQL Database offline using DMS](../../dms/tutorial-sql-server-to-azure-sql.md). - If you are exporting from SQL Server as a prelude to migration to Azure SQL Database, see [Migrate a SQL Server database to Azure SQL Database](migrate-to-database-from-sql-server.md).-- To learn how to manage and share storage keys and shared access signatures securely, see [Azure Storage Security Guide](../../storage/blobs/security-recommendations.md).
+- To learn how to manage and share storage keys and shared access signatures securely, see [Azure Storage Security Guide](../../storage/blobs/security-recommendations.md).
azure-sql Database Import Export Azure Services Off https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/database-import-export-azure-services-off.md
ms.devlang: ---+++ Last updated 01/08/2020 # Import or export an Azure SQL Database without allowing Azure services to access the server
azure-sql Database Import https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/database-import.md
Title: Import a BACPAC file to create a database in Azure SQL Database
description: Create a new database in Azure SQL Database or Azure SQL Managed Instance from a BACPAC file. -+ ms.devlang: ---+++ Last updated 10/29/2020 # Quickstart: Import a BACPAC file to a database in Azure SQL Database or Azure SQL Managed Instance
azure-sql Design First Database Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/design-first-database-tutorial.md
---+++ Last updated 07/29/2019
azure-sql Designing Cloud Solutions For Disaster Recovery https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/designing-cloud-solutions-for-disaster-recovery.md
ms.devlang: ---+++ Last updated 07/28/2020 # Designing globally available services using Azure SQL Database
azure-sql Develop Cplusplus Simple https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/develop-cplusplus-simple.md
ms.devlang: cpp ---+++ Last updated 12/12/2018 # Connect to SQL Database using C and C++
azure-sql Develop Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/develop-overview.md
---+++ Last updated 11/14/2019
azure-sql Disaster Recovery Drills https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/disaster-recovery-drills.md
ms.devlang: ---+++ Last updated 12/18/2018 # Performing disaster recovery drills
azure-sql Disaster Recovery Guidance https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/disaster-recovery-guidance.md
ms.devlang: ---+++ Last updated 06/21/2019 # Restore your Azure SQL Database or failover to a secondary
azure-sql Disaster Recovery Strategies For Applications With Elastic Pool https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/disaster-recovery-strategies-for-applications-with-elastic-pool.md
ms.devlang: ---+++ Last updated 01/25/2019 # Disaster recovery strategies for applications using Azure SQL Database elastic pools
azure-sql Dns Alias Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/dns-alias-overview.md
Title: DNS alias
description: Your applications can connect to an alias for the name of the server for Azure SQL Database. Meanwhile, you can change the SQL Database the alias points to anytime, to facilitate testing and so on. -+ ms.devlang: ---+++ Last updated 06/26/2019 # DNS alias for Azure SQL Database
azure-sql Dns Alias Powershell Create https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/dns-alias-powershell-create.md
Title: DNS Alias (PowerShell & Azure CLI) description: PowerShell and Azure CLI cmdlets enable you to redirect new client connections to a different SQL server in Azure, without having to touch any client configuration. keywords: dns sql database-+ -+ ms.devlang: PowerShell ---+++ Last updated 05/14/2019 # PowerShell for DNS Alias to Azure SQL Database
az sql server dns-alias delete ΓÇô-resource-group $resourceGroupName2 --server $
## Next steps
-For a full explanation of the DNS alias feature for SQL Database, see [DNS alias for Azure SQL Database](./dns-alias-overview.md).
+For a full explanation of the DNS alias feature for SQL Database, see [DNS alias for Azure SQL Database](./dns-alias-overview.md).
azure-sql Doc Changes Updates Release Notes https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/doc-changes-updates-release-notes.md
Title: What's new?
description: Learn about the new features and documentation improvements for Azure SQL Database & SQL Managed Instance. -++ -+ ms.devlang: Last updated 04/17/2021- # What's new in Azure SQL Database & SQL Managed Instance? [!INCLUDE[appliesto-sqldb-sqlmi](../includes/appliesto-sqldb-sqlmi.md)]
azure-sql Elastic Convert To Use Elastic Tools https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-convert-to-use-elastic-tools.md
ms.devlang: ---+++ Last updated 01/25/2019
azure-sql Elastic Database Client Library https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-database-client-library.md
ms.devlang: ---+++ Last updated 09/25/2018 # Building scalable cloud databases
azure-sql Elastic Database Perf Counters https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-database-perf-counters.md
ms.devlang: ---+++ Last updated 02/07/2019 # Create performance counters to track performance of shard map manager
azure-sql Elastic Database Recovery Manager https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-database-recovery-manager.md
ms.devlang: ---+++ Last updated 01/03/2019 # Using the RecoveryManager class to fix shard map problems
azure-sql Elastic Jobs Migrate https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-jobs-migrate.md
description: Migrate to the new Elastic Database Jobs.
-+ ms.devlang: ---++ Last updated 03/13/2019 # Migrate to the new Elastic Database jobs (preview)
azure-sql Elastic Jobs Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-jobs-overview.md
Title: Elastic Database Jobs (preview)
description: 'Configure Elastic Database Jobs (preview) to run Transact-SQL (T-SQL) scripts across a set of one or more databases in Azure SQL Database' -+ ms.devlang: -+ Last updated 12/18/2018 # Create, configure, and manage elastic jobs (preview)
azure-sql Elastic Jobs Powershell Create https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-jobs-powershell-create.md
Title: Create an Elastic Job agent using PowerShell (preview)
description: Learn how to create an Elastic Job agent using PowerShell. -+ ms.devlang: --
-ms.reviwer: sstein
+++ Last updated 10/21/2020 # Create an Elastic Job agent using PowerShell (preview)
azure-sql Elastic Jobs Tsql Create Manage https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-jobs-tsql-create-manage.md
Title: Create and manage Elastic Database Jobs (preview) with Transact-SQL (T-SQ
description: Run scripts across many databases with Elastic Database Job agent using Transact-SQL (T-SQL). -+ ms.devlang: dev_langs: - "TSQL" ---+++ Last updated 02/01/2021 # Use Transact-SQL (T-SQL) to create and manage Elastic Database Jobs (preview)
azure-sql Elastic Pool Manage https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-pool-manage.md
---+++ Last updated 03/12/2019
azure-sql Elastic Pool Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-pool-overview.md
ms.devlang: ---+++ Last updated 12/9/2020 # Elastic pools help you manage and scale multiple databases in Azure SQL Database
azure-sql Elastic Pool Scale https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-pool-scale.md
ms.devlang: ---+++ Last updated 04/09/2021 # Scale elastic pool resources in Azure SQL Database
azure-sql Elastic Query Getting Started Vertical https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-query-getting-started-vertical.md
ms.devlang: ---+++ Last updated 01/25/2019 # Get started with cross-database queries (vertical partitioning) (preview)
azure-sql Elastic Scale Add A Shard https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-scale-add-a-shard.md
ms.devlang: ---+++ Last updated 01/03/2019 # Adding a shard using Elastic Database tools
azure-sql Elastic Scale Configure Deploy Split And Merge https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-scale-configure-deploy-split-and-merge.md
ms.devlang: ---+++ Last updated 12/04/2018 # Deploy a split-merge service to move data between sharded databases
azure-sql Elastic Scale Data Dependent Routing https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-scale-data-dependent-routing.md
ms.devlang: ---+++ Last updated 01/25/2019 # Use data-dependent routing to route a query to an appropriate database
azure-sql Elastic Scale Faq https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-scale-faq.md
ms.devlang: ---+++ Last updated 01/25/2019 # Elastic database tools frequently asked questions (FAQ)
azure-sql Elastic Scale Get Started https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-scale-get-started.md
ms.devlang: ---+++ Last updated 01/25/2019 # Get started with Elastic Database Tools
azure-sql Elastic Scale Glossary https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-scale-glossary.md
ms.devlang: ---+++ Last updated 12/04/2018 # Elastic Database tools glossary
azure-sql Elastic Scale Introduction https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-scale-introduction.md
--+++ Last updated 01/25/2019 # Scaling out with Azure SQL Database
azure-sql Elastic Scale Manage Credentials https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-scale-manage-credentials.md
ms.devlang: ---+++ Last updated 01/03/2019 # Credentials used to access the Elastic Database client library
azure-sql Elastic Scale Multishard Querying https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-scale-multishard-querying.md
--+++ Last updated 01/25/2019 # Multi-shard querying using elastic database tools
azure-sql Elastic Scale Overview Split And Merge https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-scale-overview-split-and-merge.md
description: Explains how to manipulate shards and move data via a self-hosted s
-+ ms.devlang: ---+++ Last updated 03/12/2019 # Moving data between scaled-out cloud databases
You do not need to provision a new metadata database for split-merge to upgrade.
<!--Image references--> [1]:./media/elastic-scale-overview-split-and-merge/split-merge-overview.png [2]:./media/elastic-scale-overview-split-and-merge/diagnostics.png
-[3]:./media/elastic-scale-overview-split-and-merge/diagnostics-config.png
+[3]:./media/elastic-scale-overview-split-and-merge/diagnostics-config.png
azure-sql Elastic Scale Shard Map Management https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-scale-shard-map-management.md
ms.devlang: ---+++ Last updated 01/25/2019 # Scale out databases with the shard map manager
azure-sql Elastic Scale Upgrade Client Library https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-scale-upgrade-client-library.md
ms.devlang: ---+++ Last updated 01/03/2019 # Upgrade an app to use the latest elastic database client library
azure-sql Elastic Scale Use Entity Framework Applications Visual Studio https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-scale-use-entity-framework-applications-visual-studio.md
ms.devlang: ---+++ Last updated 01/04/2019 # Elastic Database client library with Entity Framework
azure-sql Elastic Scale Working With Dapper https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-scale-working-with-dapper.md
ms.devlang: ---+++ Last updated 12/04/2018 # Using the elastic database client library with Dapper
azure-sql Elastic Transactions Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/elastic-transactions-overview.md
ms.devlang: ---+++ Last updated 03/12/2019 # Distributed transactions across cloud databases (preview)
azure-sql Failover Group Add Elastic Pool Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/failover-group-add-elastic-pool-tutorial.md
ms.devlang: ---+++ Last updated 08/27/2019 # Tutorial: Add an Azure SQL Database elastic pool to a failover group
azure-sql Failover Group Add Single Database Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/failover-group-add-single-database-tutorial.md
ms.devlang: ---+++ Last updated 06/19/2019 # Tutorial: Add an Azure SQL Database to an autofailover group
azure-sql Features Comparison https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/features-comparison.md
description: This article compares the database engine features of Azure SQL Database and Azure SQL Managed Instance -+ ms.devlang: -+ Last updated 05/18/2021
azure-sql File Space Manage https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/file-space-manage.md
description: This page describes how to manage file space with single and pooled
-+ ms.devlang: Previously updated : 04/16/2021 Last updated : 05/28/2021 # Manage file space for databases in Azure SQL Database [!INCLUDE[appliesto-sqldb](../includes/appliesto-sqldb.md)]
Monitoring file space usage and shrinking data files may be necessary in the fol
### Monitoring file space usage
-Most storage space metrics displayed in the Azure portal and the following APIs only measure the size of used data pages:
+Most storage space metrics displayed in the following APIs only measure the size of used data pages:
- Azure Resource Manager based metrics APIs including PowerShell [get-metrics](/powershell/module/az.monitor/get-azmetric) - T-SQL: [sys.dm_db_resource_stats](/sql/relational-databases/system-dynamic-management-views/sys-dm-db-resource-stats-azure-sql-database)
After data files are shrunk, indexes may become fragmented and lose their perfor
- [Azure SQL Database vCore-based purchasing model limits for elastic pools](resource-limits-vcore-elastic-pools.md) - [Resources limits for elastic pools using the DTU-based purchasing model](resource-limits-dtu-elastic-pools.md) - For more information about the `SHRINKDATABASE` command, see [SHRINKDATABASE](/sql/t-sql/database-console-commands/dbcc-shrinkdatabase-transact-sql).-- For more information on fragmentation and rebuilding indexes, see [Reorganize and Rebuild Indexes](/sql/relational-databases/indexes/reorganize-and-rebuild-indexes).
+- For more information on fragmentation and rebuilding indexes, see [Reorganize and Rebuild Indexes](/sql/relational-databases/indexes/reorganize-and-rebuild-indexes).
azure-sql Firewall Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/firewall-configure.md
-+ ms.devlang:
azure-sql Firewall Create Server Level Portal Quickstart https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/firewall-create-server-level-portal-quickstart.md
ms.devlang: ---+++ Last updated 02/11/2019 # Quickstart: Create a server-level firewall rule using the Azure portal
azure-sql Gateway Migration https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/gateway-migration.md
Title: Gateway traffic migration notice
description: Article provides notice to users about the migration of Azure SQL Database gateway IP addresses -+ -+ Last updated 07/01/2019 # Azure SQL Database traffic migration to newer Gateways
azure-sql Geo Distributed Application Configure Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/geo-distributed-application-configure-tutorial.md
ms.devlang: ---+++ Last updated 03/12/2019 # Tutorial: Implement a geo-distributed database (Azure SQL Database)
azure-sql How To Content Reference Guide https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/how-to-content-reference-guide.md
Title: Configure & manage content reference
description: Find a reference of content that teaches you to configure and manage Azure SQL Database. -+ ms.devlang: ---++ Last updated 01/14/2020 # Configure and manage content reference - Azure SQL Database
azure-sql Hyperscale Performance Diagnostics https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/hyperscale-performance-diagnostics.md
Title: Performance diagnostics in Hyperscale
description: This article describes how to troubleshoot Hyperscale performance problems in Azure SQL Database. -+ -+ Last updated 10/18/2019
azure-sql Job Automation Managed Instances https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/job-automation-managed-instances.md
Title: Job automation with SQL Agent jobs in Azure SQL Managed Instance
description: 'Automation options to run Transact-SQL (T-SQL) scripts in Azure SQL Managed Instance' -+ dev_langs: - TSQL
azure-sql Logical Servers https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/logical-servers.md
description: Learn about logical SQL servers used by Azure SQL Database and Azure Synapse Analytics, and how to manage them. -+ ms.devlang: --++ Last updated 03/12/2019
azure-sql Logins Create Manage https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/logins-create-manage.md
ms.devlang: ---+++ Last updated 03/23/2020 # Authorize database access to SQL Database, SQL Managed Instance, and Azure Synapse Analytics
azure-sql Long Term Backup Retention Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/long-term-backup-retention-configure.md
description: "Learn how to store and restore automated backups for Azure SQL Dat
-+ ms.devlang: ---+++ Last updated 12/16/2020
azure-sql Long Term Retention Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/long-term-retention-overview.md
description: Learn how Azure SQL Database & Azure SQL Managed Instance support storing full database backups for up to 10 years via the long-term retention policy. -+ ms.devlang: -+ -+ Last updated 02/25/2021 # Long-term retention - Azure SQL Database and Azure SQL Managed Instance
azure-sql Maintenance Window Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/maintenance-window-configure.md
Title: Configure maintenance window (Preview)
description: Learn how to set the time when planned maintenance should be performed on your Azure SQL databases, elastic pools, and managed instance databases. -+ ---+++ Last updated 03/23/2021 # Configure maintenance window (Preview)
azure-sql Maintenance Window https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/maintenance-window.md
Title: Maintenance Window
description: Understand how the Azure SQL Database and managed instance maintenance window can be configured. -+
azure-sql Manage Application Rolling Upgrade https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/manage-application-rolling-upgrade.md
description: Learn how to use Azure SQL Database geo-replication to support roll
-+ ms.devlang: ---+++ Last updated 02/13/2019
azure-sql Manage Data After Migrating To Database https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/manage-data-after-migrating-to-database.md
description: Learn how to manage your single and pooled databases after migration to Azure SQL Database. -+ ms.devlang: ---+++ Last updated 02/13/2019 # New DBA in the cloud ΓÇô Managing Azure SQL Database after migration
azure-sql Metrics Diagnostic Telemetry Logging Streaming Export Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/metrics-diagnostic-telemetry-logging-streaming-export-configure.md
description: Learn how to configure streaming export of metrics and resource log
-+ ms.devlang: sqldbrb=2
To learn about Event Hubs, read:
To learn how to set up alerts based on telemetry from log analytics see: -- [Creating alerts for Azure SQL Database and Azure SQL Managed Instance](../../azure-monitor/insights/azure-sql.md#analyze-data-and-create-alerts)
+- [Creating alerts for Azure SQL Database and Azure SQL Managed Instance](../../azure-monitor/insights/azure-sql.md#analyze-data-and-create-alerts)
azure-sql Migrate Dtu To Vcore https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/migrate-dtu-to-vcore.md
Title: Migrate from DTU to vCore
description: Migrate a database in Azure SQL Database from the DTU model to the vCore model. Migrating to vCore is similar to upgrading or downgrading between the standard and premium tiers. -+ ---+++ Last updated 02/09/2021 # Migrate Azure SQL Database from the DTU-based model to the vCore-based model
azure-sql Migrate Sqlite Db To Azure Sql Serverless Offline Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/migrate-sqlite-db-to-azure-sql-serverless-offline-tutorial.md
+ Last updated 01/08/2020 + # How to migrate your SQLite database to Azure SQL Database serverless
azure-sql Migrate To Database From Sql Server https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/migrate-to-database-from-sql-server.md
ms.devlang: ---+++ Last updated 02/11/2019 # SQL Server database migration to Azure SQL Database
azure-sql Move Resources Across Regions https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/move-resources-across-regions.md
ms.devlang: ---+++ Last updated 06/25/2019
azure-sql Network Access Controls Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/network-access-controls-overview.md
description: Overview of how to manage and control network access for Azure SQL
-+ ms.devlang:
azure-sql Planned Maintenance https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/planned-maintenance.md
Title: Plan for Azure maintenance events
description: Learn how to prepare for planned maintenance events in Azure SQL Database and Azure SQL Managed Instance. -+ ms.devlang: -+ Last updated 3/23/2021
azure-sql Policy Reference https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/policy-reference.md
Title: Built-in policy definitions for Azure SQL Database
description: Lists Azure Policy built-in policy definitions for Azure SQL Database and SQL Managed Instance. These built-in policy definitions provide common approaches to managing your Azure resources. Last updated 05/14/2021 --+++ + # Azure Policy built-in definitions for Azure SQL Database & SQL Managed Instance
azure-sql Powershell Script Content Guide https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/powershell-script-content-guide.md
ms.devlang: PowerShell --++ Last updated 03/25/2019
azure-sql Purchasing Models https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/purchasing-models.md
description: Learn about the purchasing models that are available for Azure SQL Database and Azure SQL Managed Instance. -+ ms.devlang: --++ Last updated 05/28/2020
azure-sql Quickstart Content Reference Guide https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/quickstart-content-reference-guide.md
Title: Single database quickstart content reference
-description: 'Find a content reference of all the quickstarts that will help you quickly get started with single databases in Azure SQL Database.'
+description: 'Find a content reference of all the quickstarts that help you quickly get started with Azure SQL Database.'
-+ ms.devlang: --++ Last updated 07/29/2019
azure-sql Quota Increase Request https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/quota-increase-request.md
Title: Request a quota increase
description: This page describes how to create a support request to increase the quotas for Azure SQL Database and Azure SQL Managed Instance. -+ -+ Last updated 06/04/2020
Use the following steps to create a new support request from the Azure portal fo
![Enter details link](./media/quota-increase-request/provide-details-link.png)
-Clicking **Enter details** displays the **Quota details** window that allows you to add additional information. The following sections describe the different options for **SQL Database** and **SQL Database Managed Instance** quota types.
+Clicking **Enter details** displays the **Quota details** window that allows you to add additional information. The following sections describe the different options for **SQL Database** and **SQL Managed Instance** quota types.
## <a id="sqldbquota"></a> SQL Database quota types
azure-sql Read Scale Out https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/read-scale-out.md
description: Azure SQL provides the ability to use the capacity of read-only rep
-+ ms.devlang: ---+++ Last updated 01/20/2021 # Use read-only replicas to offload read-only query workloads
In this fashion, creating a geo-replica provides two more read-only replicas for
## Next steps -- For information about SQL Database Hyperscale offering, see [Hyperscale service tier](service-tier-hyperscale.md).
+- For information about SQL Database Hyperscale offering, see [Hyperscale service tier](service-tier-hyperscale.md).
azure-sql Recovery Using Backups https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/recovery-using-backups.md
description: Learn about point-in-time restore, which enables you to roll back a database in Azure SQL Database or an instance in Azure SQL Managed Instance up to 35 days. -+ ms.devlang: ---+++ Last updated 11/13/2020 # Recover using automated database backups - Azure SQL Database & SQL Managed Instance
azure-sql Replication To Sql Database https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/replication-to-sql-database.md
Title: Azure SQL Server replication to Azure SQL Database
description: You can configure a database in Azure SQL Database as the push subscriber in a one-way transactional or snapshot replication topology. -+ ms.devlang: --++ Last updated 04/28/2020
azure-sql Reserved Capacity Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/reserved-capacity-overview.md
description: Learn how to buy Azure SQL Database and SQL Managed Instance reserved capacity to save on your compute costs. -+ ms.devlang: ---+++ Last updated 10/13/2020 # Save costs for resources with reserved capacity - Azure SQL Database & SQL Managed Instance
azure-sql Resource Health To Troubleshoot Connectivity https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/resource-health-to-troubleshoot-connectivity.md
ms.devlang: ---+++ Last updated 03/24/2021 # Use Resource Health to troubleshoot connectivity for Azure SQL Database and Azure SQL Managed Instance
azure-sql Resource Limits Dtu Elastic Pools https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/resource-limits-dtu-elastic-pools.md
ms.devlang: ---+++ Last updated 04/09/2021 # Resources limits for elastic pools using the DTU purchasing model
azure-sql Resource Limits Dtu Single Databases https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/resource-limits-dtu-single-databases.md
Title: DTU resource limits single databases
description: This page describes some common DTU resource limits for single databases in Azure SQL Database. -+ ms.devlang: ---+++ Last updated 04/16/2021 # Resource limits for single databases using the DTU purchasing model - Azure SQL Database
azure-sql Resource Limits Logical Server https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/resource-limits-logical-server.md
Title: Resource limits for logical servers in Azure
description: This article provides an overview of the resource limits for the logical server in Azure used by Azure SQL Database and Azure Synapse Analytics. It also provides information regarding what happens when those resource limits are hit or exceeded. -+ ms.devlang: ---+++ Last updated 04/16/2021
azure-sql Resource Limits Vcore Elastic Pools https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/resource-limits-vcore-elastic-pools.md
ms.devlang: ---+++ Last updated 04/16/2021 # Resource limits for elastic pools using the vCore purchasing model
azure-sql Resource Limits Vcore Single Databases https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/resource-limits-vcore-single-databases.md
Title: Single database vCore resource limits
description: This page describes some common vCore resource limits for a single database in Azure SQL Database. -+ ms.devlang: ---+++ Last updated 04/16/2021 # Resource limits for single databases using the vCore purchasing model
azure-sql Saas Dbpertenant Dr Geo Replication https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/saas-dbpertenant-dr-geo-replication.md
ms.devlang: ---++ Last updated 01/25/2019 # Disaster recovery for a multi-tenant SaaS application using database geo-replication
azure-sql Saas Dbpertenant Dr Geo Restore https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/saas-dbpertenant-dr-geo-restore.md
ms.devlang: ---+++ Last updated 01/14/2019 # Use geo-restore to recover a multitenant SaaS application from database backups
azure-sql Saas Dbpertenant Get Started Deploy https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/saas-dbpertenant-get-started-deploy.md
ms.devlang: --++ Last updated 01/25/2019
azure-sql Saas Dbpertenant Log Analytics https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/saas-dbpertenant-log-analytics.md
ms.devlang: --++ Last updated 01/25/2019
azure-sql Saas Dbpertenant Performance Monitoring https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/saas-dbpertenant-performance-monitoring.md
ms.devlang: --+++ Last updated 01/25/2019
azure-sql Saas Dbpertenant Provision And Catalog https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/saas-dbpertenant-provision-and-catalog.md
ms.devlang: --++ Last updated 09/24/2018
azure-sql Saas Dbpertenant Restore Single Tenant https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/saas-dbpertenant-restore-single-tenant.md
ms.devlang: --++ Last updated 12/04/2018
azure-sql Saas Dbpertenant Wingtip App Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/saas-dbpertenant-wingtip-app-overview.md
ms.devlang: --++ Last updated 09/24/2018
azure-sql Saas Multitenantdb Adhoc Reporting https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/saas-multitenantdb-adhoc-reporting.md
ms.devlang: --++ Last updated 10/30/2018
azure-sql Saas Multitenantdb Get Started Deploy https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/saas-multitenantdb-get-started-deploy.md
ms.devlang: --+++ Last updated 10/16/2018
azure-sql Saas Multitenantdb Performance Monitoring https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/saas-multitenantdb-performance-monitoring.md
ms.devlang: --++ Last updated 01/25/2019
azure-sql Saas Multitenantdb Provision And Catalog https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/saas-multitenantdb-provision-and-catalog.md
ms.devlang: --+++ Last updated 09/24/2018
azure-sql Saas Multitenantdb Schema Management https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/saas-multitenantdb-schema-management.md
ms.devlang: --++ Last updated 12/18/2018
azure-sql Saas Multitenantdb Tenant Analytics https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/saas-multitenantdb-tenant-analytics.md
ms.devlang: --++ Last updated 09/19/2018
azure-sql Saas Standaloneapp Get Started Deploy https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/saas-standaloneapp-get-started-deploy.md
ms.devlang: --++ Last updated 11/07/2018
azure-sql Saas Standaloneapp Provision And Catalog https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/saas-standaloneapp-provision-and-catalog.md
ms.devlang: --++ Last updated 09/24/2018
azure-sql Saas Tenancy App Design Patterns https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/saas-tenancy-app-design-patterns.md
---+++ Last updated 01/25/2019
azure-sql Saas Tenancy Cross Tenant Reporting https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/saas-tenancy-cross-tenant-reporting.md
ms.devlang: --+++ ms.reviewers: Last updated 01/25/2019
azure-sql Saas Tenancy Schema Management https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/saas-tenancy-schema-management.md
ms.devlang: --++ Last updated 09/19/2018
azure-sql Saas Tenancy Tenant Analytics Adf https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/saas-tenancy-tenant-analytics-adf.md
ms.devlang: --++ Last updated 12/18/2018
azure-sql Saas Tenancy Tenant Analytics https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/saas-tenancy-tenant-analytics.md
ms.devlang: --++ Last updated 12/18/2018
azure-sql Saas Tenancy Video Index Wingtip Brk3120 20171011 https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/saas-tenancy-video-index-wingtip-brk3120-20171011.md
description: "This article indexes various time points in our 81 minutes video a
--+++ Last updated 12/18/2018
azure-sql Saas Tenancy Welcome Wingtip Tickets App https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/saas-tenancy-welcome-wingtip-tickets-app.md
ms.devlang: --++ Last updated 01/25/2019
azure-sql Saas Tenancy Wingtip App Guidance Tips https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/saas-tenancy-wingtip-app-guidance-tips.md
ms.devlang: --++ Last updated 12/18/2018
azure-sql Add Database To Failover Group Cli https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/scripts/add-database-to-failover-group-cli.md
ms.devlang: azurecli ---+++ Last updated 07/16/2019 # Use the Azure CLI to add a database to a failover group
azure-sql Add Database To Failover Group Powershell https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/scripts/add-database-to-failover-group-powershell.md
description: Use an Azure PowerShell example script to create a database in Azur
-+ ms.devlang: PowerShell ---+++ Last updated 07/16/2019
azure-sql Add Elastic Pool To Failover Group Powershell https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/scripts/add-elastic-pool-to-failover-group-powershell.md
description: Azure PowerShell example script to create an Azure SQL Database ela
-+ ms.devlang: PowerShell ---+++ Last updated 07/16/2019 # Use PowerShell to add an elastic pool to a failover group
azure-sql Auditing Threat Detection Powershell Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/scripts/auditing-threat-detection-powershell-configure.md
description: Azure PowerShell example script to configure auditing and Advanced
-+ ms.devlang: PowerShell
azure-sql Copy Database To New Server Powershell https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/scripts/copy-database-to-new-server-powershell.md
description: Azure PowerShell example script to copy a database to a new server
-+ ms.devlang: PowerShell ---+++ Last updated 03/12/2019 # Use PowerShell to copy a database to a new server
azure-sql Create And Configure Database Cli https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/scripts/create-and-configure-database-cli.md
Title: "The Azure CLI: Create a single database"
description: Use this Azure CLI example script to create a single database. -+ ms.devlang: azurecli --++ Last updated 06/25/2019
azure-sql Create And Configure Database Powershell https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/scripts/create-and-configure-database-powershell.md
Title: "PowerShell: Create a single database"
description: Use an Azure PowerShell example script to create a single database in Azure SQL Database. --++ ms.devlang: PowerShell --++ Last updated 03/12/2019
azure-sql Import From Bacpac Powershell https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/scripts/import-from-bacpac-powershell.md
Title: "PowerShell: Import a BACPAC file to a new database in Azure SQL Database
description: Azure PowerShell example script to import a BACPAC file into a database in SQL Database --++ ms.devlang: PowerShell ---+++ Last updated 05/24/2019 # Use PowerShell to import a BACPAC file into a database in SQL Database
azure-sql Monitor And Scale Database Powershell https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/scripts/monitor-and-scale-database-powershell.md
description: Use an Azure PowerShell example script to monitor and scale a singl
-+ ms.devlang: PowerShell
azure-sql Monitor And Scale Pool Powershell https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/scripts/monitor-and-scale-pool-powershell.md
description: Azure PowerShell example script to monitor and scale an elastic poo
-+ ms.devlang: PowerShell
azure-sql Move Database Between Elastic Pools Cli https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/scripts/move-database-between-elastic-pools-cli.md
ms.devlang: azurecli ---+++ Last updated 06/25/2019 # Use the Azure CLI to move a database in SQL Database in a SQL elastic pool
azure-sql Move Database Between Elastic Pools Powershell https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/scripts/move-database-between-elastic-pools-powershell.md
description: Use an Azure PowerShell example script to move a database in SQL Da
-+ ms.devlang: PowerShell ---+++ Last updated 03/12/2019
azure-sql Restore Database Powershell https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/scripts/restore-database-powershell.md
Title: "PowerShell: Restore an automatic backup of a database in SQL Database"
description: Use an Azure PowerShell example script to restore a database in SQL Database to an earlier point in time from automatic backups. --++ ms.devlang: PowerShell ---+++ Last updated 03/27/2019
This script uses the following commands. Each command in the table links to comm
For more information on Azure PowerShell, see [Azure PowerShell documentation](/powershell/azure/).
-Additional SQL Database PowerShell script samples can be found in the [Azure SQL Database PowerShell scripts](../powershell-script-content-guide.md).
+Additional SQL Database PowerShell script samples can be found in the [Azure SQL Database PowerShell scripts](../powershell-script-content-guide.md).
azure-sql Scale Pool Cli https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/scripts/scale-pool-cli.md
ms.devlang: azurecli ---+++ Last updated 06/25/2019
azure-sql Setup Geodr And Failover Database Powershell https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/scripts/setup-geodr-and-failover-database-powershell.md
description: Use an Azure PowerShell example script to set up active geo-replica
-+ ms.devlang: PowerShell ---+++ Last updated 03/12/2019
azure-sql Setup Geodr And Failover Elastic Pool Powershell https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/scripts/setup-geodr-and-failover-elastic-pool-powershell.md
description: Azure PowerShell example script to set up active geo-replication fo
-+ ms.devlang: PowerShell ---+++ Last updated 03/12/2019 # Use PowerShell to configure active geo-replication for a pooled database in Azure SQL Database
azure-sql Sql Data Sync Sync Data Between Azure Onprem https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/scripts/sql-data-sync-sync-data-between-azure-onprem.md
Title: "PowerShell: Sync data between SQL Database and SQL Server"
description: Use an Azure PowerShell example script to sync data between Azure SQL Database and SQL Server. --++ ms.devlang: PowerShell ---+++ Last updated 03/12/2019
For more information about SQL Data Sync, see:
For more information about Azure SQL Database, see: - [SQL Database overview](../sql-database-paas-overview.md)-- [Database Lifecycle Management](/previous-versions/sql/sql-server-guides/jj907294(v=sql.110))
+- [Database Lifecycle Management](/previous-versions/sql/sql-server-guides/jj907294(v=sql.110))
azure-sql Sql Data Sync Sync Data Between Sql Databases Rest Api https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/scripts/sql-data-sync-sync-data-between-sql-databases-rest-api.md
Title: "REST API: Sync between multiple databases"
description: Use a REST API example script to sync between multiple databases. -+ ms.devlang: REST API ---+++ Last updated 03/12/2019
azure-sql Sql Data Sync Sync Data Between Sql Databases https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/scripts/sql-data-sync-sync-data-between-sql-databases.md
Title: "PowerShell: Sync between multiple databases in Azure SQL Database"
description: Use an Azure PowerShell example script to sync between multiple databases in Azure SQL Database. --++ ms.devlang: PowerShell ---+++ Last updated 03/12/2019
azure-sql Update Sync Schema In Sync Group https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/scripts/update-sync-schema-in-sync-group.md
Title: "PowerShell: Update SQL Data Sync sync schema"
description: Azure PowerShell example script to update the sync schema for SQL Data Sync -+ ms.devlang: PowerShell ---+++ Last updated 03/12/2019 # Use PowerShell to update the sync schema in an existing sync group
azure-sql Vnet Service Endpoint Rule Powershell Create https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/scripts/vnet-service-endpoint-rule-powershell-create.md
Title: PowerShell for VNet endpoints and rules for single and pooled databases
description: "Provides PowerShell scripts to create and manage Virtual Service endpoints for your Azure SQL Database and Azure Synapse." -+ ms.devlang: PowerShell -+ Last updated 04/17/2019-+ tags: azure-synapse # PowerShell: Create a Virtual Service endpoint and VNet rule for Azure SQL Database
azure-sql Security Controls Policy https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/security-controls-policy.md
Title: Azure Policy Regulatory Compliance controls for Azure SQL Database
description: Lists Azure Policy Regulatory Compliance controls available for Azure SQL Database and SQL Managed Instance. These built-in policy definitions provide common approaches to managing the compliance of your Azure resources. Last updated 05/14/2021 --++ + # Azure Policy Regulatory Compliance controls for Azure SQL Database & SQL Managed Instance
azure-sql Serverless Tier Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/serverless-tier-overview.md
description: This article describes the new serverless compute tier and compares
-+ ms.devlang:
azure-sql Service Tier Business Critical https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/service-tier-business-critical.md
description: Learn about the business critical service tier for Azure SQL Database and Azure SQL Managed Instance. -+ ms.devlang: -+ Last updated 12/04/2018 # Business Critical tier - Azure SQL Database and Azure SQL Managed Instance
azure-sql Service Tier General Purpose https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/service-tier-general-purpose.md
description: Learn about the General Purpose service tier for Azure SQL Database and Azure SQL Managed Instance. -+ ms.devlang: -+ Last updated 02/07/2019 # General Purpose service tier - Azure SQL Database and Azure SQL Managed Instance
azure-sql Service Tier Hyperscale https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/service-tier-hyperscale.md
Title: What is the Hyperscale service tier?
description: This article describes the Hyperscale service tier in the vCore-based purchasing model in Azure SQL Database and explains how it's different from the General Purpose and Business Critical service tiers. -+ ms.devlang: ---+++ Last updated 3/31/2021
azure-sql Service Tiers Dtu https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/service-tiers-dtu.md
Title: Service tiers - DTU-based purchase model
description: Learn about service tiers in the DTU-based purchase model for Azure SQL Database to provide compute and storage sizes. -+ ms.devlang: --+++ Last updated 5/4/2021- # Service tiers in the DTU-based purchase model [!INCLUDE[appliesto-sqldb](../includes/appliesto-sqldb.md)]
azure-sql Service Tiers General Purpose Business Critical https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/service-tiers-general-purpose-business-critical.md
description: The article discusses the general purpose and business critical service tiers in the vCore-based purchasing model used by Azure SQL Database and Azure SQL Managed Instance. -+ ms.devlang: ---+++ Last updated 12/14/2020 # Azure SQL Database and Azure SQL Managed Instance service tiers
azure-sql Service Tiers Vcore https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/service-tiers-vcore.md
description: The vCore purchasing model lets you independently scale compute and storage resources, match on-premises performance, and optimize price for Azure SQL Database and Azure SQL Managed Instance. -+ ---+++ Last updated 05/01/2021+ # vCore model overview - Azure SQL Database and Azure SQL Managed Instance [!INCLUDE[appliesto-sqldb-sqlmi](../includes/appliesto-sqldb-sqlmi.md)]
azure-sql Single Database Create Arm Template Quickstart https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/single-database-create-arm-template-quickstart.md
Title: "Azure Resource
description: Create a single database in Azure SQL Database using an Azure Resource Manager template. --++ ms.devlang: ---++ Last updated 06/24/2020
Remove-AzResourceGroup -Name $resourceGroupName
- [Connect and query using Azure Data Studio](/sql/azure-data-studio/quickstart-sql-database?toc=%2fazure%2fsql-database%2ftoc.json) - To create a single database using the Azure CLI, see [Azure CLI samples](az-cli-script-samples-content-guide.md). - To create a single database using Azure PowerShell, see [Azure PowerShell samples](powershell-script-content-guide.md).-- To learn how to create ARM templates, see [Create your first template](../../azure-resource-manager/templates/template-tutorial-create-first-template.md).
+- To learn how to create ARM templates, see [Create your first template](../../azure-resource-manager/templates/template-tutorial-create-first-template.md).
azure-sql Single Database Create Quickstart https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/single-database-create-quickstart.md
Title: Create a single database
description: Create a single database in Azure SQL Database using the Azure portal, PowerShell, or the Azure CLI. --++ ms.devlang: --++ Last updated 01/27/2021
Remove-AzResourceGroup -Name $resourceGroupName
Want to optimize and save on your cloud spending? > [!div class="nextstepaction"]
-> [Start analyzing costs with Cost Management](../../cost-management-billing/costs/quick-acm-cost-analysis.md?WT.mc_id=costmanagementcontent_docsacmhorizontal_-inproduct-learn)
+> [Start analyzing costs with Cost Management](../../cost-management-billing/costs/quick-acm-cost-analysis.md?WT.mc_id=costmanagementcontent_docsacmhorizontal_-inproduct-learn)
azure-sql Single Database Manage https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/single-database-manage.md
Title: Create & manage servers and single databases
description: Learn about creating and managing servers and single databases in Azure SQL Database using the Azure portal, PowerShell, the Azure CLI, Transact-SQL (T-SQL), and Rest-API. -+ ms.devlang: --++ Last updated 03/12/2019
azure-sql Single Database Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/single-database-overview.md
Title: What is a single database?
description: Learn about the single database resource type in Azure SQL Database. -+ ms.devlang: --++ Last updated 04/08/2019
azure-sql Single Database Scale https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/single-database-scale.md
description: This article describes how to scale the compute and storage resourc
-+ ms.devlang:
azure-sql Spark Connector https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/spark-connector.md
ms.devlang: ---++ Last updated 09/02/2020 # Accelerate real-time big data analytics using the Spark connector
azure-sql Sql Data Sync Agent Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/sql-data-sync-agent-overview.md
Title: Data Sync Agent for SQL Data Sync
description: Learn how to install and run the Data Sync Agent for SQL Data Sync in Azure to sync data with SQL Server databases -+ ms.devlang: ---+++ Last updated 12/20/2018 # Data Sync Agent for SQL Data Sync
azure-sql Sql Data Sync Best Practices https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/sql-data-sync-best-practices.md
Title: Best practices for Azure SQL Data Sync
description: "Learn about best practices for configuring and running Azure SQL Data Sync." -+ ms.devlang: ---+++ Last updated 12/20/2018 # Best practices for Azure SQL Data Sync
azure-sql Sql Data Sync Data Sql Server Sql Database https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/sql-data-sync-data-sql-server-sql-database.md
Title: What is SQL Data Sync for Azure?
description: This overview introduces SQL Data Sync for Azure, which allows you to sync data across multiple cloud and on-premises databases. -+ ms.devlang: ---+++ Last updated 08/20/2019 # What is SQL Data Sync for Azure?
azure-sql Sql Data Sync Sql Server Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/sql-data-sync-sql-server-configure.md
Title: Set up SQL Data Sync
description: This tutorial shows you how to set up SQL Data Sync for Azure -+ ms.devlang: ---+++ Last updated 01/14/2019 # Tutorial: Set up SQL Data Sync between databases in Azure SQL Database and SQL Server
azure-sql Sql Data Sync Troubleshoot https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/sql-data-sync-troubleshoot.md
Title: Troubleshoot SQL Data Sync
description: "Learn how to identify, troubleshoot, and resolve common issues with SQL Data Sync in Azure." -+ ms.devlang: ---+++ Last updated 12/20/2018 # Troubleshoot issues with SQL Data Sync
azure-sql Sql Data Sync Update Sync Schema https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/sql-data-sync-update-sync-schema.md
Title: Automate the replication of schema changes in SQL Data Sync
description: Learn how to automate the replication of schema changes in Azure SQL Data Sync. -+ ms.devlang: ---+++ Last updated 11/14/2018 # Automate the replication of schema changes in Azure SQL Data Sync
azure-sql Sql Database Paas Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/sql-database-paas-overview.md
description: 'Get an introduction to SQL Database: technical details and capabil
keywords: introduction to sql,intro to sql,what is sql database -+ ms.devlang: --++ Last updated 09/21/2020
azure-sql Temporal Tables Retention Policy https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/temporal-tables-retention-policy.md
Title: Manage historical data in temporal tables
description: Learn how to use temporal retention policy to keep historical data under your control. -+ ms.devlang: ---+++ Last updated 09/25/2018 # Manage historical data in Temporal tables with retention policy
azure-sql Transact Sql Tsql Differences Sql Server https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/transact-sql-tsql-differences-sql-server.md
Title: Resolving T-SQL differences-migration
description: Transact-SQL statements that are less than fully supported in Azure SQL Database. -+ ms.devlang: ---+++ Last updated 12/03/2018 # Resolving Transact-SQL differences during migration to SQL Database
azure-sql Transparent Data Encryption Byok Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/transparent-data-encryption-byok-configure.md
description: "Learn how to configure an Azure SQL Database and Azure Synapse Ana
-+ ms.devlang:
azure-sql Transparent Data Encryption Byok Key Rotation https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/transparent-data-encryption-byok-key-rotation.md
description: Learn how to rotate the Transparent Data Encryption (TDE) protector
-+ ms.devlang:
The following examples use [az sql server tde-key set](/powershell/module/az.sql
- In case of a security risk, learn how to remove a potentially compromised TDE protector: [Remove a potentially compromised key](transparent-data-encryption-byok-remove-tde-protector.md). -- Get started with Azure Key Vault integration and Bring Your Own Key support for TDE: [Turn on TDE using your own key from Key Vault using PowerShell](transparent-data-encryption-byok-configure.md).
+- Get started with Azure Key Vault integration and Bring Your Own Key support for TDE: [Turn on TDE using your own key from Key Vault using PowerShell](transparent-data-encryption-byok-configure.md).
azure-sql Troubleshoot Common Connectivity Issues https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/troubleshoot-common-connectivity-issues.md
ms.devlang: ---+++ Last updated 01/14/2020
azure-sql Troubleshoot Common Errors Issues https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/troubleshoot-common-errors-issues.md
Title: Troubleshoot common connection issues to Azure SQL Database
description: Provides steps to troubleshoot Azure SQL Database connection issues and resolve other Azure SQL Database or Azure SQL Managed Instance specific issues -+
azure-sql Xevent Code Event File https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/database/xevent-code-event-file.md
description: Provides PowerShell and Transact-SQL for a two-phase code sample th
-+ ms.devlang: PowerShell
For more info about accounts and containers in the Azure Storage service, see:
- [Working with the Root Container](/rest/api/storageservices/Working-with-the-Root-Container) - [Lesson 1: Create a stored access policy and a shared access signature on an Azure container](/sql/relational-databases/tutorial-use-azure-blob-storage-service-with-sql-server-2016#1create-stored-access-policy-and-shared-access-storage) - [Lesson 2: Create a SQL Server credential using a shared access signature](/sql/relational-databases/tutorial-use-azure-blob-storage-service-with-sql-server-2016#2create-a-sql-server-credential-using-a-shared-access-signature)-- [Extended Events for Microsoft SQL Server](/sql/relational-databases/extended-events/extended-events)
+- [Extended Events for Microsoft SQL Server](/sql/relational-databases/extended-events/extended-events)
azure-sql Glossary Terms https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/glossary-terms.md
description: A glossary of terms for working with Azure SQL Database, Azure SQL Managed Instance, and SQL on Azure VM. -+ ms.devlang: --++ Last updated 12/09/2020
azure-sql In Memory Oltp Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/in-memory-oltp-configure.md
description: Adopt In-Memory OLTP to improve transactional performance in an exi
-+ ---+++ Last updated 11/07/2018 # Use In-Memory OLTP to improve your application performance in Azure SQL Database and Azure SQL Managed Instance
azure-sql In Memory Oltp Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/in-memory-oltp-overview.md
Title: In-memory technologies
description: In-memory technologies greatly improve the performance of transactional and analytics workloads in Azure SQL Database and Azure SQL Managed Instance. -+ ms.devlang: ---+++ Last updated 03/19/2019 # Optimize performance by using in-memory technologies in Azure SQL Database and Azure SQL Managed Instance
azure-sql In Memory Sample https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/in-memory-sample.md
Title: In-Memory sample
description: Try Azure SQL Database In-Memory technologies with OLTP and columnstore sample. -+ ms.devlang: -+ Last updated 12/18/2018 # In-Memory sample
azure-sql Load From Csv With Bcp https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/load-from-csv-with-bcp.md
ms.devlang: ---+++ Last updated 01/25/2019 # Load data from CSV into Azure SQL Database or SQL Managed Instance (flat files)
azure-sql Api References Create Manage Instance https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/api-references-create-manage-instance.md
Title: Management API reference for Azure SQL Managed Instance
description: Learn about creating and configuring managed instances of Azure SQL Managed Instance. -+ ms.devlang: ---+++ Last updated 03/12/2019 # Managed API reference for Azure SQL Managed Instance
azure-sql Azure App Sync Network Configuration https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/azure-app-sync-network-configuration.md
description: This article discusses how to sync your network configuration for Azure App Service hosting plan with your Azure SQL Managed Instance. -+ ms.devlang:
azure-sql Connect Application Instance https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/connect-application-instance.md
description: This article discusses how to connect your application to Azure SQL Managed Instance. -+ ms.devlang:
azure-sql Connect Vm Instance Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/connect-vm-instance-configure.md
description: Connect to Azure SQL Managed Instance using SQL Server Management Studio from an Azure virtual machine. -+ ms.devlang: ---+++ Last updated 02/18/2019 # Quickstart: Configure an Azure VM to connect to Azure SQL Managed Instance
azure-sql Connection Types Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/connection-types-overview.md
description: Learn about Azure SQL Managed Instance connection types -+
azure-sql Connectivity Architecture Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/connectivity-architecture-overview.md
description: Learn about Azure SQL Managed Instance communication and connectivity architecture as well as how the components direct traffic to a managed instance. -+ ms.devlang:
azure-sql Create Template Quickstart https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/create-template-quickstart.md
Title: "Azure Resource
description: Learn how to create an Azure SQL Managed Instance by using an Azure Resource Manager template. --++ ms.devlang: ---+++ Last updated 06/22/2020
azure-sql Custom Dns Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/custom-dns-configure.md
description: This topic describes configuration options for a custom DNS with Azure SQL Managed Instance. -+ ms.devlang:
azure-sql Failover Group Add Instance Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/failover-group-add-instance-tutorial.md
ms.devlang: ---+++ Last updated 08/27/2019 # Tutorial: Add SQL Managed Instance to a failover group
azure-sql Frequently Asked Questions Faq https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/frequently-asked-questions-faq.md
description: Azure SQL Managed Instance frequently asked questions (FAQ) -+ ms.devlang: -+ Last updated 09/21/2020 # Azure SQL Managed Instance frequently asked questions (FAQ)
azure-sql How To Content Reference Guide https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/how-to-content-reference-guide.md
description: A reference guide of content that teaches you how to configure and manage Azure SQL Managed Instance. -+ ms.devlang: ---++ Last updated 04/16/2019 # Azure SQL Managed Instance content reference
azure-sql Instance Create Quickstart https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/instance-create-quickstart.md
Title: "Quickstart: Create an Azure SQL Managed Instance (portal)"
description: Create a managed instance, network environment, and client VM for access using the Azure portal in this quickstart. -+ ms.devlang: -+ Last updated 1/29/2021 # Quickstart: Create an Azure SQL Managed Instance
azure-sql Instance Pools Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/instance-pools-configure.md
description: This article describes how to create and manage Azure SQL Managed Instance pools (preview). --++ ms.devlang: ---+++ Last updated 09/05/2019 # Deploy Azure SQL Managed Instance to an instance pool
azure-sql Instance Pools Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/instance-pools-overview.md
description: Learn about Azure SQL Managed Instance pools (preview), a feature that provides a convenient and cost-efficient way to migrate smaller SQL Server databases to the cloud at scale, and manage multiple managed instances. -+ ms.devlang: ---+++ Last updated 09/05/2019 # What is an Azure SQL Managed Instance pool (preview)?
azure-sql Log Replay Service Migrate https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/log-replay-service-migrate.md
Title: Migrate databases to SQL Managed Instance using Log Replay Service
description: Learn how to migrate databases from SQL Server to SQL Managed Instance by using Log Replay Service -++ -+ Last updated 03/31/2021
azure-sql Long Term Backup Retention Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/long-term-backup-retention-configure.md
description: "Learn how to store and restore automated backups on separate Azure
-+ ms.devlang:
azure-sql Management Endpoint Find Ip Address https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/management-endpoint-find-ip-address.md
description: Learn how to get the Azure SQL Managed Instance management endpoint public IP address and verify its built-in firewall protection -+ ms.devlang:
azure-sql Management Operations Cancel https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/management-operations-cancel.md
description: Learn how to cancel Azure SQL Managed Instance management operations. --++ ms.devlang:
azure-sql Management Operations Monitor https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/management-operations-monitor.md
description: Learn about different ways for monitoring of Azure SQL Managed Instance management operations. --++ ms.devlang:
For detailed commands explanation, see [az sql mi op](/cli/azure/sql/mi/op).
- For a features and comparison list, see [common SQL features](../database/features-comparison.md). - For more information about VNet configuration, see [SQL Managed Instance VNet configuration](connectivity-architecture-overview.md). - For a quickstart that creates a managed instance and restores a database from a backup file, see [Create a managed instance](instance-create-quickstart.md).-- For a tutorial about using Azure Database Migration Service for migration, see [SQL Managed Instance migration using Database Migration Service](../../dms/tutorial-sql-server-to-managed-instance.md).
+- For a tutorial about using Azure Database Migration Service for migration, see [SQL Managed Instance migration using Database Migration Service](../../dms/tutorial-sql-server-to-managed-instance.md).
azure-sql Management Operations Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/management-operations-overview.md
description: Learn about Azure SQL Managed Instance management operations duration and best practices. -+ ms.devlang:
azure-sql Migrate To Instance From Sql Server https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/migrate-to-instance-from-sql-server.md
ms.devlang: ---+++ Last updated 07/11/2019 # SQL Server instance migration to Azure SQL Managed Instance
azure-sql Minimal Tls Version Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/minimal-tls-version-configure.md
description: "Learn how to configure minimal TLS version for managed instance"
-+
az sql mi show -n sql-instance-name -g resource-group --query "minimalTlsVersion
# Update setting for Minimal TLS Version az sql mi update -n sql-instance-name -g resource-group --set minimalTlsVersion="1.2"
-```
+```
azure-sql Point In Time Restore https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/point-in-time-restore.md
description: Restore a database on Azure SQL Managed Instance to a previous point in time. --++ ms.devlang: ---+++ Last updated 08/25/2019 # Restore a database in Azure SQL Managed Instance to a previous point in time
azure-sql Point To Site P2s Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/point-to-site-p2s-configure.md
description: Connect to Azure SQL Managed Instance using SQL Server Management Studio (SSMS) using a point-to-site connection from an on-premises client computer. -+ ms.devlang:
azure-sql Public Endpoint Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/public-endpoint-configure.md
description: "Learn how to configure a public endpoint for Azure SQL Managed Ins
-+
azure-sql Quickstart Content Reference Guide https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/quickstart-content-reference-guide.md
description: "A reference for content that helps you get started with Azure SQL Managed Instance. " -+ ms.devlang: -+ Last updated 07/11/2019 # Getting started with Azure SQL Managed Instance
azure-sql Replication Between Two Instances Configure Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/replication-between-two-instances-configure-tutorial.md
description: This tutorial teaches you to configure transactional replication between an Azure SQL Managed Instance publisher/distributor and a SQL Managed Instance subscriber. -+ ms.devlang: -+ Last updated 04/28/2020
azure-sql Replication Transactional Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/replication-transactional-overview.md
description: Learn about using SQL Server transactional replication with Azure SQL Managed Instance (Preview). -+ ms.devlang: ---+++ Last updated 05/10/2020 # Transactional replication with Azure SQL Managed Instance (Preview)
azure-sql Replication Two Instances And Sql Server Configure Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/replication-two-instances-and-sql-server-configure-tutorial.md
Title: "Configure transactional replication between Azure SQL Managed Instance a
description: "A tutorial that configures replication between a publisher managed instance, a distributor managed instance, and a SQL Server subscriber on an Azure VM, along with necessary networking components such as private DNS zone and VNet peering." --++ ---+++ Last updated 11/21/2019 # Tutorial: Configure transactional replication between Azure SQL Managed Instance and SQL Server
See the [What is Azure SQL Managed Instance?](sql-managed-instance-paas-overview
For a complete overview of managed instance capabilities, see: > [!div class="nextstepaction"]
-> [SQL Managed Instance capabilities](sql-managed-instance-paas-overview.md)
+> [SQL Managed Instance capabilities](sql-managed-instance-paas-overview.md)
azure-sql Resource Limits https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/resource-limits.md
description: This article provides an overview of the resource limits for Azure SQL Managed Instance. -+ ms.devlang: ---+++ Last updated 09/14/2020 # Overview of Azure SQL Managed Instance resource limits
azure-sql Restore Sample Database Quickstart https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/restore-sample-database-quickstart.md
description: In this quickstart, learn to restore a database backup to Azure SQL Managed Instance using SQL Server Management Studio (SSMS). -+ ms.devlang: ---+++ Last updated 12/14/2018 # Quickstart: Restore a database to Azure SQL Managed Instance with SSMS
azure-sql Add To Failover Group Powershell https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/scripts/add-to-failover-group-powershell.md
description: Azure PowerShell example script to create a managed instance, add i
-+ ms.devlang: PowerShell ---+++ Last updated 07/16/2019 # Use PowerShell to add a managed instance to a failover group
azure-sql Create Configure Managed Instance Powershell https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/scripts/create-configure-managed-instance-powershell.md
description: This article provides an Azure PowerShell example script to create a managed instance. --++ ms.devlang: PowerShell ---+++ Last updated 03/25/2019 # Use PowerShell to create a managed instance
azure-sql Restore Geo Backup https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/scripts/restore-geo-backup.md
Title: "PowerShell: Restore geo-backup for Azure SQL Managed Instance"
description: Azure PowerShell example script to restore an Azure SQL Managed Instance database from a geo-redundant backup. --++ ms.devlang: PowerShell ---+++ Last updated 07/03/2019 # Use PowerShell to restore an Azure SQL Managed Instance database to another geo-region
This script uses the following commands. Each command in the table links to comm
For more information about PowerShell, see [Azure PowerShell documentation](/powershell/azure/).
-Additional PowerShell script samples for Azure SQL Database can be found in [Azure SQL Database PowerShell scripts](../../database/powershell-script-content-guide.md).
+Additional PowerShell script samples for Azure SQL Database can be found in [Azure SQL Database PowerShell scripts](../../database/powershell-script-content-guide.md).
azure-sql Server Trust Group Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/server-trust-group-overview.md
description: Learn about Server Trust Group and how to manage trust between Azure SQL Managed Instances. -+ ms.devlang: -+ Last updated 10/08/2020 # Use Server Trust Groups to set up and manage trust between SQL Managed Instances
Server Trust Group is a concept used for managing trust between Azure SQL Manage
## Server Trust Group setup
-Server Trust Group can be setup via [Azure PowerShell](https://docs.microsoft.com/powershell/module/az.sql/new-azsqlservertrustgroup) or [Azure CLI](https://docs.microsoft.com/cli/azure/sql/stg).
+Server Trust Group can be setup via [Azure PowerShell](/powershell/module/az.sql/new-azsqlservertrustgroup) or [Azure CLI](/cli/azure/sql/stg).
The following section describes setup of Server Trust Group using Azure portal. 1. Go to the [Azure portal](https://portal.azure.com/).
azure-sql Sql Managed Instance Paas Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/sql-managed-instance-paas-overview.md
Title: What is Azure SQL Managed Instance?
description: Learn about how Azure SQL Managed Instance provides near 100% compatibility with the latest SQL Server (Enterprise Edition) database engine -+ ms.devlang: -+ Last updated 01/14/2021
azure-sql Subnet Service Aided Configuration Enable https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/subnet-service-aided-configuration-enable.md
Title: Enabling service-aided subnet configuration for Azure SQL Managed Instanc
description: Enabling service-aided subnet configuration for Azure SQL Managed Instance --++ ms.devlang:
azure-sql Synchronize Vnet Dns Servers Setting On Virtual Cluster https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/synchronize-vnet-dns-servers-setting-on-virtual-cluster.md
Title: Synchronize virtual network DNS servers setting on SQL Managed Instance v
description: Learn how synchronize virtual network DNS servers setting on SQL Managed Instance virtual cluster. + Previously updated : 01/17/2021 Last updated : 01/17/2021 + # Synchronize virtual network DNS servers setting on SQL Managed Instance virtual cluster
azure-sql Timezones Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/timezones-overview.md
Title: Azure SQL Managed Instance time zones
description: Learn about the time zone specifics of Azure SQL Managed Instance -+ ms.devlang: -+ Last updated 10/12/2020 # Time zones in Azure SQL Managed Instance
azure-sql Transact Sql Tsql Differences Sql Server https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/transact-sql-tsql-differences-sql-server.md
Title: T-SQL differences between SQL Server & Azure SQL Managed Instance
description: This article discusses the Transact-SQL (T-SQL) differences between an Azure SQL Managed Instance and SQL Server. -+ ms.devlang: -+ Last updated 3/16/2021
azure-sql User Initiated Failover https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/user-initiated-failover.md
Title: Manually initiate a failover on SQL Managed Instance
description: Learn how to manually failover primary and secondary replicas on Azure SQL Managed Instance. -++ ms.devlang: -+ Last updated 02/27/2021
azure-sql Virtual Cluster Delete https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/virtual-cluster-delete.md
Title: Delete a subnet after deleting a SQL Managed Instance
description: Learn how to delete an Azure virtual network after deleting an Azure SQL Managed Instance. -+ ms.devlang: -+ Last updated 06/26/2019
azure-sql Virtual Network Subnet Create Arm Template https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/virtual-network-subnet-create-arm-template.md
description: This article describes how to create a virtual network configured to support deploying Azure SQL Managed Instance. -+ ms.devlang:
azure-sql Vnet Existing Add Subnet https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/vnet-existing-add-subnet.md
description: This article describes how to configure an existing virtual network and subnet where you can deploy Azure SQL Managed Instance. -+ ms.devlang:
azure-sql Vnet Subnet Determine Size https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/managed-instance/vnet-subnet-determine-size.md
description: This topic describes how to calculate the size of the subnet where Azure SQL Managed Instance will be deployed. -+ ms.devlang:
azure-sql Access To Sql Database Guide https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/migration-guides/database/access-to-sql-database-guide.md
ms.devlang: --+++ Last updated 03/19/2021
azure-sql Sql Server To Sql Database Assessment Rules https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/migration-guides/database/sql-server-to-sql-database-assessment-rules.md
ms.devlang: ---+++ Last updated 12/15/2020 # Assessment rules for SQL Server to Azure SQL Database migration
azure-sql Sql Server To Sql Database Guide https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/migration-guides/database/sql-server-to-sql-database-guide.md
ms.devlang:
-+ Last updated 03/19/2021 # Migration guide: SQL Server to Azure SQL Database
azure-sql Sql Server To Sql Database Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/migration-guides/database/sql-server-to-sql-database-overview.md
ms.devlang:
-+ Last updated 11/06/2020 # Migration overview: SQL Server to Azure SQL Database
azure-sql Sql Server To Managed Instance Performance Baseline https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/migration-guides/managed-instance/sql-server-to-managed-instance-performance-baseline.md
ms.devlang: ---+++ Last updated 11/06/2020 # Migration performance: SQL Server to Azure SQL Managed Instance performance baseline
azure-sql Sql Server To Sql Managed Instance Assessment Rules https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/migration-guides/managed-instance/sql-server-to-sql-managed-instance-assessment-rules.md
ms.devlang: ---+++ Last updated 12/15/2020 # Assessment rules for SQL Server to Azure SQL Managed Instance migration
azure-sql Multi Model Features https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/multi-model-features.md
Title: Multi-model capabilities
description: Microsoft Azure SQL enables you to work with multiple data models in the same database. -+ ms.devlang: -+ Last updated 12/17/2018 # Multi-model capabilities of Azure SQL Database & SQL Managed Instance
azure-sql Performance Improve Use Batching https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/performance-improve-use-batching.md
Title: How to use batching to improve application performance
description: The topic provides evidence that batching database operations greatly improves the speed and scalability of your Azure SQL Database and Azure SQL Managed Instance applications. Although these batching techniques work for any SQL database, the focus of the article is on Azure. -+ ms.devlang: ---+++ Last updated 01/25/2019 # How to use batching to improve Azure SQL Database and Azure SQL Managed Instance application performance
azure-sql Public Data Sets https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/public-data-sets.md
ms.devlang: ---+++ Last updated 10/01/2018 # Public data sets for testing and prototyping
azure-sql Temporal Tables https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/temporal-tables.md
Title: Getting started with temporal tables
description: Learn how to get started with using temporal tables in Azure SQL Database and Azure SQL Managed Instance. -+ ms.devlang: ---+++ Last updated 06/26/2019 # Getting started with temporal tables in Azure SQL Database and Azure SQL Managed Instance
azure-sql Ssl Root Certificate Expiring https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/updates/ssl-root-certificate-expiring.md
description: Learn about the upcoming changes of root certificate changes that w
-+ Last updated 09/13/2020
azure-sql Automated Backup Sql 2014 https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/virtual-machines/windows/automated-backup-sql-2014.md
vm-windows-sql-server
Last updated 05/03/2018 -++ # Automated Backup for SQL Server 2014 virtual machines (Resource Manager)
You can find additional backup and restore guidance for SQL Server on Azure VMs
For information about other available automation tasks, see [SQL Server IaaS Agent Extension](sql-server-iaas-agent-extension-automate-management.md).
-For more information about running SQL Server on Azure VMs, see [SQL Server on Azure virtual machines overview](sql-server-on-azure-vm-iaas-what-is-overview.md).
+For more information about running SQL Server on Azure VMs, see [SQL Server on Azure virtual machines overview](sql-server-on-azure-vm-iaas-what-is-overview.md).
azure-sql Automated Backup https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/virtual-machines/windows/automated-backup.md
vm-windows-sql-server
Last updated 05/03/2018 -++ # Automated Backup v2 for Azure virtual machines (Resource Manager)
You can find additional backup and restore guidance for SQL Server on Azure VMs
For information about other available automation tasks, see [SQL Server IaaS Agent Extension](sql-server-iaas-agent-extension-automate-management.md).
-For more information about running SQL Server on Azure VMs, see [SQL Server on Azure virtual machines overview](sql-server-on-azure-vm-iaas-what-is-overview.md).
+For more information about running SQL Server on Azure VMs, see [SQL Server on Azure virtual machines overview](sql-server-on-azure-vm-iaas-what-is-overview.md).
azure-sql Automated Patching https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/virtual-machines/windows/automated-patching.md
vm-windows-sql-server
Last updated 03/07/2018 -++ # Automated Patching for SQL Server on Azure virtual machines (Resource Manager) [!INCLUDE[appliesto-sqlvm](../../includes/appliesto-sqlvm.md)]
azure-sql Availability Group Az Commandline Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/virtual-machines/windows/availability-group-az-commandline-configure.md
Last updated 08/20/2020 -+ # Use PowerShell or Az CLI to configure an availability group for SQL Server on Azure VM
For more information, see the following articles:
* [Administration of an availability group &#40;SQL Server&#41;](/sql/database-engine/availability-groups/windows/administration-of-an-availability-group-sql-server) * [Monitoring of availability groups &#40;SQL Server&#41;](/sql/database-engine/availability-groups/windows/monitoring-of-availability-groups-sql-server) * [Overview of Transact-SQL statements for Always On availability groups &#40;SQL Server&#41;](/sql/database-engine/availability-groups/windows/transact-sql-statements-for-always-on-availability-groups)
-* [Overview of PowerShell cmdlets for Always On availability groups &#40;SQL Server&#41;](/sql/database-engine/availability-groups/windows/overview-of-powershell-cmdlets-for-always-on-availability-groups-sql-server)
+* [Overview of PowerShell cmdlets for Always On availability groups &#40;SQL Server&#41;](/sql/database-engine/availability-groups/windows/overview-of-powershell-cmdlets-for-always-on-availability-groups-sql-server)
azure-sql Availability Group Azure Portal Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/virtual-machines/windows/availability-group-azure-portal-configure.md
Last updated 08/20/2020 -+ # Use Azure portal to configure an availability group (Preview) for SQL Server on Azure VM
azure-sql Availability Group Listener Powershell Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/virtual-machines/windows/availability-group-listener-powershell-configure.md
vm-windows-sql-server
Last updated 02/06/2019 -+ # Configure one or more Always On availability group listeners - Resource Manager
Use the following PowerShell cmdlets to create an internal load balancer for Azu
* [New-AzLoadBalancerRuleConfig](/powershell/module/Azurerm.Network/New-AzureRmLoadBalancerRuleConfig) creates a rule configuration for a load balancer. * [New-AzLoadBalancerBackendAddressPoolConfig](/powershell/module/Azurerm.Network/New-AzureRmLoadBalancerBackendAddressPoolConfig) creates a backend address pool configuration for a load balancer. * [New-AzLoadBalancerProbeConfig](/powershell/module/Azurerm.Network/New-AzureRmLoadBalancerProbeConfig) creates a probe configuration for a load balancer.
-* [Remove-AzLoadBalancer](/powershell/module/Azurerm.Network/Remove-AzureRmLoadBalancer) removes a load balancer from an Azure resource group.
+* [Remove-AzLoadBalancer](/powershell/module/Azurerm.Network/Remove-AzureRmLoadBalancer) removes a load balancer from an Azure resource group.
azure-sql Availability Group Quickstart Template Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/virtual-machines/windows/availability-group-quickstart-template-configure.md
Last updated 01/04/2019 -+ # Use Azure quickstart templates to configure an availability group for SQL Server on Azure VM
For more information, see the following articles:
* [FAQ for SQL Server VMs](frequently-asked-questions-faq.md) * [Pricing guidance for SQL Server VMs](pricing-guidance.md) * [Release notes for SQL Server VMs](../../database/doc-changes-updates-release-notes.md)
-* [Switching licensing models for a SQL Server VM](licensing-model-azure-hybrid-benefit-ahb-change.md)
+* [Switching licensing models for a SQL Server VM](licensing-model-azure-hybrid-benefit-ahb-change.md)
azure-sql Create Sql Vm Resource Manager Template https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/virtual-machines/windows/create-sql-vm-resource-manager-template.md
Title: Create SQL Server VM using an ARM template
description: Learn how to create a SQL Server on Azure Virtual Machine (VM) by using an Azure Resource Manager template (ARM template). -+ Last updated 06/29/2020
For other ways to deploy a SQL Server VM, see:
- [Azure portal](create-sql-vm-portal.md) - [PowerShell](create-sql-vm-powershell.md)
-To learn more, see [an overview of SQL Server on Azure VMs](sql-server-on-azure-vm-iaas-what-is-overview.md).
+To learn more, see [an overview of SQL Server on Azure VMs](sql-server-on-azure-vm-iaas-what-is-overview.md).
azure-sql Doc Changes Updates Release Notes https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/virtual-machines/windows/doc-changes-updates-release-notes.md
tags: azure-service-management ms.assetid: 2fa5ee6b-51a6-4237-805f-518e6c57d11b + vm-windows-sql-server
azure-sql Failover Cluster Instance Azure Shared Disks Manually Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/virtual-machines/windows/failover-cluster-instance-azure-shared-disks-manually-configure.md
documentationCenter: na
editor: monicar tags: azure-service-management- --++ vm-windows-sql-server
azure-sql Failover Cluster Instance Premium File Share Manually Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/virtual-machines/windows/failover-cluster-instance-premium-file-share-manually-configure.md
editor: monicar
tags: azure-service-management -+ vm-windows-sql-server
azure-sql Failover Cluster Instance Storage Spaces Direct Manually Configure https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/virtual-machines/windows/failover-cluster-instance-storage-spaces-direct-manually-configure.md
editor: monicar
tags: azure-service-management -+ vm-windows-sql-server
To learn more, see an overview of [FCI with SQL Server on Azure VMs](failover-cl
For more information, see: - [Windows cluster technologies](/windows-server/failover-clustering/failover-clustering-overview) -- [SQL Server failover cluster instances](/sql/sql-server/failover-clusters/windows/always-on-failover-cluster-instances-sql-server)
+- [SQL Server failover cluster instances](/sql/sql-server/failover-clusters/windows/always-on-failover-cluster-instances-sql-server)
azure-sql Frequently Asked Questions Faq https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/virtual-machines/windows/frequently-asked-questions-faq.md
editor: ''
tags: azure-service-management ms.assetid: 2fa5ee6b-51a6-4237-805f-518e6c57d11b -+ vm-windows-sql-server
azure-sql Licensing Model Azure Hybrid Benefit Ahb Change https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/virtual-machines/windows/licensing-model-azure-hybrid-benefit-ahb-change.md
Last updated 11/13/2019 -++ # Change the license model for a SQL virtual machine in Azure
azure-sql Performance Guidelines Best Practices Checklist https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/virtual-machines/windows/performance-guidelines-best-practices-checklist.md
editor: '' tags: azure-service-management + ms.devlang: na vm-windows-sql-server
azure-sql Performance Guidelines Best Practices Collect Baseline https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/virtual-machines/windows/performance-guidelines-best-practices-collect-baseline.md
editor: ''
tags: azure-service-management ms.assetid: a0c85092-2113-4982-b73a-4e80160bac36 + ms.devlang: na vm-windows-sql-server
azure-sql Performance Guidelines Best Practices Storage https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/virtual-machines/windows/performance-guidelines-best-practices-storage.md
editor: ''
tags: azure-service-management ms.assetid: a0c85092-2113-4982-b73a-4e80160bac36 + ms.devlang: na vm-windows-sql-server
azure-sql Performance Guidelines Best Practices Vm Size https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/virtual-machines/windows/performance-guidelines-best-practices-vm-size.md
editor: '' tags: azure-service-management + ms.devlang: na vm-windows-sql-server
azure-sql Sql Agent Extension Automatic Registration All Vms https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/virtual-machines/windows/sql-agent-extension-automatic-registration-all-vms.md
vm-windows-sql-server Previously updated : 11/07/2020 Last updated : 11/07/2020 + # Automatic registration with SQL IaaS Agent extension [!INCLUDE[appliesto-sqlvm](../../includes/appliesto-sqlvm.md)]
azure-sql Sql Agent Extension Manually Register Vms Bulk https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/virtual-machines/windows/sql-agent-extension-manually-register-vms-bulk.md
vm-windows-sql-server
Last updated 11/07/2020 -++ # Register multiple SQL VMs in Azure with the SQL IaaS Agent extension
azure-sql Sql Server On Azure Vm Iaas What Is Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-sql/virtual-machines/windows/sql-server-on-azure-vm-iaas-what-is-overview.md
tags: azure-service-management ms.assetid: c505089e-6bbf-4d14-af0e-dd39a1872767 -+ vm-windows-sql-server
azure-video-analyzer Get Started Detect Motion Emit Events Portal https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-video-analyzer/video-analyzer-docs/get-started-detect-motion-emit-events-portal.md
After completing the setup steps, you'll be able to run the simulated live video
> You might be prompted to install Docker while you're installing the Azure IoT Tools extension. Feel free to ignore the prompt. ## Preparing your IoT Edge device
-Azure Video Analyzer module should be configured to run on the IoT Edge device with a non-privileged local user account. The module needs certain local folders for storing application configuration data.
+Azure Video Analyzer module should be configured to run on the IoT Edge device with a non-privileged local user account. The module needs certain local folders for storing application configuration data. The RTSP camera simulator module needs video files with which it can synthesize a live video feed.
https://aka.ms/ava/prepare-device
When you create an Azure Video Analyzer account, you have to associate an Azure
- **Subscription**: Choose the subscription to create the Video Analyzer account under. - **Resource group**: Choose a resource group to create the Video Analyzer account in or click **Create new** to create a new resource group. - **Video Analyzer account name**: This is the name for your Video Analyzer account. The name must be all lowercase letters or numbers with no spaces and 3 to 24 characters in length.
- - **Location**: Choose a location to deploy your Video Analyzer account, for example **West US**.
+ - **Location**: Choose a location to deploy your Video Analyzer account, for example **West US 2**.
- **Storage account**: Create a new storage account. It is recommended to select a [standard general-purpose v2](/azure/storage/common/storage-account-overview#types-of-storage-accounts) storage account.
- - **User identity**: Create and name a new user identity.
+ - **User identity**: Create and name a new user-assigned managed identity.
1. Click **Review + create** at the bottom of the form. ### Create a container registry
-1. Select **Create a resource** > **Containers** > **Container Registry**.\
+1. Select **Create a resource** > **Containers** > **Container Registry**.
1. In the **Basics** tab, enter values for **Resource group** ***(use the same **Resource group** from the previous sections)*** and **Registry name**. The registry name must be unique within Azure, and contain 5-50 alphanumeric characters. 1. Accept default values for the remaining settings. Then select **Review + create**. After reviewing the settings, select **Create**.
-## Deploying Edge Modules
+## Deploying edge modules
-### Deploying Video Analyzer Edge Module
+### Deploying Video Analyzer edge module
1. Navigate to your Video Analyzer account 1. Select **Edge Modules** under the **Edge** blade
When you create an Azure Video Analyzer account, you have to associate an Azure
1. Under **NAME**, enter **AVAToHub**, and under **VALUE**, enter **FROM /messages/modules/avaedge/outputs/* INTO $upstream** 1. Select **Review + create**, then select **Create** and your **avaedge** edge module will be deployed
-### Deploying RTSP SIM Edge Module
+### Deploying RTSP camera simulator edge module
1. Navigate to your IoT Hub 1. Select **IoT Edge** under the **Automatic Device Management** 1. Select the **Device ID** for your IoT Edge Device
When you create an Azure Video Analyzer account, you have to associate an Azure
### Verify your deployment
-On the device details page, verify that the **avaedge** module is listed as both, **Specified in Deployment** and **Reported by Device**.
+On the device details page, verify that the **avaedge** and **rtspsim** modules are listed as both, **Specified in Deployment** and **Reported by Device**.
It may take a few moments for the modules to be started on the device and then reported back to IoT Hub. Refresh the page to see an updated status. Status code: 200 ΓÇôOK means that [the IoT Edge runtime](../../iot-edge/iot-edge-runtime.md) is healthy and is operating fine.
azure-video-analyzer Quotas Limitations https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-video-analyzer/video-analyzer-docs/quotas-limitations.md
Title: Azure Video Analyzer quotas and limitations - Azure
description: This article describes Azure Video Analyzer quotas and limitations. Previously updated : 03/26/2021 Last updated : 05/26/2021 # Video Analyzer quotas and limitations
Following are the limitations on how different nodes can be connected together i
* Cannot be used downstream from an HTTP or a gRPC extension processor. * Signal gate processor * Must be immediately downstream from RTSP source.
+ * Cannot be used upstream from an HTTP or a gRPC extension processor.
* Object tracker processor * Must be immediately downstream from an HTTP or a gRPC extension processor. The extension processor should not be applying an AI model on every frame of the live video. * Line crossing processor
azure-video-analyzer Release Notes https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/azure-video-analyzer/video-analyzer-for-media-docs/release-notes.md
To stay up-to-date with the most recent Azure Video Analyzer for Media (former V
* Bug fixes * Deprecated functionality
-## April/May 2021
+## April 2021
The Video Indexer service was renamed to Azure Video Analyzer for Media.
backup Archive Tier Support https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/backup/archive-tier-support.md
Title: Archive Tier support (Preview) description: Learn about Archive Tier Support for Azure Backup Previously updated : 05/24/2021 Last updated : 05/24/2021 + # Archive Tier support (Preview)
While restoring from recovery point in archive tier in primary region, the recov
## Next steps -- [Azure Backup pricing](azure-backup-pricing.md)
+- [Azure Backup pricing](azure-backup-pricing.md)
backup Backup Azure Afs Automation https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/backup/backup-azure-afs-automation.md
Title: Back up an Azure file share by using PowerShell description: In this article, learn how to back up an Azure Files file share by using the Azure Backup service and PowerShell. Previously updated : 08/20/2019 Last updated : 08/20/2019 + # Back up an Azure file share by using PowerShell
backup Backup Azure Restore Key Secret https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/backup/backup-azure-restore-key-secret.md
Title: Restore Key Vault key & secret for encrypted VM description: Learn how to restore Key Vault key and secret in Azure Backup using PowerShell Previously updated : 08/28/2017 Last updated : 08/28/2017 + # Restore Key Vault key and secret for encrypted VMs using Azure Backup
backup Backup Azure Sap Hana Database https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/backup/backup-azure-sap-hana-database.md
Title: Back up an SAP HANA database to Azure with Azure Backup description: In this article, learn how to back up an SAP HANA database to Azure virtual machines with the Azure Backup service. Previously updated : 11/12/2019 Last updated : 05/28/2021 # Back up SAP HANA databases in Azure VMs
You can also use the following FQDNs to allow access to the required services fr
| Service | Domain names to be accessed | | -- | | | Azure Backup | `*.backup.windowsazure.com` |
-| Azure Storage | `*.blob.core.windows.net` <br><br> `*.queue.core.windows.net` |
+| Azure Storage | `*.blob.core.windows.net` <br><br> `*.queue.core.windows.net` <br><br> `*.blob.storage.azure.net` |
| Azure AD | Allow access to FQDNs under sections 56 and 59 according to [this article](/office365/enterprise/urls-and-ip-address-ranges#microsoft-365-common-and-office-online) | #### Use an HTTP proxy server to route traffic
backup Backup Azure Security Feature Cloud https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/backup/backup-azure-security-feature-cloud.md
Title: Soft delete for Azure Backup description: Learn how to use security features in Azure Backup to make backups more secure. Previously updated : 04/30/2020 Last updated : 04/30/2020 + # Soft delete for Azure Backup
backup Backup Azure Sql Automation https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/backup/backup-azure-sql-automation.md
Title: SQL DB in Azure VM backup & restore via PowerShell
description: Back up and restore SQL Databases in Azure VMs using Azure Backup and PowerShell. Last updated 03/15/2019
+ms.assetid: 57854626-91f9-4677-b6a2-5d12b6a866e1
+ # Back up and restore SQL databases in Azure VMs with PowerShell
backup Backup Azure Vms Automation https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/backup/backup-azure-vms-automation.md
Title: Back up and recover Azure VMs with PowerShell description: Describes how to back up and recover Azure VMs using Azure Backup with PowerShell Previously updated : 09/11/2019 Last updated : 09/11/2019 + # Back up and restore Azure VMs with PowerShell
backup Backup Client Automation https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/backup/backup-client-automation.md
Title: Use PowerShell to back up Windows Server to Azure description: In this article, learn how to use PowerShell to set up Azure Backup on Windows Server or a Windows client, and manage backup and recovery. Previously updated : 12/2/2019 Last updated : 12/2/2019 + # Deploy and manage backup to Azure for Windows Server/Windows Client using PowerShell
backup Backup Dpm Automation https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/backup/backup-dpm-automation.md
Title: Use PowerShell to back up DPM workloads description: Learn how to deploy and manage Azure Backup for Data Protection Manager (DPM) using PowerShell Previously updated : 01/23/2017 Last updated : 01/23/2017 + # Deploy and manage backup to Azure for Data Protection Manager (DPM) servers using PowerShell
backup Backup Managed Disks Ps https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/backup/backup-managed-disks-ps.md
Title: Back up Azure Managed Disks using Azure PowerShell description: Learn how to back up Azure Managed Disks using Azure PowerShell. Previously updated : 03/26/2021 Last updated : 03/26/2021 + # Back up Azure Managed Disks using Azure PowerShell
backup Backup Managed Disks https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/backup/backup-managed-disks.md
Title: Back up Azure Managed Disks description: Learn how to back up Azure Managed Disks from the Azure portal. Previously updated : 01/07/2021 Last updated : 05/27/2021 # Back up Azure Managed Disks
A Backup vault is a storage entity in Azure that holds backup data for various n
## Configure backup
+- Azure Disk backup supports only the Operational Tier backup, copying of backups to the vault storage tier is currently not available. Backup vault storage redundancy setting (LRS/GRS) doesnΓÇÖt apply to the backups stored in Operational Tier.
+Incremental snapshots are stored in the Standard HDD storage, irrespective of the storage type of the parent disk. For additional reliability, incremental snapshots are stored on [Zone Redundant Storage](../storage/common/storage-redundancy.md) (ZRS) by default in regions that support ZRS.
+
+- Azure Disk backup supports Cross-subscription backup and restores with the backup vault in one subscription and the source disk in another. Cross-region backup and restores however are not supported. This allows the Backup vault and the disk to be backed to be in the same or different subscriptions. However, both the backup vault and disk to be backed up must be in same region.
+
+- You canΓÇÖt change the Snapshot Resource Group thatΓÇÖs assigned to a backup instance when you configure the backup of a disk.
+ Backup Vault uses Managed Identity to access other Azure resources. To configure backup of managed disks, Backup vaultΓÇÖs managed identity requires a set of permissions on the source disks and resource groups where snapshots are created and managed. A system assigned managed identity is restricted to one per resource and is tied to the lifecycle of this resource. You can grant permissions to the managed identity by using Azure role-based access control (Azure RBAC). Managed identity is a service principal of a special type that may only be used with Azure resources. Learn more about [Managed Identities](../active-directory/managed-identities-azure-resources/overview.md).
The following prerequisites are required to configure backup of managed disks:
- You can't create an incremental snapshot for a particular disk outside of that disk's subscription. So choose the resource group within the same subscription as that of the disk to be backed up. Learn more about [incremental snapshot](../virtual-machines/disks-incremental-snapshots.md#restrictions) for managed disks.
- To assign the role, follow these steps:
+ - You canΓÇÖt change the Snapshot Resource Group that is assigned to a backup instance when you configure the backup of a disk.
+
+ - During a backup operation, Azure Backup service creates a Storage Account in the Snapshot Resource Group, where the snapshots are stored. Only one Storage Account is created per a snapshot Resource Group. The account is reused across multiple Disk backup instances that use the same Resource Group as the Snapshot resource group.
+
+ - Snapshots are not stored in Storage Account. Managed-diskΓÇÖs incremental snapshots are ARM resources that are created on Resource group and not in a Storage Account.
+
+ - Storage Account is used to store metadata for each recovery point. Azure Backup service creates a Blob container per disk backup instance. For each recovery point, a block blob will be created to store metadata describing the recovery point (such as subscription, disk ID, disk attributes, and so on) that occupies a small space (in a few KiBs).
+
+ - Storage Account is created as RA GZRS if the region supports zonal redundancy. If region doesnΓÇÖt support Zonal redundancy, the Storage Account is created as RA GRS.<br>If any existing policy stops the creation of a Storage Account on the subscription or resource group with GRS redundancy, the Storage Account is created as LRS. The Storage Account that is created is **General Purpose v2**, with block blobs stored on the hot tier in the Blob container.
+
+ - The number of recovery points is determined by the Backup policy used to configure backup of the disk backup instance. Older block blobs are deleted according to the Garbage collection process, as the corresponding older recovery points are pruned.
+
+ - Do not apply resource lock or policies on the Snapshot Resource Group or Storage Account, created by Azure Backup service. The service creates and manages resources in this Snapshot Resource Group that is assigned to a backup instance when you configure the backup of a disk. The Storage Account and the resources in it are created by the service and should not be deleted or moved.
+
+ >[!NOTE]
+ >If a Storage Account is deleted, backups will fail, and restore will fail for all existing recovery points.
+
+To assign the role, follow these steps:
1. Go to the Resource group. For example, the resource group is *SnapshotRG*, which is in the same subscription as that of the disk to be backed up.
backup Backup Sql Server Database Azure Vms https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/backup/backup-sql-server-database-azure-vms.md
Title: Back up multiple SQL Server VMs from the vault description: In this article, learn how to back up SQL Server databases on Azure virtual machines with Azure Backup from the Recovery Services vault Previously updated : 04/07/2021 Last updated : 05/28/2021 # Back up multiple SQL Server VMs from the Recovery Services vault
You can also use the following FQDNs to allow access to the required services fr
| Service | Domain names to be accessed | Ports | -- | | | Azure Backup | `*.backup.windowsazure.com` | 443
-| Azure Storage | `*.blob.core.windows.net` <br><br> `*.queue.core.windows.net` | 443
+| Azure Storage | `*.blob.core.windows.net` <br><br> `*.queue.core.windows.net` <br><br> `*.blob.storage.azure.net` | 443
| Azure AD | Allow access to FQDNs under sections 56 and 59 according to [this article](/office365/enterprise/urls-and-ip-address-ranges#microsoft-365-common-and-office-online) | As applicable #### Use an HTTP proxy server to route traffic
backup Disk Backup Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/backup/disk-backup-overview.md
Title: Overview of Azure Disk Backup description: Learn about the Azure Disk backup solution. Previously updated : 04/09/2021 Last updated : 05/27/2021 # Overview of Azure Disk Backup
Consider Azure Disk Backup in scenarios where:
## How the backup and restore process works -- The first step in configuring backup for Azure managed disks is creating a [Backup vault](backup-vault-overview.md). The vault gives you a consolidated view of the backups configured across different workloads.
+- The first step in configuring backup for Azure Managed Disks is creating a [Backup vault](backup-vault-overview.md). The vault gives you a consolidated view of the backups configured across different workloads. Azure Disk backup supports only Operational Tier backup. Copying of backups to the vault storage tier is not supported. So, the Backup vault storage redundancy setting (LRS/GRS) doesn't apply to the backups stored in Operational Tier.
- Then create a Backup policy that allows you to configure backup frequency and retention duration.
Consider Azure Disk Backup in scenarios where:
## Pricing
-Azure Backup offers a snapshot lifecycle management solution for protecting Azure Disks. The disk snapshots created by Azure Backup are stored in the resource group within your Azure subscription and incur **Snapshot Storage** charges. You can visit [Managed Disk Pricing](https://azure.microsoft.com/pricing/details/managed-disks/) for more details about the snapshot pricing.<br></br>Because the snapshots aren't copied to the Backup Vault, Azure Backup doesn't charge a **Protected Instance** fee and **Backup Storage** cost doesn't apply. Additionally, incremental snapshots occupy delta changes as the last snapshot and are always stored on standard storage regardless of the storage type of the parent-managed disks and are charged according to the pricing of standard storage. This makes Azure Disk Backup a cost-effective solution.
+Azure Backup uses [incremental snapshots](../virtual-machines/disks-incremental-snapshots.md) of the managed disk. Incremental snapshots are charged per GiB of the storage occupied by the delta changes since the last snapshot. For example, if you're using a managed disk with a provisioned size of 128 GiB, with 100 GiB used, the first incremental snapshot is billed only for the used size of 100 GiB. 20 GiB of data is added on the disk before you create the second snapshot. Now, the second incremental snapshot is billed for only 20 GiB.
+
+Incremental snapshots are always stored on standard storage, irrespective of the storage type of parent-managed disks, and are charged based on the pricing of standard storage. For example, incremental snapshots of a Premium SSD-Managed Disk are stored on standard storage. By default, they are stored on ZRS in regions that support ZRS. Otherwise, they are stored on locally redundant storage (LRS). The per GiB pricing of both the options, LRS and ZRS, is the same.
+
+The snapshots created by Azure Backup are stored in the resource group within your Azure subscription and incur Snapshot Storage charges. ForTo more details about the snapshot pricing, see [Managed Disk Pricing](https://azure.microsoft.com/en-us/pricing/details/managed-disks/). Because the snapshots aren't copied to the Backup Vault, Azure Backup doesn't charge a Protected Instance fee and Backup Storage cost doesn't apply.
+
+During a backup operation, the Azure Backup service creates a Storage Account in the Snapshot Resource Group, where the snapshots are stored. Managed diskΓÇÖs incremental snapshots are ARM resources created on Resource group and not in Storage Account.
+
+Storage Account is used to store metadata for each recovery point. Azure Backup service creates a Blob container per disk backup instance. For each recovery point, a block blob is created to store metadata information describing the recovery point, such as subscription, disk ID, disk attributes, and so on, that occupies a small space (in a few KiBs).
+
+The storage account is created as RA GZRS if the region supports zonal redundancy. If the region doesnΓÇÖt support Zonal redundancy, the storage account is created as RAGRS. If your existing policy stops creation of storage accounts on the subscription or resource group with GRS redundancy, the Storage account is created as LRS. The storage account created is General Purpose v2 with block blobs stored on Hot tier in the blob container. YouΓÇÖre charged for the Storage Account according to the storage account's redundancy. These charges are for the size of the block blobs. However, this will be a minimal amount as it stores metadata only, which are few KiBs per recovery point.
+
+The number of recovery points is determined by the Backup policy used to configure backups of the disk backup instances. Older block blobs are deleted according to the garbage collection process as the corresponding older recovery points are pruned.
## Next steps
backup Disk Backup Support Matrix https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/backup/disk-backup-support-matrix.md
Title: Azure Disk Backup support matrix description: Provides a summary of support settings and limitations Azure Disk Backup. Previously updated : 01/07/2021 Last updated : 05/27/2021
You can use [Azure Backup](./backup-overview.md) to protect Azure Disks. This ar
## Supported regions
-Azure Disk Backup is available in the following regions: West US, West US 2, West Central US, East US, East US2, Central US, South Central US, North Central US, Canada Central, Brazil South, South Africa North, UK South, UK West, West Europe, North Europe, Switzerland North, Switzerland West, Germany West Central, France Central, Norway East, UAE North, Australia Central, Australia Central 2, Australia East, Korea Central, Korea South, Japan East, Japan West, East Asia, Southeast Asia, Central India.
-
-More regions will be announced when they become available.
+Azure Disk Backup is available in all public cloud regions, expect France South, South Africa West, and is currently not available in Sovereign cloud regions. These regions will be announced when they become available.
## Limitations
More regions will be announced when they become available.
- You can delete a backup instance, which will stop the backup, and also deletes all the backup data. Currently, you canΓÇÖt disable a backup, as the option **stop backup and retain backup data** isnΓÇÖt supported.
+- Azure Disk Backup limits are:
+
+ | Setting | Maximum limit |
+ | | |
+ | Number of Backup Policies per Backup Vault | 5000 |
+ | Number of Backup Instances per Backup Vault | 5000 |
+ | Number of on-demand backups allowed in a day per backup instance | 10 |
+ | Number of restores allowed in a day per backup instance | 10 |
+ ## Next steps - [Back up Azure Managed Disks](backup-managed-disks.md)
backup Encryption At Rest With Cmk https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/backup/encryption-at-rest-with-cmk.md
Title: Encryption of backup data using customer-managed keys description: Learn how Azure Backup allows you to encrypt your backup data using customer-managed keys (CMK). Previously updated : 05/12/2021 Last updated : 05/12/2021 + # Encryption of backup data using customer-managed keys
backup Manage Afs Powershell https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/backup/manage-afs-powershell.md
Title: Manage Azure file share backups with PowerShell description: Learn how to use PowerShell to manage and monitor Azure file shares backed up by the Azure Backup service. Previously updated : 1/27/2020 Last updated : 1/27/2020 + # Manage Azure file share backups with PowerShell
backup Private Endpoints https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/backup/private-endpoints.md
Title: Private Endpoints description: Understand the process of creating private endpoints for Azure Backup and the scenarios where using private endpoints helps maintain the security of your resources. Previously updated : 05/07/2020 Last updated : 05/07/2020 + # Private Endpoints for Azure Backup
A. After following the process detailed in this article, you don't need to do ad
## Next steps -- Read about all the [security features in Azure Backup](security-overview.md).
+- Read about all the [security features in Azure Backup](security-overview.md).
backup Quick Backup Vm Template https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/backup/quick-backup-vm-template.md
description: Learn how to back up your virtual machines with Azure Resource Mana
ms.devlang: azurecli Last updated 04/28/2021-+ # Quickstart: Back up a virtual machine in Azure with an ARM template
backup Restore Afs Powershell https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/backup/restore-afs-powershell.md
Title: Restore Azure Files with PowerShell description: In this article, learn how to restore Azure Files using the Azure Backup service and PowerShell. Previously updated : 1/27/2020 Last updated : 1/27/2020 + # Restore Azure Files with PowerShell
backup Selective Disk Backup Restore https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/backup/selective-disk-backup-restore.md
Title: Selective disk backup and restore for Azure virtual machines
description: In this article, learn about selective disk backup and restore using the Azure virtual machine backup solution. Last updated 05/13/2021-+ # Selective disk backup and restore for Azure virtual machines
backup Soft Delete Sql Saphana In Azure Vm https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/backup/soft-delete-sql-saphana-in-azure-vm.md
Title: Soft delete for SQL server in Azure VM and SAP HANA in Azure VM workloads description: Learn how soft delete for SQL server in Azure VM and SAP HANA in Azure VM workloads makes backups more secure. Previously updated : 04/27/2020 Last updated : 04/27/2020 + # Soft delete for SQL server in Azure VM and SAP HANA in Azure VM workloads
backup Soft Delete Virtual Machines https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/backup/soft-delete-virtual-machines.md
Title: Soft delete for virtual machines
description: Learn how soft delete for virtual machines makes backups more secure. Last updated 04/30/2020-+ # Soft delete for virtual machines
baremetal-infrastructure Concepts Baremetal Infrastructure Overview https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/baremetal-infrastructure/concepts-baremetal-infrastructure-overview.md
Title: What is BareMetal Infrastructure on Azure?
description: Provides an overview of the BareMetal Infrastructure on Azure. Previously updated : 04/14/2021 Last updated : 05/27/2021 # What is BareMetal Infrastructure on Azure? Microsoft Azure offers a cloud infrastructure with a wide range of integrated cloud services to meet your business needs. In some cases, though, you may need to run services on bare metal servers without a virtualization layer. You may need root access, and control over the operating system (OS). To meet such a need, Azure offers BareMetal Infrastructure for several high-value and mission-critical applications.
-BareMetal Infrastructure is made up of dedicated BareMetal instances (compute instances), high-performance and application-appropriate storage (NFS, ISCSI, and Fiber Channel), as well as a set of function-specific virtual LANs (VLANs) in an isolated environment. Storage can be shared across BareMetal instances to enable features like scale-out clusters or for creating high availability pairs with STONITH.
+BareMetal Infrastructure is made up of dedicated BareMetal instances (compute instances). It features high-performance and application-appropriate storage (NFS, ISCSI, and Fiber Channel) and a set of function-specific virtual LANs (VLANs) in an isolated environment. Storage can be shared across BareMetal instances to enable features like scale-out clusters or high availability pairs with STONITH.
This environment also has special VLANs you can access if you're running virtual machines (VMs) on one or more Azure Virtual Networks (VNets) in your Azure subscription. The entire environment is represented as a resource group in your Azure subscription.
Some central workloads in the enterprise are made up of technologies that just a
BareMetal Infrastructure is built, certified, and tested for a select set of such applications. Azure was the first to offer such solutions, and has since lead with the largest portfolio and most sophisticated systems.
-BareMetal Infrastructure offers these benefits:
+### BareMetal benefits
+
+BareMetal Infrastructure is intended for mission critical workloads that require certification to run your enterprise applications. The BareMetal instances are dedicated only to you, and you'll have full access (root access) to the operating system (OS). You manage OS and application installation according to your needs. For security, the instances are provisioned within your Azure Virtual Network (VNet) with no internet connectivity. Only services running on your virtual machines (VMs), and other Azure services in same Tier 2 network, can communicate with your BareMetal instances.
+
+BareMetal Infrastructure offers these benefits:
-- Dedicated instances - Certified hardware for specialized workloads - SAP (Refer to [SAP Note #1928533](https://launchpad.support.sap.com/#/notes/1928533)) - Oracle (Refer to [Oracle document ID #948372.1](https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=52088246571495&id=948372.1&_adf.ctrl-state=kwnkj1hzm_52))-- Bare metal (no compute virtualization)
+- Non-hypervised BareMetal instance, single tenant ownership
- Low latency between Azure hosted application VMs to BareMetal instances (0.35 ms) - All Flash SSD and NVMe - Up to 1 PB/tenant
BareMetal Infrastructure offers these benefits:
- Customer coordinated maintenance windows - Application aware snapshots, archive, mirroring, and cloning -
-## BareMetal benefits
-
-BareMetal Infrastructure is intended for mission critical workloads that require certification to run your enterprise applications. The BareMetal instances are dedicated only to you, and you'll have full access (root access) to the operating system (OS). You manage OS and application installation according to your needs. For security, the instances are provisioned within your Azure Virtual Network (VNet) with no internet connectivity. Only services running on your virtual machines (VMs), and other Azure services in same Tier 2 network, can communicate with your BareMetal instances.
-
-BareMetal Infrastructure offers these benefits:
--- Certified hardware for specialized workloads-- SAP (Refer to [SAP Note #1928533](https://launchpad.support.sap.com/#/notes/1928533))-- Oracle (Refer to [Oracle document ID #948372.1](https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=52088246571495&id=948372.1&_adf.ctrl-state=kwnkj1hzm_52))-- Non-hypervised BareMetal instance, single tenant ownership-- Low latency between Azure hosted application VMs to BareMetal instances (0.35 ms)-- All Flash SSD and NVMe support-- Database up to 1 PB/tenant -- IOPS up to 1.2 million/tenant -- 50-GB network bandwidth - ## SKU availability in Azure regions BareMetal Infrastructure offers multiple SKUs certified for specialized workloads. Use the workload-specific SKUs to meet your needs.
By the time your BareMetal Infrastructure is provisioned, the OS, networks, stor
You'll be able to see all the BareMetal resources, and their state and attributes, in the Azure portal. You can also operate the instances and open service requests and support tickets from there. ## Operational model+ BareMetal Infrastructure is ISO 27001, ISO 27017, SOC 1, and SOC 2 compliant. It also uses a bring-your-own-license (BYOL) model: OS, specialized workload, and third-party applications. As soon as you receive root access and full control, you assume responsibility for:
Within the multi-tenant infrastructure of the BareMetal stamp, customers are dep
>A customer deploying a BareMetal instance is isolated into a tenant. A tenant is isolated in the networking, storage, and compute layer from other tenants. Storage and compute units assigned to different tenants cannot see each other or communicate with each other on their BareMetal instances. ## Operating system+ During the provisioning of the BareMetal instance, you can select the OS you want to install on the machines. >[!NOTE]
The available Linux OS versions are:
- SUSE Linux Enterprise Server (SLES) ## Storage+ BareMetal Infrastructure provides highly redundant NFS storage and Fiber Channel storage. The infrastructure offers deep integration for enterprise workloads like SAP, SQL, and more. It also provides application-consistent data protection and data-management capabilities. The self-service management tools offer space-efficient snapshot, cloning, and granular replication capabilities along with single pane of glass monitoring. The infrastructure enables zero RPO and RTO capabilities for data availability and business continuity needs. The storage infrastructure offers:
These Data access protocols are supported:
- NVMe over FC ## Networking+ The architecture of Azure network services is a key component for a successful deployment of specialized workloads in BareMetal instances. It's likely that not all IT systems are located in Azure already. Azure offers you network technology to make Azure look like a virtual data center to your on-premises software deployments. The Azure network functionality required for BareMetal instances includes: - Azure virtual networks connected to the Azure ExpressRoute circuit that connects to your on-premises network assets.
blockchain Create Member Powershell https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/blockchain/service/create-member-powershell.md
description: Create an Azure Blockchain Service member for a blockchain consorti
Last updated 9/22/2020 -+ - references_regions - devx-track-azurepowershell - mode-api
blockchain Ethereum Poa Deployment https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/blockchain/templates/ethereum-poa-deployment.md
description: Use the Ethereum Proof-of-Authority consortium solution to deploy a
Last updated 03/01/2021 -+ # Deploy Ethereum proof-of-authority consortium solution template on Azure
blockchain Hyperledger Fabric Consortium Azure Kubernetes Service https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/blockchain/templates/hyperledger-fabric-consortium-azure-kubernetes-service.md
To get started with the deployment of Hyperledger Fabric network components, go
- **Managed disk**: Instance of the Azure Managed Disks service that provides a persistent store for the ledger and for the peer node's world state database. - **Public IP**: Endpoint of the AKS cluster deployed for communicating with the cluster.
- Enter the following details:
+ Enter the following details:
![Screenshot that shows the A K S cluster settings tab.](./media/hyperledger-fabric-consortium-azure-kubernetes-service/create-for-hyperledger-fabric-aks-cluster-settings-1.png)
To build the blockchain consortium after deploying the ordering service and peer
> The script is provided to help with demonstration, development, and test scenarios only. The channel and consortium that this script creates has basic Hyperledger Fabric policies to simplify demo, dev, and test scenarios. For production setup, we recommend updating channel/consortium Hyperledger Fabric policies in line with your organization's compliance needs by using the native Hyperledger Fabric APIs.
-All the commands to run the Azure Hyperledger Fabric script can be executed through Azure Bash command-line interface (CLI). You can sign in to Azure Cloud Shell through the ![Hyperledger Fabric on Azure Kubernetes Service Template](./media/hyperledger-fabric-consortium-azure-kubernetes-service/arrow.png) option at the upper-right corner of the Azure portal. On the command prompt, type `bash` and select the Enter key to switch to the Bash CLI, or select **Bash** from the Cloud Shell toolbar.
+All the commands to run the Azure Hyperledger Fabric script can be executed through Azure Bash command-line interface (CLI). You can sign in to Azure Cloud Shell through¯the ![Hyperledger Fabric on Azure Kubernetes Service Template](./media/hyperledger-fabric-consortium-azure-kubernetes-service/arrow.png) option at the upper-right corner of the Azure portal. On the command prompt, type `bash` and select the Enter key to switch to the Bash CLI, or select **Bash** from the Cloud Shell toolbar.
See [Azure Cloud Shell](../../cloud-shell/overview.md) for more information.
The following image shows the step-by-step process to build a consortium between
![Diagram of the process to build a consortium.](./media/hyperledger-fabric-consortium-azure-kubernetes-service/process-to-build-consortium-flow-chart.png)
-After you finish the initial setup, use the client application to achieve the following operations:  
+After you finish the initial setup, use the client application to achieve the following operations:
- Channel management - Consortium management
All environment variables follow the Azure resource naming convention.
#### Set environment variables for the orderer organization's client
-```bash
+```azurecli
ORDERER_ORG_SUBSCRIPTION=<ordererOrgSubscription> ORDERER_ORG_RESOURCE_GROUP=<ordererOrgResourceGroup> ORDERER_ORG_NAME=<ordererOrgName>
CHANNEL_NAME=<channelName>
#### Set environment variables for the peer organization's client
-```bash
+```azurecli
PEER_ORG_SUBSCRIPTION=<peerOrgSubscritpion> PEER_ORG_RESOURCE_GROUP=<peerOrgResourceGroup> PEER_ORG_NAME=<peerOrgName>
Based on the number of peer organizations in your consortium, you might be requi
#### Set environment variables for an Azure storage account
-```bash
+```azurecli
STORAGE_SUBSCRIPTION=<subscriptionId> STORAGE_RESOURCE_GROUP=<azureFileShareResourceGroup> STORAGE_ACCOUNT=<azureStorageAccountName>
STORAGE_FILE_SHARE=<azureFileShareName>
Use the following commands to create an Azure storage account. If you already have Azure storage account, skip this step.
-```bash
+```azurecli
az account set --subscription $STORAGE_SUBSCRIPTION az group create -l $STORAGE_LOCATION -n $STORAGE_RESOURCE_GROUP az storage account create -n $STORAGE_ACCOUNT -g $STORAGE_RESOURCE_GROUP -l $STORAGE_LOCATION --sku Standard_LRS
az storage account create -n $STORAGE_ACCOUNT -g $STORAGE_RESOURCE_GROUP -l $ST
Use the following commands to create a file share in the Azure storage account. If you already have a file share, skip this step.
-```bash
+```azurecli
STORAGE_KEY=$(az storage account keys list --resource-group $STORAGE_RESOURCE_GROUP --account-name $STORAGE_ACCOUNT --query "[0].value" | tr -d '"') az storage share create --account-name $STORAGE_ACCOUNT --account-key $STORAGE_KEY --name $STORAGE_FILE_SHARE ``` Use the following commands to generate a connection string for an Azure file share.
-```bash
+```azurecli
STORAGE_KEY=$(az storage account keys list --resource-group $STORAGE_RESOURCE_GROUP --account-name $STORAGE_ACCOUNT --query "[0].value" | tr -d '"') SAS_TOKEN=$(az storage account generate-sas --account-key $STORAGE_KEY --account-name $STORAGE_ACCOUNT --expiry `date -u -d "1 day" '+%Y-%m-%dT%H:%MZ'` --https-only --permissions lruwd --resource-types sco --services f | tr -d '"') AZURE_FILE_CONNECTION_STRING=https://$STORAGE_ACCOUNT.file.core.windows.net/$STORAGE_FILE_SHARE?$SAS_TOKEN
Use the following commands to fetch the organization's connection profile, admin
For the orderer organization:
-```bash
+```azurecli
./azhlf adminProfile import fromAzure -o $ORDERER_ORG_NAME -g $ORDERER_ORG_RESOURCE_GROUP -s $ORDERER_ORG_SUBSCRIPTION
-./azhlf connectionProfile import fromAzure -g $ORDERER_ORG_RESOURCE_GROUP -s $ORDERER_ORG_SUBSCRIPTION -o $ORDERER_ORG_NAME
+./azhlf connectionProfile import fromAzure -g $ORDERER_ORG_RESOURCE_GROUP -s $ORDERER_ORG_SUBSCRIPTION -o $ORDERER_ORG_NAME
./azhlf msp import fromAzure -g $ORDERER_ORG_RESOURCE_GROUP -s $ORDERER_ORG_SUBSCRIPTION -o $ORDERER_ORG_NAME ``` For the peer organization:
-```bash
+```azurecli
./azhlf adminProfile import fromAzure -g $PEER_ORG_RESOURCE_GROUP -s $PEER_ORG_SUBSCRIPTION -o $PEER_ORG_NAME ./azhlf connectionProfile import fromAzure -g $PEER_ORG_RESOURCE_GROUP -s $PEER_ORG_SUBSCRIPTION -o $PEER_ORG_NAME ./azhlf msp import fromAzure -g $PEER_ORG_RESOURCE_GROUP -s $PEER_ORG_SUBSCRIPTION -o $PEER_ORG_NAME
For the peer organization:
### Create a channel
-From the orderer organization's client, use the following command to create a channel that contains only the orderer organization.
+From the orderer organization's client, use the following command to create a channel that contains only the orderer organization.
-```bash
+```azurecli
./azhlf channel create -c $CHANNEL_NAME -u $ORDERER_ADMIN_IDENTITY -o $ORDERER_ORG_NAME ``` ### Add a peer organization for consortium management >[!NOTE]
-> Before you start with any consortium operation, ensure that you've finished the initial setup of the client application.
+> Before you start with any consortium operation, ensure that you've finished the initial setup of the client application.
-Run the following commands in the given order to add a peer organization in a channel and consortium:
+Run the following commands in the given order to add a peer organization in a channel and consortium:
-1. From the peer organization's client, upload the peer organization's MSP on Azure Storage.
+1. From the peer organization's client, upload the peer organization's MSP on Azure Storage.
- ```bash
+ ```azurecli
./azhlf msp export toAzureStorage -f $AZURE_FILE_CONNECTION_STRING -o $PEER_ORG_NAME ```
-2. From the orderer organization's client, download the peer organization's MSP from Azure Storage. Then issue the command to add the peer organization in the channel and consortium.
+2. From the orderer organization's client, download the peer organization's MSP from Azure Storage. Then issue the command to add the peer organization in the channel and consortium.
- ```bash
+ ```azurecli
./azhlf msp import fromAzureStorage -o $PEER_ORG_NAME -f $AZURE_FILE_CONNECTION_STRING ./azhlf channel join -c $CHANNEL_NAME -o $ORDERER_ORG_NAME -u $ORDERER_ADMIN_IDENTITY -p $PEER_ORG_NAME ./azhlf consortium join -o $ORDERER_ORG_NAME -u $ORDERER_ADMIN_IDENTITY -p $PEER_ORG_NAME ```
-3. From the orderer organization's client, upload the orderer's connection profile on Azure Storage so that the peer organization can connect to the orderer nodes by using this connection profile.
+3. From the orderer organization's client, upload the orderer's connection profile on Azure Storage so that the peer organization can connect to the orderer nodes by using this connection profile.
- ```bash
+ ```azurecli
./azhlf connectionProfile export toAzureStorage -o $ORDERER_ORG_NAME -f $AZURE_FILE_CONNECTION_STRING ```
-4. From the peer organization's client, download the orderer's connection profile from Azure Storage. Then run the command to add peer nodes in the channel.
+4. From the peer organization's client, download the orderer's connection profile from Azure Storage. Then run the command to add peer nodes in the channel.
- ```bash
+ ```azurecli
./azhlf connectionProfile import fromAzureStorage -o $ORDERER_ORG_NAME -f $AZURE_FILE_CONNECTION_STRING ./azhlf channel joinPeerNodes -o $PEER_ORG_NAME -u $PEER_ADMIN_IDENTITY -c $CHANNEL_NAME --ordererOrg $ORDERER_ORG_NAME ```
From the peer organization's client, run the command to set anchor peers for the
>[!NOTE] > Before you run this command, ensure that the peer organization is added in the channel by using consortium management commands.
-```bash
+```azurecli
./azhlf channel setAnchorPeers -c $CHANNEL_NAME -p <anchorPeersList> -o $PEER_ORG_NAME -u $PEER_ADMIN_IDENTITY --ordererOrg $ORDERER_ORG_NAME ```
From the peer organization's client, run the command to set anchor peers for the
## Chaincode management commands >[!NOTE]
-> Before you start with any chaincode operation, ensure that you've done the initial setup of the client application.
+> Before you start with any chaincode operation, ensure that you've done the initial setup of the client application.
### Set the chaincode-specific environment variables
-```bash
+```azurecli
# Peer organization name where the chaincode operation will be performed ORGNAME=<PeerOrgName>
-USER_IDENTITY="admin.$ORGNAME"
-# If you are using chaincode_example02 then set CC_NAME=“chaincode_example02”
-CC_NAME=<chaincodeName>
-# If you are using chaincode_example02 then set CC_VERSION=“1” for validation
+USER_IDENTITY="admin.$ORGNAME"
+# If you are using chaincode_example02 then set CC_NAME="chaincode_example02"
+CC_NAME=<chaincodeName>
+# If you are using chaincode_example02 then set CC_VERSION="1" for validation
CC_VERSION=<chaincodeVersion>
-# Language in which chaincode is written. Supported languages are 'node', 'golang', and 'java'
-# Default value is 'golang'
-CC_LANG=<chaincodeLanguage>
+# Language in which chaincode is written. Supported languages are 'node', 'golang', and 'java'
+# Default value is 'golang'
+CC_LANG=<chaincodeLanguage>
# CC_PATH contains the path where your chaincode is placed. This is the absolute path to the chaincode project root directory.
-# If you are using chaincode_example02 to validate then CC_PATH=“/home/<username>/azhlfTool/samples/chaincode/src/chaincode_example02/go”
-CC_PATH=<chaincodePath>
-# Channel on which chaincode will be instantiated/invoked/queried
-CHANNEL_NAME=<channelName>
+# If you are using chaincode_example02 to validate then CC_PATH="/home/<username>/azhlfTool/samples/chaincode/src/chaincode_example02/go"
+CC_PATH=<chaincodePath>
+# Channel on which chaincode will be instantiated/invoked/queried
+CHANNEL_NAME=<channelName>
```
-### Install chaincode
+### Install chaincode
-Run the following command to install chaincode on the peer organization.
+Run the following command to install chaincode on the peer organization.
-```bash
-./azhlf chaincode install -o $ORGNAME -u $USER_IDENTITY -n $CC_NAME -p $CC_PATH -l $CC_LANG -v $CC_VERSION
+```azurecli
+./azhlf chaincode install -o $ORGNAME -u $USER_IDENTITY -n $CC_NAME -p $CC_PATH -l $CC_LANG -v $CC_VERSION
```
-The command will install chaincode on all the peer nodes of the peer organization set in the `ORGNAME` environment variable. If two or more peer organizations are in your channel and you want to install chaincode on all of them, run this command separately for each peer organization.
+The command will install chaincode on all the peer nodes of the peer organization set in the `ORGNAME` environment variable. If two or more peer organizations are in your channel and you want to install chaincode on all of them, run this command separately for each peer organization.
-Follow these steps:
+Follow these steps:
-1. Set `ORGNAME` and `USER_IDENTITY` according to `peerOrg1` and run the `./azhlf chaincode install` command.
-2. Set `ORGNAME` and `USER_IDENTITY` according to `peerOrg2` and run the `./azhlf chaincode install` command.
+1. Set `ORGNAME` and `USER_IDENTITY` according to `peerOrg1` and run the `./azhlf chaincode install` command.
+2. Set `ORGNAME` and `USER_IDENTITY` according to `peerOrg2` and run the `./azhlf chaincode install` command.
-### Instantiate chaincode
+### Instantiate chaincode
-From the peer client application, run the following command to instantiate chaincode on the channel.
+From the peer client application, run the following command to instantiate chaincode on the channel.
-```bash
+```azurecli
./azhlf chaincode instantiate -o $ORGNAME -u $USER_IDENTITY -n $CC_NAME -v $CC_VERSION -c $CHANNEL_NAME -f <instantiateFunc> --args <instantiateFuncArgs> ```
You can also pass the collection's configuration JSON file by using the `--colle
For example:
-```bash
+```azurecli
./azhlf chaincode instantiate -c $CHANNEL_NAME -n $CC_NAME -v $CC_VERSION -o $ORGNAME -u $USER_IDENTITY --collections-config <collectionsConfigJSONFilePath> ./azhlf chaincode instantiate -c $CHANNEL_NAME -n $CC_NAME -v $CC_VERSION -o $ORGNAME -u $USER_IDENTITY --collections-config <collectionsConfigJSONFilePath> -t <transientArgs> ```
Pass `<transientArgs>` as valid JSON in string format. Escape any special charac
`'{\\\"asset\":{\\\"name\\\":\\\"asset1\\\",\\\"price\\\":99}}'` > [!NOTE]
-> Run the command once from any one peer organization in the channel. After the transaction is successfully submitted to the orderer, the orderer distributes this transaction to all the peer organizations in the channel. Chaincode is then instantiated on all the peer nodes on all the peer organizations in the channel.
+> Run the command once from any one peer organization in the channel. After the transaction is successfully submitted to the orderer, the orderer distributes this transaction to all the peer organizations in the channel. Chaincode is then instantiated on all the peer nodes on all the peer organizations in the channel.
-### Invoke chaincode
+### Invoke chaincode
-From the peer organization's client, run the following command to invoke the chaincode function:
+From the peer organization's client, run the following command to invoke the chaincode function:
-```bash
-./azhlf chaincode invoke -o $ORGNAME -u $USER_IDENTITY -n $CC_NAME -c $CHANNEL_NAME -f <invokeFunc> -a <invokeFuncArgs>
+```azurecli
+./azhlf chaincode invoke -o $ORGNAME -u $USER_IDENTITY -n $CC_NAME -c $CHANNEL_NAME -f <invokeFunc> -a <invokeFuncArgs>
```
-Pass the invoke function name and space-separated list of arguments in `<invokeFunction>` and `<invokeFuncArgs>` respectively. Continuing with the chaincode_example02.go chaincode example, to perform an invoke operation, set `<invokeFunction>` to `invoke` and `<invokeFuncArgs>` to `"a" "b" "10"`.
+Pass the invoke function name and space-separated list of arguments in `<invokeFunction>` and `<invokeFuncArgs>` respectively. Continuing with the chaincode_example02.go chaincode example, to perform an invoke operation, set `<invokeFunction>` to `invoke` and `<invokeFuncArgs>` to `"a" "b" "10"`.
>[!NOTE]
-> Run the command once from any one peer organization in the channel. After the transaction is successfully submitted to the orderer, the orderer distributes this transaction to all the peer organizations in the channel. The world state is then updated on all peer nodes of all the peer organizations in the channel.
+> Run the command once from any one peer organization in the channel. After the transaction is successfully submitted to the orderer, the orderer distributes this transaction to all the peer organizations in the channel. The world state is then updated on all peer nodes of all the peer organizations in the channel.
-### Query chaincode
+### Query chaincode
-Run the following command to query chaincode:
+Run the following command to query chaincode:
-```bash
-./azhlf chaincode query -o $ORGNAME -p <endorsingPeers> -u $USER_IDENTITY -n $CC_NAME -c $CHANNEL_NAME -f <queryFunction> -a <queryFuncArgs>
+```azurecli
+./azhlf chaincode query -o $ORGNAME -p <endorsingPeers> -u $USER_IDENTITY -n $CC_NAME -c $CHANNEL_NAME -f <queryFunction> -a <queryFuncArgs>
``` Endorsing peers are peers where chaincode is installed and is called for execution of transactions. You must set `<endorsingPeers>` to contain peer node names from the current peer organization. List the endorsing peers for a given chaincode and channel combination separated by spaces. For example: `-p "peer1" "peer3"`.
-If you're using *azhlfTool* to install chaincode, pass any peer node names as a value to the endorsing peer argument. Chaincode is installed on every peer node for that organization.
+If you're using *azhlfTool* to install chaincode, pass any peer node names as a value to the endorsing peer argument. Chaincode is installed on every peer node for that organization.
-Pass the query function name and space-separated list of arguments in `<queryFunction>` and `<queryFuncArgs>` respectively. Again taking chaincode_example02.go chaincode as a reference, to query the value of "a" in the world state, set `<queryFunction>` to `query` and `<queryArgs>` to `"a"`.
+Pass the query function name and space-separated list of arguments in `<queryFunction>` and `<queryFuncArgs>` respectively. Again taking chaincode_example02.go chaincode as a reference, to query the value of "a" in the world state, set `<queryFunction>` to `query` and `<queryArgs>` to "a".
## Troubleshoot
Pass the query function name and space-separated list of arguments in `<qu
Run the following commands to find the version of your template deployment. Set environment variables according to the resource group where the template has been deployed.
-```bash
+```azurecli
SWITCH_TO_AKS_CLUSTER $AKS_CLUSTER_RESOURCE_GROUP $AKS_CLUSTER_NAME $AKS_CLUSTER_SUBSCRIPTION kubectl describe pod fabric-tools -n tools | grep "Image:" | cut -d ":" -f 3 ```
To provide product feedback or to request new features, post or vote for an idea
Engage with Microsoft engineers and Azure Blockchain community experts: -- [Microsoft Q&A page](/answers/topics/azure-blockchain-workbench.html)
-
+- [Microsoft Q&A page](/answers/topics/azure-blockchain-workbench.html)
+ Engineering support for blockchain templates is limited to deployment issues. - [Microsoft tech community](https://techcommunity.microsoft.com/t5/Blockchain/bd-p/AzureBlockchain) - [Stack Overflow](https://stackoverflow.com/questions/tagged/azure-blockchain-workbench)
cdn Cdn Azure Diagnostic Logs https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cdn/cdn-azure-diagnostic-logs.md
na
ms.devlang: na Last updated 07/15/2020-++
Example properties:
* [Azure Diagnostic logs](../azure-monitor/essentials/platform-logs-overview.md) * [Core analytics via Azure CDN supplemental portal](./cdn-analyze-usage-patterns.md) * [Azure Monitor logs](../azure-monitor/logs/log-query-overview.md)
-* [Azure Log Analytics REST API](/rest/api/loganalytics)
+* [Azure Log Analytics REST API](/rest/api/loganalytics)
cdn Cdn Manage Expiration Of Blob Content https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cdn/cdn-manage-expiration-of-blob-content.md
na
ms.devlang: multiple Last updated 02/1/2018-++ # Manage expiration of Azure Blob storage in Azure CDN
You can easily verify the TTL settings of your blobs. With your browser's [devel
## Next Steps * [Learn how to manage expiration of Cloud Service content in Azure CDN](cdn-manage-expiration-of-cloud-service-content.md)
-* [Learn about caching concepts](cdn-how-caching-works.md)
+* [Learn about caching concepts](cdn-how-caching-works.md)
cdn Cdn Manage Powershell https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cdn/cdn-manage-powershell.md
-
+ Title: Manage Azure CDN with PowerShell | Microsoft Docs description: Use this tutorial to learn how to use PowerShell to manage aspects of your Azure Content Delivery Network endpoint profiles and endpoints.
na
ms.devlang: na Last updated 11/20/2019-++ # Manage Azure CDN with PowerShell
cdn Cdn Map Content To Custom Domain https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cdn/cdn-map-content-to-custom-domain.md
Last updated 04/12/2021 -+ #Customer intent: As a website owner, I want to add a custom domain to my CDN endpoint so that my users can use my custom domain to access my content.
In this tutorial, you learned how to:
Advance to the next tutorial to learn how to configure HTTPS on an Azure CDN custom domain. > [!div class="nextstepaction"]
-> [Tutorial: Configure HTTPS on an Azure CDN custom domain](cdn-custom-ssl.md)
+> [Tutorial: Configure HTTPS on an Azure CDN custom domain](cdn-custom-ssl.md)
cdn Create Profile Endpoint Template https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cdn/create-profile-endpoint-template.md
na ms.devlang: na -+ Last updated 05/10/2021
cdn Monitoring And Access Log https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cdn/monitoring-and-access-log.md
na
ms.devlang: na Last updated 11/23/2020-++ # Real-time Monitoring, metrics, and access Logs for Azure CDN
For more information on Azure CDN and the other Azure services mentioned in this
* Learn more about [Azure Monitor](../azure-monitor/overview.md).
-* Configure [Log Analytics in Azure Monitor](../azure-monitor/logs/log-analytics-tutorial.md).
+* Configure [Log Analytics in Azure Monitor](../azure-monitor/logs/log-analytics-tutorial.md).
cloud-services-extended-support Enable Wad https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cloud-services-extended-support/enable-wad.md
Last updated 10/13/2020-+ # Apply the Windows Azure diagnostics extension in Cloud Services (extended support)
cloud-services-extended-support In Place Migration Powershell https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cloud-services-extended-support/in-place-migration-powershell.md
ms.reviwer: mimckitt Last updated 02/06/2020-++
Move-AzureVirtualNetwork -Commit -VirtualNetworkName $vnetName
## Next steps
-Review the [Post migration changes](in-place-migration-overview.md#post-migration-changes) section to see changes in deployment files, automation and other attributes of your new Cloud Services (extended support) deployment.
+Review the [Post migration changes](in-place-migration-overview.md#post-migration-changes) section to see changes in deployment files, automation and other attributes of your new Cloud Services (extended support) deployment.
cloud-services-extended-support Override Sku https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cloud-services-extended-support/override-sku.md
Last updated 04/05/2021-+ # Override SKU information over CSCFG/CSDEF in Cloud Services (extended support)
cloud-services-extended-support Sample Create Cloud Service https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cloud-services-extended-support/sample-create-cloud-service.md
Last updated 10/13/2020-+ # Create a new Azure Cloud Service (extended Support)
cloud-services-extended-support Sample Get Cloud Service https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cloud-services-extended-support/sample-get-cloud-service.md
Last updated 10/13/2020-+ # Retrieve information about your Azure Cloud Service (extended support) deployments
cloud-services-extended-support Sample Reset Cloud Service https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cloud-services-extended-support/sample-reset-cloud-service.md
Last updated 10/13/2020-+ # Reset an Azure Cloud Service (extended support) These samples cover various ways to reset an existing Azure Cloud Service (extended support) deployment.
cloud-services-extended-support Sample Update Cloud Service https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cloud-services-extended-support/sample-update-cloud-service.md
Last updated 10/13/2020-+ # Update an Azure Cloud Service (extended support)
$cloudService | Update-AzCloudService
## Next steps For more information on Azure Cloud Services (extended support), see [Azure Cloud Services (extended support) overview](overview.md).-- Visit the [Cloud Services (extended support) samples repository](https://github.com/Azure-Samples/cloud-services-extended-support)
+- Visit the [Cloud Services (extended support) samples repository](https://github.com/Azure-Samples/cloud-services-extended-support)
cloud-services Cloud Services Troubleshoot Location Not Found For Role Size https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cloud-services/cloud-services-troubleshoot-location-not-found-for-role-size.md
Previously updated : 02/22/2021 Last updated : 02/22/2021 + # Troubleshoot LocationNotFoundForRoleSize when deploying a Cloud service (classic) to Azure
cloud-shell Private Vnet https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cloud-shell/private-vnet.md
vm-linux
ms.devlang: na Last updated 07/15/2020-++ # Deploy Cloud Shell into an Azure virtual network
cloud-shell Quickstart Powershell https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cloud-shell/quickstart-powershell.md
vm-linux Previously updated : 10/18/2018 Last updated : 10/18/2018 + # Quickstart for PowerShell in Azure Cloud Shell
cognitive-services Luis How To Azure Subscription https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cognitive-services/LUIS/luis-how-to-azure-subscription.md
Previously updated : 05/17/2021 Last updated : 05/28/2021+ # How to create and manage LUIS resources
cognitive-services Luis Migration Api V3 https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cognitive-services/LUIS/luis-migration-api-v3.md
ms.
Previously updated : 04/21/2021 Last updated : 05/28/2021 # Prediction endpoint changes for V3
-The query prediction endpoint V3 APIs have changed. Use this guide to understand how to migrate to version 3 endpoint APIs.
+The query prediction endpoint V3 APIs have changed. Use this guide to understand how to migrate to version 3 endpoint APIs. There is currently no date by which migration needs to be completed.
**Generally available status** - this V3 API include significant JSON request and response changes from V2 API.
cognitive-services Luis Migration Authoring Entities https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cognitive-services/LUIS/luis-migration-authoring-entities.md
description: The V3 authoring provides one new entity type, the machine-learning
Previously updated : 05/08/2020 Last updated : 05/28/2021 # Migrate to V3 Authoring entity
-The V3 authoring provides one new entity type, the machine-learning entity, along with the ability to add relationships to the machine-learning entity and other entities or features of the application.
+The V3 authoring provides one new entity type, the machine-learning entity, along with the ability to add relationships to the machine-learning entity and other entities or features of the application. There is currently no date by which migration needs to be completed.
## Entities are decomposable in V3
cognitive-services Luis Migration Authoring https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cognitive-services/LUIS/luis-migration-authoring.md
Previously updated : 12/14/2020 Last updated : 05/28/2021 # Migrate to an Azure resource authoring key > [!IMPORTANT]
-> Starting December 3rd, existing LUIS users must complete the migration process to continue authoring LUIS applications.
+> As of December 3rd 2020, existing LUIS users must have completed the migration process to continue authoring LUIS applications.
Language Understanding (LUIS) authoring authentication has changed from an email account to an Azure resource. Use this article to learn how to migrate your account, if you haven't migrated yet.
cognitive-services Migration https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cognitive-services/LUIS/migration.md
- Title: Migration overview - LUIS
-description: Understand what is on a migration path
--- Previously updated : 05/27/2021--
-# Migration in LUIS
-
-Several items are on a migration path. Use the following table to understand what is impacted and when you need complete migration.
-
-|Area|Description|Migration completion date|
-|--|--|--|
-|[Prediction APIs](luis-migration-api-v3.md)|Migrate to V3 API.|TBD|
-|[Authoring APIs](luis-migration-authoring-entities.md)|Migrate to V3 API.|TBD|
-|[Authoring resource](luis-migration-authoring.md)|Migrate from no authoring resource to using a LUIS authoring resource in LUIS portal.|November 2, 2020 |
-|[Required feature](luis-migration-authoring-entities.md#api-change-constraint-replaced-with-required-feature)|This change was made in May 2020 at the //Build conference and only applies to the v3 authoring APIs where an app is using a constrained feature.|June 19, 2020|
cognitive-services How To Speech Synthesis Viseme https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cognitive-services/Speech-Service/how-to-speech-synthesis-viseme.md
zone_pivot_groups: programming-languages-speech-services-nomore-variant
A _viseme_ is the visual description of a phoneme in spoken language. It defines the position of the face and mouth when speaking a word. Each viseme depicts the key facial poses for a specific set of phonemes.
-There is no one-to-one correspondence between visemes and phonemes.
-Often several phonemes correspond to a single viseme, as several phonemes look the same on the face when produced, such as `s` and `z`.
-See the [mapping table between visemes and phonemes](#map-phonemes-to-visemes).
+Viseme can be used to control the movement of 2D and 3D avatar models, perfectly matching mouth movements to synthetic speech.
-Using visemes, you can create more natural and intelligent news broadcast assistant, more interactive gaming and cartoon characters, and more intuitive language teaching videos. People with hearing impairment can also pick up sounds visually and "lip-read" speech content that shows visemes on an animated face.
+Visemes make avatars easier to use and control. Using visemes, you can:
-## Get viseme events with the Speech SDK
+ * Create an **animated virtual voice assistant** for intelligent kiosks, building multi-mode integrated services for your customers.
+ * Build **immersive news broadcasts** and improve audience experiences with natural face and mouth movements.
+ * Generate more **interactive gaming avatars and cartoon characters** that can speak with dynamic content.
+ * Make more **effective language teaching videos** that help language learners to understand the mouth behavior of each word and phoneme.
+ * People with hearing impairment can also pick up sounds visually and **"lip-read"** speech content that shows visemes on an animated face.
+
+See [the introduction video](https://youtu.be/ui9XT47uwxs) of the viseme.
+> [!VIDEO https://www.youtube.com/embed/ui9XT47uwxs]
+
+## Azure neural TTS can produce visemes with speech
+
+A neural voice turns input text or SSML (Speech Synthesis Markup Language) into synthesized speech. Speech audio output can be accompanied by viseme IDs and their offset timestamps. Each viseme ID specifies a specific pose in observed speech, such as the position of the lips, jaw, and tongue when producing a particular phoneme. Using a 2D or 3D rendering engine, you can use these viseme events to animate your avatar.
+
+The overall workflow of viseme is depicted in the flowchart below.
-To make viseme events, TTS service converts input text into a set of phoneme sequences and their corresponding viseme sequences.
-Then the start time of each viseme in the speech audio is estimated.
-Viseme events contain a sequence of viseme IDs, each with an offset into the audio where that viseme appears.
-These events can drive mouth animations that simulate a person speaking the input text.
+![The overall workflow of viseme](media/text-to-speech/viseme-structure.png)
| Parameter | Description | |--|-|
-| Viseme ID | Integer number that specifies a viseme. In English (United States), we offer 22 different visemes to depict the mouth shapes for a specific set of phonemes. See the [mapping table between Viseme ID and phonemes](#map-phonemes-to-visemes). |
+| Viseme ID | Integer number that specifies a viseme. In English (United States), we offer 22 different visemes to depict the mouth shapes for a specific set of phonemes. There is no one-to-one correspondence between visemes and phonemes. Often several phonemes correspond to a single viseme, as several phonemes look the same on the face when produced, such as `s` and `z`. See the [mapping table between Viseme ID and phonemes](#map-phonemes-to-visemes). |
| Audio offset | The start time of each viseme, in ticks (100 nanoseconds). |
-To get viseme events, subscribe to the `VisemeReceived` event in Speech SDK.
-The following snippets show how to subscribe the viseme event.
+## Get viseme events with the Speech SDK
+
+To get viseme with your synthesized speech, subscribe to the `VisemeReceived` event in Speech SDK.
+The following snippet shows how to subscribe to the viseme event.
::: zone pivot="programming-language-csharp"
SPXSpeechSynthesizer *synthesizer =
::: zone-end
+Here is an example of the viseme output.
+
+```text
+(Viseme), Viseme ID: 1, Audio offset: 200ms.
+
+(Viseme), Viseme ID: 5, Audio offset: 850ms.
+
+……
+
+(Viseme), Viseme ID: 13, Audio offset: 2350ms.
+```
+
+After obtaining the viseme output, you can use these events to drive character animation. You can build your own characters and automatically animate the characters.
+
+For 2D characters, you can design a character that suits your scenario and use Scalable Vector Graphics (SVG) for each viseme ID to get a time-based face position. With temporal tags provided in viseme event, these well-designed SVGs will be processed with smoothing modifications, and provide robust animation to the users. For example, below illustration shows a red lip character designed for language learning.
+
+![2D render example](media/text-to-speech/viseme-demo-2D.png)
+
+For 3D characters, think of the characters as string puppets. The puppet master pulls the strings from one state to another and the laws of physics do the rest and drive the puppet to move fluidly. The viseme output acts as a puppet master to provide an action timeline. The animation engine defines the physical laws of action. By interpolating frames with easing algorithms, the engine can further generate high-quality animations.
+ ## Map phonemes to visemes Visemes vary by language. Each language has a set of visemes that correspond to its specific phonemes. The following table shows the correspondence between International Phonetic Alphabet (IPA) phonemes and viseme IDs for English (United States).
cognitive-services Speech Services Private Link https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cognitive-services/Speech-Service/speech-services-private-link.md
Last updated 04/07/2021-++ # Use Speech service through a private endpoint
For pricing details, see [Azure Private Link pricing](https://azure.microsoft.co
* [Azure VNet service endpoint](../../virtual-network/virtual-network-service-endpoints-overview.md) * [Speech SDK](speech-sdk.md) * [Speech-to-text REST API](rest-speech-to-text.md)
-* [Text-to-speech REST API](rest-text-to-speech.md)
+* [Text-to-speech REST API](rest-text-to-speech.md)
cognitive-services Translator Container Configuration https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cognitive-services/Translator/containers/translator-container-configuration.md
Previously updated : 05/05/2021 Last updated : 05/27/2021 recommendations: false
This setting can be found in the following place:
Use bind mounts to read and write data to and from the container. You can specify an input mount or output mount by specifying the `--mount` option in the [docker run](https://docs.docker.com/engine/reference/commandline/run/) command.
-The Translator containers don't use input or output mounts to store training or service data.
-
-The exact syntax of the host mount location varies depending on the host operating system. Additionally, the [host computer](translator-how-to-install-container.md#host-computer)'s mount location may not be accessible due to a conflict between permissions used by the docker service account and the host mount location permissions.
-<!-- markdownlint-disable MD033 -->
-|Optional| Name | Data type | Description |
-|-||--|-|
-|Not allowed| `Input` | String | Translator containers do not use this value.|
-|Optional| `Output` | String | The target of the output mount. The default value is `/output`. Here is where you'll find the location of the logs, including container logs. <br><br>Example:<br>`--mount type=bind,src=c:\output,target=/output`|
- ## Next steps > [!div class="nextstepaction"]
cognitive-services Translator Container Supported Parameters https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cognitive-services/Translator/containers/translator-container-supported-parameters.md
Send a `POST` request to:
```HTTP http://localhost:{port}/translate?api-version=3.0 ```+ Example: http://<span></span>localhost:5000/translate?api-version=3.0 ## Request parameters
If an error occurs, the request will also return a JSON error response. The erro
This example shows how to translate a single sentence from English to Simplified Chinese. ```curl
-curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=zh-Hans" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json; charset=UTF-8" -d "[{'Text':'Hello, what is your name?'}]"
+curl -X POST "http://localhost:{port}/translate?api-version=3.0&from=en&to=zh-Hans" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json; charset=UTF-8" -d "[{'Text':'Hello, what is your name?'}]"
``` The response body is:
The `translations` array includes one element, which provides the translation of
Translating multiple strings at once is simply a matter of specifying an array of strings in the request body. ```curl
-curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=zh-Hans" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json; charset=UTF-8" -d "[{'Text':'Hello, what is your name?'}, {'Text':'I am fine, thank you.'}]"
+curl -X POST "http://localhost:{port}/translate?api-version=3.0&from=en&to=zh-Hans" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json; charset=UTF-8" -d "[{'Text':'Hello, what is your name?'}, {'Text':'I am fine, thank you.'}]"
``` The response contains the translation of all pieces of text in the exact same order as in the request.
The response body is:
This example shows how to translate the same input to several languages in one request. ```curl
-curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=zh-Hans&to=de" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json; charset=UTF-8" -d "[{'Text':'Hello, what is your name?'}]"
+curl -X POST "http://localhost:{port}/translate?api-version=3.0&from=en&to=zh-Hans&to=de" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json; charset=UTF-8" -d "[{'Text':'Hello, what is your name?'}]"
``` The response body is:
It's common to translate content which includes markup such as content from an H
Here is a sample request to illustrate. ```curl
-curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=zh-Hans&textType=html" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json; charset=UTF-8" -d "[{'Text':'<div class=\"notranslate\">This will not be translated.</div><div>This will be translated.</div>'}]"
+curl -X POST "http://localhost:{port}/translate?api-version=3.0&from=en&to=zh-Hans&textType=html" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json; charset=UTF-8" -d "[{'Text':'<div class=\"notranslate\">This will not be translated.</div><div>This will be translated.</div>'}]"
``` The response is:
The markup to supply uses the following syntax.
For example, consider the English sentence "The word wordomatic is a dictionary entry." To preserve the word _wordomatic_ in the translation, send the request: ```
-curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=de" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json; charset=UTF-8" -d "[{'Text':'The word <mstrans:dictionary translation=\"wordomatic\">word or phrase</mstrans:dictionary> is a dictionary entry.'}]"
+curl -X POST "http://localhost:{port}/translate?api-version=3.0&from=en&to=de" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json; charset=UTF-8" -d "[{'Text':'The word <mstrans:dictionary translation=\"wordomatic\">word or phrase</mstrans:dictionary> is a dictionary entry.'}]"
``` The result is:
cognitive-services Client Libraries https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cognitive-services/Translator/document-translation/client-libraries.md
- Title: "Document Translation C#/.NET or Python client library"-
-description: Use the Translator C#/.NET or Python client library (SDK) for cloud-based batch document translation service and process
------ Previously updated : 04/14/2021---
-# Document Translation client libraries and SDKs
-
-Use the Document Translation cloud-based batch document translation service via the C#/.NET or Python SDKs. For the REST API, see our [Quickstart](get-started-with-document-translation.md) guide. You can translate large files and whole documents asynchronously to and from 90 languages and dialects while preserving the original layout and data formats.
-
-### [C#/.NET](#tab/csharp)
-
-[Source code][documenttranslation_client_src] | [Package (NuGet)][documenttranslation_nuget_package] | [API reference documentation][documenttranslation_refdocs] | [Product documentation][documenttranslation_docs] | [Samples][documenttranslation_samples]
-
-## Prerequisites
-
-To get started, you'll need:
-
-* An active [**Azure account**](https://azure.microsoft.com/free/cognitive-services/). If you don't have one, you can [**create a free account**](https://azure.microsoft.com/free/).
-
-* A [**single-service Translator resource**](https://ms.portal.azure.com/#create/Microsoft.CognitiveServicesTextTranslation) service resource (**not** a Cognitive Services resource).
-
-* An [**Azure blob storage account**](https://ms.portal.azure.com/#create/Microsoft.StorageAccount-ARM). You will create containers to store and organize your blob data within your storage account.
-
-## Setting up
-
-In a console window (such as cmd, PowerShell, or Bash), use the `dotnet new` command to create a new console app with the name `batch-document-translation`. This command creates a simple "Hello World" C# project with a single source file: *program.cs*.
-
-```console
-dotnet new console -n batch-document-translation
-```
-
-Change your directory to the newly created app folder. You can build the application with:
-
-```console
-dotnet build
-```
-
-The build output should contain no warnings or errors.
-
-```console
-...
-Build succeeded.
- 0 Warning(s)
- 0 Error(s)
-...
-```
-
- ## Get started
-
-Next, explore our [**Azure Document Translation client library for .NET**](/dotnet/api/overview/azure/ai.translation.document-readme-pre) documentation. There you will find code samples for the following operations:
-
-* [**Translate documents**](/dotnet/api/overview/azure/ai.translation.document-readme-pre?branch=main#start-translation)
-
-* [**Translate documents asynchronously**](/dotnet/api/overview/azure/ai.translation.document-readme-pre?branch=main#start-translation-asynchronously)
-
-* [**Get history for all submitted translation operations**](/dotnet/api/overview/azure/ai.translation.document-readme-pre?branch=main#get-operations-history-asynchronously)
--
-<!-- LINKS -->
-[documenttranslation_client_src]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Translation.Document_1.0.0-beta.1/sdk/translation/Azure.AI.Translation.Document/src
-<!--TODO: remove /overview -->
-[documenttranslation_docs]: /azure/cognitive-services/translator/document-translation/overview
-<!-- TODO: Add correct link when available -->
-[documenttranslation_refdocs]: https://aka.ms/azsdk/net/translation/docs
-<!-- TODO: Add correct link when available -->
-[documenttranslation_nuget_package]: https://www.nuget.org/
-[documenttranslation_samples]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Translation.Document_1.0.0-beta.1/sdk/translation/Azure.AI.Translation.Document/samples/README.md
---
-### [Python](#tab/python)
-
-[Source code][python-dt-src] | [Package (PyPI)][python-dt-pypi] | [API reference documentation][python-dt-ref-docs] | [Product documentation][python-dt-product-docs] | [Samples][python-dt-samples]
-
-## Prerequisites
-
-To get started, you'll need:
-
-* An active [**Azure account**](https://azure.microsoft.com/free/cognitive-services/). If you don't have one, you can [**create a free account**](https://azure.microsoft.com/free/).
-
-* A [**single-service access Translator**](https://ms.portal.azure.com/#create/Microsoft.CognitiveServicesTextTranslation) resource (**not** a Cognitive Services resource).
-
-* An [**Azure blob storage account**](https://ms.portal.azure.com/#create/Microsoft.StorageAccount-ARM). You will create containers to store and organize your blob data within your storage account.
-
-## Get started
-
-Next, explore our [**Azure Document Translation client library for Python**](/python/api/overview/azure/ai-translation-document-readme?view=azure-python-preview&preserve-view=true) documentation. There you will find code samples for the following operations:
-
-* [**Translate documents**](/python/api/overview/azure/ai-translation-document-readme?view=azure-python-preview&preserve-view=true#translate-your-documents)
-
-* [**Check status on individual documents**](/python/api/overview/azure/ai-translation-document-readme?view=azure-python-preview&preserve-view=true#check-status-on-individual-documents)
-
-* [**List translation jobs**](/python/api/overview/azure/ai-translation-document-readme?view=azure-python-preview&preserve-view=true#list-translation-jobs)
-
-<!-- LINKS -->
-
-[python-dt-src]: https://github.com/Azure/azure-sdk-for-python/tree/azure-ai-translation-document_1.0.0b1/sdk/translation/azure-ai-translation-document/azure/ai/translation/document
-[python-dt-pypi]: https://aka.ms/azsdk/python/texttranslation/pypi
-[python-dt-product-docs]: /azure/cognitive-services/translator/document-translation/overview
-[python-dt-ref-docs]: https://aka.ms/azsdk/python/documenttranslation/docs
-[python-dt-samples]: https://github.com/Azure/azure-sdk-for-python/tree/azure-ai-translation-document_1.0.0b1/sdk/translation/azure-ai-translation-document/samples
---
-> [!div class="nextstepaction"]
-> [Translate documents with HTTP REST methods](get-started-with-document-translation.md)
-
cognitive-services Concept Business Cards https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cognitive-services/form-recognizer/concept-business-cards.md
See the following example of a successful JSON response (the output has been sho
"readResults": [ { "page": 1,
- "angle": 0,
- "width": 703,
- "height": 1249,
+ "angle": 0.0255,
+ "width": 2592,
+ "height": 4608,
"unit": "pixel", "lines": [ { "text": "CONTOSO", "boundingBox": [
- 144,
- 425,
- 361,
- 425,
- 361,
- 466,
- 144,
- 466
+ 533,
+ 1570,
+ 1334,
+ 1570,
+ 1333,
+ 1721,
+ 533,
+ 1720
], "words": [ { "text": "CONTOSO", "boundingBox": [
- 145,
- 426,
- 346,
- 426,
- 346,
- 467,
- 144,
- 466
+ 535,
+ 1571,
+ 1278,
+ 1571,
+ 1279,
+ 1722,
+ 534,
+ 1719
], "confidence": 0.994 }
See the following example of a successful JSON response (the output has been sho
"valueString": "4001 1st Ave NE Redmond, WA 98052", "text": "4001 1st Ave NE Redmond, WA 98052", "boundingBox": [
- 108,
- 755,
- 410,
- 755,
- 410,
- 775,
- 108,
- 775
+ 400,
+ 2789,
+ 1514,
+ 2789,
+ 1514,
+ 2857,
+ 400,
+ 2857
], "page": 1,
- "confidence": 0.987,
+ "confidence": 0.986,
"elements": [ "#/readResults/0/lines/9/words/0", "#/readResults/0/lines/9/words/1",
See the following example of a successful JSON response (the output has been sho
"valueString": "CONTOSO", "text": "CONTOSO", "boundingBox": [
- 145,
- 426,
- 346,
- 426,
- 346,
- 467,
- 144,
- 466
+ 535,
+ 1571,
+ 1278,
+ 1571,
+ 1279,
+ 1722,
+ 534,
+ 1719
], "page": 1,
- "confidence": 0.986,
+ "confidence": 0.985,
"elements": [ "#/readResults/0/lines/0/words/0" ]
See the following example of a successful JSON response (the output has been sho
"valueString": "Chris", "text": "Chris", "boundingBox": [
- 422,
- 546,
- 518,
- 547,
- 516,
- 584,
- 422,
- 584
+ 1556,
+ 2018,
+ 1915,
+ 2021,
+ 1915,
+ 2156,
+ 1558,
+ 2154
], "page": 1, "elements": [
See the following example of a successful JSON response (the output has been sho
"valueString": "Smith", "text": "Smith", "boundingBox": [
- 526,
- 547,
- 644,
- 546,
- 641,
- 584,
- 524,
- 584
+ 1944,
+ 2021,
+ 2368,
+ 2016,
+ 2364,
+ 2156,
+ 1944,
+ 2156
], "page": 1, "elements": [
See the following example of a successful JSON response (the output has been sho
}, "text": "Chris Smith", "boundingBox": [
- 422,
- 544.8,
- 644,
- 546,
- 643.8,
- 585.2,
- 421.8,
- 584
+ 1556.1,
+ 2010.3,
+ 2368,
+ 2016,
+ 2367,
+ 2159.6,
+ 1555.1,
+ 2154
], "page": 1, "confidence": 0.99,
See the following example of a successful JSON response (the output has been sho
"valueString": "Cloud & Al Department", "text": "Cloud & Al Department", "boundingBox": [
- 427,
- 619.5,
- 618,
- 621.6,
- 617.8,
- 641.6,
- 426.8,
- 639.5
+ 1578,
+ 2288.8,
+ 2277,
+ 2295.1,
+ 2276.3,
+ 2367.8,
+ 1577.3,
+ 2361.5
], "page": 1, "confidence": 0.989,
See the following example of a successful JSON response (the output has been sho
"valueString": "chris.smith@contoso.com", "text": "chris.smith@contoso.com", "boundingBox": [
- 429,
- 645,
- 627,
- 646,
- 627,
- 663,
- 429,
- 664
+ 1583,
+ 2381,
+ 2309,
+ 2382,
+ 2308,
+ 2445,
+ 1584,
+ 2447
], "page": 1, "confidence": 0.99,
See the following example of a successful JSON response (the output has been sho
"valuePhoneNumber": "+19873126745", "text": "+1 (987) 312-6745", "boundingBox": [
- 200,
- 732,
- 345,
- 732,
- 345,
- 752,
- 200,
- 752
+ 740,
+ 2703.8,
+ 1273,
+ 2702.1,
+ 1273.2,
+ 2774.1,
+ 740.2,
+ 2775.8
], "page": 1, "confidence": 0.99,
See the following example of a successful JSON response (the output has been sho
"valueString": "Senior Researcher", "text": "Senior Researcher", "boundingBox": [
- 428,
- 597.2,
- 574,
- 598,
- 573.9,
- 616,
- 427.9,
- 615.2
+ 1578,
+ 2206,
+ 2117,
+ 2207.6,
+ 2116.8,
+ 2272.6,
+ 1577.8,
+ 2271
], "page": 1, "confidence": 0.99,
See the following example of a successful JSON response (the output has been sho
"valuePhoneNumber": "+19871234567", "text": "+1 (987) 123-4567", "boundingBox": [
- 201,
- 685,
- 348,
- 685,
- 348,
- 706,
- 201,
- 706
+ 744,
+ 2529,
+ 1281,
+ 2529,
+ 1281,
+ 2603,
+ 744,
+ 2603
], "page": 1,
- "confidence": 0.995,
+ "confidence": 0.99,
"elements": [ "#/readResults/0/lines/5/words/1", "#/readResults/0/lines/5/words/2",
See the following example of a successful JSON response (the output has been sho
"valueString": "https://www.contoso.com/", "text": "https://www.contoso.com/", "boundingBox": [
- 428,
- 667,
- 647,
- 667,
- 646,
- 687,
- 428,
- 687
+ 1576,
+ 2462,
+ 2383,
+ 2462,
+ 2380,
+ 2535,
+ 1576,
+ 2535
], "page": 1, "confidence": 0.99,
See the following example of a successful JSON response (the output has been sho
"valuePhoneNumber": "+19872135674", "text": "+1 (987) 213-5674", "boundingBox": [
- 198,
- 709,
- 344,
- 709,
- 344,
- 729,
- 198,
- 729
+ 736,
+ 2617.6,
+ 1267.1,
+ 2618.5,
+ 1267,
+ 2687.5,
+ 735.9,
+ 2686.6
], "page": 1,
- "confidence": 0.985,
+ "confidence": 0.984,
"elements": [ "#/readResults/0/lines/7/words/1", "#/readResults/0/lines/7/words/2",
cognitive-services Concept Invoices https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cognitive-services/form-recognizer/concept-invoices.md
The JSON output has three parts:
The Invoice service will extract the text, tables, and 26 invoice fields. Following are the fields extracted from an invoice in the JSON output response (the output below uses this [sample invoice](media/sample-invoice.jpg)).
+### Key Value Pairs
+ |Name| Type | Description | Text | Value (standardized output) | |:--|:-|:-|:-| :-| | CustomerName | string | Customer being invoiced | Microsoft Corp | |
The Invoice service will extract the text, tables, and 26 invoice fields. Follow
| ServiceEndDate | date | End date for the service period (for example, a utility bill service period) | 11/14/2019 | 2019-11-14 | | PreviousUnpaidBalance | number | Explicit previously unpaid balance | $500.00 | 500 |
+### Line items
+ Following are the line items extracted from an invoice in the JSON output response (the output below uses this [sample invoice](./media/sample-invoice.jpg)) |Name| Type | Description | Text (line item #1) | Value (standardized output) |
Following are the line items extracted from an invoice in the JSON output respon
| Date | date| Date corresponding to each line item. Often it is a date the line item was shipped | 3/4/2021| 2021-03-04 | | Tax | number | Tax associated with each line item. Possible values include tax amount, tax %, and tax Y/N | 10% | |
+The invoice key value pairs and line items extracted are in the documentResults section of the JSON output.
## Next steps
cognitive-services Whats New https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cognitive-services/personalizer/whats-new.md
Previously updated : 07/17/2020 Last updated : 05/28/2021 # What's new in Personalizer
Learn what's new in the service. These items may include release notes, videos,
## Release notes
+### May 2021 - //Build conference
+
+* Auto-Optimize (Preview) : You can configure a Personalizer loop that you are using to continuously improve over time with less work. Personalizer will automatically run offline evaluations, discover better machine learning settings, and apply them. To learn more, see [Personalizer Auto-Optimize (Preview)](concept-auto-optimization.md).
+* Multi-slot personalization (Preview): If you have tiled layouts, carousels, and/or sidebars, it is easier to use Personalizer for each place that you recommend products or content on the same page. Personalizer now can now take a list of slots in the Rank API, assign an action to each, and learn from reward scores you send for each slot. To learn more, see [Multi-slot personalization (Preview)](concept-multi-slot-personalization.md).
+* Personalizer is now available in more regions.
+* Updated code samples (GitHub) and documentation. Use the links below to view updated samples:
+ * [C#/.NET](https://github.com/Azure-Samples/cognitive-services-quickstart-code/tree/master/dotnet/Personalizer)
+ * [JavaScript](https://github.com/Azure-Samples/cognitive-services-quickstart-code/tree/master/javascript/Personalizer)
+ * [Python samples](https://github.com/Azure-Samples/cognitive-services-quickstart-code/tree/master/python/Personalizer)
+ ### July 2020 * New tutorial - [using Personalizer in a chat bot](tutorial-use-personalizer-chat-bot.md)
The following are available in **Public Preview**:
* TLS 1.2 is now enforced for all HTTP requests to this service. For more information, see [Azure Cognitive Services security](../cognitive-services-security.md).
-### November 2019 - Ignite Conference
+### November 2019 - Ignite conference
* Personalizer is generally available (GA) * Azure Notebooks [tutorial](tutorial-use-azure-notebook-generate-loop-data.md) with entire lifecycle
-### May 2019 - //Build Conference
+### May 2019 - //Build conference
The following preview features were released at the Build 2019 Conference:
container-instances Container Instances Environment Variables https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/container-instances/container-instances-environment-variables.md
Title: Set environment variables in container instance description: Learn how to set environment variables in the containers you run in Azure Container Instances Previously updated : 04/17/2019 Last updated : 04/17/2019 + # Set environment variables in container instances
container-instances Container Instances Quickstart Powershell https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/container-instances/container-instances-quickstart-powershell.md
Last updated 03/21/2019 -+ - mvc - mode-api
container-registry Container Registry Get Started Powershell https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/container-registry/container-registry-get-started-powershell.md
Title: Quickstart - Create registry - PowerShell
description: Quickly learn to create a private Docker registry in Azure Container Registry with PowerShell Last updated 01/22/2019 -+ - mvc - devx-track-azurepowershell - mode-api
cosmos-db Certificate Based Authentication https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/certificate-based-authentication.md
Last updated 06/11/2019 -++
Similar to the previous section, you can view the Activity log of your Azure Cos
* [Secure Azure Cosmos keys using Azure Key Vault](access-secrets-from-keyvault.md)
-* [Security baseline for Azure Cosmos DB](security-baseline.md)
+* [Security baseline for Azure Cosmos DB](security-baseline.md)
cosmos-db Configure Synapse Link https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/configure-synapse-link.md
Last updated 11/30/2020 -+ # Configure and use Azure Synapse Link for Azure Cosmos DB
Serverless SQL pool allows you to query and analyze data in your Azure Cosmos DB
## <a id="analyze-with-powerbi"></a>Use serverless SQL pool to analyze and visualize data in Power BI
-You can build a serverless SQL pool database and views over Synapse Link for Azure Cosmos DB. Later you can query the Azure Cosmos containers and then build a model with Power BI over those views to reflect that query. To learn more, see how to use [Serverless SQL pool to analyze Azure Cosmos DB data with Synapse Link](synapse-link-power-bi.md) article.
+You can create a serverless SQL pool database and views over Synapse Link for Azure Cosmos DB. Later you can query the Azure Cosmos containers and then build a model with Power BI over those views to reflect that query. There is no performance or cost impact to your transactional workloads, and no complexity of managing ETL pipelines. You can use either [DirectQuery](https://docs.microsoft.com/power-bi/connect-dat) article.
+ ## Azure Resource Manager template
cosmos-db Continuous Backup Restore Powershell https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/continuous-backup-restore-powershell.md
Last updated 02/01/2021 -++
cosmos-db Create Real Time Weather Dashboard Powerbi https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/create-real-time-weather-dashboard-powerbi.md
Title: Create a real-time dashboard using Azure Cosmos DB, Azure Analysis Services, and Power BI description: Learn how to create a live weather dashboard in Power BI using Azure Cosmos DB and Azure Analysis Services.--++
# Create a real-time dashboard using Azure Cosmos DB and Power BI [!INCLUDE[appliesto-sql-api](includes/appliesto-sql-api.md)]
-This article describes the steps required to create a live weather dashboard in Power BI using Azure Cosmos DB and Azure Analysis Services. The Power BI dashboard will display charts to show real-time information about temperature and rainfall in a region.
+This article describes the steps required to create a live weather dashboard in Power BI using Azure Cosmos DB OLTP connector and Azure Analysis Services. The Power BI dashboard will display charts to show near real-time information about temperature and rainfall in a region.
+
+Another option is to create near real-time reports using [Azure Synapse Link for Azure Cosmos DB](synapse-link.md). With Azure Synapse Link, you can connect Power BI to analyze your Azure Cosmos DB data, with no performance or cost impact to your transactional workloads, and no ETL pipelines. You can use either [DirectQuery](https://docs.microsoft.com/power-bi/connect-dat).
+ ## Reporting scenarios
There are multiple ways to set up reporting dashboards on data stored in Azure C
|Scenario |Setup | |||
-|1. Generating ad-hoc reports (no refresh) | [Power BI Azure Cosmos DB connector with import mode](powerbi-visualize.md) |
-|2. Generating ad-hoc reports with periodic refresh | [Power BI Azure Cosmos DB connector with import mode (Scheduled periodic refresh)](powerbi-visualize.md) |
-|3. Reporting on large data sets (< 10 GB) | Power BI Azure Cosmos DB connector with incremental refresh |
-|4. Reporting real time on large data sets | Power BI Azure Analysis Services connector with direct query + Azure Analysis Services (Azure Cosmos DB connector) |
-|5. Reporting on live data with aggregates | [Power BI Spark connector with direct query + Azure Databricks + Cosmos DB Spark connector.](https://github.com/Azure/azure-cosmosdb-spark/wiki/Connecting-Cosmos-DB-with-PowerBI-using-spark-and-databricks-premium) |
-|6. Reporting on live data with aggregates on large data sets | Power BI Azure Analysis Services connector with direct query + Azure Analysis Services + Azure Databricks + Cosmos DB Spark connector. |
-
-Scenarios 1 and 2 can be easily set up using the Azure Cosmos DB Power BI connector. This article describes the setups for scenarios 3 and 4.
+|1. Generating real time reports on large data sets with aggregates | **Option 1:** [Power BI and Azure Synapse Link with DirectQuery](https://docs.microsoft.com/azure/cosmos-db/synapse-link-power-bi)<br /> **Option 2:** [Power BI and Spark connector with DirectQuery + Azure Databricks + Azure Cosmos DB Spark connector.](https://github.com/Azure/azure-cosmosdb-spark/wiki/Connecting-Cosmos-DB-with-PowerBI-using-spark-and-databricks-premium)<br /> **Option 3:** Power BI and Azure Analysis Services connector with DirectQuery + Azure Analysis Services + Azure Databricks + Cosmos DB Spark connector. |
+|2. Generating real time reports on large data sets (>= 10 GB) | **Option 1:** [Power BI and Azure Synapse Link with DirectQuery](https://docs.microsoft.com/azure/cosmos-db/synapse-link-power-bi)<br /> **Option 2:** [Power BI and Azure Analysis Services connector with DirectQuery + Azure Analysis Services](create-real-time-weather-dashboard-powerbi.md) |
+|3. Generating ad-hoc reports on large data sets (< 10 GB) | [Power BI Azure Cosmos DB connector with import mode and incremental refresh](create-real-time-weather-dashboard-powerbi.md) |
+|4. Generating ad-hoc reports with periodic refresh | [Power BI Azure Cosmos DB connector with import mode (Scheduled periodic refresh)](powerbi-visualize.md) |
+|5. Generating ad-hoc reports (no refresh) | [Power BI Azure Cosmos DB connector with import mode](powerbi-visualize.md) |
++
+Scenarios 4 and 5 can be easily set up [using the Azure Cosmos DB Power BI connector](powerbi-visualize.md). This article describes below the setups for scenarios 2 (Option 2) and 3.
### Power BI with incremental refresh
cosmos-db Create Sql Api Spark https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/create-sql-api-spark.md
ms.devlang: java Previously updated : 04/06/2021 Last updated : 05/27/2021
cosmos-db How To Configure Firewall https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/how-to-configure-firewall.md
Last updated 03/03/2021 -+ # Configure IP firewall in Azure Cosmos DB
Creating or updating an Azure Cosmos account with a list of allowed addresses co
To configure a virtual network service endpoint for your Azure Cosmos DB account, see the following articles: * [Virtual network and subnet access control for your Azure Cosmos DB account](how-to-configure-vnet-service-endpoint.md)
-* [Configure virtual network and subnet-based access for your Azure Cosmos DB account](how-to-configure-vnet-service-endpoint.md)
+* [Configure virtual network and subnet-based access for your Azure Cosmos DB account](how-to-configure-vnet-service-endpoint.md)
cosmos-db How To Configure Private Endpoints https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/how-to-configure-private-endpoints.md
Last updated 03/26/2021 -+ # Configure Azure Private Link for an Azure Cosmos account
cosmos-db How To Configure Vnet Service Endpoint https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/how-to-configure-vnet-service-endpoint.md
Last updated 10/13/2020 -+
cosmos-db How To Manage Consistency https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/how-to-manage-consistency.md
Last updated 06/10/2020 -+ # Manage consistency levels in Azure Cosmos DB
cosmos-db How To Restrict User Data https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/how-to-restrict-user-data.md
Last updated 12/9/2019-++ # Restrict user access to data operations in Azure Cosmos DB
cosmos-db How To Setup Cmk https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/how-to-setup-cmk.md
Last updated 04/23/2021-++ # Configure customer-managed keys for your Azure Cosmos account with Azure Key Vault
cosmos-db How To Setup Rbac https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/how-to-setup-rbac.md
description: Learn how to configure role-based access control with Azure Active
Previously updated : 05/25/2021 Last updated : 05/27/2021
$principalId = "<aadPrincipalId>"
New-AzCosmosDBSqlRoleAssignment -AccountName $accountName ` -ResourceGroupName $resourceGroupName ` -RoleDefinitionId $readOnlyRoleDefinitionId `
- -Scope $accountName `
+ -Scope "/" `
-PrincipalId $principalId ```
cosmos-db Linux Emulator https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/linux-emulator.md
This section provides tips to troubleshoot errors when using the Linux emulator.
- .NET: See the [certificates section](#run-on-linux) - Java: See the [Java Certificates Store section](#run-on-linux)
+#### My Node.js app is reporting a self-signed certificate error
+
+If you attempt to connect to the emulator via an address other than `localhost`, such as the containers IP address, Node.js will raise an error about the certificate being self-signed, even if the certificate has been installed.
+
+TLS verification can be disabled by setting the environment variable `NODE_TLS_REJECT_UNAUTHORIZED` to `0`:
+
+```bash
+NODE_TLS_REJECT_UNAUTHORIZED=0
+```
+
+This flag is only recommended for local development as it disables TLS for Node.js. More information can be found on in [Node.js documentation](https://nodejs.org/api/cli.html#cli_node_tls_reject_unauthorized_value) and the [Cosmos DB Emulator Certificates documentation](local-emulator-export-ssl-certificates.md#how-to-use-the-certificate-in-nodejs).
+ #### The Docker container failed to start The emulator errors out with the following message:
cosmos-db Manage With Powershell https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/manage-with-powershell.md
Last updated 05/13/2021 -+ # Manage Azure Cosmos DB Core (SQL) API resources using PowerShell
Remove-AzResourceLock `
[distribute-data-globally]: distribute-data-globally.md [azure-resource-groups]: ../azure-resource-manager/management/overview.md#resource-groups [azure-resource-tags]: ../azure-resource-manager/management/tag-resources.md
-[rp-rest-api]: /rest/api/cosmos-db-resource-provider/
+[rp-rest-api]: /rest/api/cosmos-db-resource-provider/
cosmos-db Policy https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/policy.md
Previously updated : 09/23/2020 Last updated : 09/23/2020 +
To remediate the non-compliant resources, see [how to remediate resources with A
- [Review sample custom policy definitions for Azure Cosmos DB](https://github.com/Azure/azure-policy/tree/master/samples/CosmosDB), including for the multiple write location and VNet filtering policies shown above. - [Create a policy assignment in the Azure portal](../governance/policy/assign-policy-portal.md)-- [Review Azure Policy built-in policy definitions for Azure Cosmos DB](./policy-reference.md)
+- [Review Azure Policy built-in policy definitions for Azure Cosmos DB](./policy-reference.md)
cosmos-db Powerbi Visualize https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/powerbi-visualize.md
Title: Power BI tutorial for Azure Cosmos DB connector description: Use this Power BI tutorial to import JSON, create insightful reports, and visualize data using the Azure Cosmos DB and Power BI connector.-+ Last updated 05/21/2019-+ # Visualize Azure Cosmos DB data by using the Power BI connector [!INCLUDE[appliesto-sql-api](includes/appliesto-sql-api.md)]
-[Power BI](https://powerbi.microsoft.com/) is an online service where you can create and share dashboards and reports. Power BI Desktop is a report authoring tool that enables you to retrieve data from various data sources. Azure Cosmos DB is one of the data source that you can use with Power BI Desktop. You can connect Power BI Desktop to Azure Cosmos DB account with the Azure Cosmos DB connector for Power BI. After you import Azure Cosmos DB data to Power BI, you can transform it, create reports, and publish the reports to Power BI.
+[Power BI](https://powerbi.microsoft.com/) is an online service where you can create and share dashboards and reports. Power BI Desktop is a report authoring tool that enables you to retrieve data from various data sources. Azure Cosmos DB is one of the data source that you can use with Power BI Desktop. You can connect Power BI Desktop to Azure Cosmos DB account with the Azure Cosmos DB connector for Power BI. After you import Azure Cosmos DB data to Power BI, you can transform it, create reports, and publish the reports to Power BI.
+
+Another option is to create near real-time reports using [Azure Synapse Link for Azure Cosmos DB](synapse-link.md). With Azure Synapse Link, you can connect Power BI to analyze your Azure Cosmos DB data, with no performance or cost impact to your transactional workloads, and no ETL pipelines. You can use either [DirectQuery](https://docs.microsoft.com/power-bi/connect-dat).
+ This article describes the steps required to connect Azure Cosmos DB account to Power BI Desktop. After connecting, you navigate to a collection, extract the data, transform the JSON data into tabular format, and publish a report to Power BI.
This article describes the steps required to connect Azure Cosmos DB account to
> [!NOTE] > Connecting to Azure Cosmos DB with the Power BI connector is currently supported for Azure Cosmos DB SQL API and Gremlin API accounts only.
+> [!NOTE]
+> Creating near real-time Power BI dashboards using Azure Synapse Link is currently supported for Azure Cosmos DB SQL API and Azure Cosmos DB API for MongoDB.
+ ## Prerequisites Before following the instructions in this Power BI tutorial, ensure that you have access to the following resources:
You will retrieve the volcano data from the Azure Cosmos DB account and visualiz
8. When the account is successfully connected, the **Navigator** pane appears. The **Navigator** shows a list of databases under the account.
-9. Click and expand on the database where the data for the report comes from, select **volcanodb** (your database name can be different).
+9. Click and expand on the database where the data for the report comes from, select ``volcanodb`` (your database name can be different).
10. Now, select a collection that contains the data to retrieve, select **volcano1** (your collection name can be different).
Then follow the instructions in [Pin a tile from a report](https://powerbi.micro
You can also do ad hoc modifications to report before creating a dashboard. However, it's recommended that you use Power BI Desktop to perform the modifications and republish the report to PowerBI.com.
-<!-- ## Refresh data in PowerBI.com
+## Refresh data in PowerBI.com
There are two ways to refresh data, ad hoc and scheduled.
-For an ad hoc refresh, simply click on the eclipses (…) by the **Dataset**, e.g. PowerBITutorial. You should see a list of actions including **Refresh Now**. Click **Refresh Now** to refresh the data.
-
+For an ad hoc refresh, simply click **Refresh Now** to refresh the data.
For a scheduled refresh, do the following.
-1. Click **Schedule Refresh** in the action list.
+1. Go to **Settings** and open the **Datasets** tab.
+
+2. Click on **Scheduled Refresh** and set your schedule.
+
- :::image type="content" source="./media/powerbi-visualize/power-bi-schedule-refresh.png" alt-text="Screenshot of the Schedule Refresh in PowerBI.com":::
-2. In the **Settings** page, expand **Data source credentials**.
-3. Click on **Edit credentials**.
-
- The Configure popup appears.
-4. Enter the key to connect to the Azure Cosmos DB account for that data set, then click **Sign in**.
-5. Expand **Schedule Refresh** and set up the schedule you want to refresh the dataset.
-6. Click **Apply** and you are done setting up the scheduled refresh.
> ## Next steps * To learn more about Power BI, see [Get started with Power BI](https://powerbi.microsoft.com/documentation/powerbi-service-get-started/). * To learn more about Azure Cosmos DB, see the [Azure Cosmos DB documentation landing page](https://azure.microsoft.com/documentation/services/cosmos-db/).
cosmos-db Quick Create Template https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/quick-create-template.md
Last updated 06/01/2020-+ #Customer intent: As a database admin who is new to Azure, I want to use Azure Cosmos DB to store and manage my data.
In this quickstart, you created an Azure Cosmos account, a database and a contai
- Read an [Overview of Azure Cosmos DB](introduction.md) - Learn more about [Azure Resource Manager](../azure-resource-manager/management/overview.md)-- Get other [Azure Cosmos DB Resource Manager templates](./templates-samples-sql.md)
+- Get other [Azure Cosmos DB Resource Manager templates](./templates-samples-sql.md)
cosmos-db Resource Locks https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/resource-locks.md
Last updated 05/13/2021-++ # Prevent Azure Cosmos DB resources from being deleted or changed
cosmos-db Role Based Access Control https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/role-based-access-control.md
description: Learn how Azure Cosmos DB provides database protection with Active
Previously updated : 09/23/2020- Last updated : 05/27/2021++ # Azure role-based access control in Azure Cosmos DB
The following are the built-in roles supported by Azure Cosmos DB:
|[Cosmos DB Operator](../role-based-access-control/built-in-roles.md#cosmos-db-operator)|Can provision Azure Cosmos accounts, databases, and containers. Cannot access any data or use Data Explorer.| > [!IMPORTANT]
-> Azure RBAC support in Azure Cosmos DB applies to control plane operations only. Data plane operations are secured using primary keys or resource tokens. To learn more, see [Secure access to data in Azure Cosmos DB](secure-access-to-data.md)
+> Azure RBAC support in Azure Cosmos DB applies to control plane operations only. Data plane operations are secured using primary keys, resource tokens or the Cosmos DB RBAC. To learn more, see [Secure access to data in Azure Cosmos DB](secure-access-to-data.md)
## Identity and access management (IAM)
Update-AzCosmosDBAccount -ResourceGroupName [ResourceGroupName] -Name [CosmosDBA
- [What is Azure role-based access control (Azure RBAC)](../role-based-access-control/overview.md) - [Azure custom roles](../role-based-access-control/custom-roles.md)-- [Azure Cosmos DB resource provider operations](../role-based-access-control/resource-provider-operations.md#microsoftdocumentdb)
+- [Azure Cosmos DB resource provider operations](../role-based-access-control/resource-provider-operations.md#microsoftdocumentdb)
cosmos-db Autoscale https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/cassandra/autoscale.md
Last updated 07/30/2020-++ # Create a keyspace and table with autoscale for Azure Cosmos DB - Cassandra API
cosmos-db Create https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/cassandra/create.md
Last updated 05/13/2020-++ # Create a keyspace and table for Azure Cosmos DB - Cassandra API
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db List Get https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/cassandra/list-get.md
Last updated 03/18/2020-++ # List and get keyspaces and tables for Azure Cosmos DB - Cassandra API
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db Lock https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/cassandra/lock.md
Previously updated : 06/12/2020 Last updated : 06/12/2020 + # Create a resource lock for Azure Cosmos Cassandra API keyspace and table using Azure PowerShell
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db Throughput https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/cassandra/throughput.md
Last updated 10/07/2020-++ # Throughput (RU/s) operations with PowerShell for a keyspace or table for Azure Cosmos DB - Cassandra API
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db Account Update https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/common/account-update.md
Last updated 03/21/2020-++ # Update the regions on an Azure Cosmos DB account using PowerShell
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db Failover Priority Update https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/common/failover-priority-update.md
Last updated 03/18/2020-++ # Change failover priority or trigger failover for an Azure Cosmos account with single write region by using PowerShell
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db Firewall Create https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/common/firewall-create.md
Last updated 03/18/2020-++ # Create an Azure Cosmos DB account with IP Firewall
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db Keys Connection Strings https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/common/keys-connection-strings.md
Last updated 03/18/2020-++ # Connection string and account key operations for an Azure Cosmos DB account using PowerShell
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db Update Region https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/common/update-region.md
Last updated 05/01/2020-++ # Update an Azure Cosmos account's regions using PowerShell
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db Autoscale https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/gremlin/autoscale.md
Last updated 07/30/2020-++ # Create a database and graph with autoscale for Azure Cosmos DB - Gremlin API
cosmos-db Create https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/gremlin/create.md
Last updated 05/13/2020-++ # Create a database and graph for Azure Cosmos DB - Gremlin API
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db List Get https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/gremlin/list-get.md
Last updated 05/01/2020-++ # List and get databases and graphs for Azure Cosmos DB - Gremlin API
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db Lock https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/gremlin/lock.md
Previously updated : 06/12/2020 Last updated : 06/12/2020 + # Create a resource lock for Azure Cosmos Gremlin API database and graph using Azure PowerShell
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db Throughput https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/gremlin/throughput.md
Last updated 10/07/2020-++ # Throughput (RU/s) operations with PowerShell for a database or graph for Azure Cosmos DB - Gremlin API
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db Autoscale https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/mongodb/autoscale.md
Last updated 07/30/2020-++ # Create a database and collection with autoscale for Azure Cosmos DB - MongoDB API
cosmos-db Create https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/mongodb/create.md
Last updated 05/13/2020-++ # Create a database and collection for Azure Cosmos DB - MongoDB API
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db List Get https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/mongodb/list-get.md
Last updated 05/01/2020-++ # List and get databases and graphs for Azure Cosmos DB - MongoDB API
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db Lock https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/mongodb/lock.md
Previously updated : 06/12/2020 Last updated : 06/12/2020 + # Create a resource lock for Azure Cosmos MongoDB API database and collection using Azure PowerShell
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db Throughput https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/mongodb/throughput.md
Last updated 10/07/2020-++ # Throughput (RU/s) operations with PowerShell for a database or collection for Azure Cosmos DB API for MongoDB
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db Autoscale https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/sql/autoscale.md
Last updated 07/30/2020-++ # Create a database and container with autoscale for Azure Cosmos DB - SQL API
cosmos-db Create Index None https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/sql/create-index-none.md
Last updated 05/13/2020-++ # Create a container with indexing turned off in an Azure Cosmos DB account using PowerShell
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db Create Large Partition Key https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/sql/create-large-partition-key.md
Last updated 05/13/2020-++ # Create a container with a large partition key in an Azure Cosmos DB account using PowerShell
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db Create https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/sql/create.md
Last updated 05/13/2020-++ # Create a database and container for Azure Cosmos DB - SQL API
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db List Get https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/sql/list-get.md
Last updated 03/17/2020-++ # List and get databases and containers for Azure Cosmos DB - SQL (Core) API
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db Lock https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/sql/lock.md
Previously updated : 06/12/2020 Last updated : 06/12/2020 + # Create a resource lock for Azure Cosmos SQL API database and container using Azure PowerShell
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db Throughput https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/sql/throughput.md
Last updated 10/07/2020-++ # Throughput (RU/s) operations with PowerShell for a database or container for Azure Cosmos DB Core (SQL) API
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db Autoscale https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/table/autoscale.md
Last updated 07/30/2020-++ # Create a table with autoscale for Azure Cosmos DB - Table API
cosmos-db Create https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/table/create.md
Last updated 05/13/2020-++ # Create a table for Azure Cosmos DB - Table API
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db List Get https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/table/list-get.md
Last updated 07/31/2020-++ # List and get tables for Azure Cosmos DB - Table API
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db Lock https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/table/lock.md
Previously updated : 06/12/2020 Last updated : 06/12/2020 + # Create a resource lock for Azure Cosmos Table API table using Azure PowerShell
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on Azure PowerShell, see [Azure PowerShell documentation](/PowerShell/).
+For more information on Azure PowerShell, see [Azure PowerShell documentation](/PowerShell/).
cosmos-db Throughput https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/scripts/powershell/table/throughput.md
Last updated 10/07/2020-++ # Throughput (RU/s) operations with PowerShell for a table for Azure Cosmos DB - Table API
This script uses the following commands. Each command in the table links to comm
## Next steps
-For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
+For more information on the Azure PowerShell, see [Azure PowerShell documentation](/powershell/).
cosmos-db Secure Access To Data https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/secure-access-to-data.md
Previously updated : 05/25/2021 Last updated : 05/27/2021
Azure Cosmos DB provides three ways to control access to your data.
| Access control type | Characteristics | ||| | [Primary keys](#primary-keys) | Shared secret allowing any management or data operation. It comes in both read-write and read-only variants. |
-| [Role-based access control](#rbac) (Preview) | Fine-grained, role-based permission model using Azure Active Directory (AAD) identities for authentication. |
+| [Role-based access control](#rbac) | Fine-grained, role-based permission model using Azure Active Directory (AAD) identities for authentication. |
| [Resource tokens](#resource-tokens)| Fine-grained permission model based on native Azure Cosmos DB users and permissions. | ## <a id="primary-keys"></a> Primary keys
cosmos-db Spark Connector https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/spark-connector.md
- Title: Connect Apache Spark 2 to Azure Cosmos DB
-description: Learn about the Azure Cosmos DB Spark 2 OLTP connector that enables you to connect Apache Spark to Azure Cosmos DB.
---- Previously updated : 04/06/2021----
-# Accelerate big data analytics by using the Apache Spark v2 to Azure Cosmos DB OLTP connector
-
-You can run [Spark v2](https://spark.apache.org/) jobs with data stored in Azure Cosmos DB using the Cosmos DB Spark 2 OLTP connector. Cosmos can be used for batch and stream processing, and as a serving layer for low latency access.
-
-You can use the connector with [Azure Databricks](https://azure.microsoft.com/services/databricks) or [Azure HDInsight](https://azure.microsoft.com/services/hdinsight/), which provide managed Spark clusters on Azure. The following table shows supported Spark versions.
-
-| Component | Version |
-||-|
-| Apache Spark | 2.4.x, 2.3.x, 2.2.x, and 2.1.x |
-| Scala | 2.11 |
-| Azure Databricks runtime version | > 3.4 |
-
-> [!WARNING]
-> This connector supports the core (SQL) API of Azure Cosmos DB.
-> For Cosmos DB for MongoDB API, use the [MongoDB Spark connector](https://docs.mongodb.com/spark-connector/master/).
-> For Cosmos DB Cassandra API, use the [Cassandra Spark connector](https://github.com/datastax/spark-cassandra-connector).
-
-> [!IMPORTANT]
-> The Azure Cosmos DB Spark OLTP connector is not currently supported on [serverless](serverless.md) accounts. This will be addressed as the serverless offer becomes generally available.
-
-## Quickstart
-
-* Follow the steps at [Get started with the Java SDK](./create-sql-api-java.md) to set up a Cosmos DB account, and populate some data.
-* Follow the steps at [Azure Databricks getting started](/azure/databricks/scenarios/quickstart-create-databricks-workspace-portal) to set up an Azure Databricks workspace and cluster.
-* You can now create new Notebooks, and import the Cosmos DB connector library. Jump to [Working with the Cosmos DB connector](#bk_working_with_connector) for details on how to set up your workspace.
-* The following section has snippets on how to read and write using the connector.
-
-### Batch reads from Cosmos DB
-
-The following snippet shows how to create a Spark DataFrame to read from Cosmos DB in PySpark.
-
-```python
-# Read Configuration
-readConfig = {
- "Endpoint": "https://doctorwho.documents.azure.com:443/",
- "Masterkey": "YOUR-KEY-HERE",
- "Database": "DepartureDelays",
- "Collection": "flights_pcoll",
- "query_custom": "SELECT c.date, c.delay, c.distance, c.origin, c.destination FROM c WHERE c.origin = 'SEA'" // Optional
-}
-
-# Connect via azure-cosmosdb-spark to create Spark DataFrame
-flights = spark.read.format(
- "com.microsoft.azure.cosmosdb.spark").options(**readConfig).load()
-flights.count()
-```
-
-And the same code snippet in Scala:
-
-```scala
-// Import Necessary Libraries
-import com.microsoft.azure.cosmosdb.spark.schema._
-import com.microsoft.azure.cosmosdb.spark._
-import com.microsoft.azure.cosmosdb.spark.config.Config
-
-// Read Configuration
-val readConfig = Config(Map(
- "Endpoint" -> "https://doctorwho.documents.azure.com:443/",
- "Masterkey" -> "YOUR-KEY-HERE",
- "Database" -> "DepartureDelays",
- "Collection" -> "flights_pcoll",
- "query_custom" -> "SELECT c.date, c.delay, c.distance, c.origin, c.destination FROM c WHERE c.origin = 'SEA'" // Optional
-))
-
-// Connect via azure-cosmosdb-spark to create Spark DataFrame
-val flights = spark.read.cosmosDB(readConfig)
-flights.count()
-```
-
-### Batch writes to Cosmos DB
-
-The following snippet shows how to write a data frame to Cosmos DB in PySpark.
-
-```python
-# Write configuration
-writeConfig = {
- "Endpoint": "https://doctorwho.documents.azure.com:443/",
- "Masterkey": "YOUR-KEY-HERE",
- "Database": "DepartureDelays",
- "Collection": "flights_fromsea",
- "Upsert": "true"
-}
-
-# Write to Cosmos DB from the flights DataFrame
-flights.write.mode("overwrite").format("com.microsoft.azure.cosmosdb.spark").options(
- **writeConfig).save()
-```
-
-And the same code snippet in Scala:
-
-```scala
-// Write configuration
-
-val writeConfig = Config(Map(
- "Endpoint" -> "https://doctorwho.documents.azure.com:443/",
- "Masterkey" -> "YOUR-KEY-HERE",
- "Database" -> "DepartureDelays",
- "Collection" -> "flights_fromsea",
- "Upsert" -> "true"
-))
-
-// Write to Cosmos DB from the flights DataFrame
-import org.apache.spark.sql.SaveMode
-flights.write.mode(SaveMode.Overwrite).cosmosDB(writeConfig)
-```
-
-### Streaming reads from Cosmos DB
-
-The following snippet shows how to connect to and read from Azure Cosmos DB Change Feed.
-
-```python
-# Read Configuration
-readConfig = {
- "Endpoint": "https://doctorwho.documents.azure.com:443/",
- "Masterkey": "YOUR-KEY-HERE",
- "Database": "DepartureDelays",
- "Collection": "flights_pcoll",
- "ReadChangeFeed": "true",
- "ChangeFeedQueryName": "Departure-Delays",
- "ChangeFeedStartFromTheBeginning": "false",
- "InferStreamSchema": "true",
- "ChangeFeedCheckpointLocation": "dbfs:/Departure-Delays"
-}
--
-# Open a read stream to the Cosmos DB Change Feed via azure-cosmosdb-spark to create Spark DataFrame
-changes = (spark
- .readStream
- .format("com.microsoft.azure.cosmosdb.spark.streaming.CosmosDBSourceProvider")
- .options(**readConfig)
- .load())
-```
-And the same code snippet in Scala:
-
-```scala
-// Import Necessary Libraries
-import com.microsoft.azure.cosmosdb.spark.schema._
-import com.microsoft.azure.cosmosdb.spark._
-import com.microsoft.azure.cosmosdb.spark.config.Config
-
-// Read Configuration
-val readConfig = Config(Map(
- "Endpoint" -> "https://doctorwho.documents.azure.com:443/",
- "Masterkey" -> "YOUR-KEY-HERE",
- "Database" -> "DepartureDelays",
- "Collection" -> "flights_pcoll",
- "ReadChangeFeed" -> "true",
- "ChangeFeedQueryName" -> "Departure-Delays",
- "ChangeFeedStartFromTheBeginning" -> "false",
- "InferStreamSchema" -> "true",
- "ChangeFeedCheckpointLocation" -> "dbfs:/Departure-Delays"
-))
-
-// Open a read stream to the Cosmos DB Change Feed via azure-cosmosdb-spark to create Spark DataFrame
-val df = spark.readStream.format(classOf[CosmosDBSourceProvider].getName).options(readConfig).load()
-```
-
-### Streaming writes to Cosmos DB
-
-The following snippet shows how to write a data frame to Cosmos DB in PySpark.
-
-```python
-# Write configuration
-writeConfig = {
- "Endpoint": "https://doctorwho.documents.azure.com:443/",
- "Masterkey": "YOUR-KEY-HERE",
- "Database": "DepartureDelays",
- "Collection": "flights_fromsea",
- "Upsert": "true",
- "WritingBatchSize": "500",
- "CheckpointLocation": "/checkpointlocation_write1"
-}
-
-# Write to Cosmos DB from the flights DataFrame
-changeFeed = (changes
- .writeStream
- .format("com.microsoft.azure.cosmosdb.spark.streaming.CosmosDBSinkProvider")
- .outputMode("append")
- .options(**writeconfig)
- .start())
-```
-
-And the same code snippet in Scala:
-
-```scala
-// Write configuration
-
-val writeConfig = Config(Map(
- "Endpoint" -> "https://doctorwho.documents.azure.com:443/",
- "Masterkey" -> "YOUR-KEY-HERE",
- "Database" -> "DepartureDelays",
- "Collection" -> "flights_fromsea",
- "Upsert" -> "true",
- "WritingBatchSize" -> "500",
- "CheckpointLocation" -> "/checkpointlocation_write1"
-))
-
-// Write to Cosmos DB from the flights DataFrame
-df
-.writeStream
-.format(classOf[CosmosDBSinkProvider].getName)
-.options(writeConfig)
-.start()
-```
-More more snippets and end to end samples, see [Jupyter](https://github.com/Azure/azure-cosmosdb-spark/tree/master/samples/notebooks).
-
-## <a name="bk_working_with_connector"></a> Working with the connector
-
-You can build the connector from source in GitHub, or download the uber jars from Maven in the links below.
-
-| Spark | Scala | Latest version |
-||||
-| 2.4.0 | 2.11 | [azure-cosmosdb-spark_lkg_version](https://aka.ms/CosmosDB_OLTP_Spark_2.4_LKG)
-| 2.3.0 | 2.11 | [azure-cosmosdb-spark_2.3.0_2.11_1.3.3](https://search.maven.org/artifact/com.microsoft.azure/azure-cosmosdb-spark_2.3.0_2.11/1.3.3/jar)
-| 2.2.0 | 2.11 | [azure-cosmosdb-spark_2.2.0_2.11_1.1.1](https://search.maven.org/#artifactdetails%7Ccom.microsoft.azure%7Cazure-cosmosdb-spark_2.2.0_2.11%7C1.1.1%7Cjar)
-| 2.1.0 | 2.11 | [azure-cosmosdb-spark_2.1.0_2.11_1.2.2](https://search.maven.org/artifact/com.microsoft.azure/azure-cosmosdb-spark_2.1.0_2.11/1.2.2/jar)
-
-### Using Databricks notebooks
-
-Create a library using your Databricks workspace by following the guidance in the Azure Databricks Guide > [Use the Azure Cosmos DB Spark connector](https://docs.azuredatabricks.net/spark/latest/data-sources/azure/cosmosdb-connector.html)
-
-> [!NOTE]
-> The **Use the Azure Cosmos DB Spark Connector** page currently is not up-to-date. Instead of downloading the six separate jars into six different libraries, you can download the uber jar from maven at [azure-cosmosdb-spark_lkg_version](https://aka.ms/CosmosDB_OLTP_Spark_2.4_LKG) and install this one jar/library.
->
-
-### Using spark-cli
-
-To work with the connector using the spark-cli (that is, `spark-shell`, `pyspark`, `spark-submit`), you can use the `--packages` parameter with the connector's [maven coordinates](https://mvnrepository.com/artifact/com.microsoft.azure/azure-cosmosdb-spark_2.4.0_2.11).
-
-```sh
-spark-shell --master yarn --packages "com.microsoft.azure:azure-cosmosdb-spark_2.4.0_2.11:1.4.0"
-
-```
-
-### Using Jupyter Notebooks
-
-If you're using Jupyter Notebook within HDInsight, you can use spark-magic `%%configure` cell to specify the connector's maven coordinates.
-
-```python
-{ "name":"Spark-to-Cosmos_DB_Connector",
- "conf": {
- "spark.jars.packages": "com.microsoft.azure:azure-cosmosdb-spark_2.4.0_2.11:1.4.0",
- "spark.jars.excludes": "org.scala-lang:scala-reflect"
- }
- ...
-}
-```
-
-> Note, the inclusion of the `spark.jars.excludes` is specific to remove potential conflicts between the connector, Apache Spark, and Livy.
-
-### Build the connector
-
-Currently, this connector project uses `maven` so to build without dependencies, you can run:
-
-```sh
-mvn clean package
-```
-
-## Working with our samples
-
-The [Cosmos DB Spark GitHub repository](https://github.com/Azure/azure-cosmosdb-spark) has the following sample notebooks and scripts that you can try.
-
-* **On-Time Flight Performance with Spark and Cosmos DB (Seattle)** [ipynb](https://github.com/Azure/azure-cosmosdb-spark/blob/master/samples/notebooks/On-Time%20Flight%20Performance%20with%20Spark%20and%20Cosmos%20DB%20-%20Seattle.ipynb) | [html](https://github.com/Azure/azure-cosmosdb-spark/blob/master/samples/notebooks/On-Time%20Flight%20Performance%20with%20Spark%20and%20Cosmos%20DB%20-%20Seattle.html): Connect Spark to Cosmos DB using HDInsight Jupyter Notebook service to showcase Spark SQL, GraphFrames, and predicting flight delays using ML pipelines.
-* **Twitter Source with Apache Spark and Azure Cosmos DB Change Feed**: [ipynb](https://github.com/Azure/azure-cosmosdb-spark/blob/master/samples/notebooks/Twitter%20with%20Spark%20and%20Azure%20Cosmos%20DB%20Change%20Feed.ipynb) | [html](https://github.com/Azure/azure-cosmosdb-spark/blob/master/samples/notebooks/Twitter%20with%20Spark%20and%20Azure%20Cosmos%20DB%20Change%20Feed.html)
-* **Using Apache Spark to query Cosmos DB Graphs**: [ipynb](https://github.com/Azure/azure-cosmosdb-spark/blob/master/samples/notebooks/Using%20Apache%20Spark%20to%20query%20Cosmos%20DB%20Graphs.ipynb) | [html](https://github.com/Azure/azure-cosmosdb-spark/blob/master/samples/notebooks/Using%20Apache%20Spark%20to%20query%20Cosmos%20DB%20Graphs.html)
-* **[Connecting Azure Databricks to Azure Cosmos DB](https://docs.databricks.com/spark/latest/data-sources/azure/cosmosdb-connector.html)** using `azure-cosmosdb-spark`. Linked here is also an Azure Databricks version of the [On-Time Flight Performance notebook](https://github.com/dennyglee/databricks/tree/master/notebooks/Users/denny%40databricks.com/azure-databricks).
-* **[Lambda Architecture with Azure Cosmos DB and HDInsight (Apache Spark)](https://github.com/Azure/azure-cosmosdb-spark/blob/master/samples/lambd)**: You can reduce the operational overhead of maintaining big data pipelines using Cosmos DB and Spark.
-
-## More Information
-
-We have more information in the `azure-cosmosdb-spark` [wiki](https://github.com/Azure/azure-cosmosdb-spark/wiki) including:
-
-* [Azure Cosmos DB Spark Connector User Guide](https://github.com/Azure/azure-documentdb-spark/wiki/Azure-Cosmos-DB-Spark-Connector-User-Guide)
-* [Aggregations Examples](https://github.com/Azure/azure-documentdb-spark/wiki/Aggregations-Examples)
-
-### Configuration and Setup
-
-* [Spark Connector Configuration](https://github.com/Azure/azure-cosmosdb-spark/wiki/Configuration-references)
-* [Spark to Cosmos DB Connector Setup](https://github.com/Azure/azure-documentdb-spark/wiki/Spark-to-Cosmos-DB-Connector-Setup) (In progress)
-* [Configuring Power BI Direct Query to Azure Cosmos DB via Apache Spark (HDI)](https://github.com/Azure/azure-cosmosdb-spark/wiki/Configuring-Power-BI-Direct-Query-to-Azure-Cosmos-DB-via-Apache-Spark-(HDI))
-
-### Troubleshooting
-
-* [Using Cosmos DB Aggregates](https://github.com/Azure/azure-documentdb-spark/wiki/Troubleshooting:-Using-Cosmos-DB-Aggregates)
-* [Known Issues](https://github.com/Azure/azure-cosmosdb-spark/wiki/Known-Issues)
-
-### Performance
-
-* [Performance Tips](https://github.com/Azure/azure-cosmosdb-spark/wiki/Performance-tips)
-* [Query Test Runs](https://github.com/Azure/azure-documentdb-spark/wiki/Query-Test-Runs)
-* [Writing Test Runs](https://github.com/Azure/azure-cosmosdb-spark/wiki/Writing-Test-Runs)
-
-### Change Feed
-
-* [Stream Processing Changes using Azure Cosmos DB Change Feed and Apache Spark](https://github.com/Azure/azure-cosmosdb-spark/wiki/Stream-Processing-Changes-using-Azure-Cosmos-DB-Change-Feed-and-Apache-Spark)
-* [Change Feed Demos](https://github.com/Azure/azure-cosmosdb-spark/wiki/Change-Feed-demos)
-* [Structured Stream Demos](https://github.com/Azure/azure-cosmosdb-spark/wiki/Structured-Stream-demos)
-
-### Monitoring
-
-* [Monitoring Spark jobs with application insights](https://github.com/Azure/azure-cosmosdb-spark/tree/2.3/samples/monitoring)
-
-## Next steps
-
-If you haven't already, download the Spark to Azure Cosmos DB connector from the [azure-cosmosdb-spark](https://github.com/Azure/azure-cosmosdb-spark) GitHub repository. Explore the following additional resources in the repo:
-
-* [Aggregations examples](https://github.com/Azure/azure-cosmosdb-spark/wiki/Aggregations-Examples)
-* [Sample scripts and notebooks](https://github.com/Azure/azure-cosmosdb-spark/tree/master/samples)
-
-You might also want to review the [Apache Spark SQL, DataFrames, and Datasets Guide](https://spark.apache.org/docs/latest/sql-programming-guide.html), and the [Apache Spark on Azure HDInsight](../hdinsight/spark/apache-spark-jupyter-spark-sql.md) article.
cosmos-db Synapse Link Power Bi https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cosmos-db/synapse-link-power-bi.md
In this article, you learn how to build a serverless SQL pool database and views over Synapse Link for Azure Cosmos DB. You will query the Azure Cosmos DB containers and then build a model with Power BI over those views to reflect that query.
+With Azure Synapse Link, you can build near real-time dashboards in Power BI to analyze your Azure Cosmos DB data. There is no performance or cost impact to your transactional workloads, and no complexity of managing ETL pipelines. You can use either [DirectQuery](https://docs.microsoft.com/power-bi/connect-data/service-dataset-modes-understand#directquery-mode) or [import](https://docs.microsoft.com/power-bi/connect-data/service-dataset-modes-understand#import-mode) modes.
+ In this scenario, you will use dummy data about Surface product sales in a partner retail store. You will analyze the revenue per store based on the proximity to large households and the impact of advertising for a specific week. In this article, you create two views named **RetailSales** and **StoreDemographics** and a query between them. You can get the sample product data from this [GitHub](https://github.com/Azure-Samples/Synapse/tree/main/Notebooks/PySpark/Synapse%20Link%20for%20Cosmos%20DB%20samples/Retail/RetailData) repo. ## Prerequisites
cost-management-billing Group Filter https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cost-management-billing/costs/group-filter.md
The following table lists some of the most common grouping and filtering options
| Property | When to use | Notes | | | | |
-| **Availability zones** | Break down AWS costs by availability zone. | Applicable only to AWS scopes and management groups. Azure data doesn't include availability zone and will show as **Not applicable**. |
+| **Availability zones** | Break down AWS costs by availability zone. | Applicable only to AWS scopes and management groups. Azure data doesn't include availability zone and will show as **No availability zone**. |
| **Billing period** | Break down PAYG costs by the month that they were, or will be, invoiced. | Use **Billing period** to get an accurate representation of invoiced PAYG charges. Include 2 extra days before and after the billing period if filtering down to a custom date range. Limiting to the exact billing period dates won't match the invoice. Will show costs from all invoices in the billing period. Use **Invoice ID** to filter down to a specific invoice. Applicable only to PAYG subscriptions because EA and MCA are billed by calendar months. EA/MCA accounts can use calendar months in the date picker or monthly granularity to accomplish the same goal. | | **Charge type** | Break down usage, purchase, refund, and unused reservation costs. | Reservation purchases and refunds are available only when using actual costs and not when using amortized costs. Unused reservation costs are available only when looking at amortized costs. |
-| **Department** | Break down costs by EA department. | Available only for EA and management groups. PAYG subscriptions don't have a department and will show as **Not applicable** or **unassigned**. |
-| **Enrollment account** | Break down costs by EA account owner. | Available only for EA billing accounts, departments, and management groups. PAYG subscriptions don't have EA enrollment accounts and will show as **Not applicable** or **unassigned**. |
+| **Department** | Break down costs by EA department. | Available only for EA and management groups. PAYG subscriptions don't have a department and will show as **No department** or **unassigned**. |
+| **Enrollment account** | Break down costs by EA account owner. | Available only for EA billing accounts, departments, and management groups. PAYG subscriptions don't have EA enrollment accounts and will show as **No enrollment account** or **unassigned**. |
| **Frequency** | Break down usage-based, one-time, and recurring costs. | |
-| **Invoice ID** | Break down costs by billed invoice. | Unbilled charges don't have an invoice ID yet and EA costs don't include invoice details and will show as **Not applicable**. |
-| **Meter** | Break down costs by usage meter. | Purchases and Marketplace usage will show as **Not applicable**. Refer to **Charge type** to identify purchases and **Publisher type** to identify Marketplace charges. |
-| **Operation** | Break down AWS costs by operation. | Applicable only to AWS scopes and management groups. Azure data doesn't include operation and will show as **Not applicable** - use **Meter** instead. |
+| **Invoice ID** | Break down costs by billed invoice. | Unbilled charges don't have an invoice ID yet and EA costs don't include invoice details and will show as **No invoice ID**. |
+| **Location** | Break down costs by resource location or region. | Purchases and Marketplace usage may be shown as **unassigned**, or **No resource location**. |
+| **Meter** | Break down costs by usage meter. | Purchases and Marketplace usage will show as **No meter**. Refer to **Charge type** to identify purchases and **Publisher type** to identify Marketplace charges. |
+| **Operation** | Break down AWS costs by operation. | Applicable only to AWS scopes and management groups. Azure data doesn't include operation and will show as **No operation** - use **Meter** instead. |
| **Pricing model** | Break down costs by on-demand, reservation, or spot usage. | Purchases show as **OnDemand**. If you see **Not applicable**, group by **Reservation** to determine whether the usage is reservation or on-demand usage and **Charge type** to identify purchases. | **Provider** | Break down costs by AWS and Azure. | Available only for management groups. | | **Publisher type** | Break down AWS, Azure, and Marketplace costs. | |
-| **Reservation** | Break down costs by reservation. | Any usage or purchases that aren't associated with a reservation will show as **Not applicable**. Group by **Publisher type** to identify other Azure, AWS, or Marketplace purchases. |
-| **Resource** | Break down costs by resource. | Purchases show as **Not applicable**, because they're applied at an EA/PAYG billing account or MCA billing profile level and not associated with a specific resource. Group by **Publisher type** to identify other Azure, AWS, or Marketplace purchases. |
-| **Resource group** | Break down costs by resource group. | Purchases, tenant resources not associated with subscriptions, subscription resources not deployed to a resource group, and classic resources don't have a resource group and will show as **others**, **classic services**, **$system**, or **Not applicable**. |
-| **Resource type** | Break down costs by resource type. | Purchases and classic services don't have an Azure Resource Manager resource type and will show as **others**, **classic services**, or **Not applicable**. |
-| **Resource location** | Break down costs by location or region. | Purchases and Marketplace usage may be shown as **unassigned**, **unknown**, **unmapped**, or **Not applicable**. |
-| **Service name** or **Meter category** | Break down cost by Azure service. | Purchases and Marketplace usage will show as **Not applicable** or **unassigned**. |
-| **Service tier** or **Meter subcategory** | Break down cost by Azure usage meter subclassification. | Purchases and Marketplace usage will show as **Not applicable** or **unassigned**. |
-| **Subscription** | Break down costs by Azure subscription and AWS linked account. | Purchases and tenant resources may show as **Not applicable**. |
-| **Tag** | Break down costs by tag values for a specific tag key. | Tags aren't available for: purchases, tenant resources not associated with subscriptions, subscription resources not deployed to a resource group, or classic resources. Some services don't include tags in usage data. Learn more about [tags support for each resource type](../../azure-resource-manager/management/tag-support.md). |
+| **Reservation** | Break down costs by reservation. | Any usage or purchases that aren't associated with a reservation will show as **No reservation**. Group by **Publisher type** to identify other Azure, AWS, or Marketplace purchases. |
+| **Resource** | Break down costs by resource. | Marketplace purchases show as **Other Marketplace purchases** and Azure purchases, like Reservations and Support charges, show as **Other Azure purchases**. Group by or filter on **Publisher type** to identify other Azure, AWS, or Marketplace purchases. |
+| **Resource group** | Break down costs by resource group. | Purchases, tenant resources not associated with subscriptions, subscription resources not deployed to a resource group, and classic resources don't have a resource group and will show as **Other Marketplace purchases**, **Other Azure purchases**, **Other tenant resources**, **Other subscription resources**, **$system**, or **Other charges**. |
+| **Resource type** | Break down costs by resource type. | Purchases and classic services don't have an Azure Resource Manager resource type and will show as **others**, **classic services**, or **No resource type**. |
+| **Service name** or **Meter category** | Break down cost by Azure service. | Purchases and Marketplace usage will show as **No service name** or **unassigned**. |
+| **Service tier** or **Meter subcategory** | Break down cost by Azure usage meter subclassification. | Purchases and Marketplace usage will be empty or show as **unassigned**. |
+| **Subscription** | Break down costs by Azure subscription and AWS linked account. | Purchases and tenant resources may show as **No subscription**. |
+| **Tag** | Break down costs by tag values for a specific tag key. | Purchases, tenant resources not associated with subscriptions, subscription resources not deployed to a resource group, and classic resources cannot be tagged and will show as **Tags not available**. Services that don't include tags in usage data will show as **Tags not supported**. Any remaining cases where tags aren't specified on a resource will show as **Untagged**. Learn more about [tags support for each resource type](../../azure-resource-manager/management/tag-support.md). |
For more information about terms, see [Understand the terms used in the Azure usage and charges file](../understand/understand-usage.md). ## Next steps -- [Start analyzing costs](./quick-acm-cost-analysis.md).
+- [Start analyzing costs](./quick-acm-cost-analysis.md).
cost-management-billing Quick Create Budget Template https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cost-management-billing/costs/quick-create-budget-template.md
Last updated 07/28/2020-+ # Quickstart: Create a budget with an ARM template
cost-management-billing Tutorial Acm Create Budgets https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cost-management-billing/costs/tutorial-acm-create-budgets.md
-+ # Tutorial: Create and manage Azure budgets
cost-management-billing Understand Work Scopes https://github.com/MicrosoftDocs/azure-docs/commits/master/articles/cost-management-billing/costs/understand-work-scopes.md
Cost Management Contributor is the recommended least-privilege role. The role al
- **Schedule cost data export** ΓÇô Cost Management Contributors also need access to manage storage accounts to schedule an export to copy data into a storage account. Consider granting [Storage Account Contributor](../../role-based-access-control/built-in-roles.md#storage-account-contributor) to a resource group that contains the storage account where cost data is exported. - **Viewing cost-saving recommendations** ΓÇô Cost Management Readers and Cost M