Updates from: 08/22/2022 01:08:32
Service Microsoft Docs article Related commit history on GitHub Change details
active-directory Custom Rbac For Developers https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/custom-rbac-for-developers.md
Previously updated : 06/16/2022 Last updated : 08/19/2022
Developers have the flexibility to provide their own implementation for how role
### App roles
-Azure AD supports declaring app roles for an application. When a user signs into an application, Azure AD includes a [roles claim](./access-tokens.md#payload-claims) for each role that the user has been granted for that application. Applications receive the tokens that contain the role claims and then can use the information for permission assignments. The roles assigned to the user determine the level of access to resources and functionality.
+Azure AD allows you to [define app roles](./howto-add-app-roles-in-azure-ad-apps.md) for your application and assign those roles to users and other applications. The roles you assign to a user or application define their level of access to the resources and operations in your application.
+
+When Azure AD issues an access token for an authenticated user or application, it includes the names of the roles you've assigned the entity (the user or application) in the access token's [`roles`](./access-tokens.md#payload-claims) claim. An application like a web API that receives that access token in a request can then make authorization decisions based on the values in the `roles` claim.
### Groups
Although either app roles or groups can be used for authorization, key differenc
## Next steps -- [How to add app roles to your application and receive them in the token](./howto-add-app-roles-in-azure-ad-apps.md).-- [Azure Identity Management and access control security best practices](../../security/fundamentals/identity-management-best-practices.md).
+- [How to add app roles to your application and receive them in the token](./howto-add-app-roles-in-azure-ad-apps.md)
+- [Azure Identity Management and access control security best practices](../../security/fundamentals/identity-management-best-practices.md)
active-directory Multi Service Web App Access Microsoft Graph As App https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/multi-service-web-app-access-microsoft-graph-as-app.md
Previously updated : 04/25/2022 Last updated : 08/19/2022 ms.devlang: csharp, javascript
webAppName="SecureWebApp-20201106120003"
spId=$(az resource list -n $webAppName --query [*].identity.principalId --out tsv)
-graphResourceId=$(az ad sp list --display-name "Microsoft Graph" --query [0].objectId --out tsv)
+graphResourceId=$(az ad sp list --display-name "Microsoft Graph" --query [0].id --out tsv)
appRoleId=$(az ad sp list --display-name "Microsoft Graph" --query "[0].appRoles[?value=='User.Read.All' && contains(allowedMemberTypes, 'Application')].id" --output tsv)
active-directory 1 Secure Access Posture https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/1-secure-access-posture.md
Previously updated : 12/18/2020 Last updated : 08/19/2022
See the following articles on securing external access to resources. We recommen
9. [Secure access to Microsoft Teams, OneDrive, and SharePoint](9-secure-access-teams-sharepoint.md)
-ΓÇï
+ΓÇï
active-directory 4 Secure Access Groups https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/4-secure-access-groups.md
Previously updated : 12/18/2020 Last updated : 08/20/2022
active-directory 6 Secure Access Entitlement Managment https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/6-secure-access-entitlement-managment.md
Previously updated : 12/18/2020 Last updated : 08/20/2022
active-directory 8 Secure Access Sensitivity Labels https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/8-secure-access-sensitivity-labels.md
Previously updated : 12/18/2020 Last updated : 08/19/2022
active-directory 9 Secure Access Teams Sharepoint https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/9-secure-access-teams-sharepoint.md
Previously updated : 12/18/2020 Last updated : 08/20/2022
See the following articles on securing external access to resources. We recommen
8. [Secure access with Sensitivity labels](8-secure-access-sensitivity-labels.md)
-9. [Secure access to Microsoft Teams, OneDrive, and SharePoint](9-secure-access-teams-sharepoint.md) (You are here.)
+9. [Secure access to Microsoft Teams, OneDrive, and SharePoint](9-secure-access-teams-sharepoint.md) (You are here.)
active-directory Monitor Sign In Health For Resilience https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/monitor-sign-in-health-for-resilience.md
Previously updated : 03/17/2021 Last updated : 08/20/2022
active-directory Resilience B2b Authentication https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/resilience-b2b-authentication.md
Previously updated : 11/30/2020 Last updated : 08/19/2022
active-directory Resilience In Credentials https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/resilience-in-credentials.md
Previously updated : 11/30/2020 Last updated : 08/19/2022
Resilience resources for developers
* [Build IAM resilience in your applications](resilience-app-development-overview.md)
-* [Build resilience in your CIAM systems](resilience-b2c.md)
+* [Build resilience in your CIAM systems](resilience-b2c.md)
active-directory Resilience In Hybrid https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/resilience-in-hybrid.md
Previously updated : 11/30/2020 Last updated : 08/19/2022
Resilience resources for developers
* [Build IAM resilience in your applications](resilience-app-development-overview.md)
-* [Build resilience in your CIAM systems](resilience-b2c.md)
+* [Build resilience in your CIAM systems](resilience-b2c.md)
active-directory Resilience In Infrastructure https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/resilience-in-infrastructure.md
Previously updated : 11/30/2020 Last updated : 08/19/2022
active-directory Resilience On Premises Access https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/resilience-on-premises-access.md
Previously updated : 11/30/2020 Last updated : 08/19/2022
Resilience resources for developers
* [Build IAM resilience in your applications](resilience-app-development-overview.md)
-* [Build resilience in your CIAM systems](resilience-b2c.md)
+* [Build resilience in your CIAM systems](resilience-b2c.md)
active-directory Resilience With Continuous Access Evaluation https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/resilience-with-continuous-access-evaluation.md
Previously updated : 11/30/2020 Last updated : 08/19/2022
active-directory Resilience With Device States https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/resilience-with-device-states.md
Previously updated : 11/30/2020 Last updated : 08/19/2022
Resilience resources for developers
* [Build IAM resilience in your applications](resilience-app-development-overview.md)
-* [Build resilience in your CIAM systems](resilience-b2c.md)
+* [Build resilience in your CIAM systems](resilience-b2c.md)
active-directory Security Operations Privileged Identity Management https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/security-operations-privileged-identity-management.md
Previously updated : 07/15/2021 Last updated : 08/19/2022
active-directory Service Accounts Computer https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/service-accounts-computer.md
Previously updated : 2/15/2021 Last updated : 08/20/2022
active-directory Service Accounts Govern On Premises https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/service-accounts-govern-on-premises.md
Previously updated : 2/15/2021 Last updated : 08/19/2022
active-directory Service Accounts Governing Azure https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/service-accounts-governing-azure.md
Previously updated : 3/1/2021 Last updated : 08/19/2022
active-directory Service Accounts Group Managed https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/service-accounts-group-managed.md
Previously updated : 2/15/2021 Last updated : 08/20/2022
active-directory Service Accounts Managed Identities https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/service-accounts-managed-identities.md
Previously updated : 3/1/2021 Last updated : 08/20/2022
active-directory Service Accounts Principal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/service-accounts-principal.md
Previously updated : 2/15/2021 Last updated : 08/20/2022
active-directory Service Accounts Standalone Managed https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/service-accounts-standalone-managed.md
Previously updated : 2/15/2021 Last updated : 08/20/2022
active-directory Service Accounts User On Premises https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/service-accounts-user-on-premises.md
Previously updated : 2/15/2021 Last updated : 08/20/2022
active-directory Whats New Archive https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/whats-new-archive.md
For more information about how to better secure your organization by using autom
In September 2021, we have added following 44 new applications in our App gallery with Federation support
-[Studybugs](https://studybugs.com/signin), [Yello](https://yello.co/yello-for-microsoft-teams/), [LawVu](../saas-apps/lawvu-tutorial.md), [Formate eVo Mail](https://www.document-genetics.co.uk/formate-evo-erp-output-management), [Revenue Grid](https://app.revenuegrid.com/login), [Orbit for Office 365](https://azuremarketplace.microsoft.com/marketplace/apps/aad.orbitforoffice365?tab=overview), [Upmarket](https://app.upmarket.ai/), [Alinto Protect](https://protect.alinto.net/), [Cloud Concinnity](https://cloudconcinnity.com/), [Matlantis](https://matlantis.com/), [ModelGen for Visio (MG4V)](https://crecy.com.au/model-gen/), [NetRef: Classroom Management](https://oauth.net-ref.com/microsoft/sso), [VergeSense](../saas-apps/vergesense-tutorial.md), [iAuditor](../saas-apps/iauditor-tutorial.md), [Secutraq](https://secutraq.net/login), [Active and Thriving](../saas-apps/active-and-thriving-tutorial.md), [Inova](https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize?client_id=1bacdba3-7a3b-410b-8753-5cc0b8125f81&response_type=code&redirect_uri=https:%2f%2fbroker.partneringplace.com%2fpartner-companion%2f&code_challenge_method=S256&code_challenge=YZabcdefghijklmanopqrstuvwxyz0123456789._-~&scope=1bacdba3-7a3b-410b-8753-5cc0b8125f81/.default), [TerraTrue](../saas-apps/terratrue-tutorial.md), [Facebook Work Accounts](../saas-apps/facebook-work-accounts-tutorial.md), [Beyond Identity Admin Console](../saas-apps/beyond-identity-admin-console-tutorial.md), [Visult](https://visult.app), [ENGAGE TAG](https://app.engagetag.com/), [Appaegis Isolation Access Cloud](../saas-apps/appaegis-isolation-access-cloud-tutorial.md), [CrowdStrike Falcon Platform](../saas-apps/crowdstrike-falcon-platform-tutorial.md), [MY Emergency Control](https://my-emergency.co.uk/app/auth/login), [AlexisHR](../saas-apps/alexishr-tutorial.md), [Teachme Biz](../saas-apps/teachme-biz-tutorial.md), [Zero Networks](../saas-apps/zero-networks-tutorial.md), [Mavim iMprove](https://improve.mavimcloud.com/), [Azumuta](https://app.azumuta.com/login?microsoft=true), [Frankli](https://beta.frankli.io/login), [Amazon Managed Grafana](../saas-apps/amazon-managed-grafana-tutorial.md), [Productive](../saas-apps/productive-tutorial.md), [Create!Webフロー](../saas-apps/createweb-tutorial.md), [Evercate](https://evercate.com/us/sign-up/), [Ezra Coaching](../saas-apps/ezra-coaching-tutorial.md), [Baldwin Safety and Compliance](../saas-apps/baldwin-safety-&-compliance-tutorial.md), [Nulab Pass (Backlog,Cacoo,Typetalk)](../saas-apps/nulab-pass-tutorial.md), [Metatask](../saas-apps/metatask-tutorial.md), [Contrast Security](../saas-apps/contrast-security-tutorial.md), [Animaker](../saas-apps/animaker-tutorial.md), [Traction Guest](../saas-apps/traction-guest-tutorial.md), [True Office Learning - LIO](../saas-apps/true-office-learning-lio-tutorial.md), [Qiita Team](../saas-apps/qiita-team-tutorial.md)
+[Studybugs](https://studybugs.com/signin), [Yello](https://yello.co/yello-for-microsoft-teams/), [LawVu](../saas-apps/lawvu-tutorial.md), [Formate eVo Mail](https://www.document-genetics.co.uk/formate-evo-erp-output-management), [Revenue Grid](https://app.revenuegrid.com/login), [Orbit for Office 365](https://azuremarketplace.microsoft.com/marketplace/apps/aad.orbitforoffice365?tab=overview), [Upmarket](https://app.upmarket.ai/), [Alinto Protect](https://protect.alinto.net/), [Cloud Concinnity](https://cloudconcinnity.com/), [Matlantis](https://matlantis.com/), [ModelGen for Visio (MG4V)](https://crecy.com.au/model-gen/), [NetRef: Classroom Management](https://oauth.net-ref.com/microsoft/sso), [VergeSense](../saas-apps/vergesense-tutorial.md), [iAuditor](../saas-apps/iauditor-tutorial.md), [Secutraq](https://secutraq.net/login), [Active and Thriving](../saas-apps/active-and-thriving-tutorial.md), [Inova](https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize?client_id=1bacdba3-7a3b-410b-8753-5cc0b8125f81&response_type=code&redirect_uri=https:%2f%2fbroker.partneringplace.com%2fpartner-companion%2f&code_challenge_method=S256&code_challenge=YZabcdefghijklmanopqrstuvwxyz0123456789._-~&scope=1bacdba3-7a3b-410b-8753-5cc0b8125f81/.default), [TerraTrue](../saas-apps/terratrue-tutorial.md), [Beyond Identity Admin Console](../saas-apps/beyond-identity-admin-console-tutorial.md), [Visult](https://visult.app), [ENGAGE TAG](https://app.engagetag.com/), [Appaegis Isolation Access Cloud](../saas-apps/appaegis-isolation-access-cloud-tutorial.md), [CrowdStrike Falcon Platform](../saas-apps/crowdstrike-falcon-platform-tutorial.md), [MY Emergency Control](https://my-emergency.co.uk/app/auth/login), [AlexisHR](../saas-apps/alexishr-tutorial.md), [Teachme Biz](../saas-apps/teachme-biz-tutorial.md), [Zero Networks](../saas-apps/zero-networks-tutorial.md), [Mavim iMprove](https://improve.mavimcloud.com/), [Azumuta](https://app.azumuta.com/login?microsoft=true), [Frankli](https://beta.frankli.io/login), [Amazon Managed Grafana](../saas-apps/amazon-managed-grafana-tutorial.md), [Productive](../saas-apps/productive-tutorial.md), [Create!Webフロー](../saas-apps/createweb-tutorial.md), [Evercate](https://evercate.com/us/sign-up/), [Ezra Coaching](../saas-apps/ezra-coaching-tutorial.md), [Baldwin Safety and Compliance](../saas-apps/baldwin-safety-&-compliance-tutorial.md), [Nulab Pass (Backlog,Cacoo,Typetalk)](../saas-apps/nulab-pass-tutorial.md), [Metatask](../saas-apps/metatask-tutorial.md), [Contrast Security](../saas-apps/contrast-security-tutorial.md), [Animaker](../saas-apps/animaker-tutorial.md), [Traction Guest](../saas-apps/traction-guest-tutorial.md), [True Office Learning - LIO](../saas-apps/true-office-learning-lio-tutorial.md), [Qiita Team](../saas-apps/qiita-team-tutorial.md)
You can also find the documentation of all the applications here: https://aka.ms/AppsTutorial
active-directory Admin Units Assign Roles https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/admin-units-assign-roles.md
description: Use administrative units to restrict the scope of role assignments
documentationcenter: '' -+
active-directory Admin Units Manage https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/admin-units-manage.md
description: Create administrative units to restrict the scope of role permissio
documentationcenter: '' -+
active-directory Admin Units Members Add https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/admin-units-members-add.md
description: Add users, groups, or devices to an administrative unit in Azure Ac
documentationcenter: '' -+
active-directory Admin Units Members Dynamic https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/admin-units-members-dynamic.md
description: Manage users or devices for an administrative unit with dynamic mem
documentationcenter: '' -+
active-directory Admin Units Members List https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/admin-units-members-list.md
description: List users, groups, or devices in an administrative unit in Azure A
documentationcenter: '' -+
active-directory Admin Units Members Remove https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/admin-units-members-remove.md
description: Remove users, groups, or devices from an administrative unit in Azu
documentationcenter: '' -+
active-directory Administrative Units https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/administrative-units.md
description: Use administrative units for more granular delegation of permission
documentationcenter: '' -+
active-directory Assign Roles Different Scopes https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/assign-roles-different-scopes.md
Title: Assign Azure AD roles at different scopes - Azure Active Directory description: Learn how to assign roles at different scopes in Azure Active Directory --++ Last updated 02/04/2022--+
active-directory Best Practices https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/best-practices.md
Title: Best practices for Azure AD roles - Azure Active Directory
description: Best practices for using Azure Active Directory roles. -+
active-directory Concept Understand Roles https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/concept-understand-roles.md
Title: Understand Azure Active Directory role concepts
description: Learn how to understand Azure Active Directory built-in and custom roles with resource scope in Azure Active Directory. -+
active-directory Custom Assign Graph https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/custom-assign-graph.md
Title: Assign Azure AD admin roles with Microsoft Graph API | Microsoft Docs
description: Assign and remove Azure AD administrator roles with Graph API in Azure Active Directory -+
active-directory Custom Assign Powershell https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/custom-assign-powershell.md
Title: Assign custom roles using Azure AD PowerShell - Azure AD | Microsoft Docs
description: Manage members of an Azure AD administrator custom role with Azure AD PowerShell. -+
active-directory Custom Available Permissions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/custom-available-permissions.md
Title: Custom role permissions for app registration - Azure AD | Microsoft Docs
description: Delegate custom administrator role permissions for managing app registrations. -+
active-directory Custom Consent Permissions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/custom-consent-permissions.md
Title: App consent permissions for custom roles in Azure Active Directory | Micr
description: Preview app consent permissions for custom Azure AD roles in the Azure portal, PowerShell, or Graph API. -+
active-directory Custom Create https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/custom-create.md
Title: Create custom roles in Azure AD role-based access control | Microsoft Doc
description: Create and assign custom Azure AD roles with resource scope on Azure Active Directory resources. -+
active-directory Custom Device Permissions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/custom-device-permissions.md
Title: Device management permissions for Azure AD custom roles (Preview) - Azure
description: Device management permissions for Azure AD custom roles (Preview) in the Azure portal, PowerShell, or Microsoft Graph API. -+
active-directory Custom Enterprise App Permissions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/custom-enterprise-app-permissions.md
Title: App permissions for custom roles in Azure Active Directory | Microsoft Do
description: Preview enterprise app permissions for custom Azure AD roles in the Azure portal, PowerShell, or Graph API. -+
active-directory Custom Enterprise Apps https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/custom-enterprise-apps.md
Title: Create custom roles to manage enterprise apps in Azure Active Directory
description: Create and assign custom Azure AD roles for enterprise apps access in Azure Active Directory -+
active-directory Custom Group Permissions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/custom-group-permissions.md
Title: Group management permissions for Azure AD custom roles - Azure Active Dir
description: Group management permissions for Azure AD custom roles in the Azure portal, PowerShell, or Microsoft Graph API. -+
active-directory Custom Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/custom-overview.md
Title: Overview of Azure Active Directory role-based access control (RBAC)
description: Learn how to understand the parts of a role assignment and restricted scope in Azure Active Directory. -+
active-directory Delegate App Roles https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/delegate-app-roles.md
description: Grant permissions for application access management in Azure Active
documentationcenter: '' -+
active-directory Delegate By Task https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/delegate-by-task.md
description: Least privileged roles to delegate for tasks in Azure Active Direct
documentationcenter: '' -+
active-directory Groups Assign Role https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/groups-assign-role.md
Title: Assign Azure AD roles to groups - Azure Active Directory
description: Assign Azure AD roles to role-assignable groups in the Azure portal, PowerShell, or Graph API. -+
active-directory Groups Concept https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/groups-concept.md
Title: Use Azure AD groups to manage role assignments - Azure Active Directory
description: Use Azure AD groups to simplify role assignment management in Azure Active Directory. -+
active-directory Groups Create Eligible https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/groups-create-eligible.md
Title: Create a group for assigning roles in Azure Active Directory | Microsoft
description: Learn how to create a role-assignable group in Azure AD. Manage Azure roles in the Azure portal, PowerShell, or Graph API. -+
active-directory Groups Pim Eligible https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/groups-pim-eligible.md
Title: Assign a role to a group using Privileged Identity Management in Azure AD
description: Learn how you can assign an Azure Active Directory (Azure AD) role to a group using Azure AD Privileged Identity Management (PIM). -+
active-directory Groups Remove Assignment https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/groups-remove-assignment.md
Title: Remove role assignments from a group in Azure Active Directory
description: Remove role assignments from a group in Azure Active Directory using the Azure portal, PowerShell, or Microsoft Graph API. -+
active-directory Groups View Assignments https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/groups-view-assignments.md
Title: View roles assigned to a group in Azure Active Directory | Microsoft Docs
description: Learn how the roles assigned to a group can be viewed using the Azure portal. Viewing groups and assigned roles are default user permissions. -+
active-directory List Role Assignments Users https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/list-role-assignments-users.md
Title: List Azure AD role assignments for a user - Azure Active Directory description: Learn how to list Azure AD roles assignments of a user --++ Last updated 02/04/2022--+
active-directory M365 Workload Docs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/m365-workload-docs.md
description: Find content and API references for administrator roles for Microso
documentationcenter: '' -+
active-directory Manage Roles Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/manage-roles-portal.md
Title: Assign Azure AD roles to users - Azure Active Directory
description: Learn how to grant access to users in Azure Active Directory by assigning Azure AD roles. -+
active-directory My Staff Configure https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/my-staff-configure.md
description: Delegate user management using My Staff and administrative units
documentationcenter: '' -+
active-directory Permissions Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/permissions-reference.md
Title: Azure AD built-in roles - Azure Active Directory
description: Describes the Azure Active Directory built-in roles and permissions. -+ search.appverid: MET150
active-directory Prerequisites https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/prerequisites.md
description: Prerequisites to use PowerShell or Graph Explorer for Azure Active
documentationcenter: '' -+
active-directory Quickstart App Registration Limits https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/quickstart-app-registration-limits.md
Title: Remove limits on creating app registrations - Azure AD | Microsoft Docs
description: Assign a custom role to grant unrestricted app registrations in the Azure AD Active Directory -+
active-directory Role Definitions List https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/role-definitions-list.md
Title: List Azure AD role definitions - Azure AD
description: Learn how to list Azure built-in and custom roles. -+
active-directory Security Emergency Access https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/security-emergency-access.md
Title: Manage emergency access admin accounts - Azure AD
description: This article describes how to use emergency access accounts to help prevent being inadvertently locked out of your Azure Active Directory (Azure AD) organization. -+ Last updated 02/18/2022
active-directory Security Planning https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/security-planning.md
description: Ensure that your organization's administrative access and administr
keywords: -+ Last updated 04/19/2022
active-directory View Assignments https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/view-assignments.md
Title: List Azure AD role assignments
description: You can now see and manage members of an Azure Active Directory administrator role in the Azure Active Directory admin center. -+
active-directory Facebook Work Accounts Provisioning Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/saas-apps/facebook-work-accounts-provisioning-tutorial.md
This tutorial describes the steps you need to perform in both Facebook Work Acco
> * Create users in Facebook Work Accounts > * Remove users in Facebook Work Accounts when they do not require access anymore > * Keep user attributes synchronized between Azure AD and Facebook Work Accounts
-> * [Single sign-on](facebook-work-accounts-tutorial.md) to Facebook Work Accounts (recommended)
+> * Single sign-on to Facebook Work Accounts (recommended)
## Prerequisites
active-directory Meta Work Accounts Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/saas-apps/meta-work-accounts-tutorial.md
In this section, you'll enable B.Simon to use Azure single sign-on by granting a
1. Enable **Single-sign on(SSO)** checkbox and click **+Add new SSO Provider**.
- ![Screenshot shows the SSO Account.](./media/meta-work-accounts-tutorial/security.png "SSO Account")
+<!-- ![Screenshot shows the SSO Account.](./media/meta-work-accounts-tutorial/security.png "SSO Account") -->
1. On the **Single Sign-On (SSO) Setup** page, perform the following steps:
- ![Screenshot shows the SSO Configuration.](./media/meta-work-accounts-tutorial/certificate.png "Configuration")
+<!-- ![Screenshot shows the SSO Configuration.](./media/meta-work-accounts-tutorial/certificate.png "Configuration") -->
- 1. Enter a valid **Name of the SSO Provider**.
+1. Enter a valid **Name of the SSO Provider**.
- 1. In the **SAML URL** textbox, paste the **Login URL** value which you have copied from the Azure portal.
+1. In the **SAML URL** textbox, paste the **Login URL** value which you have copied from the Azure portal.
- 1. In the **SAML Issuer URL** textbox, paste the **Azure AD Identifier** value which you have copied from the Azure portal.
+1. In the **SAML Issuer URL** textbox, paste the **Azure AD Identifier** value which you have copied from the Azure portal.
- 1. **Enable SAML logout redirection** checkbox and in the **SAML Logout URL** textbox, paste the **Logout URL** value which you have copied from the Azure portal.
+1. **Enable SAML logout redirection** checkbox and in the **SAML Logout URL** textbox, paste the **Logout URL** value which you have copied from the Azure portal.
- 1. Open the downloaded **Certificate (Base64)** from the Azure portal into Notepad and paste the content into the **SAML Certificate** textbox.
+1. Open the downloaded **Certificate (Base64)** from the Azure portal into Notepad and paste the content into the **SAML Certificate** textbox.
- 1. Copy **Audience URL** value, paste this value into the **Identifier** textbox in the **Basic SAML Configuration** section in the Azure portal.
+1. Copy **Audience URL** value, paste this value into the **Identifier** textbox in the **Basic SAML Configuration** section in the Azure portal.
- 1. Copy **ACS (Assertion Consumer Service) URL** value, paste this value into the **Reply URL** text box in the **Basic SAML Configuration** section in the Azure portal.
+1. Copy **ACS (Assertion Consumer Service) URL** value, paste this value into the **Reply URL** text box in the **Basic SAML Configuration** section in the Azure portal.
- 1. In the **Test SSO Setup** section, enter a valid email in the textbox and click **Test SSO**.
+1. In the **Test SSO Setup** section, enter a valid email in the textbox and click **Test SSO**.
- 1. Click **Save Changes**.
+1. Click **Save Changes**.
### Create Meta Work Accounts test user
aks Use Kms Etcd Encryption https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/aks/use-kms-etcd-encryption.md
Title: Use KMS etcd encryption in Azure Kubernetes Service (AKS)
-description: Learn how to use kms etcd encryption with Azure Kubernetes Service (AKS)
+ Title: Use Key Management Service (KMS) etcd encryption in Azure Kubernetes Service (AKS)
+description: Learn how to use the Key Management Service (KMS) etcd encryption with Azure Kubernetes Service (AKS)
Previously updated : 08/10/2022- Last updated : 08/19/2022
-# Add KMS etcd encryption to an Azure Kubernetes Service (AKS) cluster
+# Add Key Management Service (KMS) etcd encryption to an Azure Kubernetes Service (AKS) cluster
-This article shows you how to enable encryption at rest for your Kubernetes data in etcd using Azure Key Vault with Key Management Service (KMS) plugin. The KMS plugin allows you to:
+This article shows you how to enable encryption at rest for your Kubernetes data in etcd using Azure Key Vault with the Key Management Service (KMS) plugin. The KMS plugin allows you to:
-* Use a key in Key Vault for etcd encryption
-* Bring your own keys
-* Provide encryption at rest for secrets stored in etcd
-* Rotate the keys in Key Vault
+* Use a key in Key Vault for etcd encryption.
+* Bring your own keys.
+* Provide encryption at rest for secrets stored in etcd.
+* Rotate the keys in Key Vault.
For more information on using the KMS plugin, see [Encrypting Secret Data at Rest](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/).
-## Before you begin
+## Prerequisites
-* An Azure subscription. If you don't have an Azure subscription, you can create a [free account](https://azure.microsoft.com/free).
-* Azure CLI version 2.39.0 or later. Run `az --version` to find the version. If you need to install or upgrade, see [Install Azure CLI][install-azure-cli].
+* An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/free).
+* Azure CLI version 2.39.0 or later. Run `az --version` to find your version. If you need to install or upgrade, see [Install Azure CLI][azure-cli-install].
> [!WARNING]
-> KMS only supports Konnectivity. You could use `kubectl get po -n kube-system` to check whether there is 'konnectivity-agent-xxx' pod running.
+> KMS only supports Konnectivity. You can use `kubectl get po -n kube-system` to check if a 'konnectivity-agent-xxx' pod is running.
## Limitations The following limitations apply when you integrate KMS etcd encryption with AKS: * Deletion of the key, Key Vault, or the associated identity.
-* KMS etcd encryption doesn't work with System-Assigned Managed Identity. The keyvault access-policy is required to be set before the feature is enabled. In addition, System-Assigned Managed Identity isn't available until cluster creation, thus there's a cycle dependency.
+* KMS etcd encryption doesn't work with system-assigned managed identity. The key vault access policy is required to be set before the feature is enabled. In addition, system-assigned managed identity isn't available until cluster creation, thus there's a cycle dependency.
* Using more than 2000 secrets in a cluster. * Bring your own (BYO) Azure Key Vault from another tenant. * Change associated Azure Key Vault model (public, private) if KMS is enabled. For [changing associated key vault mode][changing-associated-key-vault-mode], you need to disable and enable KMS again. * Stop/start cluster which is enabled KMS with private key vault.
-KMS supports [public key vault][Enable-KMS-with-public-key-vault] and [private key vault][Enable-KMS-with-private-key-vault] now.
+KMS supports [public key vault][Enable-KMS-with-public-key-vault] and [private key vault][Enable-KMS-with-private-key-vault].
## Enable KMS with public key vault
KMS supports [public key vault][Enable-KMS-with-public-key-vault] and [private k
> [!WARNING] > Deleting the key or the Azure Key Vault is not supported and will cause the secrets to be unrecoverable in the cluster.
->
-> If you need to recover your Key Vault or key, see the [Azure Key Vault recovery management with soft delete and purge protection](../key-vault/general/key-vault-recovery.md?tabs=azure-cli) documentation.
+>
+> If you need to recover your Key Vault or key, see [Azure Key Vault recovery management with soft delete and purge protection](../key-vault/general/key-vault-recovery.md?tabs=azure-cli).
#### For non-RBAC key vault
-Use `az keyvault create` to create a KeyVault.
+Use `az keyvault create` to create a key vault.
```azurecli az keyvault create --name MyKeyVault --resource-group MyResourceGroup
Use `az keyvault key create` to create a key.
az keyvault key create --name MyKeyName --vault-name MyKeyVault ```
-Use `az keyvault key show` to export the Key ID.
+Use `az keyvault key show` to export the key ID.
```azurecli export KEY_ID=$(az keyvault key show --name MyKeyName --vault-name MyKeyVault --query 'key.kid' -o tsv) echo $KEY_ID ```
-The above example stores the Key ID in *KEY_ID*.
+The above example stores the key ID in *KEY_ID*.
#### For RBAC key vault
-Use `az keyvault create` to create a KeyVault using Azure Role Based Access Control.
+Use `az keyvault create` to create a key vault using Azure Role Based Access Control.
```azurecli export KEYVAULT_RESOURCE_ID=$(az keyvault create --name MyKeyVault --resource-group MyResourceGroup --enable-rbac-authorization true --query id -o tsv)
Use `az keyvault key create` to create a key.
az keyvault key create --name MyKeyName --vault-name MyKeyVault ```
-Use `az keyvault key show` to export the Key ID.
+Use `az keyvault key show` to export the key ID.
```azurecli export KEY_ID=$(az keyvault key show --name MyKeyName --vault-name MyKeyVault --query 'key.kid' -o tsv) echo $KEY_ID ```
-The above example stores the Key ID in *KEY_ID*.
-
+The above example stores the key ID in *KEY_ID*.
+ ### Create a user-assigned managed identity
-Use `az identity create` to create a User-assigned managed identity.
+Use `az identity create` to create a user-assigned managed identity.
```azurecli az identity create --name MyIdentity --resource-group MyResourceGroup ```
-Use `az identity show` to get Identity Object ID.
+Use `az identity show` to get the identity object ID.
```azurecli IDENTITY_OBJECT_ID=$(az identity show --name MyIdentity --resource-group MyResourceGroup --query 'principalId' -o tsv) echo $IDENTITY_OBJECT_ID ```
-The above example stores the value of the Identity Object ID in *IDENTITY_OBJECT_ID*.
+The above example stores the value of the identity object ID in *IDENTITY_OBJECT_ID*.
-Use `az identity show` to get Identity Resource ID.
+Use `az identity show` to get the identity resource ID.
```azurecli IDENTITY_RESOURCE_ID=$(az identity show --name MyIdentity --resource-group MyResourceGroup --query 'id' -o tsv) echo $IDENTITY_RESOURCE_ID ```
-The above example stores the value of the Identity Resource ID in *IDENTITY_RESOURCE_ID*.
+The above example stores the value of the identity resource ID in *IDENTITY_RESOURCE_ID*.
### Assign permissions (decrypt and encrypt) to access key vault #### For non-RBAC key vault
-If your key vault is not enabled with `--enable-rbac-authorization`, you could use `az keyvault set-policy` to create an Azure KeyVault policy.
+If your key vault is not enabled with `--enable-rbac-authorization`, you can use `az keyvault set-policy` to create an Azure key vault policy.
```azurecli-interactive az keyvault set-policy -n MyKeyVault --key-permissions decrypt encrypt --object-id $IDENTITY_OBJECT_ID
az keyvault set-policy -n MyKeyVault --key-permissions decrypt encrypt --object-
#### For RBAC key vault
-If your key vault is enabled with `--enable-rbac-authorization`, you need to assign the "Key Vault Crypto User" RBAC role which has decrypt, encrypt permission.
+If your key vault is enabled with `--enable-rbac-authorization`, you need to assign the "Key Vault Crypto User" RBAC role which has decrypt, encrypt permission.
```azurecli-interactive az role assignment create --role "Key Vault Crypto User" --assignee-object-id $IDENTITY_OBJECT_ID --assignee-principal-type "ServicePrincipal" --scope $KEYVAULT_RESOURCE_ID
Use [az aks update][az-aks-update] with the `--enable-azure-keyvault-kms`, `--az
az aks update --name myAKSCluster --resource-group MyResourceGroup --enable-azure-keyvault-kms --azure-keyvault-kms-key-vault-network-access "Public" --azure-keyvault-kms-key-id $KEY_ID ```
-Use below command to update all secrets. Otherwise, the old secrets aren't encrypted.
+Use the following command to update all secrets. Otherwise, old secrets won't be encrypted. For larger clusters, you may want to subdivide the secrets by namespace or script an update.
```azurecli-interactive kubectl get secrets --all-namespaces -o json | kubectl replace -f - ```
-> [!NOTE]
-> For larger clusters, you may wish to subdivide the secrets by namespace or script an update.
+### Rotate the existing keys
-### Rotate the existing keys
-After changing the key ID (including key name and key version), you could use [az aks update][az-aks-update] with the `--enable-azure-keyvault-kms`, `--azure-keyvault-kms-key-vault-network-access` and `--azure-keyvault-kms-key-id` parameters to rotate the exitsing keys of KMS.
+After changing the key ID (including key name and key version), you can use [az aks update][az-aks-update] with the `--enable-azure-keyvault-kms`, `--azure-keyvault-kms-key-vault-network-access` and `--azure-keyvault-kms-key-id` parameters to rotate the existing keys of KMS.
> [!WARNING]
-> Remember to update all secrets after key rotation. Otherwise, the secrets will be unaccessable if the old keys are not existing or working.
+> Remember to update all secrets after key rotation. Otherwise, the secrets will be inaccessible if the old keys don't exist or aren't working.
```azurecli-interactive az aks update --name myAKSCluster --resource-group MyResourceGroup --enable-azure-keyvault-kms --azure-keyvault-kms-key-vault-network-access "Public" --azure-keyvault-kms-key-id $NEW_KEY_ID ```
-Use below command to update all secrets. Otherwise, the old secrets are still encrypted with the previous key.
+Use the following command to update all secrets. Otherwise, old secrets will still be encrypted with the previous key. For larger clusters, you may want to subdivide the secrets by namespace or script an update.
```azurecli-interactive kubectl get secrets --all-namespaces -o json | kubectl replace -f - ```
-> [!NOTE]
-> For larger clusters, you may wish to subdivide the secrets by namespace or script an update.
- ## Enable KMS with private key vault If you enable KMS with private key vault, AKS will create a private endpoint and private link in the node resource group automatically. The key vault will be added a private endpoint connection with the AKS cluster.
If you enable KMS with private key vault, AKS will create a private endpoint and
### Create a private key vault and key > [!WARNING]
-> Deleting the key or the Azure Key Vault is not supported and will cause the secrets to be unrecoverable in the cluster.
->
-> If you need to recover your Key Vault or key, see the [Azure Key Vault recovery management with soft delete and purge protection](../key-vault/general/key-vault-recovery.md?tabs=azure-cli) documentation.
+> Deleting the key or the Azure Key Vault isn't supported and will cause the secrets to be unrecoverable in the cluster.
+>
+> If you need to recover your key vault or key, see [Azure Key Vault recovery management with soft delete and purge protection](../key-vault/general/key-vault-recovery.md?tabs=azure-cli).
-
-Use `az keyvault create` to create a priate KeyVault.
+Use `az keyvault create` to create a private key vault.
```azurecli az keyvault create --name MyKeyVault --resource-group MyResourceGroup --public-network-access Disabled ```
-Without private endpoint, it's not supported to create or update keys in private key vault. To manage private key vault, you could refer to [Integrate Key Vault with Azure Private Link](../key-vault/general/private-link-service.md).
+It's not supported to create or update keys in private key vault without private endpoint. To manage private key vaults, you can refer to [Integrate Key Vault with Azure Private Link](../key-vault/general/private-link-service.md).
### Create a user-assigned managed identity
-Use `az identity create` to create a User-assigned managed identity.
+Use `az identity create` to create a user-assigned managed identity.
```azurecli az identity create --name MyIdentity --resource-group MyResourceGroup ```
-Use `az identity show` to get Identity Object ID.
+Use `az identity show` to get the identity object ID.
```azurecli IDENTITY_OBJECT_ID=$(az identity show --name MyIdentity --resource-group MyResourceGroup --query 'principalId' -o tsv) echo $IDENTITY_OBJECT_ID ```
-The above example stores the value of the Identity Object ID in *IDENTITY_OBJECT_ID*.
+The above example stores the value of the identity object ID in *IDENTITY_OBJECT_ID*.
-Use `az identity show` to get Identity Resource ID.
+Use `az identity show` to get identity resource ID.
```azurecli IDENTITY_RESOURCE_ID=$(az identity show --name MyIdentity --resource-group MyResourceGroup --query 'id' -o tsv) echo $IDENTITY_RESOURCE_ID ```
-The above example stores the value of the Identity Resource ID in *IDENTITY_RESOURCE_ID*.
+The above example stores the value of the identity resource ID in *IDENTITY_RESOURCE_ID*.
### Assign permissions (decrypt and encrypt) to access key vault #### For non-RBAC key vault
-If your key vault is not enabled with `--enable-rbac-authorization`, you could use `az keyvault set-policy` to create an Azure KeyVault policy.
+If your key vault is not enabled with `--enable-rbac-authorization`, you can use `az keyvault set-policy` to create an Azure key vault policy.
```azurecli-interactive az keyvault set-policy -n MyKeyVault --key-permissions decrypt encrypt --object-id $IDENTITY_OBJECT_ID
az keyvault set-policy -n MyKeyVault --key-permissions decrypt encrypt --object-
#### For RBAC key vault
-If your key vault is enabled with `--enable-rbac-authorization`, you need to assign a RBAC role which at least contains decrypt, encrypt permission.
+If your key vault is enabled with `--enable-rbac-authorization`, you need to assign a RBAC role that contains decrypt, encrypt permission.
```azurecli-interactive az role assignment create --role "Key Vault Crypto User" --assignee-object-id $IDENTITY_OBJECT_ID --assignee-principal-type "ServicePrincipal" --scope $KEYVAULT_RESOURCE_ID
az role assignment create --role "Key Vault Crypto User" --assignee-object-id $I
### Assign permission for creating private link
-For private key vault, the AKS needs *Key Vault Contributor* role to create private link between private key vault and cluster.
+For private key vaults, you need the *Key Vault Contributor* role to create a private link between the private key vault and the cluster.
```azurecli-interactive az role assignment create --role "Key Vault Contributor" --assignee-object-id $IDENTITY_OBJECT_ID --assignee-principal-type "ServicePrincipal" --scope $KEYVAULT_RESOURCE_ID ```
-### Create an AKS cluster with private key vault and enable KMS etcd encryption
+### Create an AKS cluster with private key vault and enable KMS etcd encryption
Create an AKS cluster using the [az aks create][az-aks-create] command with the `--enable-azure-keyvault-kms`, `--azure-keyvault-kms-key-id`, `--azure-keyvault-kms-key-vault-network-access` and `--azure-keyvault-kms-key-vault-resource-id` parameters to enable KMS etcd encryption with private key vault.
Use [az aks update][az-aks-update] with the `--enable-azure-keyvault-kms`, `--az
az aks update --name myAKSCluster --resource-group MyResourceGroup --enable-azure-keyvault-kms --azure-keyvault-kms-key-id $KEY_ID --azure-keyvault-kms-key-vault-network-access "Private" --azure-keyvault-kms-key-vault-resource-id $KEYVAULT_RESOURCE_ID ```
-Use below command to update all secrets. Otherwise, the old secrets aren't encrypted.
+Use the following command to update all secrets. Otherwise, old secrets won't be encrypted. For larger clusters, you may want to subdivide the secrets by namespace or script an update.
```azurecli-interactive kubectl get secrets --all-namespaces -o json | kubectl replace -f - ```
-> [!NOTE]
-> For larger clusters, you may wish to subdivide the secrets by namespace or script an update.
+### Rotate the existing keys
-### Rotate the existing keys
-After changing the key ID (including key name and key version), you could use [az aks update][az-aks-update] with the `--enable-azure-keyvault-kms`, `--azure-keyvault-kms-key-id`, `--azure-keyvault-kms-key-vault-network-access` and `--azure-keyvault-kms-key-vault-resource-id` parameters to rotate the existing keys of KMS.
+After changing the key ID (including key name and key version), you can use [az aks update][az-aks-update] with the `--enable-azure-keyvault-kms`, `--azure-keyvault-kms-key-id`, `--azure-keyvault-kms-key-vault-network-access` and `--azure-keyvault-kms-key-vault-resource-id` parameters to rotate the existing keys of KMS.
> [!WARNING]
-> Remember to update all secrets after key rotation. Otherwise, the secrets will be unaccessable if the old keys are not existing or working.
+> Remember to update all secrets after key rotation. Otherwise, the secrets will be inaccessible if the old keys are not existing or working.
```azurecli-interactive az aks update --name myAKSCluster --resource-group MyResourceGroup --enable-azure-keyvault-kms --azure-keyvault-kms-key-id $NewKEY_ID --azure-keyvault-kms-key-vault-network-access "Private" --azure-keyvault-kms-key-vault-resource-id $KEYVAULT_RESOURCE_ID ```
-Use below command to update all secrets. Otherwise, the old secrets are still encrypted with the previous key.
+Use the following command to update all secrets. Otherwise, old secrets will still be encrypted with the previous key. For larger clusters, you may want to subdivide the secrets by namespace or script an update.
```azurecli-interactive kubectl get secrets --all-namespaces -o json | kubectl replace -f - ```
-> [!NOTE]
-> For larger clusters, you may wish to subdivide the secrets by namespace or script an update.
- ## Update key vault mode > [!NOTE]
-> To change a different key vault with different mode (public, private), you could run `az aks update` directly. To change the mode of attached key vault, you need to diable KMS and re-enable it with new key vault ids.
+> To change a different key vault with a different mode (public, private), you can run `az aks update` directly. To change the mode of attached key vault, you need to disable KMS and re-enable it with the new key vault IDs.
Below are the steps about how to migrate the attached public key vault to private mode. ### Disable KMS on the cluster
-Use below command to disable the KMS on existing cluster and release the key vault.
+Disable the KMS on existing cluster and release the key vault.
```azurecli-interactive az aks update --name myAKSCluster --resource-group MyResourceGroup --disable-azure-keyvault-kms
az keyvault update --name MyKeyVault --resource-group MyResourceGroup --public-n
### Enable KMS on the cluster with updated key vault
-Use below command to re-enable the KMS with updated private key vault.
+Re-enable the KMS with updated private key vault.
```azurecli-interactive az aks update --name myAKSCluster --resource-group MyResourceGroup --enable-azure-keyvault-kms --azure-keyvault-kms-key-id $NewKEY_ID --azure-keyvault-kms-key-vault-network-access "Private" --azure-keyvault-kms-key-vault-resource-id $KEYVAULT_RESOURCE_ID ```
-After configuring KMS, you could enable [diagnostic-settings for key vault to check the encryption logs](../key-vault/general/howto-logging.md).
+After configuring KMS, you can enable [diagnostic-settings for key vault to check the encryption logs](../key-vault/general/howto-logging.md).
## Disable KMS
-Use below command to disable KMS on existing cluster.
+Use the following command to disable KMS on existing cluster.
```azurecli-interactive az aks update --name myAKSCluster --resource-group MyResourceGroup --disable-azure-keyvault-kms ```
-Use below command to update all secrets. Otherwise, the old secrets are still encrypted with the previous key.
+Use the following command to update all secrets. Otherwise, the old secrets will still be encrypted with the previous key. For larger clusters, you may want to subdivide the secrets by namespace or script an update.
```azurecli-interactive kubectl get secrets --all-namespaces -o json | kubectl replace -f - ```
-> [!NOTE]
-> For larger clusters, you may wish to subdivide the secrets by namespace or script an update.
- <!-- LINKS - Internal --> [aks-support-policies]: support-policies.md [aks-faq]: faq.md
app-service Scenario Secure App Access Microsoft Graph As App https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/scenario-secure-app-access-microsoft-graph-as-app.md
Previously updated : 01/21/2022 Last updated : 08/19/2022 ms.devlang: csharp
## Call Microsoft Graph - The [ChainedTokenCredential](/dotnet/api/azure.identity.chainedtokencredential), [ManagedIdentityCredential](/dotnet/api/azure.identity.managedidentitycredential), and [EnvironmentCredential](/dotnet/api/azure.identity.environmentcredential) classes are used to get a token credential for your code to authorize requests to Microsoft Graph. Create an instance of the [ChainedTokenCredential](/dotnet/api/azure.identity.chainedtokencredential) class, which uses the managed identity in the App Service environment or the development environment variables to fetch tokens and attach them to the service client. The following code example gets the authenticated token credential and uses it to create a service client object, which gets the users in the group. To see this code as part of a sample application, see the:
azure-cache-for-redis Cache Reserved Pricing https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-cache-for-redis/cache-reserved-pricing.md
Title: Prepay for compute with reserved capacity - Azure Cache for Redis
-description: Prepay for Azure Cache for Redis compute resources with reserved capacity
+ Title: Prepay for compute with reservations - Azure Cache for Redis
+description: Prepay for Azure Cache for Redis compute resources with reservations
+ Previously updated : 06/01/2021 Last updated : 08/19/2022
-# Prepay for Azure Cache for Redis compute resources with reserved capacity
+# Prepay for Azure Cache for Redis compute resources with reservations
-Azure Cache for Redis now helps you save money by prepaying for compute resources compared to pay-as-you-go prices. With Azure Cache for Redis reserved capacity, you make an upfront commitment on cache for one or three years to get a significant discount on the compute costs. To purchase Azure Cache for Redis reserved capacity, you need to specify the Azure region, service tier, and term.
+Azure Cache for Redis can help you save money by prepaying for compute resources compared to pay-as-you-go prices. With reservations, you make an upfront commitment on a cache for one or three years to get a significant discount on the compute costs. To purchase Azure Cache for Redis reservations, you need to specify the Azure region, service tier, and term.
-You do not need to assign the reservation to specific Azure Cache for Redis instances. An already running Azure Cache for Redis or ones that are newly deployed will automatically get the benefit of reserved pricing, up to the reserved cache size. By purchasing a reservation, you are pre-paying for the compute costs for one or three years. As soon as you buy a reservation, the Azure Cache for Redis compute charges that match the reservation attributes are no longer charged at the pay-as-you go rates. A reservation does not cover networking or storage charges associated with the cache. At the end of the reservation term, the billing benefit expires and the Azure Cache for Redis is billed at the pay-as-you go price. Reservations do not auto-renew. For pricing information, see the [Azure Cache for Redis reserved capacity offering](https://azure.microsoft.com/pricing/details/cache).
+You don't need to assign the reservation to specific Azure Cache for Redis instances. If you have a cache already running or new ones that are being deployed, they automatically get the benefit of reserved pricing, up to the reserved cache size. By purchasing a reservation, you're pre-paying for the compute costs for one or three years. As soon as you buy a reservation, the compute charges that match the reservation attributes are no longer charged at the pay-as-you go rates. A reservation doesn't cover networking or storage charges associated with the cache. At the end of the reservation term, the billing benefit expires and the cache is billed at the pay-as-you go price. Reservations don't auto-renew. For pricing information, see the [Azure Cache for Redis pricing page](https://azure.microsoft.com/pricing/details/cache).
-You can buy Azure Cache for Redis reserved capacity in the [Azure portal](https://portal.azure.com/). To buy the reserved capacity:
+You can buy a reservation in the [Azure portal](https://portal.azure.com/). To buy the reservations:
-* You must be in the owner role for at least one Enterprise or individual subscription with pay-as-you-go rates.
-* For Enterprise subscriptions, **Add Reserved Instances** must be enabled in the [EA portal](https://ea.azure.com/). Or, if that setting is disabled, you must be an EA Admin on the subscription.
-* For Cloud Solution Provider (CSP) program, only the admin agents or sales agents can purchase Azure Cache for Redis reserved capacity.
+- You must be in the owner role for at least one Enterprise or individual subscription with pay-as-you-go rates.
+- For Enterprise subscriptions, **Add Reserved Instances** must be enabled in the [EA portal](https://ea.azure.com/). Or, if that setting is disabled, you must be an EA Admin on the subscription.
+- For Cloud Solution Provider (CSP) program, only the admin agents or sales agents can purchase Azure Cache for Redis reservations.
For the details on how enterprise customers and Pay-As-You-Go customers are charged for reservation purchases, see [understand Azure reservation usage for your Enterprise enrollment](../cost-management-billing/reservations/understand-reserved-instance-usage-ea.md) and [understand Azure reservation usage for your Pay-As-You-Go subscription](../cost-management-billing/reservations/understand-reserved-instance-usage.md). ## Determine the right cache size before purchase
+### Supported Tiers for reservations
+
+| Feature | Basic and Standard | Premium | Enterprise and Enterprise Flash |
+|-- |:-: | :-: |:-:|
+|**Reservation Support** | No |Yes | Yes |
+ The size of reservation should be based on the total amount of memory size that is used by the existing or soon-to-be-deployed cache within a specific region, and using the same service tier.
-For example, let's suppose that you're running two caches - one at 13 GB and the other at 26 GB. You'll need both for at least one year. Further, let's suppose that you plan to scale the existing 13-GB caches to 26 GB for a month to meet your seasonal demand, and then scale back. In this case, you can purchase either one P2-cache and one P3-cache or three P2-caches on a one-year reservation to maximize savings. You'll receive discount on the total amount of cache memory you reserve, independent of how that amount is allocated across your caches.
+For example, let's suppose that you're running two caches - one at 13 GB and the other at 26 GB. You'll need both for at least one year. Further, let's suppose that you plan to scale the existing 13 GB cache to 26 GB for a month to meet your seasonal demand, and then scale back.
+
+In this case, you could purchase either one P2-cache and one P3-cache or three P2-caches on a one-year reservation to maximize savings. You'll receive a discount on the total amount of cache memory you reserve, independent of how that amount is allocated across your caches.
+
+### Reservation increments
-Reserved capacity is sold in increments of nodes. Each shard contains 2 nodes by default. To buy reserved capacity for a shard, you buy 2 reserved capacity. For the number of nodes calculation, see "View Cost Calculation" on [Pricing calculator](https://azure.microsoft.com/pricing/calculator/). For an explanation of the architecture of a cache, see [A quick summary of cache architecture](cache-failover.md#a-quick-summary-of-cache-architecture).
+Reservations are sold in increments of nodes. For the Premium tier and Enterprise tier, each instance contains two nodes by default. So, to buy reservations for an instance, you buy two reservation units.
-## Buy Azure Cache for Redis reserved capacity
+The Enterprise Flash tier is slightly different. It contains three nodes by default. So, for the Enterprise Flash tier, you would need to buy three reservation units.
-You can buy a reserved VM instance in the [Azure portal](https://portal.azure.com/#blade/Microsoft_Azure_Reservations/CreateBlade/). Pay for the reservation [up front or with monthly payments](../cost-management-billing/reservations/prepare-buy-reservation.md).
+For the number of nodes calculation, see "View Cost Calculation" on [Pricing calculator](https://azure.microsoft.com/pricing/calculator/).
+
+For an explanation of the architecture of a cache, see [A quick summary of cache architecture](cache-failover.md#a-quick-summary-of-cache-architecture).
+
+## Buy Azure Cache for Redis reservations
+
+You can buy reservations in the [Azure portal](https://portal.azure.com/#blade/Microsoft_Azure_Reservations/CreateBlade/). Pay for the reservation [up front or with monthly payments](../cost-management-billing/reservations/prepare-buy-reservation.md).
1. Sign in to the [Azure portal](https://portal.azure.com/). 2. Select **All services** > **Reservations**. 3. Select **Add** and then in the Purchase reservations pane, select **Azure Cache for Redis** to purchase a new reservation for your caches.
-4. Fill in the required fields. Existing or new databases that match the attributes you select qualify to get the reserved capacity discount. The actual number of your Azure Cache for Redis instances that get the discount depend on the scope and quantity selected.
+4. Fill in the required fields. Existing or new databases that match the attributes you select qualify to get the reservation discount. The actual number of your instances that get the discount depend on the scope and quantity selected.
-![Overview of reserved pricing](media/cache-reserved-pricing/cache-reserved-price.png)
The following table describes required fields. | Field | Description | | : | :- |
-| Subscription | The subscription used to pay for the Azure Cache for Redis reserved capacity reservation. The payment method on the subscription is charged the upfront costs for the Azure Cache for Redis reserved capacity reservation. The subscription type must be an enterprise agreement (offer numbers: MS-AZR-0017P or MS-AZR-0148P) or an individual agreement with pay-as-you-go pricing (offer numbers: MS-AZR-0003P or MS-AZR-0023P). For an enterprise subscription, the charges are deducted from the enrollment's Azure Prepayment (previously called monetary commitment) balance or charged as overage. For an individual subscription with pay-as-you-go pricing, the charges are billed to the credit card or invoice payment method on the subscription.
-| Scope | The reservationΓÇÖs scope can cover one subscription or multiple subscriptions (shared scope). If you select: </br></br> **Shared**, the reservation discount is applied to Azure Cache for Redis instances running in any subscriptions within your billing context. For enterprise customers, the shared scope is the enrollment and includes all subscriptions within the enrollment. For Pay-As-You-Go customers, the shared scope is all Pay-As-You-Go subscriptions created by the account administrator.</br></br> **Single subscription**, the reservation discount is applied to Azure Cache for Redis instances in this subscription. </br></br> **Single resource group**, the reservation discount is applied to Azure Cache for Redis instances in the selected subscription and the selected resource group within that subscription.</br></br>**Management group**, the reservation discount is applied to the matching resource in the list of subscriptions that are a part of both the management group and billing scope.
-| Region | The Azure region thatΓÇÖs covered by the Azure Cache for Redis reserved capacity reservation.
-| Pricing tier | The service tier for the Azure Cache for Redis servers.
+| Subscription | The subscription used to pay for the Azure Cache for Redis reservation. The payment method on the subscription is charged the upfront costs for the reservation. The subscription type must be an enterprise agreement (offer numbers: MS-AZR-0017P or MS-AZR-0148P) or an individual agreement with pay-as-you-go pricing (offer numbers: MS-AZR-0003P or MS-AZR-0023P). For an enterprise subscription, the charges are deducted from the enrollment's Azure Prepayment (previously called monetary commitment) balance or charged as overage. For an individual subscription with pay-as-you-go pricing, the charges are billed to the credit card or invoice payment method on the subscription.
+| Scope | The reservationΓÇÖs scope can cover one subscription or multiple subscriptions (shared scope). If you select: </br></br> **Shared**, the reservation discount is applied to Azure Cache for Redis instances running in any subscriptions within your billing context. For enterprise customers, the shared scope is the enrollment and includes all subscriptions within the enrollment. For Pay-As-You-Go customers, the shared scope is all Pay-As-You-Go subscriptions created by the account administrator.</br></br> **Single subscription**, the reservation discount is applied to Azure Cache for Redis instances in this subscription. </br></br> **Single resource group**, the reservation discount is applied to instances in the selected subscription and the selected resource group within that subscription.</br></br>**Management group**, the reservation discount is applied to the matching resource in the list of subscriptions that are a part of both the management group and billing scope.
+| Region | The Azure region thatΓÇÖs covered by the reservation.
+| Pricing tier | The service tier for the instances.
| Term | One year or three years
-| Quantity | The amount of compute resources being purchased within the Azure Cache for Redis reserved capacity reservation. The quantity is a number of caches in the selected Azure region and service tier that are being reserved and will get the billing discount. For example, if you are running or planning to run an Azure Cache for Redis servers with the total cache capacity of 26 GB in the East US region, then you would specify a quantity that gives you the equivalent of 26 GB to maximize the benefit for all caches. The quantity could be one P3-cache or two P2-caches.
+| Quantity | The amount of compute resources being purchased within the reservation. The quantity is the number of nodes in the selected Azure region and service tier that is being reserved, and will get the billing discount. For example, if you're running or planning to run an instance in the Premium tier with the total cache capacity of 26 GB in the East US region, then you would specify a quantity that gives you the equivalent of 26 GB to maximize the benefit for all caches.
## Cancel, exchange, or refund reservations
You can cancel, exchange, or refund reservations with certain limitations. For m
## Cache size flexibility
-Cache size flexibility helps you scale up or down within a service tier and region, without losing the reserved capacity benefit.
+Cache size flexibility helps you scale up or down within a service tier and region, without losing the reservation benefit.
## Need help? Contact us
If you have questions or need help, [create a support request](https://portal.az
The reservation discount is applied automatically to the Azure Cache for Redis instances that match the reservation scope and attributes. You can update the scope of the reservation through the Azure portal, PowerShell, Azure CLI, or the API.
-* To learn how reserved capacity discounts are applied to Azure Cache for Redis, see [Understand the Azure reservation discount](../cost-management-billing/reservations/understand-azure-cache-for-redis-reservation-charges.md)
-
-* To learn more about Azure Reservations, see the following articles:
+- To learn how reservation discounts are applied to Azure Cache for Redis, see [Understand the Azure reservation discount](../cost-management-billing/reservations/understand-azure-cache-for-redis-reservation-charges.md)
- * [What are Azure Reservations?](../cost-management-billing/reservations/save-compute-costs-reservations.md)
- * [Manage Azure Reservations](../cost-management-billing/reservations/manage-reserved-vm-instance.md)
- * [Understand Azure Reservations discount](../cost-management-billing/reservations/understand-reservation-charges.md)
- * [Understand reservation usage for your Pay-As-You-Go subscription](../cost-management-billing/reservations/understand-reservation-charges-mysql.md)
- * [Understand reservation usage for your Enterprise enrollment](../cost-management-billing/reservations/understand-reserved-instance-usage-ea.md)
- * [Azure Reservations in Partner Center Cloud Solution Provider (CSP) program](/partner-center/azure-reservations)
+- To learn more about Azure Reservations, see the following articles:
+ - [What are Azure Reservations?](../cost-management-billing/reservations/save-compute-costs-reservations.md)
+ - [Manage Azure Reservations](../cost-management-billing/reservations/manage-reserved-vm-instance.md)
+ - [Understand Azure Reservations discount](../cost-management-billing/reservations/understand-reservation-charges.md)
+ - [Understand reservation usage for your Pay-As-You-Go subscription](../cost-management-billing/reservations/understand-reservation-charges-mysql.md)
+ - [Understand reservation usage for your Enterprise enrollment](../cost-management-billing/reservations/understand-reserved-instance-usage-ea.md)
+ - [Azure Reservations in Partner Center Cloud Solution Provider (CSP) program](/partner-center/azure-reservations)
azure-functions Storage Considerations https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/storage-considerations.md
Other platform-managed customer data is only stored within the region when hosti
Functions uses a host ID value as a way to uniquely identify a particular function app in stored artifacts. By default, this ID is auto-generated from the name of the function app, truncated to the first 32 characters. This ID is then used when storing per-app correlation and tracking information in the linked storage account. When you have function apps with names longer than 32 characters and when the first 32 characters are identical, this truncation can result in duplicate host ID values. When two function apps with identical host IDs use the same storage account, you get a host ID collision because stored data can't be uniquely linked to the correct function app. >[!NOTE]
->This same collison can occur between a function app in a production slot and the same function app in a staging slot, when both slots use the same storage account.
+>This same kind of host ID collison can occur between a function app in a production slot and the same function app in a staging slot, when both slots use the same storage account.
Starting with version 3.x of the Functions runtime, host ID collision is detected and a warning is logged. In version 4.x, an error is logged and the host is stopped, resulting in a hard failure. More details about host ID collision can be found in [this issue](https://github.com/Azure/azure-functions-host/issues/2015).
azure-government Azure Services In Fedramp Auditscope https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-government/compliance/azure-services-in-fedramp-auditscope.md
recommendations: false Previously updated : 08/15/2022 Last updated : 08/19/2022 # Azure, Dynamics 365, Microsoft 365, and Power Platform services compliance scope
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Azure Sphere](/azure-sphere/) | &#x2705; | &#x2705; | | [Azure Spring Apps](../../spring-apps/index.yml) | &#x2705; | &#x2705; | | [Azure Stack Edge](../../databox-online/index.yml) (formerly Data Box Edge) **&ast;** | &#x2705; | &#x2705; |
+| [Azure Video Indexer](../../azure-video-indexer/index.yml) | &#x2705; | &#x2705; |
| [Azure Virtual Desktop](../../virtual-desktop/index.yml) (formerly Windows Virtual Desktop) | &#x2705; | &#x2705; | | [Azure VMware Solution](../../azure-vmware/index.yml) | &#x2705; | &#x2705; | | [Backup](../../backup/index.yml) | &#x2705; | &#x2705; |
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Batch](../../batch/index.yml) | &#x2705; | &#x2705; | | [Blueprints](../../governance/blueprints/index.yml) | &#x2705; | &#x2705; | | [Bot Service](/azure/bot-service/) | &#x2705; | &#x2705; |
+| **Service** | **FedRAMP High** | **DoD IL2** |
| [Cloud Services](../../cloud-services/index.yml) | &#x2705; | &#x2705; | | [Cloud Shell](../../cloud-shell/overview.md) | &#x2705; | &#x2705; |
-| **Service** | **FedRAMP High** | **DoD IL2** |
| [Cognitive Search](../../search/index.yml) (formerly Azure Search) | &#x2705; | &#x2705; | | [Cognitive | [Cognitive
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Cognitive | [Cognitive | [Container Instances](../../container-instances/index.yml) | &#x2705; | &#x2705; |
+| **Service** | **FedRAMP High** | **DoD IL2** |
| [Container Registry](../../container-registry/index.yml) | &#x2705; | &#x2705; | | [Content Delivery Network (CDN)](../../cdn/index.yml) | &#x2705; | &#x2705; |
-| **Service** | **FedRAMP High** | **DoD IL2** |
| [Cost Management and Billing](../../cost-management-billing/index.yml) | &#x2705; | &#x2705; | | [Customer Lockbox](../../security/fundamentals/customer-lockbox-overview.md) | &#x2705; | &#x2705; | | [Data Box](../../databox/index.yml) **&ast;** | &#x2705; | &#x2705; |
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [DevTest Labs](../../devtest-labs/index.yml) | &#x2705; | &#x2705; | | [DNS](../../dns/index.yml) | &#x2705; | &#x2705; | | [Dynamics 365 Chat (Omnichannel Engagement Hub)](/dynamics365/omnichannel/introduction-omnichannel) | &#x2705; | &#x2705; |
+| **Service** | **FedRAMP High** | **DoD IL2** |
| [Dynamics 365 Commerce](/dynamics365/commerce/)| &#x2705; | &#x2705; | | [Dynamics 365 Customer Service](/dynamics365/customer-service/overview)| &#x2705; | &#x2705; |
-| **Service** | **FedRAMP High** | **DoD IL2** |
| [Dynamics 365 Field Service](/dynamics365/field-service/overview)| &#x2705; | &#x2705; | | [Dynamics 365 Finance](/dynamics365/finance/)| &#x2705; | &#x2705; | | [Dynamics 365 Guides](/dynamics365/mixed-reality/guides/)| &#x2705; | &#x2705; |
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Firewall](../../firewall/index.yml) | &#x2705; | &#x2705; | | [Firewall Manager](../../firewall-manager/index.yml) | &#x2705; | &#x2705; | | [Form Recognizer](../../applied-ai-services/form-recognizer/index.yml) | &#x2705; | &#x2705; |
+| **Service** | **FedRAMP High** | **DoD IL2** |
| [Front Door](../../frontdoor/index.yml) | &#x2705; | &#x2705; | | [Functions](../../azure-functions/index.yml) | &#x2705; | &#x2705; |
-| **Service** | **FedRAMP High** | **DoD IL2** |
| [GitHub AE](https://docs.github.com/github-ae@latest/admin/overview/about-github-ae) | &#x2705; | &#x2705; | | [Health Bot](/healthbot/) | &#x2705; | &#x2705; | | [HDInsight](../../hdinsight/index.yml) | &#x2705; | &#x2705; |
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Lighthouse](../../lighthouse/index.yml) | &#x2705; | &#x2705; | | [Load Balancer](../../load-balancer/index.yml) | &#x2705; | &#x2705; | | [Logic Apps](../../logic-apps/index.yml) | &#x2705; | &#x2705; |
+| **Service** | **FedRAMP High** | **DoD IL2** |
| [Machine Learning](../../machine-learning/index.yml) | &#x2705; | &#x2705; | | [Managed Applications](../../azure-resource-manager/managed-applications/index.yml) | &#x2705; | &#x2705; |
-| **Service** | **FedRAMP High** | **DoD IL2** |
| [Media Services](/azure/media-services/) | &#x2705; | &#x2705; | | [Microsoft 365 Defender](/microsoft-365/security/defender/) (formerly Microsoft Threat Protection) | &#x2705; | &#x2705; | | [Microsoft Azure Attestation](../../attestation/index.yml)| &#x2705; | &#x2705; |
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Microsoft Graph](/graph/) | &#x2705; | &#x2705; | | [Microsoft Intune](/mem/intune/) | &#x2705; | &#x2705; | | [Microsoft Sentinel](../../sentinel/index.yml) | &#x2705; | &#x2705; |
+| **Service** | **FedRAMP High** | **DoD IL2** |
| [Microsoft Stream](/stream/) | &#x2705; | &#x2705; | | [Microsoft Threat Experts](/microsoft-365/security/defender-endpoint/microsoft-threat-experts) | &#x2705; | &#x2705; |
-| **Service** | **FedRAMP High** | **DoD IL2** |
| [Migrate](../../migrate/index.yml) | &#x2705; | &#x2705; | | [Network Watcher](../../network-watcher/index.yml) (incl. [Traffic Analytics](../../network-watcher/traffic-analytics.md)) | &#x2705; | &#x2705; | | [Notification Hubs](../../notification-hubs/index.yml) | &#x2705; | &#x2705; |
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Power BI Embedded](/power-bi/developer/embedded/) | &#x2705; | &#x2705; | | [Power Data Integrator for Dataverse](/power-platform/admin/data-integrator) (formerly Dynamics 365 Integrator App) | &#x2705; | &#x2705; | | [Power Virtual Agents](/power-virtual-agents/) | &#x2705; | &#x2705; |
+| **Service** | **FedRAMP High** | **DoD IL2** |
| [Private Link](../../private-link/index.yml) | &#x2705; | &#x2705; | | [Public IP](../../virtual-network/ip-services/public-ip-addresses.md) | &#x2705; | &#x2705; | | [Resource Graph](../../governance/resource-graph/index.yml) | &#x2705; | &#x2705; |
-| **Service** | **FedRAMP High** | **DoD IL2** |
| [Resource Mover](../../resource-mover/index.yml) | &#x2705; | &#x2705; | | [Route Server](../../route-server/index.yml) | &#x2705; | &#x2705; | | [Scheduler](../../scheduler/index.yml) (replaced by [Logic Apps](../../logic-apps/index.yml)) | &#x2705; | &#x2705; |
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [SQL Server Registry](/sql/sql-server/end-of-support/sql-server-extended-security-updates) | &#x2705; | &#x2705; | | [SQL Server Stretch Database](../../sql-server-stretch-database/index.yml) | &#x2705; | &#x2705; | | [Storage: Archive](../../storage/blobs/access-tiers-overview.md) | &#x2705; | &#x2705; |
+| **Service** | **FedRAMP High** | **DoD IL2** |
| [Storage: Blobs](../../storage/blobs/index.yml) (incl. [Azure Data Lake Storage Gen2](../../storage/blobs/data-lake-storage-introduction.md)) | &#x2705; | &#x2705; | | [Storage: Disks (incl. managed disks)](../../virtual-machines/managed-disks-overview.md) | &#x2705; | &#x2705; | | [Storage: Files](../../storage/files/index.yml) | &#x2705; | &#x2705; |
-| **Service** | **FedRAMP High** | **DoD IL2** |
| [Storage: Queues](../../storage/queues/index.yml) | &#x2705; | &#x2705; | | [Storage: Tables](../../storage/tables/index.yml) | &#x2705; | &#x2705; | | [StorSimple](../../storsimple/index.yml) | &#x2705; | &#x2705; |
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Synapse Analytics](../../synapse-analytics/index.yml) | &#x2705; | &#x2705; | | [Time Series Insights](../../time-series-insights/index.yml) | &#x2705; | &#x2705; | | [Traffic Manager](../../traffic-manager/index.yml) | &#x2705; | &#x2705; |
-| [Video Analyzer for Media](../../azure-video-indexer/index.yml) (formerly Video Indexer) | &#x2705; | &#x2705; |
| [Virtual Machine Scale Sets](../../virtual-machine-scale-sets/index.yml) | &#x2705; | &#x2705; | | [Virtual Machines](../../virtual-machines/index.yml) (incl. [Reserved VM Instances](../../virtual-machines/prepay-reserved-vm-instances.md)) | &#x2705; | &#x2705; | | [Virtual Network](../../virtual-network/index.yml) | &#x2705; | &#x2705; | | [Virtual Network NAT](../../virtual-network/nat-gateway/index.yml) | &#x2705; | &#x2705; | | [Virtual WAN](../../virtual-wan/index.yml) | &#x2705; | &#x2705; |
+| **Service** | **FedRAMP High** | **DoD IL2** |
| [VPN Gateway](../../vpn-gateway/index.yml) | &#x2705; | &#x2705; | | [Web Application Firewall](../../web-application-firewall/index.yml) | &#x2705; | &#x2705; | | [Web Apps (App Service)](../../app-service/index.yml) | &#x2705; | &#x2705; |
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Cloud Services](../../cloud-services/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | [Cloud Shell](../../cloud-shell/overview.md) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | | [Cognitive Search](../../search/index.yml) (formerly Azure Search) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; |
-| [Cognitive
| **Service** | **FedRAMP High** | **DoD IL2** | **DoD IL4** | **DoD IL5** | **DoD IL6** |
+| [Cognitive
| [Cognitive | [Cognitive Services Containers](../../cognitive-services/cognitive-services-container-support.md) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | | [Cognitive
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Container Registry](../../container-registry/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | [Content Delivery Network (CDN)](../../cdn/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | [Cost Management and Billing](../../cost-management-billing/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | |
-| [Customer Lockbox](../../security/fundamentals/customer-lockbox-overview.md) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | |
| **Service** | **FedRAMP High** | **DoD IL2** | **DoD IL4** | **DoD IL5** | **DoD IL6** |
+| [Customer Lockbox](../../security/fundamentals/customer-lockbox-overview.md) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | |
| [Data Box](../../databox/index.yml) **&ast;** | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | [Data Explorer](/azure/data-explorer/) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | [Data Factory](../../data-factory/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; |
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Dynamics 365 Customer Insights](/dynamics365/customer-insights/) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | | [Dynamics 365 Customer Service](/dynamics365/customer-service/overview) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | | [Dynamics 365 Customer Voice](/dynamics365/customer-voice/about) (formerly Forms Pro) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | |
-| [Dynamics 365 Field Service](/dynamics365/field-service/overview) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | |
| **Service** | **FedRAMP High** | **DoD IL2** | **DoD IL4** | **DoD IL5** | **DoD IL6** |
+| [Dynamics 365 Field Service](/dynamics365/field-service/overview) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | |
| [Dynamics 365 Finance](/dynamics365/finance/) | &#x2705; | &#x2705; | &#x2705; | | | | [Dynamics 365 Project Service Automation](/dynamics365/project-operations/psa/overview) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | | [Dynamics 365 Sales](/dynamics365/sales/help-hub) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | |
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Front Door](../../frontdoor/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | [Functions](../../azure-functions/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | [GitHub AE](https://docs.github.com/en/github-ae@latest/admin/overview/about-github-ae) | &#x2705; | &#x2705; | &#x2705; | | |
-| [HDInsight](../../hdinsight/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; |
| **Service** | **FedRAMP High** | **DoD IL2** | **DoD IL4** | **DoD IL5** | **DoD IL6** |
+| [HDInsight](../../hdinsight/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; |
| [HPC Cache](../../hpc-cache/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | | [Import/Export](../../import-export/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | | [IoT Hub](../../iot-hub/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | |
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Microsoft 365 Defender](/microsoft-365/security/defender/) (formerly Microsoft Threat Protection) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | | [Microsoft Azure portal](../../azure-portal/index.yml) | &#x2705; | &#x2705; | &#x2705;| &#x2705; | &#x2705; | | [Microsoft Azure Government portal](../documentation-government-get-started-connect-with-portal.md) | &#x2705; | &#x2705; | &#x2705;| &#x2705; | |
-| [Microsoft Defender for Cloud](../../defender-for-cloud/index.yml) (formerly Azure Security Center) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; |
| **Service** | **FedRAMP High** | **DoD IL2** | **DoD IL4** | **DoD IL5** | **DoD IL6** |
+| [Microsoft Defender for Cloud](../../defender-for-cloud/index.yml) (formerly Azure Security Center) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; |
| [Microsoft Defender for Cloud Apps](/defender-cloud-apps/) (formerly Microsoft Cloud App Security) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | | [Microsoft Defender for Endpoint](/microsoft-365/security/defender-endpoint/) (formerly Microsoft Defender Advanced Threat Protection) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | | [Microsoft Defender for Identity](/defender-for-identity/) (formerly Azure Advanced Threat Protection) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | |
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Peering Service](../../peering-service/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | | [Planned Maintenance for VMs](../../virtual-machines/maintenance-and-updates.md) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | | [Power Apps](/powerapps/) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | |
-| [Power Automate](/power-automate/) (formerly Microsoft Flow) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | |
| **Service** | **FedRAMP High** | **DoD IL2** | **DoD IL4** | **DoD IL5** | **DoD IL6** |
+| [Power Automate](/power-automate/) (formerly Microsoft Flow) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | |
| [Power BI](/power-bi/fundamentals/) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | [Power BI Embedded](/power-bi/developer/embedded/) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | | [Power Data Integrator for Dataverse](/power-platform/admin/data-integrator) (formerly Dynamics 365 Integrator App) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | |
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Service Bus](../../service-bus-messaging/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | [Service Fabric](../../service-fabric/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | [Service Health](../../service-health/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | |
-| [SignalR Service](../../azure-signalr/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | |
| **Service** | **FedRAMP High** | **DoD IL2** | **DoD IL4** | **DoD IL5** | **DoD IL6** |
+| [SignalR Service](../../azure-signalr/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | |
| [Site Recovery](../../site-recovery/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | | [SQL Database](/azure/azure-sql/database/sql-database-paas-overview) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | [SQL Server Stretch Database](../../sql-server-stretch-database/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | |
azure-monitor Data Collection Text Log https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/agents/data-collection-text-log.md
The custom table must be created before you can send data to it. When you create
Use the **Tables - Update** API to create the table with the PowerShell code below. This code creates a table called *MyTable_CL* with two columns. Modify this schema to collect a different table. > [!IMPORTANT]
-> Custom tables must use a suffix of *_CL*.
+> Custom tables must use a suffix of *_CL* as in *tablename_CL*. The *tablename_CL* in the DataFlows Streams must match the *tablename_CL* name created in the log Analytics workspace.
1. Click the **Cloud Shell** button in the Azure portal and ensure the environment is set to **PowerShell**.
The [data collection rule (DCR)](../essentials/data-collection-rule-overview.md)
**Data collection rule for text log** See [Structure of a data collection rule in Azure Monitor (preview)](../essentials/data-collection-rule-structure.md#custom-logs) if you want to modify the text log DCR.
+
+ > [!IMPORTANT]
+ > Custom tables must use a suffix of *_CL* as in *tablename_CL*. The *tablename_CL* in the DataFlows Streams must match the *tablename_CL* name created in the log Analytics workspace.
```json {
azure-monitor Java Standalone Config https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/java-standalone-config.md
Cloud role name overrides allow you to override the [default cloud role name](#c
"roleNameOverrides": [ { "httpPathPrefix": "/myapp1",
- "roleName": "12345678-0000-0000-0000-0FEEDDADBEEF"
+ "roleName": "Role A"
}, { "httpPathPrefix": "/myapp2",
- "roleName": "87654321-0000-0000-0000-0FEEDDADBEEF"
+ "roleName": "Role B"
} ] }
azure-resource-manager Deploy What If https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/bicep/deploy-what-if.md
az deployment group create \
### Test modification
-After the deployment completes, you're ready to test the what-if operation. This time you deploy a Bicep file that changes the virtual network. It's missing one the original tags, a subnet has been removed, and the address prefix has changed. Download a copy of the Bicep file.
+After the deployment completes, you're ready to test the what-if operation. This time you deploy a Bicep file that changes the virtual network. It's missing one of the original tags, a subnet has been removed, and the address prefix has changed. Download a copy of the Bicep file.
:::code language="bicep" source="~/azure-docs-bicep-samples/samples/deploy-what-if/what-if-after.bicep":::
communication-services Sub Eligibility Number Capability https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/communication-services/concepts/numbers/sub-eligibility-number-capability.md
Additional details on eligible subscription types are as follows:
| Number Type | Eligible Azure Agreement Type | | :- | :-- | | Toll-Free and Local (Geographic) | Modern Customer Agreement (Field and Customer Led), Modern Partner Agreement (CSP), Enterprise Agreement* |
-| Short-Codes | Modern Customer Agreement (Field Led) and Enterprise Agreement Only** |
+| Short-Codes | Modern Customer Agreement (Field Led) and Enterprise Agreement** |
\* Allowing the purchase of Italian phone numbers for CSP and LSP customers is planned only for General Availability launch.
communication-services Sms Faq https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/communication-services/concepts/sms/sms-faq.md
Title: SMS FAQ
description: SMS FAQ -+ Previously updated : 06/30/2021 Last updated : 08/19/2022
Opt-outs for US toll-free numbers are mandated and enforced by US carriers and c
Azure communication service offers an opt-out management service for short codes that allows customers to configure responses to mandatory keywords STOP/START/HELP. Prior to provisioning your short code, you will be asked for your preference to manage opt-outs. If you opt-in to use it, the opt-out management service will automatically use your responses in the program brief for Opt-in/ Opt-out/ Help keywords in response to STOP/START/HELP keyword. *Example:* -- **STOP** - If a text message recipient wishes to opt-out, they can send ΓÇÿSTOPΓÇÖ to the short code. Azure Communication Services sends the following default response for STOP: *"Contoso Alerts: YouΓÇÖre opted out and will receive no further messages."*-- **START/UNSTOP** - If the recipient wishes to resubscribe to text messages from a toll-free number, they can send ΓÇÿSTARTΓÇÖ or ΓÇÿUNSTOP to the toll-free number. Azure Communication Service sends the following default response for START/UNSTOP: *ΓÇ£Contoso Promo Alerts: 3 msgs/week. Msg&Data Rates May Apply. Reply HELP for help. Reply STOP to opt-out.ΓÇ¥*
+- **STOP** - If a text message recipient wishes to opt-out, they can send ΓÇÿSTOPΓÇÖ to the short code. Azure Communication Services sends your configured response for STOP: *"Contoso Alerts: YouΓÇÖre opted out and will receive no further messages."*
+- **START** - If the recipient wishes to resubscribe to text messages from a short code, they can send ΓÇÿSTARTΓÇÖ to the short code. Azure Communication Service sends your configured response for START: *ΓÇ£Contoso Promo Alerts: 3 msgs/week. Msg&Data Rates May Apply. Reply HELP for help. Reply STOP to opt-out.ΓÇ¥*
- **HELP** - If the recipient wishes to get help with your service, they can send 'HELP' to the short code. Azure Communication Service sends the response you configured in the program brief for HELP: *"Thanks for texting Contoso! Call 1-800-800-8000 for support."* Azure Communication Services will detect the STOP message and block all further messages to the recipient. The delivery report will indicate a failed delivery with status message as ΓÇ£Sender blocked for given recipient.ΓÇ¥ The STOP, UNSTOP and START messages will be relayed back to you. Azure Communication Services encourages you to monitor and implement these opt-outs to ensure that no further message send attempts are made to recipients who have opted out of your communications.
Once you have submitted the short code program brief application in the Azure po
## Toll-Free Verification ### What is toll free verification and why is it mandatory?
-The toll-free verification process ensures that your services running on toll-free numbers (TFNs) comply with carrier policies and industry best practices. This also provides relevant service information to reduce the likelihood of false positive filtering and wrongful spam blocks.ΓÇ»
+The toll-free verification process ensures that your services running on toll-free numbers (TFNs) comply with carrier policies and [industry best practices](./messaging-policy.md). This also provides relevant service information to reduce the likelihood of false positive filtering and wrongful spam blocks.
-September 30, 2022 onwards, all new TFNs must complete a toll-free verification process. All existing TFNs must complete a toll-free verification process by September 30, 2022. If unverified, the TFNs may face SMS service interruptions. Verification can take up to 2-3 weeks.
+September 30, 2022 onwards, all new TFNs must complete a toll-free verification process. All existing TFNs must complete a toll-free verification process by September 30, 2022. If unverified, the TFNs may face SMS service interruptions. Verification can take 3-4 weeks.
-This decision has been made to ensure that the toll-free messaging channel is aligned with both short code and 10 DLC, whereby all services are reviewed. It also ensures that the sending brand and the type of traffic your messaging channels deliver is known, documented, and verified.
+This decision has been made to ensure that the toll-free messaging channel is aligned with both short code and 10 DLC, whereby all services are reviewed. It also ensures that the sending brand and the type of traffic your messaging channels deliver is known, documented, and verified. This verification requirement is applicable to toll-free numbers in United States and Canada.
### How do I submit a toll-free verification?
-For submitting the toll-free verification form, go to the Azure Communications Service Resource that your toll-free number is associated with in Azure portal and navigate to the Phone numbers blade. Click on the Toll-Free verification application link displayed in the infobox at the top of the phone numbers blade.
+Existing Azure Communications Service customers with toll-free numbers will have received an email with the toll-free verification form that can be filled out and submitted. If you have not received an email, please email acstnrequest@microsoft.com.
### How is my data being used? Toll-free verification (TFV) involves an integration between Microsoft and the Toll-Free messaging aggregator. The toll-free messaging aggregator is the final reviewer and approver of the TFV application. Microsoft must share the TFV application information with the toll-free messaging aggregator for them to confirm that the program details meet the CTIA guidelines and standards set by carriers. By submitting a TFV form, you agree that Microsoft may share the TFV application details as necessary for provisioning the toll-free number.
Toll-free verification (TFV) involves an integration between Microsoft and the T
Unverified numbers may face SMS service interruptions and are subject to carrier filtering and throttling. ### What happens after I submit the toll-free verification form?
-Once we receive your toll-free verification form, we will relay it to the toll-free messaging aggregator for them to review and approve it. This process takes 2-3 weeks. We will let you know any updates and the status of your applications via the email you provide in the application. For more questions about your submitted application, please email acstnrequest@microsoft.com.
+Once we receive your toll-free verification form, we will relay it to the toll-free messaging aggregator for them to review and approve it. This process takes 3-4 weeks. We will let you know any updates and the status of your applications via the email you provide in the application. For more questions about your submitted application, please email acstnrequest@microsoft.com.
### Can I send messages while I wait for approval? You will be able to send messages while you wait for approval but the traffic will be subject to carrier filtering and throttling if it's flagged as spam.
connectors Compare Built In Azure Connectors https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/connectors/compare-built-in-azure-connectors.md
ms.suite: integration Previously updated : 01/20/2022 Last updated : 08/20/2022 # As a developer, I want to understand the differences between built-in and Azure connectors in Azure Logic Apps (Standard).
connectors Connectors Create Api Azureblobstorage https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/connectors/connectors-create-api-azureblobstorage.md
ms.suite: integration Previously updated : 07/30/2022 Last updated : 08/19/2022 tags: connectors
Only one Blob trigger exists and has either of the following names, based on whe
| Standard | - Built-in: **When a blob is Added or Modified in Azure Storage** <br><br>- Managed connector: **When a blob is added or modified (properties only)** | - Built-in: The trigger fires when a blob is added or updated in your storage container. The trigger also fires for any nested folders in your storage container, not just the root folder. <br><br>- Managed connector: The trigger fires when a blob's properties are added or updated in your storage container's root folder. | ||||
+> [!IMPORTANT]
+> When you set up the Blob trigger, the built-in version processes all existing blobs in the container, while the managed version ignores existing blobs in the container.
+ When the trigger fires each time, Azure Logic Apps creates a logic app instance and starts running the workflow. ### [Consumption](#tab/consumption)
connectors Connectors Sftp Ssh https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/connectors/connectors-sftp-ssh.md
ms.suite: integration
Previously updated : 08/16/2022 Last updated : 08/19/2022 tags: connectors
For differences between the SFTP-SSH connector and the SFTP connector, review th
* Globalscape * SFTP for Azure Blob Storage * FileMage Gateway
+ * VShell Secure File Transfer Server
* The following SFTP-SSH actions support [chunking](../logic-apps/logic-apps-handle-large-messages.md):
This error can happen when your logic app can't successfully establish a connect
* If this error happens intermittently, change the **Retry policy** setting on the SFTP-SSH action to a retry count higher than the default four retries.
-* Check whether SFTP server puts a limit on the number of connections from each IP address. If a limit exists, you might have to limit the number of concurrent logic app instances.
+* Check whether your SFTP server puts a limit on the number of connections from each IP address. Any such limit hinders communication between the connector and the SFTP server. Make sure to remove this limit.
* To reduce connection establishment cost, in the SSH configuration for your SFTP server, increase the [**ClientAliveInterval**](https://man.openbsd.org/sshd_config#ClientAliveInterval) property to around one hour.
cosmos-db Troubleshoot Dot Net Sdk Slow Request https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cosmos-db/sql/troubleshoot-dot-net-sdk-slow-request.md
description: Learn how to diagnose and fix slow requests when you use Azure Cosm
Previously updated : 07/08/2022 Last updated : 08/19/2022
When you design your application, [follow the .NET SDK best practices](performan
Consider the following when developing your application: * The application should be in the same region as your Azure Cosmos DB account.
-* The SDK has several caches that have to be initialized, which might slow down the first few requests.
-* The connectivity mode should be direct and TCP.
+* Your [ApplicationRegion](/dotnet/api/microsoft.azure.cosmos.cosmosclientoptions.applicationregion), [ApplicationPreferredRegions](/dotnet/api/microsoft.azure.cosmos.cosmosclientoptions.applicationpreferredregions), or [PreferredLocations](/dotnet/api/microsoft.azure.documents.client.connectionpolicy.preferredlocations) for V2 SDK configuration is should reflect your regional preference and point to the region your application is deployed on.
+* There might be a bottleneck on the Network interface because of high traffic. If the application is running on Azure Virtual Machines, there are possible workarounds:
+ * Consider using a [Virtual Machine with Accelerated Networking enabled](../../virtual-network/create-vm-accelerated-networking-powershell.md).
+ * Enable [Accelerated Networking on an existing Virtual Machine](../../virtual-network/create-vm-accelerated-networking-powershell.md#enable-accelerated-networking-on-existing-vms).
+ * Consider using a [higher end Virtual Machine](../../virtual-machines/sizes.md).
+* Prefer [direct connectivity mode](sql-sdk-connection-modes.md).
* Avoid high CPU. Make sure to look at the maximum CPU and not the average, which is the default for most logging systems. Anything above roughly 40 percent can increase the latency. ## Metadata operations
cosmos-db Troubleshoot Dot Net Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cosmos-db/sql/troubleshoot-dot-net-sdk.md
Title: Diagnose and troubleshoot issues when using Azure Cosmos DB .NET SDK
description: Use features like client-side logging and other third-party tools to identify, diagnose, and troubleshoot Azure Cosmos DB issues when using .NET SDK. Previously updated : 03/05/2021 Last updated : 08/19/2022
If your app is deployed on [Azure Virtual Machines without a public IP address](
* Assign a [public IP to your Azure VM](../../load-balancer/troubleshoot-outbound-connection.md#configure-an-individual-public-ip-on-vm). ### <a name="high-network-latency"></a>High network latency
-High network latency can be identified by using the [diagnostics string](/dotnet/api/microsoft.azure.documents.client.resourceresponsebase.requestdiagnosticsstring) in the V2 SDK or [diagnostics](/dotnet/api/microsoft.azure.cosmos.responsemessage.diagnostics#Microsoft_Azure_Cosmos_ResponseMessage_Diagnostics) in V3 SDK.
-If no [timeouts](troubleshoot-dot-net-sdk-request-timeout.md) are present and the diagnostics show single requests where the high latency is evident.
+High network latency can be identified by using the diagnostics.
# [V3 SDK](#tab/diagnostics-v3)
ItemResponse<MyItem> response = await container.CreateItemAsync<MyItem>(item);
Console.WriteLine(response.Diagnostics.ToString()); ```
-Network interactions in the diagnostics will be for example:
-
-```json
-{
- "name": "Microsoft.Azure.Documents.ServerStoreModel Transport Request",
- "id": "0e026cca-15d3-4cf6-bb07-48be02e1e82e",
- "component": "Transport",
- "start time": "12: 58: 20: 032",
- "duration in milliseconds": 1638.5957
-}
-```
-
-Where the `duration in milliseconds` would show the latency.
- # [V2 SDK](#tab/diagnostics-v2) The diagnostics are available when the client is configured in [direct mode](sql-sdk-connection-modes.md), through the `RequestDiagnosticsString` property:
The diagnostics are available when the client is configured in [direct mode](sql
ResourceResponse<Document> response = await client.ReadDocumentAsync(documentLink, new RequestOptions() { PartitionKey = new PartitionKey(partitionKey) }); Console.WriteLine(response.RequestDiagnosticsString); ```-
-And the latency would be on the difference between `ResponseTime` and `RequestStartTime`:
-
-```bash
-RequestStartTime: 2020-03-09T22:44:49.5373624Z, RequestEndTime: 2020-03-09T22:44:49.9279906Z, Number of regions attempted:1
-ResponseTime: 2020-03-09T22:44:49.9279906Z, StoreResult: StorePhysicalAddress: rntbd://..., ...
-```
-This latency can have multiple causes:
-
-* Your application is not running in the same region as your Azure Cosmos DB account.
-* Your [PreferredLocations](/dotnet/api/microsoft.azure.documents.client.connectionpolicy.preferredlocations) or [ApplicationRegion](/dotnet/api/microsoft.azure.cosmos.cosmosclientoptions.applicationregion) configuration is incorrect and is trying to connect to a different region to where your application is currently running on.
-* There might be a bottleneck on the Network interface because of high traffic. If the application is running on Azure Virtual Machines, there are possible workarounds:
- * Consider using a [Virtual Machine with Accelerated Networking enabled](../../virtual-network/create-vm-accelerated-networking-powershell.md).
- * Enable [Accelerated Networking on an existing Virtual Machine](../../virtual-network/create-vm-accelerated-networking-powershell.md#enable-accelerated-networking-on-existing-vms).
- * Consider using a [higher end Virtual Machine](../../virtual-machines/sizes.md).
+Please see our [latency troubleshooting guide](troubleshoot-dot-net-sdk-slow-request.md) once you have obtained diagnostics for the affected operations.
### Common query issues
-The [query metrics](sql-api-query-metrics.md) will help determine where the query is spending most of the time. From the query metrics, you can see how much of it is being spent on the back-end vs the client. Learn more about [troubleshooting query performance](troubleshoot-query-performance.md).
-
-* If the back-end query returns quickly, and spends a large time on the client check the load on the machine. It's likely that there are not enough resource and the SDK is waiting for resources to be available to handle the response.
-* If the back-end query is slow, try [optimizing the query](troubleshoot-query-performance.md) and looking at the current [indexing policy](../index-overview.md)
-
- > [!NOTE]
- > For improved performance, we recommend Windows 64-bit host processing. The SQL SDK includes a native ServiceInterop.dll to parse and optimize queries locally. ServiceInterop.dll is supported only on the Windows x64 platform. For Linux and other unsupported platforms where ServiceInterop.dll isn't available, an additional network call will be made to the gateway to get the optimized query.
+The [query metrics](sql-api-query-metrics.md) will help determine where the query is spending most of the time. From the query metrics, you can see how much of it is being spent on the back-end vs the client. Learn more on the [query performance guide](performance-tips-query-sdk.md?pivots=programming-language-csharp).
If you encounter the following error: `Unable to load DLL 'Microsoft.Azure.Cosmos.ServiceInterop.dll' or one of its dependencies:` and are using Windows, you should upgrade to the latest Windows version.
cosmos-db Troubleshoot Service Unavailable https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cosmos-db/sql/troubleshoot-service-unavailable.md
description: Learn how to diagnose and fix Azure Cosmos DB service unavailable e
Previously updated : 08/06/2020 Last updated : 08/19/2022
# Diagnose and troubleshoot Azure Cosmos DB service unavailable exceptions [!INCLUDE[appliesto-sql-api](../includes/appliesto-sql-api.md)]
-The SDK wasn't able to connect to Azure Cosmos DB.
+The SDK wasn't able to connect to Azure Cosmos DB. This scenario can be transient or permanent depending on the network conditions.
+
+It is important to make sure the application design is following our [guide for designing resilient applications with Azure Cosmos DB SDKs](conceptual-resilient-sdk-applications.md) to make sure it correctly reacts to different network conditions. Your application should have retries in place for service unavailable errors.
+
+When evaluating the case for service unavailable errors:
+
+* What is the impact measured in volume of operations affected compared to the operations succeeding? Is it within the service SLAs?
+* Is the P99 latency affected?
+* Are the failures affecting all your application instances or only a subset? When the issue is reduced to a subset of instances, it's commonly a problem related to those instances.
## Troubleshooting steps The following list contains known causes and solutions for service unavailable exceptions.
The following list contains known causes and solutions for service unavailable e
Verify that all the [required ports](sql-sdk-connection-modes.md#service-port-ranges) are enabled. ### Client-side transient connectivity issues
-Service unavailable exceptions can surface when there are transient connectivity problems that are causing timeouts. Typically, the stack trace related to this scenario will contain a `TransportException` error. For example:
-
-```C#
-TransportException: A client transport error occurred: The request timed out while waiting for a server response.
-(Time: xxx, activity ID: xxx, error code: ReceiveTimeout [0x0010], base error: HRESULT 0x80131500
-```
+Service unavailable exceptions can surface when there are transient connectivity problems that are causing timeouts and can be safely retried following the [design recommendations](conceptual-resilient-sdk-applications.md#timeouts-and-connectivity-related-failures-http-408503).
Follow the [request timeout troubleshooting steps](troubleshoot-dot-net-sdk-request-timeout.md#troubleshooting-steps) to resolve it.
Check the [Azure status](https://azure.status.microsoft/status) to see if there'
## Next steps * [Diagnose and troubleshoot](troubleshoot-dot-net-sdk.md) issues when you use the Azure Cosmos DB .NET SDK.
-* Learn about performance guidelines for [.NET v3](performance-tips-dotnet-sdk-v3-sql.md) and [.NET v2](performance-tips.md).
+* [Diagnose and troubleshoot](troubleshoot-java-sdk-v4-sql.md) issues when you use the Azure Cosmos DB Java SDK.
+* Learn about performance guidelines for [.NET](performance-tips-dotnet-sdk-v3-sql.md).
+* Learn about performance guidelines for [Java](performance-tips-java-sdk-v4-sql.md).
defender-for-cloud Overview Page https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/overview-page.md
# Microsoft Defender for Cloud's overview page
-The Microsoft Defender for Cloud's overview page is an interactive dashboard that provides a unified view into the security posture of your hybrid cloud workloads. Additionally, it shows security alerts, coverage information, and more.
+Microsoft Defender for Cloud's overview page is an interactive dashboard that provides a unified view into the security posture of your hybrid cloud workloads. Additionally, it shows security alerts, coverage information, and more.
You can select any element on the page to get more detailed information.
defender-for-cloud Release Notes https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/release-notes.md
Title: Release notes for Microsoft Defender for Cloud description: A description of what's new and changed in Microsoft Defender for Cloud Previously updated : 08/17/2022 Last updated : 08/21/2022 # What's new in Microsoft Defender for Cloud?
To learn about *planned* changes that are coming soon to Defender for Cloud, see
Updates in August include: -- [Vulnerabilities for running images are now visible with Defender for Container on your Windows containers](#vulnerabilities-for-running-images-are-now-visible-with-defender-for-container-on-your-windows-containers)
+- [Vulnerabilities for running images are now visible with Defender for Containers on your Windows containers](#vulnerabilities-for-running-images-are-now-visible-with-defender-for-containers-on-your-windows-containers)
- [Auto-deployment of Azure Monitor Agent (Preview)](#auto-deployment-of-azure-monitor-agent-preview)
-### Vulnerabilities for running images are now visible with Defender for Container on your Windows containers
+### Vulnerabilities for running images are now visible with Defender for Containers on your Windows containers
-Defender for Container now allows you to view vulnerabilities for your running Windows containers.
+Defender for Containers now shows vulnerabilities for running Windows containers.
-When vulnerabilities are detected, Defender for Cloud shows the detected issues, and generates the following security recommendation [Running container images should have vulnerability findings resolved](https://ms.portal.azure.com/#view/Microsoft_Azure_Security_CloudNativeCompute/KubernetesRuntimeVisibilityRecommendationDetailsBlade/assessmentKey/41503391-efa5-47ee-9282-4eff6131462c/showSecurityCenterCommandBar~/false).
+When vulnerabilities are detected, Defender for Cloud generates the following security recommendation listing the detected issues: [Running container images should have vulnerability findings resolved](https://ms.portal.azure.com/#view/Microsoft_Azure_Security_CloudNativeCompute/KubernetesRuntimeVisibilityRecommendationDetailsBlade/assessmentKey/41503391-efa5-47ee-9282-4eff6131462c/showSecurityCenterCommandBar~/false).
-Learn more about [viewing your vulnerabilities for running images](defender-for-containers-introduction.md#view-vulnerabilities-for-running-images).
+Learn more about [viewing vulnerabilities for running images](defender-for-containers-introduction.md#view-vulnerabilities-for-running-images).
### Auto-deployment of Azure Monitor Agent (Preview)
defender-for-iot Service Now Legacy https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/integrations/service-now-legacy.md
+
+ Title: Microsoft Defender for IoT integration with ServiceNow (legacy)
+description: In this tutorial, learn how to integrate the legacy ServiceNow integration with Microsoft Defender for IoT.
+ Last updated : 08/11/2022++
+# Tutorial: Integrate ServiceNow with Microsoft Defender for IoT (legacy)
+
+> [!Note]
+> A new [Operational Technology Manager](https://store.servicenow.com/sn_appstore_store.do#!/store/application/31eed0f72337201039e2cb0a56bf65ef/1.1.2?referer=%2Fstore%2Fsearch%3Flistingtype%3Dallintegrations%25253Bancillary_app%25253Bcertified_apps%25253Bcontent%25253Bindustry_solution%25253Boem%25253Butility%25253Btemplate%26q%3Doperational%2520technology%2520manager&sl=sh) integration is now available from the ServiceNow store. The new integration streamlines Microsoft Defender for IoT sensor appliances, OT assets, network connections, and vulnerabilities to ServiceNowΓÇÖs Operational Technology (OT) data model.
+>
+>Please read the ServiceNowΓÇÖs supporting links and docs for the ServiceNow's terms of service.
+>
+>Microsoft Defender for IoT's legacy integration with ServiceNow is not affected by the new integrations and Microsoft will continue supporting it.
+>
+> For more information, see the new [ServiceNow integrations](../tutorial-servicenow.md), and the ServiceNow documentation on the ServiceNow store:
+>- [Service Graph Connector (SGC)](https://store.servicenow.com/sn_appstore_store.do#!/store/application/ddd4bf1b53f130104b5cddeeff7b1229)
+>- [Vulnerability Response (VR)](https://store.servicenow.com/sn_appstore_store.do#!/store/application/463a7907c3313010985a1b2d3640dd7e).
+
+This tutorial will help you learn how to integrate, and use ServiceNow with Microsoft Defender for IoT.
+
+The Defender for IoT integration with ServiceNow provides a new level of centralized visibility, monitoring, and control for the IoT and OT landscape. These bridged platforms enable automated device visibility and threat management to previously unreachable ICS & IoT devices.
+
+The ServiceNow Configuration Management Database (CMDB) is enriched, and supplemented with a rich set of device attributes that are pushed by the Defender for IoT platform. This ensures a comprehensive, and continuous visibility into the device landscape. This visibility lets you monitor, and respond from a single-pane-of-glass.
+
+In this tutorial, you learn how to:
+
+> [!div class="checklist"]
+> * Download the Defender for IoT application in ServiceNow
+> * Set up Defender for IoT to communicate with ServiceNow
+> * Create access tokens in ServiceNow
+> * Send Defender for IoT device attributes to ServiceNow
+> * Set up the integration using an HTTPS proxy
+> * View Defender for IoT detections in ServiceNow
+> * View connected devices
+
+## Prerequisites
+
+### Software requirements
+
+Access to ServiceNow and Defender for IoT
+
+- ServiceNow Service Management version 3.0.2.
+
+- Defender for IoT patch 2.8.11.1 or above.
+
+> [!Note]
+>If you are already working with a Defender for IoT and ServiceNow integration and upgrade using the on-premises management console. In that case, the previous data from Defender for IoT sensors should be cleared from ServiceNow.
+
+### Architecture
+
+- **On-premises management console architecture**: Set up an on-premises management console to communicate with one instance of ServiceNow. The on-premises management console pushes sensor data to the Defender for IoT application using REST API.
+
+ To set up your system to work with an on-premises management console, you will need to disable the ServiceNow Sync, Forwarding Rules, and Proxy configurations on any sensors where they were set up.
+
+- **Sensor architecture**: If you want to set up your environment to include direct communication between sensors and ServiceNow, for each sensor define the ServiceNow Sync, Forwarding rules, and proxy configuration (if a proxy is needed).
+
+## Download the Defender for IoT application in ServiceNow
+
+To access the Defender for IoT application within ServiceNow, you will need to download the application from the ServiceNow application store.
+
+**To access the Defender for IoT application in ServiceNow**:
+
+1. Navigate to the [ServiceNow application store](https://store.servicenow.com/).
+
+1. Search for `Defender for IoT` or `CyberX IoT/ICS Management`.
+
+ :::image type="content" source="../media/tutorial-servicenow/search-results.png" alt-text="Screenshot of the search screen in ServiceNow.":::
+
+1. Select the application.
+
+ :::image type="content" source="../media/tutorial-servicenow/cyberx-app.png" alt-text="Screenshot of the search screen results.":::
+
+1. Select **Request App**.
+
+ :::image type="content" source="../media/tutorial-servicenow/sign-in.png" alt-text="Sign in to the application with your credentials.":::
+
+1. Sign in, and download the application.
+
+## Set up Defender for IoT to communicate with ServiceNow
+
+Configure Defender for IoT to push alert information to the ServiceNow tables. Defender for IoT alerts will appear in ServiceNow as security incidents. This can be done by defining a Defender for IoT forwarding rule to send alert information to ServiceNow.
+
+**To push alert information to the ServiceNow tables**:
+
+1. Sign in to the on-premises management console.
+
+1. Select **Forwarding**, in the left side pane.
+
+1. Select the :::image type="icon" source="../media/tutorial-servicenow/plus-icon.png" border="false"::: button.
+
+ :::image type="content" source="../media/tutorial-servicenow/forwarding-rule.png" alt-text="Screenshot of the Create Forwarding Rule window.":::
+
+1. Add a rule name.
+
+1. Define criteria under which Defender for IoT will trigger the forwarding rule. Working with Forwarding rule criteria helps pinpoint and manage the volume of information sent from Defender for IoT to ServiceNow. The following options are available:
+
+ - **Severity levels:** This is the minimum-security level incident to forward. For example, if **Minor** is selected, minor alerts, and any alert above this severity level will be forwarded. Levels are pre-defined by Defender for IoT.
+
+ - **Protocols:** Only trigger the forwarding rule if the traffic detected was running over specific protocols. Select the required protocols from the drop-down list or choose them all.
+
+ - **Engines:** Select the required engines or choose them all. Alerts from selected engines will be sent.
+
+1. Verify that **Report Alert Notifications** is selected.
+
+1. In the Actions section, select **Add** and then select **ServiceNow**.
+
+ :::image type="content" source="../media/tutorial-servicenow/select-servicenow.png" alt-text="Select ServiceNow from the dropdown options.":::
+
+1. Enter the ServiceNow action parameters:
+
+ :::image type="content" source="../media/tutorial-servicenow/parameters.png" alt-text="Fill in the ServiceNow action parameters.":::
+
+1. In the **Actions** pane, set the following parameters:
+
+ | Parameter | Description |
+ |--|--|
+ | Domain | Enter the ServiceNow server IP address. |
+ | Username | Enter the ServiceNow server username. |
+ | Password | Enter the ServiceNow server password. |
+ | Client ID | Enter the Client ID you received for Defender for IoT in the **Application Registries** page in ServiceNow. |
+ | Client Secret | Enter the client secret string you created for Defender for IoT in the **Application Registries** page in ServiceNow. |
+ | Report Type | **Incidents**: Forward a list of alerts that are presented in ServiceNow with an incident ID and short description of each alert.<br /><br />**Defender for IoT Application**: Forward full alert information, including the sensor details, the engine, the source, and destination addresses. The information is forwarded to the Defender for IoT on the ServiceNow application. |
+
+1. Select **SAVE**.
+
+Defender for IoT alerts will now appear as incidents in ServiceNow.
+
+## Create access tokens in ServiceNow
+
+A token is needed in order to allow ServiceNow to communicate with Defender for IoT.
+
+You'll need the `Client ID` and `Client Secret` that you entered when creating the Defender for IoT Forwarding rules. The Forwarding rules forward alert information to ServiceNow, and when configuring Defender for IoT to push device attributes to ServiceNow tables.
+
+## Send Defender for IoT device attributes to ServiceNow
+
+Configure Defender for IoT to push an extensive range of device attributes to the ServiceNow tables. To send attributes to ServiceNow, you must map your on-premises management console to a ServiceNow instance. This ensures that the Defender for IoT platform can communicate and authenticate with the instance.
+
+**To add a ServiceNow instance**:
+
+1. Sign in to your Defender for IoT on-premises management console.
+
+1. Select **System Settings**, and then **ServiceNow** from the on-premises management console Integration section.
+
+ :::image type="content" source="../media/tutorial-servicenow/servicenow.png" alt-text="Screenshot of the select the ServiceNow button.":::
+
+1. Enter the following sync parameters in the ServiceNow Sync dialog box.
+
+ :::image type="content" source="../media/tutorial-servicenow/sync.png" alt-text="Screenshot of the ServiceNow sync dialog box.":::
+
+ Parameter | Description |
+ |--|--|
+ | Enable Sync | Enable and disable the sync after defining parameters. |
+ | Sync Frequency (minutes) | By default, information is pushed to ServiceNow every 60 minutes. The minimum is 5 minutes. |
+ | ServiceNow Instance | Enter the ServiceNow instance URL. |
+ | Client ID | Enter the Client ID you received for Defender for IoT in the **Application Registries** page in ServiceNow. |
+ | Client Secret | Enter the Client Secret string you created for Defender for IoT in the **Application Registries** page in ServiceNow. |
+ | Username | Enter the username for this instance. |
+ | Password | Enter the password for this instance. |
+
+1. Select **SAVE**.
+
+Verify that the on-premises management console is connected to the ServiceNow instance by reviewing the Last Sync date.
++
+## Set up the integrations using an HTTPS proxy
+
+When setting up the Defender for IoT and ServiceNow integration, the on-premises management console and the ServiceNow server communicate using port 443. If the ServiceNow server is behind a proxy, the default port can't be used.
+
+Defender for IoT supports an HTTPS proxy in the ServiceNow integration by enabling the change of the default port used for integration.
+
+**To configure the proxy**:
+
+1. Edit the global properties on the on-premises management console using the following command:
+
+ ```bash
+ sudo vim /var/cyberx/properties/global.properties
+ ```
+
+2. Add the following parameters:
+
+ - `servicenow.http_proxy.enabled=1`
+
+ - `servicenow.http_proxy.ip=1.179.148.9`
+
+ - `servicenow.http_proxy.port=59125`
+
+3. Select **Save and Exit**.
+
+4. Reset the on-premises management console using the following command:
+
+ ```bash
+ sudo monit restart all
+ ```
+
+After the configurations are set, all the ServiceNow data is forwarded using the configured proxy.
+
+## View Defender for IoT detections in ServiceNow
+
+This article describes the device attributes and alert information presented in ServiceNow.
+
+**To view device attributes**:
+
+1. Sign in to ServiceNow.
+
+2. Navigate to **CyberX Platform**.
+
+3. Navigate to **Inventory**, or **Alert**.
+
+ [:::image type="content" source="../media/tutorial-servicenow/alert-list.png" alt-text="Screenshot of the Inventory or Alert.":::](../media/tutorial-servicenow/alert-list.png#lightbox)
+
+## View connected devices
+
+To view connected devices:
+
+1. Select a device, and then select the **Appliance** listed in for that device.
+
+ :::image type="content" source="../media/tutorial-servicenow/appliance.png" alt-text="Screenshot of the desired appliance from the list.":::
+
+1. In the **Device Details** dialog box, select **Connected Devices**.
+
+## Clean up resources
+
+There are no resources to clean up.
+
+## Next steps
+
+In this article, you learned how to get started with the ServiceNow integration. Continue on to learn about our [Cisco integration](../tutorial-forescout.md).
defender-for-iot Tutorial Servicenow https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/tutorial-servicenow.md
Title: Integrate ServiceNow with Microsoft Defender for IoT description: In this tutorial, learn how to integrate ServiceNow with Microsoft Defender for IoT.- Previously updated : 11/22/2021-+ Last updated : 08/11/2022
-# Tutorial: Integrate ServiceNow with Microsoft Defender for IoT
-
-> [!Note]
-> A new [Operational Technology Manager](https://store.servicenow.com/sn_appstore_store.do#!/store/application/31eed0f72337201039e2cb0a56bf65ef/1.1.2?referer=%2Fstore%2Fsearch%3Flistingtype%3Dallintegrations%25253Bancillary_app%25253Bcertified_apps%25253Bcontent%25253Bindustry_solution%25253Boem%25253Butility%25253Btemplate%26q%3Doperational%2520technology%2520manager&sl=sh) integration is now available from the ServiceNow store. The new integration streamlines Microsoft Defender for IoT sensor appliances, OT assets, network connections, and vulnerabilities to ServiceNowΓÇÖs Operational Technology (OT) data model.
->
->Please read the ServiceNowΓÇÖs supporting links and docs for the ServiceNow's terms of service.
->
->Microsoft Defender for IoT's current integration is not affected by the new integration and Microsoft keeps supporting it.
->
-> For more information, please see the [Service Graph Connector (SGC)](https://store.servicenow.com/sn_appstore_store.do#!/store/application/ddd4bf1b53f130104b5cddeeff7b1229) and [Vulnerability Response (VR)](https://store.servicenow.com/sn_appstore_store.do#!/store/application/463a7907c3313010985a1b2d3640dd7e) integrations with Microsoft Defender for IoT on the ServiceNow store.
-
-This tutorial will help you learn how to integrate, and use ServiceNow with Microsoft Defender for IoT.
+# Integrate ServiceNow with Microsoft Defender for IoT
The Defender for IoT integration with ServiceNow provides a new level of centralized visibility, monitoring, and control for the IoT and OT landscape. These bridged platforms enable automated device visibility and threat management to previously unreachable ICS & IoT devices.
-The ServiceNow Configuration Management Database (CMDB) is enriched, and supplemented with a rich set of device attributes that are pushed by the Defender for IoT platform. This ensures a comprehensive, and continuous visibility into the device landscape. This visibility lets you monitor, and respond from a single-pane-of-glass.
-
-In this tutorial, you learn how to:
-
-> [!div class="checklist"]
-> * Download the Defender for IoT application in ServiceNow
-> * Set up Defender for IoT to communicate with ServiceNow
-> * Create access tokens in ServiceNow
-> * Send Defender for IoT device attributes to ServiceNow
-> * Set up the integration using an HTTPS proxy
-> * View Defender for IoT detections in ServiceNow
-> * View connected devices
-
-## Prerequisites
-
-### Software requirements
-
-Access to ServiceNow and Defender for IoT
--- ServiceNow Service Management version 3.0.2.--- Defender for IoT patch 2.8.11.1 or above.-
-> [!Note]
->If you are already working with a Defender for IoT and ServiceNow integration and upgrade using the on-premises management console. In that case, the previous data from Defender for IoT sensors should be cleared from ServiceNow.
-
-### Architecture
--- **On-premises management console architecture**: Set up an on-premises management console to communicate with one instance of ServiceNow. The on-premises management console pushes sensor data to the Defender for IoT application using REST API.-
- To set up your system to work with an on-premises management console, you will need to disable the ServiceNow Sync, Forwarding Rules, and Proxy configurations on any sensors where they were set up.
--- **Sensor architecture**: If you want to set up your environment to include direct communication between sensors and ServiceNow, for each sensor define the ServiceNow Sync, Forwarding rules, and proxy configuration (if a proxy is needed).-
-## Download the Defender for IoT application in ServiceNow
-
-To access the Defender for IoT application within ServiceNow, you will need to download the application from the ServiceNow application store.
-
-**To access the Defender for IoT application in ServiceNow**:
-
-1. Navigate to the [ServiceNow application store](https://store.servicenow.com/).
-
-1. Search for `Defender for IoT` or `CyberX IoT/ICS Management`.
-
- :::image type="content" source="media/tutorial-servicenow/search-results.png" alt-text="Screenshot of the search screen in ServiceNow.":::
-
-1. Select the application.
-
- :::image type="content" source="media/tutorial-servicenow/cyberx-app.png" alt-text="Screenshot of the search screen results.":::
-
-1. Select **Request App**.
-
- :::image type="content" source="media/tutorial-servicenow/sign-in.png" alt-text="Sign in to the application with your credentials.":::
-
-1. Sign in, and download the application.
-
-## Set up Defender for IoT to communicate with ServiceNow
-
-Configure Defender for IoT to push alert information to the ServiceNow tables. Defender for IoT alerts will appear in ServiceNow as security incidents. This can be done by defining a Defender for IoT forwarding rule to send alert information to ServiceNow.
-
-**To push alert information to the ServiceNow tables**:
-
-1. Sign in to the on-premises management console.
-
-1. Select **Forwarding**, in the left side pane.
-
-1. Select the :::image type="icon" source="media/tutorial-servicenow/plus-icon.png" border="false"::: button.
-
- :::image type="content" source="media/tutorial-servicenow/forwarding-rule.png" alt-text="Screenshot of the Create Forwarding Rule window.":::
-
-1. Add a rule name.
-
-1. Define criteria under which Defender for IoT will trigger the forwarding rule. Working with Forwarding rule criteria helps pinpoint and manage the volume of information sent from Defender for IoT to ServiceNow. The following options are available:
-
- - **Severity levels:** This is the minimum-security level incident to forward. For example, if **Minor** is selected, minor alerts, and any alert above this severity level will be forwarded. Levels are pre-defined by Defender for IoT.
-
- - **Protocols:** Only trigger the forwarding rule if the traffic detected was running over specific protocols. Select the required protocols from the drop-down list or choose them all.
-
- - **Engines:** Select the required engines or choose them all. Alerts from selected engines will be sent.
-
-1. Verify that **Report Alert Notifications** is selected.
-
-1. In the Actions section, select **Add** and then select **ServiceNow**.
-
- :::image type="content" source="media/tutorial-servicenow/select-servicenow.png" alt-text="Select ServiceNow from the dropdown options.":::
-
-1. Enter the ServiceNow action parameters:
+A new [Operational Technology Manager](https://store.servicenow.com/sn_appstore_store.do#!/store/application/31eed0f72337201039e2cb0a56bf65ef/1.1.2?referer=%2Fstore%2Fsearch%3Flistingtype%3Dallintegrations%25253Bancillary_app%25253Bcertified_apps%25253Bcontent%25253Bindustry_solution%25253Boem%25253Butility%25253Btemplate%26q%3Doperational%2520technology%2520manager&sl=sh) integration is now available from the ServiceNow store. The new integration streamlines Microsoft Defender for IoT sensor appliances, OT assets, network connections, and vulnerabilities to ServiceNowΓÇÖs Operational Technology (OT) data model.
- :::image type="content" source="media/tutorial-servicenow/parameters.png" alt-text="Fill in the ServiceNow action parameters.":::
+## ServiceNow integrations with Microsoft Defender for IoT
-1. In the **Actions** pane, set the following parameters:
+Once you have the Operational Technology Manager application, two new integrations are available:
- | Parameter | Description |
- |--|--|
- | Domain | Enter the ServiceNow server IP address. |
- | Username | Enter the ServiceNow server username. |
- | Password | Enter the ServiceNow server password. |
- | Client ID | Enter the Client ID you received for Defender for IoT in the **Application Registries** page in ServiceNow. |
- | Client Secret | Enter the client secret string you created for Defender for IoT in the **Application Registries** page in ServiceNow. |
- | Report Type | **Incidents**: Forward a list of alerts that are presented in ServiceNow with an incident ID and short description of each alert.<br /><br />**Defender for IoT Application**: Forward full alert information, including the sensor details, the engine, the source, and destination addresses. The information is forwarded to the Defender for IoT on the ServiceNow application. |
+### Service Graph Connector (SGC)
-1. Select **SAVE**.
+Import Microsoft Defender for IoT sensors with additional attributes, including connection details and Purdue model zones, into the Network Intrusion Detection Systems (NIDS) class. Provide visibility into your OT network status and manage it within the ServiceNow application.
-Defender for IoT alerts will now appear as incidents in ServiceNow.
+For more information, please see the [Service Graph Connector (SGC)](https://store.servicenow.com/sn_appstore_store.do#!/store/application/ddd4bf1b53f130104b5cddeeff7b1229) information on the ServiceNow store.
-## Create access tokens in ServiceNow
+### Vulnerability Response (VR)
-A token is needed in order to allow ServiceNow to communicate with Defender for IoT.
+Track and resolve vulnerabilities of your OT assets with the data imported from Defender for IoT into the ServiceNow Operational Technology Vulnerability Response application.
-You'll need the `Client ID` and `Client Secret` that you entered when creating the Defender for IoT Forwarding rules. The Forwarding rules forward alert information to ServiceNow, and when configuring Defender for IoT to push device attributes to ServiceNow tables.
+For more information, please see the [Vulnerability Response (VR)](https://store.servicenow.com/sn_appstore_store.do#!/store/application/463a7907c3313010985a1b2d3640dd7e) information on the ServiceNow store.
-## Send Defender for IoT device attributes to ServiceNow
-
-Configure Defender for IoT to push an extensive range of device attributes to the ServiceNow tables. To send attributes to ServiceNow, you must map your on-premises management console to a ServiceNow instance. This ensures that the Defender for IoT platform can communicate and authenticate with the instance.
-
-**To add a ServiceNow instance**:
-
-1. Sign in to your Defender for IoT on-premises management console.
-
-1. Select **System Settings**, and then **ServiceNow** from the on-premises management console Integration section.
-
- :::image type="content" source="media/tutorial-servicenow/servicenow.png" alt-text="Screenshot of the select the ServiceNow button.":::
-
-1. Enter the following sync parameters in the ServiceNow Sync dialog box.
-
- :::image type="content" source="media/tutorial-servicenow/sync.png" alt-text="Screenshot of the ServiceNow sync dialog box.":::
-
- Parameter | Description |
- |--|--|
- | Enable Sync | Enable and disable the sync after defining parameters. |
- | Sync Frequency (minutes) | By default, information is pushed to ServiceNow every 60 minutes. The minimum is 5 minutes. |
- | ServiceNow Instance | Enter the ServiceNow instance URL. |
- | Client ID | Enter the Client ID you received for Defender for IoT in the **Application Registries** page in ServiceNow. |
- | Client Secret | Enter the Client Secret string you created for Defender for IoT in the **Application Registries** page in ServiceNow. |
- | Username | Enter the username for this instance. |
- | Password | Enter the password for this instance. |
-
-1. Select **SAVE**.
-
-Verify that the on-premises management console is connected to the ServiceNow instance by reviewing the Last Sync date.
--
-## Set up the integrations using an HTTPS proxy
-
-When setting up the Defender for IoT and ServiceNow integration, the on-premises management console and the ServiceNow server communicate using port 443. If the ServiceNow server is behind a proxy, the default port can't be used.
-
-Defender for IoT supports an HTTPS proxy in the ServiceNow integration by enabling the change of the default port used for integration.
-
-**To configure the proxy**:
-
-1. Edit the global properties on the on-premises management console using the following command:
-
- ```bash
- sudo vim /var/cyberx/properties/global.properties
- ```
-
-2. Add the following parameters:
-
- - `servicenow.http_proxy.enabled=1`
-
- - `servicenow.http_proxy.ip=1.179.148.9`
-
- - `servicenow.http_proxy.port=59125`
-
-3. Select **Save and Exit**.
-
-4. Reset the on-premises management console using the following command:
-
- ```bash
- sudo monit restart all
- ```
-
-After the configurations are set, all the ServiceNow data is forwarded using the configured proxy.
-
-## View Defender for IoT detections in ServiceNow
-
-This article describes the device attributes and alert information presented in ServiceNow.
-
-**To view device attributes**:
-
-1. Sign in to ServiceNow.
-
-2. Navigate to **CyberX Platform**.
-
-3. Navigate to **Inventory**, or **Alert**.
-
- [:::image type="content" source="media/tutorial-servicenow/alert-list.png" alt-text="Screenshot of the Inventory or Alert.":::](media/tutorial-servicenow/alert-list.png#lightbox)
-
-## View connected devices
-
-To view connected devices:
-
-1. Select a device, and then select the **Appliance** listed in for that device.
-
- :::image type="content" source="media/tutorial-servicenow/appliance.png" alt-text="Screenshot of the desired appliance from the list.":::
-
-1. In the **Device Details** dialog box, select **Connected Devices**.
-
-## Clean up resources
-
-There are no resources to clean up.
+Please read the ServiceNow supporting links and documentation for the ServiceNow terms of service.
## Next steps
-In this article, you learned how to get started with the ServiceNow integration. Continue on to learn about our [Cisco integration](./tutorial-forescout.md).
-
+For more information, please see the ServiceNow store:
+- [Service Graph Connector (SGC)](https://store.servicenow.com/sn_appstore_store.do#!/store/application/ddd4bf1b53f130104b5cddeeff7b1229)
+- [Vulnerability Response (VR)](https://store.servicenow.com/sn_appstore_store.do#!/store/application/463a7907c3313010985a1b2d3640dd7e)
hdinsight Apache Hadoop Linux Tutorial Get Started https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/hdinsight/hadoop/apache-hadoop-linux-tutorial-get-started.md
description: In this quickstart, you create Apache Hadoop cluster in Azure HDIns
Previously updated : 03/13/2020 Last updated : 08/21/2022 #Customer intent: As a data analyst, I need to create a Hadoop cluster in Azure HDInsight using Resource Manager template
hdinsight Python Udf Hdinsight https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/hdinsight/hadoop/python-udf-hdinsight.md
Title: Python UDF with Apache Hive and Apache Pig - Azure HDInsight
description: Learn how to use Python User Defined Functions (UDF) from Apache Hive and Apache Pig in HDInsight, the Apache Hadoop technology stack on Azure. Previously updated : 11/15/2019 Last updated : 08/21/2022
hdinsight Apache Hbase Query With Phoenix https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/hdinsight/hbase/apache-hbase-query-with-phoenix.md
description: In this quickstart, you learn how to use Apache Phoenix in HDInsigh
Previously updated : 06/12/2019 Last updated : 08/21/2022 #Customer intent: As a HBase user, I want learn Apache Phoenix so that I can run HBase queries in Azure HDInsight.
hdinsight Apache Kafka Performance Tuning https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/hdinsight/kafka/apache-kafka-performance-tuning.md
Title: Performance optimization for Apache Kafka HDInsight clusters
description: Provides an overview of techniques for optimizing Apache Kafka workloads on Azure HDInsight. Previously updated : 12/19/2019 Last updated : 08/21/2022 # Performance optimization for Apache Kafka HDInsight clusters
hdinsight Apache Spark Jupyter Spark Sql https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/hdinsight/spark/apache-spark-jupyter-spark-sql.md
Title: 'Quickstart: Create Apache Spark cluster using template - Azure HDInsight' description: This quickstart shows how to use Resource Manager template to create an Apache Spark cluster in Azure HDInsight, and run a Spark SQL query. Previously updated : 03/13/2020 Last updated : 08/21/2022
hdinsight Apache Spark Troubleshoot Rpctimeoutexception https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/hdinsight/spark/apache-spark-troubleshoot-rpctimeoutexception.md
Title: RpcTimeoutException for Apache Spark thrift - Azure HDInsight
description: You see 502 errors when processing large data sets using Apache Spark thrift server Previously updated : 07/29/2019 Last updated : 08/21/2022 # Scenario: RpcTimeoutException for Apache Spark thrift server in Azure HDInsight
The `spark.network.timeout` controls the timeout for all network connections. In
## Next steps
iot-dps How To Legacy Device Symm Key https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/how-to-legacy-device-symm-key.md
Title: Provision devices using symmetric keys - Azure IoT Hub Device Provisioning Service
-description: How to use symmetric keys to provision devices with your Device Provisioning Service (DPS) instance
+ Title: Tutorial - Provision devices using a symmetric key enrollment group in Azure IoT Hub Device Provisioning Service
+description: This tutorial shows how to use symmetric keys to provision devices through an enrollment group in your Device Provisioning Service (DPS) instance
Previously updated : 04/23/2021- Last updated : 08/19/2022+
-# How to provision devices using symmetric key enrollment groups
+# Tutorial: Provision devices using symmetric key enrollment groups
-This article demonstrates how to securely provision multiple simulated symmetric key devices to a single IoT Hub using an enrollment group.
+This tutorial shows how to securely provision multiple simulated symmetric key devices to a single IoT Hub using an enrollment group.
Some devices may not have a certificate, TPM, or any other security feature that can be used to securely identify the device. The Device Provisioning Service includes [symmetric key attestation](concepts-symmetric-key-attestation.md). Symmetric key attestation can be used to identify a device based off unique information like the MAC address or a serial number.
-If you can easily install a [hardware security module (HSM)](concepts-service.md#hardware-security-module) and a certificate, then that may be a better approach for identifying and provisioning your devices. Using an HSM will allow you to bypass updating the code deployed to all your devices, and you would not have a secret key embedded in your device images. This article assumes that neither an HSM or a certificate is a viable option. However, it is assumed that you do have some method of updating device code to use the Device Provisioning Service to provision these devices.
+If you can easily install a [hardware security module (HSM)](concepts-service.md#hardware-security-module) and a certificate, then that may be a better approach for identifying and provisioning your devices. Using an HSM will allow you to bypass updating the code deployed to all your devices, and you would not have a secret key embedded in your device images. This tutorial assumes that neither an HSM or a certificate is a viable option. However, it is assumed that you do have some method of updating device code to use the Device Provisioning Service to provision these devices.
-This article also assumes that the device update takes place in a secure environment to prevent unauthorized access to the master group key or the derived device key.
+This tutorial also assumes that the device update takes place in a secure environment to prevent unauthorized access to the master group key or the derived device key.
-This article is oriented toward a Windows-based workstation. However, you can perform the procedures on Linux. For a Linux example, see [How to provision for multitenancy](how-to-provision-multitenant.md).
+This tutorial is oriented toward a Windows-based workstation. However, you can perform the procedures on Linux. For a Linux example, see [How to provision for multitenancy](how-to-provision-multitenant.md).
> [!NOTE]
-> The sample used in this article is written in C. There is also a [C# device provisioning symmetric key sample](https://github.com/Azure-Samples/azure-iot-samples-csharp/tree/main/provisioning/Samples/device/SymmetricKeySample) available. To use this sample, download or clone the [azure-iot-samples-csharp](https://github.com/Azure-Samples/azure-iot-samples-csharp) repository and follow the in-line instructions in the sample code. You can follow the instructions in this article to create a symmetric key enrollment group using the portal and to find the ID Scope and enrollment group primary and secondary keys needed to run the sample. You can also create individual enrollments using the sample.
+> The sample used in this tutorial is written in C. There is also a [C# device provisioning symmetric key sample](https://github.com/Azure-Samples/azure-iot-samples-csharp/tree/main/provisioning/Samples/device/SymmetricKeySample) available. To use this sample, download or clone the [azure-iot-samples-csharp](https://github.com/Azure-Samples/azure-iot-samples-csharp) repository and follow the in-line instructions in the sample code. You can follow the instructions in this tutorial to create a symmetric key enrollment group using the portal and to find the ID Scope and enrollment group primary and secondary keys needed to run the sample. You can also create individual enrollments using the sample.
## Prerequisites
A unique registration ID will be defined for each device based on information th
An enrollment group that uses [symmetric key attestation](concepts-symmetric-key-attestation.md) will be created with the Device Provisioning Service. The enrollment group will include a group master key. That master key will be used to hash each unique registration ID to produce a unique device key for each device. The device will use that derived device key with its unique registration ID to attest with the Device Provisioning Service and be assigned to an IoT hub.
-The device code demonstrated in this article will follow the same pattern as the [Quickstart: Provision a simulated symmetric key device](quick-create-simulated-device-symm-key.md). The code will simulate a device using a sample from the [Azure IoT C SDK](https://github.com/Azure/azure-iot-sdk-c). The simulated device will attest with an enrollment group instead of an individual enrollment as demonstrated in the quickstart.
+The device code demonstrated in this tutorial will follow the same pattern as the [Quickstart: Provision a simulated symmetric key device](quick-create-simulated-device-symm-key.md). The code will simulate a device using a sample from the [Azure IoT C SDK](https://github.com/Azure/azure-iot-sdk-c). The simulated device will attest with an enrollment group instead of an individual enrollment as demonstrated in the quickstart.
[!INCLUDE [quickstarts-free-trial-note](../../includes/quickstarts-free-trial-note.md)]
iot-dps How To Provision Multitenant https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/how-to-provision-multitenant.md
Title: How to provision devices for multitenancy in Azure IoT Hub Device Provisioning Service
-description: How to provision devices for multitenancy with your Device Provisioning Service (DPS) instance
+ Title: Tutorial - Provision devices for multitenancy in Azure IoT Hub Device Provisioning Service
+description: This tutorial shows how to provision devices for multitenancy with your Device Provisioning Service (DPS) instance
- Previously updated : 10/02/2021+ Last updated : 08/19/2022
-# How to provision for multitenancy
+# Tutorial: Provision for multitenancy
-This how-to shows how to securely provision multiple simulated symmetric key devices to a group of IoT Hubs using an [allocation policy](concepts-service.md#allocation-policy). Allocation policies that are defined by the provisioning service support a variety of allocation scenarios. Two common scenarios are:
+This tutorial shows how to securely provision multiple simulated symmetric key devices to a group of IoT Hubs using an [allocation policy](concepts-service.md#allocation-policy). Allocation policies that are defined by the provisioning service support a variety of allocation scenarios. Two common scenarios are:
* **Geolocation / GeoLatency**: As a device moves between locations, network latency is improved by having the device provisioned to the IoT hub that's closest to each location. In this scenario, a group of IoT hubs, which span across regions, are selected for enrollments. The **Lowest latency** allocation policy is selected for these enrollments. This policy causes the Device Provisioning Service to evaluate device latency and determine the closet IoT hub out of the group of IoT hubs.
This how-to shows how to securely provision multiple simulated symmetric key dev
It's common to combine these two scenarios. For example, a multitenant IoT solution commonly assigns tenant devices using a group of IoT hubs that are scattered across different regions. These tenant devices can be assigned to the IoT hub in the group that has the lowest latency based on geographic location.
-This article uses a simulated device sample from the [Azure IoT C SDK](https://github.com/Azure/azure-iot-sdk-c) to demonstrate how to provision devices in a multitenant scenario across regions. You will perform the following steps in this article:
+This tutorial uses a simulated device sample from the [Azure IoT C SDK](https://github.com/Azure/azure-iot-sdk-c) to demonstrate how to provision devices in a multitenant scenario across regions. You will perform the following steps in this tutorial:
> [!div class="checklist"] > * Use the Azure CLI to create two regional IoT hubs (**West US 2** and **East US**)
This article uses a simulated device sample from the [Azure IoT C SDK](https://g
In this section, you'll create an Azure resource group, and two new regional IoT hub resources for a tenant. One IoT hub will be for the **West US 2** region and the other will be for the **East US** region. >[!IMPORTANT]
->It's recommended that you use the same resource group for all resources created in this article. This will make clean up easier after you are finished.
+>It's recommended that you use the same resource group for all resources created in this tutorial. This will make clean up easier after you are finished.
1. In the Azure Cloud Shell, create a resource group with the following [az group create](/cli/azure/group#az-group-create) command:
In this section, you'll create an Azure resource group, and two new regional IoT
In this section, you'll create a new enrollment group for the tenant devices.
-For simplicity, this article uses [Symmetric key attestation](concepts-symmetric-key-attestation.md) with the enrollment. For a more secure solution, consider using [X.509 certificate attestation](concepts-x509-attestation.md) with a chain of trust.
+For simplicity, this tutorial uses [Symmetric key attestation](concepts-symmetric-key-attestation.md) with the enrollment. For a more secure solution, consider using [X.509 certificate attestation](concepts-x509-attestation.md) with a chain of trust.
1. In the Azure portal, select your Device Provisioning Service.
The sample code simulates a device boot sequence that sends the provisioning req
## Clean up resources
-If you plan to continue working with resources created in this article, you can leave them. Otherwise, use the following steps to delete all resources created by this article to avoid unnecessary charges.
+If you plan to continue working with resources created in this tutorial, you can leave them. Otherwise, use the following steps to delete all resources created by this tutorial to avoid unnecessary charges.
-The steps here assume that you created all resources in this article as instructed in the same resource group named **contoso-us-resource-group**.
+The steps here assume that you created all resources in this tutorial as instructed in the same resource group named **contoso-us-resource-group**.
> [!IMPORTANT] > Deleting a resource group is irreversible. The resource group and all the resources contained in it are permanently deleted. Make sure that you do not accidentally delete the wrong resource group or resources. If you created the IoT Hub inside an existing resource group that contains resources you want to keep, only delete the IoT Hub resource itself instead of deleting the resource group.
iot-dps Tutorial Custom Hsm Enrollment Group X509 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/tutorial-custom-hsm-enrollment-group-x509.md
Title: Tutorial - Provision X.509 devices to Azure IoT Hub using a custom Hardware Security Module (HSM)
-description: This tutorial uses enrollment groups. In this tutorial, you learn how to provision X.509 devices using a custom Hardware Security Module (HSM) and the C device SDK for Azure IoT Hub Device Provisioning Service (DPS).
+ Title: Tutorial - Provision X.509 devices to Azure IoT Hub using a custom Hardware Security Module (HSM) and a DPS enrollment group
+description: This tutorial shows how to use X.509 certificates to provision multiple devices through an enrollment group in your Azure IoT Hub Device Provisioning Service (DPS) instance. The devices are simulated using the C device SDK and a custom Hardware Security Module (HSM).
Last updated 07/12/2022
The following prerequisites are for a Windows development environment used to si
* Install the latest [CMake build system](https://cmake.org/download/). Make sure you check the option that adds the CMake executable to your path. >[!IMPORTANT]
- >Confirm that the Visual Studio prerequisites (Visual Studio and the 'Desktop development with C++' workload) are installed on your machine, **before** starting the `CMake` installation. Once the prerequisites are in place, and the download is verified, install the CMake build system. Also, be aware that older versions of the CMake build system fail to generate the solution file used in this article. Make sure to use the latest version of CMake.
+ >Confirm that the Visual Studio prerequisites (Visual Studio and the 'Desktop development with C++' workload) are installed on your machine, **before** starting the `CMake` installation. Once the prerequisites are in place, and the download is verified, install the CMake build system. Also, be aware that older versions of the CMake build system fail to generate the solution file used in this tutorial. Make sure to use the latest version of CMake.
* Install the latest version of [Git](https://git-scm.com/download/). Make sure that Git is added to the environment variables accessible to the command window. See [Software Freedom Conservancy's Git client tools](https://git-scm.com/download/) for the latest version of `git` tools to install, which includes *Git Bash*, the command-line app that you can use to interact with your local Git repository.
In this section, you'll create the Openssl configuration files, directory struct
extendedKeyUsage = critical, OCSPSigning ```
-1. Create the directory structure, the database file (index.txt), and the serial number file (serial) used by OpenSSL commands in this article:
+1. Create the directory structure, the database file (index.txt), and the serial number file (serial) used by OpenSSL commands in this tutorial:
```bash mkdir certs csr newcerts private
In this section, you update the sample code with your Device Provisioning Servic
The specifics of interacting with actual secure hardware-based storage vary depending on the device hardware. The certificate chains used by the simulated devices in this tutorial will be hardcoded in the custom HSM stub code. In a real-world scenario, the certificate chain would be stored in the actual HSM hardware to provide better security for sensitive information. Methods similar to the stub methods used in this sample would then be implemented to read the secrets from that hardware-based storage.
-While HSM hardware isn't required, it is recommended to protect sensitive information like the certificate's private key. If an actual HSM was being called by the sample, the private key wouldn't be present in the source code. Having the key in the source code exposes the key to anyone that can view the code. This is only done in this article to assist with learning.
+While HSM hardware isn't required, it is recommended to protect sensitive information like the certificate's private key. If an actual HSM was being called by the sample, the private key wouldn't be present in the source code. Having the key in the source code exposes the key to anyone that can view the code. This is only done in this tutorial to assist with learning.
To update the custom HSM stub code to simulate the identity of the device with ID `device-01`, perform the following steps:
iot-hub-device-update Connected Cache Configure https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/connected-cache-configure.md
description: Overview of Microsoft Connected Cache for Device Update for Azure IoT Hub Previously updated : 2/16/2021 Last updated : 08/19/2022
-# Configure Microsoft Connected Cache for Device Update for Azure IoT Hub
+# Configure Microsoft Connected Cache for Device Update for IoT Hub
-Microsoft Connected Cache is deployed to Azure IoT Edge gateways as an Azure IoT Edge Module. Like other Azure IoT Edge modules, MCC module deployment environment variables and container create options are used to configure Microsoft Connected Cache modules. This section defines the environment variables and container create options that are required for a customer to successfully deploy the Microsoft Connected Cache module for use by Device Update for Azure IoT Hub.
+Microsoft Connected Cache (MCC) is deployed to Azure IoT Edge gateways as an IoT Edge module. Like other IoT Edge modules, environment variables and container create options are used to configure MCC modules. This article defines the environment variables and container create options that are required for a customer to successfully deploy the Microsoft Connected Cache module for use by Device Update for IoT Hub.
-## Microsoft Connected Cache Azure IoT Edge module deployment details
+## Module deployment details
-Naming of the Microsoft Connected Cache module is at the discretion of the administrator. There are no other module or service interactions that rely on the name of the module for communication. Additionally, the parent child relationship of the Microsoft Connected Cache servers is not dependent on this module name, but rather the FQDN or Ip address of the Azure IoT Edge gateway that has been configured as discussed earlier.
+There's no naming requirement for the Microsoft Connected Cache module since no other module or service interactions rely on the name of the MCC module for communication. Additionally, the parent-child relationship of the Microsoft Connected Cache servers isn't dependent on this module name, but rather the FQDN or IP address of the IoT Edge gateway.
-Microsoft Connected Cache Azure IoT Edge Module Environment Variables are used to pass basic module identity information and functional module settings to the container.
+Microsoft Connected Cache module environment variables are used to pass basic module identity information and functional module settings to the container.
-| Variable Name | Value Format | Required/Optional | Functionality |
-| -- | | -- | |
-| CUSTOMER_ID | Azure Subscription ID GUID | Required | This is the customer's key, which provides secure<br>authentication of the cache node to Delivery Optimization<br>Services.<br>Required in order for module to function. |
-| CACHE_NODE_ID | Cache Node ID GUID | Required | Uniquely identifies the Microsoft Connected Cache<br>node to Delivery Optimization Services.<br>Required in order<br> for module to function. |
-| CUSTOMER_KEY | Customer Key GUID | Required | This is the customer's key, which provides secure<br>authentication of the cache node to Delivery Optimization Services.<br>Required in order for module to function.|
-| STORAGE_*N*_SIZE_GB | Where N is the cache drive | Required | Specify up to 9 drives to cache content and specify the maximum space in<br>Gigabytes to allocate for content on each cache drive. Examples:<br>STORAGE_1_SIZE_GB = 150<br>STORAGE_2_SIZE_GB = 50<br>The number of the drive must match the cache drive binding values specified<br>in the Container Create Option MicrosoftConnectedCache*N* value<br>Minimum size of the cache is 10GB.|
-| UPSTREAM_HOST | FQDN/IP | Optional | This value can specify an upstream Microsoft Connected<br>Cache node that acts as a proxy if the Connected Cache node<br> is disconnected from the internet. This setting is used to support<br> the Nested IoT scenario.<br>**Note:** Microsoft Connected Cache listens on http default port 80.|
-| UPSTREAM_PROXY | FQDN/IP:PORT | Optional | The outbound internet proxy.<br>This could also be the OT DMZ proxy if an ISA 95 network. |
-| CACHEABLE_CUSTOM_*N*_HOST | HOST/IP<br>FQDN | Optional | Required to support custom package repositories.<br>Repositories could be hosted locally or on the internet.<br>There is no limit to the number of custom hosts that can be configured.<br><br>Examples:<br>Name = CACHEABLE_CUSTOM_1_HOST Value = packages.foo.com<br> Name = CACHEABLE_CUSTOM_2_HOST Value = packages.bar.com |
-| CACHEABLE_CUSTOM_*N*_CANONICAL| Alias | Optional | Required to support custom package repositories.<br>This value can be used as an alias and will be used by the cache server to reference<br>different DNS names. For example, repository content hostname may be packages.foo.com,<br>but for different regions there could be an additional prefix that is added to the hostname<br>like westuscdn.packages.foo.com and eastuscdn.packages.foo.com.<br>By setting the canonical alias, you ensure that content is not duplicated<br>for content coming from the same host, but different CDN sources.<br>The format of the canonical value is not important, but it must be unique to the host.<br>It may be easiest to set the value to match the host value.<br><br>Examples based on Custom Host examples above:<br>Name = CACHEABLE_CUSTOM_1_CANONICAL Value = foopackages<br> Name = CACHEABLE_CUSTOM_2_CANONICAL Value = packages.bar.com |
-| IS_SUMMARY_PUBLIC | True or False | Optional | Enables viewing of the summary report on the local network or internet.<br>Use of an API key (discussed later) is required to view the summary report if set to true. |
-| IS_SUMMARY_ACCESS_UNRESTRICTED| True or False | Optional | Enables viewing of summary report on the local network or internet without<br>use of API key from any device in the network. Use if you don't want to lock down access<br>to viewing cache server summary data via the browser. |
-
-## Microsoft Connected Cache Azure IoT Edge module container create options
+| Variable name | Value format | Description |
+|--|--|--|--|
+| CUSTOMER_ID | Azure subscription ID GUID | Required <br><br> This is the customer's key, which provides secure authentication of the cache node to Delivery Optimization services. |
+| CACHE_NODE_ID | Cache node ID GUID | Required <br><br> Uniquely identifies the MCC node to Delivery Optimization services. |
+| CUSTOMER_KEY | Customer Key GUID | Required <br><br> This is the customer's key, which provides secure authentication of the cache node to Delivery Optimization services. |
+| STORAGE_*N*_SIZE_GB (Where *N* is the cache drive) | Integer | Required <br><br> Specify up to nine drives to cache content and specify the maximum space in gigabytes to allocate for content on each cache drive. The number of the drive must match the cache drive binding values specified in the container create option MicrosoftConnectedCache*N* value.<br><br>Examples:<br>STORAGE_1_SIZE_GB = 150<br>STORAGE_2_SIZE_GB = 50<br><br>Minimum size of the cache is 10 GB. |
+| UPSTREAM_HOST | FQDN/IP | Optional <br><br> This value can specify an upstream MCC node that acts as a proxy if the Connected Cache node is disconnected from the internet. This setting is used to support the nested IoT scenario.<br><br>**Note:** MCC listens on http default port 80. |
+| UPSTREAM_PROXY | FQDN/IP:PORT | Optional <br><br> The outbound internet proxy. This could also be the OT DMZ proxy of an ISA 95 network. |
+| CACHEABLE_CUSTOM_*N*_HOST | HOST/IP<br>FQDN | Optional <br><br> Required to support custom package repositories. Repositories could be hosted locally or on the internet. There's no limit to the number of custom hosts that can be configured.<br><br>Examples:<br>Name = CACHEABLE_CUSTOM_1_HOST Value = packages.foo.com<br> Name = CACHEABLE_CUSTOM_2_HOST Value = packages.bar.com |
+| CACHEABLE_CUSTOM_*N*_CANONICAL | Alias | Optional <br><br> Required to support custom package repositories. This value can be used as an alias and will be used by the cache server to reference different DNS names. For example, repository content hostname may be packages.foo.com, but for different regions there could be an extra prefix that is added to the hostname like westuscdn.packages.foo.com and eastuscdn.packages.foo.com. By setting the canonical alias, you ensure that content isn't duplicated for content coming from the same host, but different CDN sources. The format of the canonical value isn't important, but it must be unique to the host. It may be easiest to set the value to match the host value.<br><br>Examples based on Custom Host examples above:<br>Name = CACHEABLE_CUSTOM_1_CANONICAL Value = foopackages<br> Name = CACHEABLE_CUSTOM_2_CANONICAL Value = packages.bar.com |
+| IS_SUMMARY_PUBLIC | True or False | Optional <br><br> Enables viewing of the summary report on the local network or internet. Use of an API key (discussed later) is required to view the summary report if set to true. |
+| IS_SUMMARY_ACCESS_UNRESTRICTED | True or False | Optional <br><br> Enables viewing of summary report on the local network or internet without use of API key from any device in the network. Use if you don't want to lock down access to viewing cache server summary data via the browser. |
-Container create options for MCC module deployment provide control of the settings related to storage and ports used by the MCC module. This is the list of required container created variables used to deploy MCC.
+## Module container create options
-### Container to host OS drive mappings
+Container create options provide control of the settings related to storage and ports used by the Microsoft Connected Cache module.
-Required to map the container storage location to the storage location on the disk.< Up to nine locations can be specified.
-
->[!Note]
->The number of the drive must match the cache drive binding values specified in the environment variable STORAGE_*N*_SIZE_GB value, ```/MicrosoftConnectedCache*N*/:/nginx/cache*N*/```
-
-### Container to host TCP port mappings
-
-This option specifies the external machine http port that MCC listens on for content requests. The default HostPort is port 80 and other ports are not supported at this time as the ADU client makes requests on port 80 today. TCP port 8081 is the internal container port that the MCC listens on and cannot be changed.
-
-### Container service TCP port mappings
-
-The Microsoft Connected Cache module has a .NET Core service, which is used by the caching engine for various functions.
-
->[!Note]
->To support Azure IoT Nested Edge the HostPort must not be set to 5000 because the Registry proxy module is already listening on host port 5000.
--
-Sample Container Create Options
+Sample container create options:
```json {
Sample Container Create Options
} ```
+The following sections list the required container create variables used to deploy the MCC module.
+
+### HostConfig
+
+The `HostConfig` parameters are required to map the container storage location to the storage location on the disk. Up to nine locations can be specified.
+
+>[!Note]
+>The number of the drive must match the cache drive binding values specified in the environment variable STORAGE_*N*_SIZE_GB value, `/MicrosoftConnectedCache*N*/:/nginx/cache*N*/`.
+
+### PortBindings
+
+The `PortBindings` parameters map container ports to ports on the host device.
+
+The first port binding specifies the external machine HTTP port that MCC listens on for content requests. The default HostPort is port 80 and other ports aren't supported at this time as the ADU client makes requests on port 80 today. TCP port 8081 is the internal container port that the MCC listens on and can't be changed.
+
+The second port binding ensures that the container isn't listening on host port 5000. The Microsoft Connected Cache module has a .NET Core service, which is used by the caching engine for various functions. To support nested edge, the HostPort must not be set to 5000 because the registry proxy module is already listening on host port 5000.
+ ## Microsoft Connected Cache summary report
-The summary report is currently the only way for a customer to view caching data for the Microsoft Connected Cache instances deployed to Azure IoT Edge gateways. The report is generated at 15-second intervals and includes averaged stats for the period as well as aggregated stats for the lifetime of the module. The key stats that customers will be interested in are:
+The summary report is currently the only way for a customer to view caching data for the Microsoft Connected Cache instances deployed to IoT Edge gateways. The report is generated at 15-second intervals and includes averaged stats for the period and aggregated stats for the lifetime of the module. The key stats that customers will be interested in are:
-* **hitBytes** - This is the sum of bytes delivered that came directly from cache.
-* **missBytes** - This is the sum of bytes delivered that Microsoft Connected Cache had to download from CDN to see the cache.
-* **eggressBytes** - This is the sum of hitBytes and missBytes and is the total bytes delivered to clients.
-* **hitRatioBytes** - This is the ratio of hitBytes to egressBytes. If 100% of eggressBytes delivered in a period were equal to the hitBytes this would be 1 for example.
+* **hitBytes** - The sum of bytes delivered that came directly from cache.
+* **missBytes** - The sum of bytes delivered that Microsoft Connected Cache had to download from CDN to see the cache.
+* **eggressBytes** - The sum of hitBytes and missBytes and is the total bytes delivered to clients.
+* **hitRatioBytes** - The ratio of hitBytes to egressBytes. For example, if 100% of eggressBytes delivered in a period were equal to the hitBytes, this value would be 1.
-The summary report is available at `http://<FQDN/IP of Azure IoT Edge Gateway hosting MCC>:5001/summary` Replace \<Azure IoT Edge Gateway IP\> with the IP address or hostname of your IoT Edge gateway. (see environment variable details for information on visibility of this report).
+The summary report is available at `http://<IoT Edge gateway>:5001/summary` Replace \<IoT Edge Gateway\> with the IP address or hostname of the IoT Edge gateway hosting the MCC module.
iot-hub-device-update Connected Cache Disconnected Device Update https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/connected-cache-disconnected-device-update.md
Title: Understand support for disconnected device update using Microsoft Connected Cache | Microsoft Docs
+ Title: Disconnected device update using Microsoft Connected Cache | Microsoft Docs
description: Understand support for disconnected device update using Microsoft Connected Cache Previously updated : 2/16/2021 Last updated : 08/19/2022 # Understand support for disconnected device updates
-In a transparent gateway scenario, one or more devices can pass their messages through a single gateway device that maintains the connection to Azure IoT Hub. In these cases, the child devices may not have internet connectivity or may not be allowed to download content from the internet. The Microsoft Connected Cache Preview IoT Edge module will provide Device Update for Azure IoT Hub customers with the capability of an intelligent in-network cache, which enables image-based and package-based updates of Linux OS-based devices behind and IoT Edge gateway (downstream IoT devices), and will also help save bandwidth for Device Update for Azure IoT Hub customers.
+In a transparent gateway scenario, one or more devices can pass their messages through a single gateway device that maintains the connection to Azure IoT Hub. In these cases, the child devices may not have internet connectivity or may not be allowed to download content from the internet. The Microsoft Connected Cache preview IoT Edge module provides Device Update for IoT Hub customers with the capability of an intelligent in-network cache. The cache enables image-based and package-based updates of Linux OS-based devices behind an IoT Edge gateway (also called *downstream* IoT devices), and also helps reduce the bandwidth used for updates.
-## How does Microsoft Connected Cache preview for Device Update for Azure IoT Hub work?
+## Microsoft Connected Cache preview for Device Update for IoT Hub
-Microsoft Connected Cache Preview is an intelligent, transparent cache for content published for Device Update for Azure IoT Hub content and can be customized to cache content from other sources like package repositories as well. Microsoft Connected Cache is a cold cache that is warmed by client requests for the exact file ranges requested by the Delivery Optimization client and does not pre-seed content. The diagram and step-by-step description below explains how Microsoft Connected Cache works within the Device Update for Azure IoT Hub infrastructure.
+Microsoft Connected Cache is an intelligent, transparent cache for content published for Device Update for IoT Hub and can be customized to cache content from other sources like package repositories as well. Microsoft Connected Cache is a cold cache that is warmed by client requests for the exact file ranges requested by the Delivery Optimization client and doesn't pre-seed content. The diagram and step-by-step description below explains how Microsoft Connected Cache works within the Device Update infrastructure.
>[!Note]
->In defining this flow, it has been assumed that the IoT Edge gateway has internet connectivity. For the downstream IoT Edge gateway (Nested Edge) scenario the "Content Delivery Network" (CDN) can be considered the MCC hosted on the parent IoT Edge gateway.
+>This flow assumes that the IoT Edge gateway has internet connectivity. For the downstream IoT Edge gateway (nested edge) scenario, the content delivery network (CDN) can be considered the MCC hosted on the parent IoT Edge gateway.
:::image type="content" source="media/connected-cache-overview/disconnected-device-update.png" alt-text="Disconnected Device Update" lightbox="media/connected-cache-overview/disconnected-device-update.png":::
-1. Microsoft Connected Cache is deployed as an IoT Edge module to the on-prem server.
-2. Device Update for Azure IoT Hub clients are configured to download content from Microsoft Connected Cache by virtue of
-the GatewayHostName attribute of the device connection string for IoT leaf devices **OR** parent_hostname set in the config.toml for IoT Edge child devices.
-3. Device Update for Azure IoT Hub clients in both cases receive update content download commands from the Device Update for Azure IoT Hub service and request update content to the Microsoft Connected Cache instead of the CDN. Microsoft Connected Cache by default is configured to listen on http port 80, and the Delivery Optimization client makes the content request on port 80 so the parent must be configured to listen on this port. Only the http protocol is supported at this time.
-4. The Microsoft Connected Cache server downloads content from the CDN, seeds its local cache stored on disk and delivers the content to the Device Update for Azure IoT Hub client.
-
->[!Note]
->When using package-based updates, the Microsoft Connected Cache server will be configured by the admin with the required package hostname.
+1. Microsoft Connected Cache is deployed as an IoT Edge module to the on-premises server.
+2. Device Update for IoT Hub clients are configured to download content from Microsoft Connected Cache by virtue of either the GatewayHostName attribute of the device connection string for IoT leaf devices **or** the parent_hostname set in the config.toml for IoT Edge child devices.
+3. Device Update for IoT Hub clients receive update content download commands from the Device Update service and request update content from the Microsoft Connected Cache instead of the CDN. Microsoft Connected Cache listens on HTTP port 80 by default, and the Delivery Optimization client makes the content request on port 80 so the parent must be configured to listen on this port. Only the HTTP protocol is supported at this time.
+4. The Microsoft Connected Cache server downloads content from the CDN, seeds its local cache stored on disk and delivers the content to the Device Update client.
+
+ >[!Note]
+ >When using package-based updates, the Microsoft Connected Cache server will be configured by the admin with the required package hostname.
-5. Subsequent requests from other Device Update for Azure IoT Hub clients for the same update content will now come from cache and Microsoft Connected Cache will not make requests to the CDN for the same content.
+5. Subsequent requests from other Device Update clients for the same update content will now come from cache and Microsoft Connected Cache won't make requests to the CDN for the same content.
-### Supporting Industrial IoT (IIoT) with parent/child hosting scenarios
+### Supporting industrial IoT (IIoT) with parent/child hosting scenarios
-When a downstream or child IoT Edge gateway is hosting the Microsoft Connected Cache server, it will be configured to request update content from the parent IoT Edge gateway, hosting the Microsoft Connected Cache server. This is required for as many levels as necessary before reaching the parent IoT Edge gateway hosting a Microsoft Connected Cache server that has internet access. From the internet connected server, the content is requested from the CDN at which point the content is delivered back to the child IoT Edge gateway that originally requested the content. The content will be stored on disk at every level.
+When a downstream or child IoT Edge gateway is hosting a Microsoft Connected Cache server, it will be configured to request update content from the parent IoT Edge gateway, also hosting a Microsoft Connected Cache server. This request is repeated for as many levels as necessary before reaching the parent IoT Edge gateway hosting a Microsoft Connected Cache server that has internet access. From the internet connected server, the content is requested from the CDN at which point the content is delivered back to the child IoT Edge gateway that originally requested the content. The content will be stored on disk at every level.
-## Access to the Microsoft Connected Cache preview for Device Update for Azure IoT Hub
+## Request access to the preview
-The Microsoft Connected Cache IoT Edge module is released as a preview for customers who are deploying solutions using Device Update for Azure IoT Hub. Access to the preview is by invitation. [Request Access](https://aka.ms/MCCForDeviceUpdateForIoT) to the Microsoft Connected Cache Preview for Device Update for IoT Hut and provide the information requested if you would like access to the module.
+The Microsoft Connected Cache IoT Edge module is released as a preview for customers who are deploying solutions using Device Update for IoT Hub. Access to the preview is by invitation. [Request Access](https://aka.ms/MCCForDeviceUpdateForIoT) to the Microsoft Connected Cache preview for Device Update for IoT Hub and provide the information requested if you would like access to the module.
iot-hub-device-update Device Update Security https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-security.md
Title: Security for Device Update for Azure IoT Hub | Microsoft Docs
description: Understand how Device Update for IoT Hub ensures devices are updated securely. Previously updated : 10/5/2021 Last updated : 08/19/2022
-# Device Update Security Model
+# Device Update security model
-Device Update for IoT Hub offers a secure method to deploy updates for device firmware, images, and applications to your IoT devices. The workflow provides an end-to-end secure channel with a full chain-of-custody model that a device can use to prove an update is trusted, unmodified and intentional.
+Device Update for IoT Hub offers a secure method to deploy updates for device firmware, images, and applications to your IoT devices. The workflow provides an end-to-end secure channel with a full chain-of-custody model that a device can use to prove an update is trusted, unmodified, and intentional.
-Each step in the Device Update workflow is protected through various security features and processes to ensure that every step in the pipeline performs a secured handoff to the next. The Device Update Agent reference code identifies and properly manages any illegitimate update requests. The reference Agent also checks every download to ensure that the content is trusted, unmodified, and intentional.
+Each step in the Device Update workflow is protected through various security features and processes to ensure that every step in the pipeline performs a secured handoff to the next. The Device Update agent reference code identifies and properly manages any illegitimate update requests. The reference agent also checks every download to ensure that the content is trusted, unmodified, and intentional.
## Summary As updates are imported into a Device Update instance, the service uploads and checks the update binary files to ensure that they haven't been modified or swapped out by a malicious user. Once verified, the Device Update service generates an internal [update manifest](./update-manifest.md) with file hashes from the import manifest and other metadata. This update manifest is then signed by the Device Update service.
-Once ingested into the service and stored in Azure, the update binary files and associated customer metadata are automatically encrypted at rest by the Azure storage service. The Device Update service does not automatically provide additional encryption, but does allow developers to encrypt content themselves before the content reaches the Device Update service.
+Once imported into the service and stored in Azure, the update binary files and associated customer metadata are automatically encrypted at rest by the Azure Storage service. The Device Update service doesn't automatically provide additional encryption, but does allow developers to encrypt content themselves before the content reaches the Device Update service.
-When an update is deployed to devices from the Device Update service, a signed message is sent over the protected IoT Hub channel to the device. The requestΓÇÖs signature is validated by the deviceΓÇÖs Device Update Agent as authentic.
+When an update is deployed to devices from the Device Update service, a signed message is sent over the protected IoT Hub channel to the device. The requestΓÇÖs signature is validated by the deviceΓÇÖs Device Update agent as authentic.
-Any resulting binary download is secured through validation of the update manifest signature. The update manifest contains the binary file hashes, so once the manifest is trusted the Device Update agent trusts the hashes and matches them against the binaries. Once the update binary has been downloaded and verified, it is then handed off to the installer on the device.
+Any resulting binary download is secured through validation of the update manifest signature. The update manifest contains the binary file hashes, so once the manifest is trusted the Device Update agent trusts the hashes and matches them against the binaries. Once the update binary has been downloaded and verified, it's then handed off to the installer on the device.
## Implementation details
To ensure that the Device Update service scales down to simple, low-performance
The update manifest is validated by using two signatures. The signatures are created using a structure consisting of *signing* keys and *root* keys.
-The Device Update Agent has embedded public keys that are used for all Device Update-compatible devices. These are the *root* keys. The corresponding private keys are controlled by Microsoft.
+The Device Update agent has embedded public keys that are used for all Device Update-compatible devices. These public keys are the *root* keys. The corresponding private keys are controlled by Microsoft.
-Microsoft also generates a public/private key pair that is not included in the Device Update Agent or stored on the device. This is the *signing* key.
+Microsoft also generates a public/private key pair that isn't included in the Device Update agent or stored on the device. This key is the *signing* key.
-When an update is imported into Device Update for IoT Hub, and the update manifest is generated by the service, the service signs the manifest using the signing key, and includes the signing key itself, which is signed by a root key. When the update manifest is sent to the device, the Device Update Agent receives the following signature data:
+When an update is imported into Device Update for IoT Hub, and the update manifest is generated by the service, the service signs the manifest using the signing key, and includes the signing key itself, which is signed by a root key. When the update manifest is sent to the device, the Device Update agent receives the following signature data:
1. The signature value itself. 2. The algorithm used for generating #1.
When an update is imported into Device Update for IoT Hub, and the update manife
5. The public key ID of the root key used for generating #3. 6. The algorithm used for generating #4.
-The Device Update Agent uses the information defined above to validate that signature of the public signing key is signed by the root key. The Device Update Agent then validates that the update manifest signature is signed by the signing key. If all the signatures are correct, the update manifest is trusted by the Device Update Agent. Since the update manifest includes the file hashes that correspond to the update files themselves, the update files can then also be trusted if the hashes match.
+The Device Update agent uses the information defined above to validate that the signature of the public signing key is signed by the root key. The Device Update agent then validates that the update manifest signature is signed by the signing key. If all the signatures are correct, the update manifest is trusted by the Device Update agent. Since the update manifest includes the file hashes that correspond to the update files themselves, the update files can then also be trusted if the hashes match.
Having root and signing keys allows Microsoft to periodically roll the signing key, a security best practice. ### JSON Web Signature (JWS)
-The `updateManifestSignature` is used to ensure that the information contained within the `updateManifest` has
-not been tampered with. The `updateManifestSignature` is produced using a JSON Web Signature with JSON Web Keys, allowing for source verification. The signature is a Base64Url Encoded string with three sections delineated by ".". Refer to the [jws_util.h helper methods](https://github.com/Azure/iot-hub-device-update/tree/main/src/utils/jws_utils) for parsing and verifying JSON keys and tokens.
+The `updateManifestSignature` is used to ensure that the information contained within the `updateManifest` hasn't been tampered with. The `updateManifestSignature` is produced using a JSON Web Signature with JSON Web Keys, allowing for source verification. The signature is a Base64Url Encoded string with three sections delineated by ".". Refer to the [jws_util.h helper methods](https://github.com/Azure/iot-hub-device-update/tree/main/src/utils/jws_utils) for parsing and verifying JSON keys and tokens.
-JSON Web Signature is a widely used [proposed IETF standard](https://tools.ietf.org/html/rfc7515) for signing
-content using JSON-based data structures. It is a way of ensuring integrity of data by verifying the signature
-of the data. Further information can be found in the JSON Web Signature (JWS) [RFC 7515](https://www.rfc-editor.org/info/rfc7515).
+JSON Web Signature is a widely used [proposed IETF standard](https://tools.ietf.org/html/rfc7515) for signing content using JSON-based data structures. It's a way of ensuring integrity of data by verifying the signature of the data. Further information can be found in the JSON Web Signature (JWS) [RFC 7515](https://www.rfc-editor.org/info/rfc7515).
### JSON Web Token
-JSON Web Tokens are an open, industry [standard](https://tools.ietf.org/html/rfc7519) method for representing
-claims securely between two parties.
+[JSON Web Tokens](https://tools.ietf.org/html/rfc7519) are an open, industry standard method for representing claims securely between two parties.
### Root Keys Every Device Update device must contain a set of root keys. These keys are the root of trust for all of Device Update's signatures. Any signature must be chained up through one of these root keys to be considered legitimate.
-The set of root keys will change over time as it is proper to periodically rotate signing keys for security purposes. As a result, the Device Update Agent software will need to be updated with the latest set of root keys at intervals specified by the Device Update team.
+The set of root keys will change over time as it is proper to periodically rotate signing keys for security purposes. As a result, the Device Update agent software will need to be updated with the latest set of root keys at intervals specified by the Device Update team.
### Signatures
-All signatures will be accommodated by a signing (public) key signed by one of the root keys. The signature will identify which root key was used to sign the signing key.
+All signatures are accompanied by a signing (public) key signed by one of the root keys. The signature identifies which root key was used to sign the signing key.
-A Device Update Agent must validate signatures by first validating that the signing (public) keyΓÇÖs signature is proper, valid, and signed by one of the approved root keys. Once the signing key is successfully validated, the signature itself may be validated by using the now trusted signing public key.
+A Device Update agent must validate signatures by first validating that the signing (public) keyΓÇÖs signature is proper, valid, and signed by one of the approved root keys. Once the signing key is successfully validated, the signature itself may be validated by using the now trusted signing public key.
-Signing keys are rotated on a much quicker cadence than root keys, so expect messages signed by various different signing keys.
+Signing keys are rotated on a much quicker cadence than root keys, so expect messages signed by various different signing keys.
-Revocation of a signing key is managed by the Device Update service, so users should not attempt to cache signing keys. Always use the signing key accompanying a signature.
+Revocation of a signing key is managed by the Device Update service, so users shouldn't attempt to cache signing keys. Always use the signing key accompanying a signature.
-### Securing the Device
+### Securing the device
-It is important to ensure that Device Update-related security assets are properly secured and protected on your device. Assets such as root keys need to be protected against modification. There are various ways to do this, such as using security devices (TPM, SGX, HSM, other security devices) or hard-coding them in the Device Update Agent as is done today in the reference implementation. The latter requires that the Device Update Agent code is digitally signed and the systemΓÇÖs Code Integrity support is enabled to protect against malicious modification of the Agent code.
+It's important to ensure that Device Update-related security assets are properly secured and protected on your device. Assets such as root keys need to be protected against modification. There are various ways to protect the root keys, such as using security devices (TPM, SGX, HSM, other security devices) or hard-coding them in the Device Update agent as is done today in the reference implementation. The latter requires that the Device Update agent code is digitally signed and the systemΓÇÖs Code Integrity support is enabled to protect against malicious modification of the Agent code.
-Additional security measures may be warranted, such as ensuring that handoff from component to component is performed in a secure way. For example, registering a specific isolated account to run the various components, and limiting network-based communications (e.g. REST API calls) to localhost only.
+Other security measures may be warranted, such as ensuring that handoff from component to component is performed in a secure way. For example, registering a specific isolated account to run the various components, and limiting network-based communications (for example, REST API calls) to localhost only.
-**[Next Step: Learn more about how Device Update uses Azure RBAC](.\device-update-control-access.md)**
+## Next steps
+
+[Learn about how Device Update uses Azure role-based access control](.\device-update-control-access.md)
iot-hub-device-update Update Manifest https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/update-manifest.md
Title: Device Update for IoT Hub update manifest | Microsoft Docs
description: Learn how properties are sent from the Device Update service to the device during an update Previously updated : 2/17/2021 Last updated : 08/19/2022
# Device Update for IoT Hub update manifest
-## Overview
-
-Device Update for IoT Hub uses [IoT Plug and Play](./device-update-plug-and-play.md) to send data to devices during deployment. One of them is _update manifest_, a serialized JSON object string containing metadata of the update to install. It is also cryptographically signed to allow the Device Update Agent to verify its authenticity. Refer to [Device Update security](./device-update-security.md) for more information on how the update manifest is used to securely install content.
+Device Update for IoT Hub uses [IoT Plug and Play](./device-update-plug-and-play.md) to send data to devices during deployment. One of them is the _update manifest_, a serialized JSON object string containing metadata of the update to install. It's also cryptographically signed to allow the Device Update agent to verify its authenticity. For more information on how the update manifest is used to securely install content, see [Device Update security](./device-update-security.md).
## Import manifest vs update manifest
-It is important to understand the differences between the import manifest and the update manifest concepts in Device Update for IoT Hub:
+It's important to understand the differences between the import manifest and the update manifest concepts in Device Update for IoT Hub:
-* The [import manifest](./import-concepts.md) is created by whoever creates the corresponding update. It describes the contents of the update that will be imported into Device Update for IoT Hub.
-* The update manifest is automatically generated by the Device Update for IoT Hub service, using some of the properties that were defined in the import manifest. It is used to communicate relevant information to the Device Update Agent during the update process.
+* The [import manifest](./import-concepts.md) is created by whomever creates the corresponding update. It describes the contents of the update that will be imported into Device Update for IoT Hub.
+* The update manifest is automatically generated by the Device Update for IoT Hub service, using some of the properties that were defined in the import manifest. It's used to communicate relevant information to the Device Update agent during the update process.
Each manifest type has its own schema and schema version.
Each manifest type has its own schema and schema version.
### Full vs mini update manifest
-When an update manifest exceeds a certain size that prevents it from being communicated efficiently, Device Update for IoT Hub will send it to device in _detached_ format, also known as _mini update manifest_. A mini manifest is technically _metadata for update manifest_ and contains information needed for Device Update Agent to download the _full_ update manifest and verify its authenticity.
+When an update manifest exceeds a certain size that prevents it from being communicated efficiently, Device Update for IoT Hub will send it to the device in _detached_ format, also known as a _mini update manifest_. A mini manifest is technically metadata for update manifest and contains information needed for the Device Update agent to download the full update manifest and verify its authenticity.
Example mini update manifest:
logic-apps Azure Arc Enabled Logic Apps Create Deploy Workflows https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/azure-arc-enabled-logic-apps-create-deploy-workflows.md
Title: Create and deploy workflows with Azure Arc-enabled Logic Apps
description: Create and deploy single-tenant based logic app workflows that run anywhere that Kubernetes can run. ms.suite: integration-+ Previously updated : 11/02/2021 Last updated : 08/20/2022 #Customer intent: As a developer, I want to learn how to create and deploy automated Logic Apps workflows that can run anywhere that Kubernetes can run.
logic-apps Azure Arc Enabled Logic Apps Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/azure-arc-enabled-logic-apps-overview.md
ms.suite: integration Previously updated : 04/20/2022 Last updated : 08/20/2022 #Customer intent: As a developer, I want to learn about automated Azure Arc-enabled logic app workflows that can run anywhere that Kubernetes can run.
logic-apps Business Continuity Disaster Recovery Guidance https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/business-continuity-disaster-recovery-guidance.md
ms.suite: integration Previously updated : 05/02/2022 Last updated : 08/20/2022 # Business continuity and disaster recovery for Azure Logic Apps
logic-apps Call From Power Automate Power Apps https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/call-from-power-automate-power-apps.md
ms.suite: integration Previously updated : 10/05/2020 Last updated : 08/20/2022 # Call logic apps from Power Automate and Power Apps
logic-apps Concepts Schedule Automated Recurring Tasks Workflows https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/concepts-schedule-automated-recurring-tasks-workflows.md
ms.suite: integration Previously updated : 05/27/2022 Last updated : 08/20/2022 # Schedules for recurring triggers in Azure Logic Apps workflows
logic-apps Connect Virtual Network Vnet Isolated Environment https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/connect-virtual-network-vnet-isolated-environment.md
ms.suite: integration Previously updated : 02/22/2022 Last updated : 08/20/2022 # Connect to Azure virtual networks from Azure Logic Apps using an integration service environment (ISE)
logic-apps Create Automation Tasks Azure Resources https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/create-automation-tasks-azure-resources.md
ms.suite: integration Previously updated : 02/14/2022 Last updated : 08/20/2022
logic-apps Create Custom Built In Connector Standard https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/create-custom-built-in-connector-standard.md
ms.suite: integration Previously updated : 05/17/2022 Last updated : 08/20/2022 # As a developer, I want learn how to create my own custom built-in connector operations to use and run in my Standard logic app workflows.
logic-apps Create Monitoring Tracking Queries https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/create-monitoring-tracking-queries.md
ms.suite: integration Previously updated : 01/30/2020 Last updated : 08/20/2022 # View and create queries for monitoring and tracking in Azure Monitor logs for Azure Logic Apps + > [!NOTE] > This article applies only to Consumption logic apps. For information about monitoring Standard logic apps, review > [Enable or open Application Insights after deployment for Standard logic apps](create-single-tenant-workflows-azure-portal.md#enable-open-application-insights).
logic-apps Create Parameters Workflows https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/create-parameters-workflows.md
ms.suite: integration Previously updated : 02/08/2022 Last updated : 08/20/2022 # Create cross-environment parameters for workflow inputs in Azure Logic Apps
logic-apps Create Replication Tasks Azure Resources https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/create-replication-tasks-azure-resources.md
ms.suite: integration Previously updated : 02/22/2022 Last updated : 08/20/2022
logic-apps Create Serverless Apps Visual Studio https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/create-serverless-apps-visual-studio.md
ms.suite: integration Previously updated : 07/15/2021 Last updated : 08/20/2022 # Create an example serverless app with Azure Logic Apps and Azure Functions in Visual Studio
logic-apps Create Single Tenant Workflows Visual Studio Code https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/create-single-tenant-workflows-visual-studio-code.md
ms.suite: integration Previously updated : 04/15/2022 Last updated : 08/20/2022
logic-apps Deploy Single Tenant Logic Apps Private Storage Account https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/deploy-single-tenant-logic-apps-private-storage-account.md
ms.suite: integration Previously updated : 01/06/2022 Last updated : 08/20/2022 # As a developer, I want to deploy Standard logic apps to Azure storage accounts that use private endpoints.
logic-apps Designer Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/designer-overview.md
ms.suite: integration Previously updated : 06/30/2021 Last updated : 08/20/2022 # About the Standard logic app workflow designer in single-tenant Azure Logic Apps
logic-apps Devops Deployment Single Tenant Azure Logic Apps https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/devops-deployment-single-tenant-azure-logic-apps.md
ms.suite: integration Previously updated : 09/13/2021 Last updated : 08/20/2022 # As a developer, I want to learn about DevOps deployment support for single-tenant Azure Logic Apps.
logic-apps Estimate Storage Costs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/estimate-storage-costs.md
ms.suite: integration Previously updated : 11/10/2021 Last updated : 08/20/2022 # Estimate storage costs for Standard logic app workflows in single-tenant Azure Logic Apps
logic-apps Export From Microsoft Flow Logic App Template https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/export-from-microsoft-flow-logic-app-template.md
ms.suite: integration Previously updated : 02/22/2021 Last updated : 08/20/2022 # Export flows from Power Automate and deploy to Azure Logic Apps + To extend and expand your flow's capabilities, you can migrate that flow from [Power Automate](https://flow.microsoft.com) to [Azure Logic Apps](../logic-apps/logic-apps-overview.md). You can export your flow as an Azure Resource Manager template for a logic app, deploy that logic app template to an Azure resource group, and then open that logic app in the Logic App Designer. > [!IMPORTANT]
logic-apps Handle Long Running Stored Procedures Sql Connector https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/handle-long-running-stored-procedures-sql-connector.md
ms.suite: integration Previously updated : 10/27/2020 Last updated : 08/20/2022 # Handle stored procedure timeouts in the SQL connector for Azure Logic Apps + When your logic app works with result sets so large that the [SQL connector](../connectors/connectors-create-api-sqlazure.md) doesn't return all the results at the same time, or if you want more control over the size and structure for your result sets, you can create a [stored procedure](/sql/relational-databases/stored-procedures/stored-procedures-database-engine) that organizes the results the way that you want. The SQL connector provides many backend features that you can access by using [Azure Logic Apps](../logic-apps/logic-apps-overview.md) so that you can more easily automate business tasks that work with SQL database tables. For example, when getting or inserting multiple rows, your logic app can iterate through these rows by using an [**Until** loop](../logic-apps/logic-apps-control-flow-loops.md#until-loop) within these [limits](../logic-apps/logic-apps-limits-and-config.md). However, when your logic app has to work with thousands or millions of rows, you want to minimize the costs resulting from calls to the database. For more information, see [Handle bulk data using the SQL connector](../connectors/connectors-create-api-sqlazure.md#handle-bulk-data).
logic-apps Healthy Unhealthy Resource https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/healthy-unhealthy-resource.md
ms.suite: integration Previously updated : 12/07/2020 Last updated : 08/20/2022 # Set up logging to monitor logic apps in Microsoft Defender for Cloud
logic-apps Ise Manage Integration Service Environment https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/ise-manage-integration-service-environment.md
ms.suite: integration Previously updated : 10/25/2020 Last updated : 08/20/2022 # Manage your integration service environment (ISE) in Azure Logic Apps
logic-apps Logic Apps Azure Resource Manager Templates Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-azure-resource-manager-templates-overview.md
ms.suite: integration Previously updated : 12/08/2021 Last updated : 08/20/2022 # Overview: Automate deployment for Azure Logic Apps by using Azure Resource Manager templates + When you're ready to automate creating and deploying your logic app, you can expand your logic app's underlying workflow definition into an [Azure Resource Manager template](../azure-resource-manager/management/overview.md). This template defines the infrastructure, resources, parameters, and other information for provisioning and deploying your logic app. By defining parameters for values that vary at deployment, also known as *parameterizing*, you can repeatedly and consistently deploy logic apps based on different deployment needs. For example, if you deploy to environments for development, test, and production, you likely use different connection strings for each environment. You can declare template parameters that accept different connection strings and then store those strings in a separate [parameters file](../azure-resource-manager/templates/parameter-files.md). That way, you can change those values without having to update and redeploy the template. For scenarios where you have parameter values that are sensitive or must be secured, such as passwords and secrets, you can store those values in [Azure Key Vault](../azure-resource-manager/templates/key-vault-parameter.md) and have your parameters file retrieve those values. However, in these scenarios, you'd redeploy to retrieve the current values.
logic-apps Logic Apps Batch Process Send Receive Messages https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-batch-process-send-receive-messages.md
Previously updated : 07/31/2020 Last updated : 08/20/2022 # Send, receive, and batch process messages in Azure Logic Apps
logic-apps Logic Apps Create Azure Resource Manager Templates https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-create-azure-resource-manager-templates.md
ms.suite: integration Previously updated : 07/20/2021 Last updated : 08/20/2022 # Create Azure Resource Manager templates to automate Consumption logic app deployment for Azure Logic Apps
logic-apps Logic Apps Data Operations Code Samples https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-data-operations-code-samples.md
ms.suite: integration Previously updated : 09/01/2019 Last updated : 08/20/2022 # Data operation code samples for Azure Logic Apps
logic-apps Logic Apps Enterprise Integration Agreements https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-enterprise-integration-agreements.md
Previously updated : 09/15/2021 Last updated : 08/30/2022 # Add agreements between partners in integration accounts for workflows in Azure Logic Apps
logic-apps Logic Apps Enterprise Integration As2 Mdn Acknowledgment https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-enterprise-integration-as2-mdn-acknowledgment.md
Previously updated : 08/12/2021 Last updated : 08/30/2022 # MDN acknowledgments for AS2 messages in Azure Logic Apps
logic-apps Logic Apps Enterprise Integration As2 Message Settings https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-enterprise-integration-as2-message-settings.md
Previously updated : 07/20/2021 Last updated : 08/30/2022 # Reference for AS2 message settings in agreements for Azure Logic Apps
logic-apps Logic Apps Enterprise Integration As2 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-enterprise-integration-as2.md
Previously updated : 09/27/2021 Last updated : 08/30/2022 # Exchange AS2 messages using workflows in Azure Logic Apps
logic-apps Logic Apps Enterprise Integration B2b Business Continuity https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-enterprise-integration-b2b-business-continuity.md
Previously updated : 04/10/2017 Last updated : 08/20/2022 # Set up cross-region disaster recovery for integration accounts in Azure Logic Apps
logic-apps Logic Apps Enterprise Integration B2b List Errors Solutions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-enterprise-integration-b2b-list-errors-solutions.md
Previously updated : 06/02/2017 Last updated : 08/20/2022 # B2B errors and solutions for Azure Logic Apps
logic-apps Logic Apps Enterprise Integration B2b https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-enterprise-integration-b2b.md
Previously updated : 09/17/2021 Last updated : 08/30/2022 # Exchange B2B messages between partners using workflows in Azure Logic Apps
logic-apps Logic Apps Enterprise Integration Certificates https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-enterprise-integration-certificates.md
Previously updated : 09/23/2021 Last updated : 08/30/2022 # Add certificates to integration accounts for securing messages in workflows with Azure Logic Apps
logic-apps Logic Apps Enterprise Integration Create Integration Account https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-enterprise-integration-create-integration-account.md
Previously updated : 09/14/2021 Last updated : 08/30/2022 # Create and manage integration accounts for B2B workflows in Azure Logic Apps with the Enterprise Integration Pack
logic-apps Logic Apps Enterprise Integration Edifact Contrl Acknowledgment https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-enterprise-integration-edifact-contrl-acknowledgment.md
Previously updated : 07/25/2021 Last updated : 08/20/2022 # CONTRL acknowledgments and error codes for EDIFACT messages in Azure Logic Apps
logic-apps Logic Apps Enterprise Integration Edifact Message Settings https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-enterprise-integration-edifact-message-settings.md
Previously updated : 09/29/2021 Last updated : 08/20/2022 # Reference for EDIFACT message settings in agreements for Azure Logic Apps
logic-apps Logic Apps Enterprise Integration Maps https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-enterprise-integration-maps.md
Previously updated : 09/14/2021 Last updated : 08/30/2022 # Add XSLT maps to transform XML in workflows with Azure Logic Apps
logic-apps Logic Apps Enterprise Integration Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-enterprise-integration-overview.md
Previously updated : 01/27/2022 Last updated : 08/20/2022 # B2B enterprise integration workflows with Azure Logic Apps and Enterprise Integration Pack
logic-apps Logic Apps Enterprise Integration Partners https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-enterprise-integration-partners.md
Previously updated : 09/16/2021 Last updated : 08/30/2022 # Add trading partners to integration accounts for workflows in Azure Logic Apps
logic-apps Logic Apps Enterprise Integration Schemas https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-enterprise-integration-schemas.md
Previously updated : 09/14/2021 Last updated : 08/30/2022 # Add schemas to validate XML in workflows with Azure Logic Apps
logic-apps Logic Apps Enterprise Integration X12 997 Acknowledgment https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-enterprise-integration-x12-997-acknowledgment.md
Previously updated : 07/15/2021 Last updated : 08/20/2022 # 997 functional acknowledgments and error codes for X12 messages in Azure Logic Apps
logic-apps Logic Apps Enterprise Integration X12 Ta1 Acknowledgment https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-enterprise-integration-x12-ta1-acknowledgment.md
Previously updated : 07/15/2021 Last updated : 08/20/2022 # TA1 technical acknowledgments and error codes for X12 messages in Azure Logic Apps
logic-apps Logic Apps Enterprise Integration X12 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-enterprise-integration-x12.md
Previously updated : 07/16/2021 Last updated : 08/20/2022 # Exchange X12 messages for B2B enterprise integration using Azure Logic Apps and Enterprise Integration Pack
logic-apps Logic Apps Enterprise Integration Xml Validation https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-enterprise-integration-xml-validation.md
Previously updated : 09/15/2021 Last updated : 08/20/2022 # Validate XML in workflows with Azure Logic Apps
logic-apps Logic Apps Enterprise Integration Xml https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-enterprise-integration-xml.md
Previously updated : 02/27/2017 Last updated : 08/20/2022 # XML messages and flat files in Azure Logic Apps with Enterprise Integration Pack
logic-apps Logic Apps Examples And Scenarios https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-examples-and-scenarios.md
ms.suite: integration Previously updated : 07/20/2021 Last updated : 08/20/2022 # Common scenarios, examples, tutorials, and walkthroughs for Azure Logic Apps
logic-apps Logic Apps Move From Mabs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-move-from-mabs.md
ms.suite: integration Previously updated : 05/30/2017 Last updated : 08/20/2022 # Migrate your apps and solutions from BizTalk Services to Azure Logic Apps
logic-apps Logic Apps Pricing https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-pricing.md
ms.suite: integration Previously updated : 11/10/2021 Last updated : 08/20/2022 # Usage metering, billing, and pricing models for Azure Logic Apps
logic-apps Logic Apps Scenario Social Serverless https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-scenario-social-serverless.md
ms.suite: integration Previously updated : 03/15/2018 Last updated : 08/20/2022 # Create a streaming customer insights dashboard with Azure Logic Apps and Azure Functions
logic-apps Logic Apps Schema 2016 04 01 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-schema-2016-04-01.md
Title: Schema updates June-1-2016
description: Updated schema version 2016-06-01 for logic app definitions in Azure Logic Apps. ms.suite: integration-- Previously updated : 07/25/2016 Last updated : 08/20/2022 # Schema updates for Azure Logic Apps - June 1, 2016
logic-apps Logic Apps Serverless Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-serverless-overview.md
ms.suite: integration Previously updated : 07/15/2021 Last updated : 08/20/2022 # Azure serverless overview: Create cloud-based apps and solutions with Azure Logic Apps and Azure Functions
logic-apps Logic Apps Track Integration Account As2 Tracking Schemas https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-track-integration-account-as2-tracking-schemas.md
Previously updated : 01/01/2020 Last updated : 08/20/2022 # Create schemas for tracking AS2 messages in Azure Logic Apps
logic-apps Logic Apps Track Integration Account Custom Tracking Schema https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-track-integration-account-custom-tracking-schema.md
Previously updated : 01/01/2020 Last updated : 08/20/2022 # Create custom tracking schemas that monitor end-to-end workflows in Azure Logic A
logic-apps Logic Apps Track Integration Account X12 Tracking Schema https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-track-integration-account-x12-tracking-schema.md
Previously updated : 01/01/2020 Last updated : 08/20/2022 # Create schemas for tracking X12 messages in Azure Logic Apps
logic-apps Logic Apps Workflow Actions Triggers https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-workflow-actions-triggers.md
ms.suite: integration Previously updated : 07/19/2021 Last updated : 08/20/2022
this expression as your condition:
<a name="split-on-debatch"></a>
-## Trigger multiple runs
+## Trigger multiple runs on an array
-If your trigger returns an array for your logic app to process, sometimes a "for each" loop might take too long to process each array item. Instead, you can use the **SplitOn** property in your trigger to *debatch* the array. Debatching splits up the array items and starts a new workflow instance that runs for each array item. This approach is useful, for example, when you want to poll an endpoint that might return multiple new items between polling intervals. For the maximum number of array items that **SplitOn** can process in a single logic app run, see [Limits and configuration](../logic-apps/logic-apps-limits-and-config.md#looping-debatching-limits).
+If your trigger receives an array for your workflow to process, sometimes a "for each" loop might take too long to process each array item. Instead, you can use the **SplitOn** property in your trigger to *debatch* the array. Debatching splits up the array items and starts a new workflow instance that runs for each array item. This approach is useful, for example, when you want to poll an endpoint that might return multiple new items between polling intervals.
-> [!NOTE]
-> You can't use **SplitOn** with a synchronous response pattern. Any workflow that uses **SplitOn** and includes a response action
-> runs asynchronously and immediately sends a `202 ACCEPTED` response.
->
-> When trigger concurrency is enabled, the [SplitOn limit](../logic-apps/logic-apps-limits-and-config.md#looping-debatching-limits)
-> is significantly reduced. If the number of items exceeds this limit, the SplitOn capability is disabled.
-
-If your trigger's Swagger file describes a payload that is an array, the **SplitOn** property is automatically added to your trigger. Otherwise, add this property inside the response payload that has
+If your trigger's Swagger file describes a payload that's an array, the **SplitOn** property is automatically added to your trigger. Otherwise, add this property inside the response payload that has
the array you want to debatch.
+Before you use the SplitOn capability, review the following considerations:
+
+- If trigger concurrency is enabled, the [SplitOn limit](../logic-apps/logic-apps-limits-and-config.md#looping-debatching-limits) is significantly reduced. If the number of items exceeds this limit, the SplitOn capability is disabled.
+
+- You can't use the SplitOn capability with a synchronous response pattern. Any workflow that uses the **SplitOn** property and includes a response action runs asynchronously and immediately sends a `202 ACCEPTED` response.
+
+- For the maximum number of array items that **SplitOn** can process in a single workflow run, see [Limits and configuration](../logic-apps/logic-apps-limits-and-config.md#looping-debatching-limits).
+ *Example*
-Suppose you have an API that returns this response:
+Suppose you have an HTTP trigger that calls an API and receives this response:
```json {
Suppose you have an API that returns this response:
} ```
-Your logic app only needs the content from the array in `Rows`, so you can create a trigger like this example:
+Your workflow needs only the content from the array in `Rows`, so you can create a trigger like this example:
``` json "HTTP_Debatch": {
By default, logic app workflow instances all run at the same time (concurrently
When you turn on the trigger's concurrency control, trigger instances run in parallel up to the [default limit](../logic-apps/logic-apps-limits-and-config.md#looping-debatching-limits). To change this default concurrency limit, you can use either the code view editor or Logic Apps Designer because changing the concurrency setting through the designer adds or updates the `runtimeConfiguration.concurrency.runs` property in the underlying trigger definition and vice versa. This property controls the maximum number of new workflow instances that can run in parallel.
-Here are some considerations to review before you enable concurrency on a trigger:
+Before you enable concurrency on a trigger, review the following considerations:
* You can't disable concurrency after you enable the concurrency control.
+* If the maximum number of concurrent trigger runs reaches the maximum degree of parallelism, subsequent trigger runs might experience throttling or "429 - Too many requests" errors. If you set up a [retry policy that handles 429 errors](handle-throttling-problems-429-errors.md), the trigger might experience a cycle of retry and throttling behavior that causes long delays in processing new trigger requests.
+ * When concurrency is enabled, the [SplitOn limit](../logic-apps/logic-apps-limits-and-config.md#looping-debatching-limits) is significantly reduced for [debatching arrays](#split-on-debatch). If the number of items exceeds this limit, the SplitOn capability is disabled. * When concurrency is enabled, a long-running logic app instance might cause new logic app instances to enter a waiting state. This state prevents Azure Logic Apps from creating new instances and happens even when the number of concurrent runs is less than the specified maximum number of concurrent runs.
logic-apps Logic Apps Workflow Definition Language https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-workflow-definition-language.md
ms.suite: integration Previously updated : 05/13/2019 Last updated : 08/20/2022 # Schema reference guide for the Workflow Definition Language in Azure Logic Apps
logic-apps Move Logic App Resources https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/move-logic-app-resources.md
ms.suite: integration Previously updated : 04/06/2020 Last updated : 08/20/2022 # Move logic app resources to other Azure resource groups, regions, or subscriptions
logic-apps Plan Manage Costs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/plan-manage-costs.md
Previously updated : 05/25/2021 Last updated : 08/20/2022 # Note for Azure service writer: Links to Cost Management articles are full URLS with the ?WT.mc_id=costmanagementcontent_docsacmhorizontal_-inproduct-learn campaign suffix. Leave those URLs intact. They're used to measure traffic to Cost Management articles.
logic-apps Quickstart Create Deploy Azure Resource Manager Template https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/quickstart-create-deploy-azure-resource-manager-template.md
ms.suite: integration
Previously updated : 04/27/2022 Last updated : 08/20/2022 #Customer intent: As a developer, I want to create and deploy an automated workflow in multi-tenant Azure Logic Apps with Azure Resource Manager templates (ARM templates).
logic-apps Quickstart Create Deploy Bicep https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/quickstart-create-deploy-bicep.md
Title: Quickstart - Create Consumption logic app workflow with Bicep description: How to create and deploy a Consumption logic app workflow with Bicep.- ms.suite: integration - Previously updated : 04/07/2022 Last updated : 08/20/2022 #Customer intent: As a developer, I want to create and deploy an automated workflow in multi-tenant Azure Logic Apps with Bicep.
logic-apps Quickstart Logic Apps Azure Cli https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/quickstart-logic-apps-azure-cli.md
ms.suite: integration
Previously updated : 05/03/2022 Last updated : 08/20/2022 # Quickstart: Create and manage workflows with Azure CLI in Azure Logic Apps
logic-apps Quickstart Logic Apps Azure Powershell https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/quickstart-logic-apps-azure-powershell.md
ms.tool: azure-powershell Previously updated : 05/03/2022 Last updated : 08/20/2022 # Quickstart: Create and manage workflows with Azure PowerShell in Azure Logic Apps
logic-apps Set Up Devops Deployment Single Tenant Azure Logic Apps https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/set-up-devops-deployment-single-tenant-azure-logic-apps.md
ms.suite: integration Previously updated : 02/14/2022 Last updated : 08/20/2022 # As a developer, I want to automate deployment for workflows hosted in single-tenant Azure Logic Apps by using DevOps tools and processes.
logic-apps Set Up Sql Db Storage Single Tenant Standard Workflows https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/set-up-sql-db-storage-single-tenant-standard-workflows.md
ms.suite: integration Previously updated : 11/02/2021 Last updated : 08/20/2022
logic-apps Test Logic Apps Mock Data Static Results https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/test-logic-apps-mock-data-static-results.md
ms.suite: integration Previously updated : 10/08/2021 Last updated : 08/20/2022 # Test workflows with mock data in Azure Logic Apps (Preview) + > [!NOTE] > This capability is in preview and is subject to the > [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
logic-apps Tutorial Build Schedule Recurring Logic App Workflow https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/tutorial-build-schedule-recurring-logic-app-workflow.md
ms.suite: integration
Previously updated : 03/24/2021 Last updated : 08/20/2022 # Tutorial: Create schedule-based and recurring automation workflows with Azure Logic Apps
logic-apps Tutorial Process Email Attachments Workflow https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/tutorial-process-email-attachments-workflow.md
ms.suite: integration
Previously updated : 03/24/2021 Last updated : 08/20/2022 # Tutorial: Automate tasks to process emails by using Azure Logic Apps, Azure Functions, and Azure Storage
logic-apps Tutorial Process Mailing List Subscriptions Workflow https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/tutorial-process-mailing-list-subscriptions-workflow.md
ms.suite: integration
Previously updated : 03/24/2021 Last updated : 08/20/2022 # Tutorial: Create automated approval-based workflows by using Azure Logic Apps
orbital Prepare Network https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/orbital/prepare-network.md
Here is an example of a typical VNET setup with a subnet delegated to Azure Orbi
:::image type="content" source="media/azure-ground-station-subnet-example.png" alt-text="Screenshot of subnet configuration with Orbital delegated subnet." lightbox="media/azure-ground-station-subnet-example.png":::
+## Prepare endpoints
+
+Set the MTU of all desired endpoints to at least 3650.
+ ## Setting up the contact profile Prerequisites:
purview How To Workflow Manage Requests Approvals https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/purview/how-to-workflow-manage-requests-approvals.md
Select the request to take action.
1. Select the correct status, add any comments, and select **Confirm**.
+### Re-assign requests
+
+You can re-assign requests both approvals and tasks which are assigned to you to a different user.
+
+1. To re-assign, select request or task you are assigned and click on **Reassign** in the following window.
+
+ :::image type="content" source="./media/how-to-workflow-manage-requests-approval/reassign-button.png" alt-text="Screenshot showing the task selected and the Respond page is open, with details, a status, and a place for comments and re-assign button.":::
+
+1. You will be not presented with a list of all the users who are assigned to the request. Click on **Assignee** where your user name or the group you are part of will be displayed and change it from your user name to the new user name. Click **Save** to complete the re-assignment.
+
+ :::image type="content" source="./media/how-to-workflow-manage-requests-approval/reassign-user.png" alt-text="Screenshot showing the request selected and the re-assign user.":::
+
+ > [!NOTE]
+ > You can only re-assign your user id or group you are part of to another user or group. The other assignees will be greyed out and will not available for re-assignment.
+ ## Pending requests In this tab you can view all the approval requests and tasks that you've submitted.
Select the request to see the status and the outcomes for each approver/task own
:::image type="content" source="./media/how-to-workflow-manage-requests-approval/my-pending-requests.png" alt-text="Screenshot with the requests and approvals page shown on the 'My pending requests' tab, with a list of requests from the user that are waiting approver response.":::
+### Cancel workflows
+
+You can cancel a submitted request and it's underlying workflow by clicking on **Cancel request and it's underlying workflow run**.
++
+ > [!NOTE]
+ > You can only cancel workflows which are in progress. When you cancel a request from requests and approvals section, it will cancel underlying workflow run.
++ ## History All the completed approvals and tasks are moved to this tab.
purview How To Workflow Manage Runs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/purview/how-to-workflow-manage-runs.md
This article outlines how to manage workflows that are already running.
:::image type="content" source="./media/how-to-workflow-manage-runs/workflow-details.png" alt-text="Screenshot of the workflow runs page, with an example workflow name selected, and the workflow details page overlaid, showing workflow run, submission time, run I D, status, and a list of all steps in the request timeline.":::
-1. You can select any of the actions in the request timeline to see the specific status and substep details.
+1. You can select any of the actions in the request timeline to see the specific status and sub steps details.
:::image type="content" source="./media/how-to-workflow-manage-runs/select-stages.png" alt-text="Screenshot of the workflow runs page, with the workflow details page overlaid. Some workflow run actions in the request timeline have been expanded to show more information and sub steps.":::
+1. You can cancel a running workflow by clicking on **Cancel workflow run**.
+
+ :::image type="content" source="./media/how-to-workflow-manage-runs/cancel-workflows.png" alt-text="Screenshot of the workflow runs page, with the workflow details page overlaid and cancel button to cancel the workflow run.":::
+
+ > [!NOTE]
+ > You can only cancel workflows which are in progress.
+ ## Next steps
role-based-access-control Best Practices https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/best-practices.md
Title: Best practices for Azure RBAC
description: Best practices for using Azure role-based access control (Azure RBAC). -+
role-based-access-control Built In Roles https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/built-in-roles.md
+ Previously updated : 07/18/2022 Last updated : 08/20/2022
The following table provides a brief description of each built-in role. Click th
> | **Web** | | | > | [Azure Maps Data Contributor](#azure-maps-data-contributor) | Grants access to read, write, and delete access to map related data from an Azure maps account. | 8f5e0ce6-4f7b-4dcf-bddf-e6f48634a204 | > | [Azure Maps Data Reader](#azure-maps-data-reader) | Grants access to read map related data from an Azure maps account. | 423170ca-a8f6-4b0f-8487-9e4eb8f49bfa |
-> | [Azure Spring Apps Config Server Contributor](#azure-spring-apps-config-server-contributor) | Allow read, write and delete access to Azure Spring Apps Config Server | a06f5c24-21a7-4e1a-aa2b-f19eb6684f5b |
-> | [Azure Spring Apps Config Server Reader](#azure-spring-apps-config-server-reader) | Allow read access to Azure Spring Apps Config Server | d04c6db6-4947-4782-9e91-30a88feb7be7 |
-> | [Azure Spring Apps Data Reader](#azure-spring-apps-data-reader) | Allow read access to Azure Spring Apps Data | b5537268-8956-4941-a8f0-646150406f0c |
-> | [Azure Spring Apps Service Registry Contributor](#azure-spring-apps-service-registry-contributor) | Allow read, write and delete access to Azure Spring Apps Service Registry | f5880b48-c26d-48be-b172-7927bfa1c8f1 |
-> | [Azure Spring Apps Service Registry Reader](#azure-spring-apps-service-registry-reader) | Allow read access to Azure Spring Apps Service Registry | cff1b556-2399-4e7e-856d-a8f754be7b65 |
+> | [Azure Spring Cloud Config Server Contributor](#azure-spring-cloud-config-server-contributor) | Allow read, write and delete access to Azure Spring Cloud Config Server | a06f5c24-21a7-4e1a-aa2b-f19eb6684f5b |
+> | [Azure Spring Cloud Config Server Reader](#azure-spring-cloud-config-server-reader) | Allow read access to Azure Spring Cloud Config Server | d04c6db6-4947-4782-9e91-30a88feb7be7 |
+> | [Azure Spring Cloud Data Reader](#azure-spring-cloud-data-reader) | Allow read access to Azure Spring Cloud Data | b5537268-8956-4941-a8f0-646150406f0c |
+> | [Azure Spring Cloud Service Registry Contributor](#azure-spring-cloud-service-registry-contributor) | Allow read, write and delete access to Azure Spring Cloud Service Registry | f5880b48-c26d-48be-b172-7927bfa1c8f1 |
+> | [Azure Spring Cloud Service Registry Reader](#azure-spring-cloud-service-registry-reader) | Allow read access to Azure Spring Cloud Service Registry | cff1b556-2399-4e7e-856d-a8f754be7b65 |
> | [Media Services Account Administrator](#media-services-account-administrator) | Create, read, modify, and delete Media Services accounts; read-only access to other Media Services resources. | 054126f8-9a2b-4f1c-a9ad-eca461f08466 | > | [Media Services Live Events Administrator](#media-services-live-events-administrator) | Create, read, modify, and delete Live Events, Assets, Asset Filters, and Streaming Locators; read-only access to other Media Services resources. | 532bc159-b25e-42c0-969e-a1d439f60d77 | > | [Media Services Media Operator](#media-services-media-operator) | Create, read, modify, and delete Assets, Asset Filters, Streaming Locators, and Jobs; read-only access to other Media Services resources. | e4395492-1534-4db2-bedf-88c14621589c |
Lets you manage backup service, but can't create vaults and give access to other
> | [Microsoft.DataProtection](resource-provider-operations.md#microsoftdataprotection)/locations/operationStatus/read | Returns Backup Operation Status for Backup Vault. | > | [Microsoft.DataProtection](resource-provider-operations.md#microsoftdataprotection)/locations/operationResults/read | Returns Backup Operation Result for Backup Vault. | > | [Microsoft.DataProtection](resource-provider-operations.md#microsoftdataprotection)/backupVaults/validateForBackup/action | Validates for backup of Backup Instance |
-> | [Microsoft.DataProtection](resource-provider-operations.md#microsoftdataprotection)/providers/operations/read | |
+> | [Microsoft.DataProtection](resource-provider-operations.md#microsoftdataprotection)/operations/read | Operation returns the list of Operations for a Resource Provider |
> | **NotActions** | | > | *none* | | > | **DataActions** | |
Lets you manage backup service, but can't create vaults and give access to other
"Microsoft.DataProtection/locations/operationStatus/read", "Microsoft.DataProtection/locations/operationResults/read", "Microsoft.DataProtection/backupVaults/validateForBackup/action",
- "Microsoft.DataProtection/providers/operations/read"
+ "Microsoft.DataProtection/operations/read"
], "notActions": [], "dataActions": [],
Lets you perform backup and restore operations using Azure Backup on the storage
> | [Microsoft.Storage](resource-provider-operations.md#microsoftstorage)/storageAccounts/objectReplicationPolicies/delete | Delete object replication policy | > | [Microsoft.Storage](resource-provider-operations.md#microsoftstorage)/storageAccounts/objectReplicationPolicies/read | List object replication policies | > | [Microsoft.Storage](resource-provider-operations.md#microsoftstorage)/storageAccounts/objectReplicationPolicies/write | Create or update object replication policy |
-> | [Microsoft.Storage](resource-provider-operations.md#microsoftstorage)/storageAccounts/objectReplicationPolicies/restorePointMarkers/write | |
+> | [Microsoft.Storage](resource-provider-operations.md#microsoftstorage)/storageAccounts/objectReplicationPolicies/restorePointMarkers/write | Create object replication restore point marker |
> | [Microsoft.Storage](resource-provider-operations.md#microsoftstorage)/storageAccounts/blobServices/containers/read | Returns list of containers | > | [Microsoft.Storage](resource-provider-operations.md#microsoftstorage)/storageAccounts/blobServices/containers/write | Returns the result of put blob container | > | [Microsoft.Storage](resource-provider-operations.md#microsoftstorage)/storageAccounts/blobServices/read | Returns blob service properties or statistics |
Grants access to read map related data from an Azure maps account. [Learn more](
} ```
-### Azure Spring Apps Config Server Contributor
+### Azure Spring Cloud Config Server Contributor
-Allow read, write and delete access to Azure Spring Apps Config Server [Learn more](../spring-apps/how-to-access-data-plane-azure-ad-rbac.md)
+Allow read, write and delete access to Azure Spring Cloud Config Server [Learn more](../spring-apps/how-to-access-data-plane-azure-ad-rbac.md)
> [!div class="mx-tableFixed"] > | Actions | Description |
Allow read, write and delete access to Azure Spring Apps Config Server [Learn mo
"assignableScopes": [ "/" ],
- "description": "Allow read, write and delete access to Azure Spring Apps Config Server",
+ "description": "Allow read, write and delete access to Azure Spring Cloud Config Server",
"id": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/a06f5c24-21a7-4e1a-aa2b-f19eb6684f5b", "name": "a06f5c24-21a7-4e1a-aa2b-f19eb6684f5b", "permissions": [
Allow read, write and delete access to Azure Spring Apps Config Server [Learn mo
"notDataActions": [] } ],
- "roleName": "Azure Spring Apps Config Server Contributor",
+ "roleName": "Azure Spring Cloud Config Server Contributor",
"roleType": "BuiltInRole", "type": "Microsoft.Authorization/roleDefinitions" } ```
-### Azure Spring Apps Config Server Reader
+### Azure Spring Cloud Config Server Reader
-Allow read access to Azure Spring Apps Config Server [Learn more](../spring-apps/how-to-access-data-plane-azure-ad-rbac.md)
+Allow read access to Azure Spring Cloud Config Server [Learn more](../spring-apps/how-to-access-data-plane-azure-ad-rbac.md)
> [!div class="mx-tableFixed"] > | Actions | Description |
Allow read access to Azure Spring Apps Config Server [Learn more](../spring-apps
"assignableScopes": [ "/" ],
- "description": "Allow read access to Azure Spring Apps Config Server",
+ "description": "Allow read access to Azure Spring Cloud Config Server",
"id": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/d04c6db6-4947-4782-9e91-30a88feb7be7", "name": "d04c6db6-4947-4782-9e91-30a88feb7be7", "permissions": [
Allow read access to Azure Spring Apps Config Server [Learn more](../spring-apps
"notDataActions": [] } ],
- "roleName": "Azure Spring Apps Config Server Reader",
+ "roleName": "Azure Spring Cloud Config Server Reader",
"roleType": "BuiltInRole", "type": "Microsoft.Authorization/roleDefinitions" } ```
-### Azure Spring Apps Data Reader
+### Azure Spring Cloud Data Reader
-Allow read access to Azure Spring Apps Data
+Allow read access to Azure Spring Cloud Data
> [!div class="mx-tableFixed"] > | Actions | Description |
Allow read access to Azure Spring Apps Data
"assignableScopes": [ "/" ],
- "description": "Allow read access to Azure Spring Apps Data",
+ "description": "Allow read access to Azure Spring Cloud Data",
"id": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/b5537268-8956-4941-a8f0-646150406f0c", "name": "b5537268-8956-4941-a8f0-646150406f0c", "permissions": [
Allow read access to Azure Spring Apps Data
"notDataActions": [] } ],
- "roleName": "Azure Spring Apps Data Reader",
+ "roleName": "Azure Spring Cloud Data Reader",
"roleType": "BuiltInRole", "type": "Microsoft.Authorization/roleDefinitions" } ```
-### Azure Spring Apps Service Registry Contributor
+### Azure Spring Cloud Service Registry Contributor
-Allow read, write and delete access to Azure Spring Apps Service Registry [Learn more](../spring-apps/how-to-access-data-plane-azure-ad-rbac.md)
+Allow read, write and delete access to Azure Spring Cloud Service Registry [Learn more](../spring-apps/how-to-access-data-plane-azure-ad-rbac.md)
> [!div class="mx-tableFixed"] > | Actions | Description |
Allow read, write and delete access to Azure Spring Apps Service Registry [Learn
"assignableScopes": [ "/" ],
- "description": "Allow read, write and delete access to Azure Spring Apps Service Registry",
+ "description": "Allow read, write and delete access to Azure Spring Cloud Service Registry",
"id": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/f5880b48-c26d-48be-b172-7927bfa1c8f1", "name": "f5880b48-c26d-48be-b172-7927bfa1c8f1", "permissions": [
Allow read, write and delete access to Azure Spring Apps Service Registry [Learn
"notDataActions": [] } ],
- "roleName": "Azure Spring Apps Service Registry Contributor",
+ "roleName": "Azure Spring Cloud Service Registry Contributor",
"roleType": "BuiltInRole", "type": "Microsoft.Authorization/roleDefinitions" } ```
-### Azure Spring Apps Service Registry Reader
+### Azure Spring Cloud Service Registry Reader
-Allow read access to Azure Spring Apps Service Registry [Learn more](../spring-apps/how-to-access-data-plane-azure-ad-rbac.md)
+Allow read access to Azure Spring Cloud Service Registry [Learn more](../spring-apps/how-to-access-data-plane-azure-ad-rbac.md)
> [!div class="mx-tableFixed"] > | Actions | Description |
Allow read access to Azure Spring Apps Service Registry [Learn more](../spring-a
"assignableScopes": [ "/" ],
- "description": "Allow read access to Azure Spring Apps Service Registry",
+ "description": "Allow read access to Azure Spring Cloud Service Registry",
"id": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/cff1b556-2399-4e7e-856d-a8f754be7b65", "name": "cff1b556-2399-4e7e-856d-a8f754be7b65", "permissions": [
Allow read access to Azure Spring Apps Service Registry [Learn more](../spring-a
"notDataActions": [] } ],
- "roleName": "Azure Spring Apps Service Registry Reader",
+ "roleName": "Azure Spring Cloud Service Registry Reader",
"roleType": "BuiltInRole", "type": "Microsoft.Authorization/roleDefinitions" }
Microsoft Sentinel Contributor [Learn more](../sentinel/roles.md)
> | [Microsoft.Resources](resource-provider-operations.md#microsoftresources)/subscriptions/resourceGroups/read | Gets or lists resource groups. | > | [Microsoft.Support](resource-provider-operations.md#microsoftsupport)/* | Create and update a support ticket | > | **NotActions** | |
-> | *none* | |
+> | [Microsoft.SecurityInsights](resource-provider-operations.md#microsoftsecurityinsights)/ConfidentialWatchlists/* | |
+> | [Microsoft.OperationalInsights](resource-provider-operations.md#microsoftoperationalinsights)/workspaces/query/ConfidentialWatchlist/* | |
> | **DataActions** | | > | *none* | | > | **NotDataActions** | |
Microsoft Sentinel Contributor [Learn more](../sentinel/roles.md)
"Microsoft.Resources/subscriptions/resourceGroups/read", "Microsoft.Support/*" ],
- "notActions": [],
+ "notActions": [
+ "Microsoft.SecurityInsights/ConfidentialWatchlists/*",
+ "Microsoft.OperationalInsights/workspaces/query/ConfidentialWatchlist/*"
+ ],
"dataActions": [], "notDataActions": [] }
Microsoft Sentinel Reader [Learn more](../sentinel/roles.md)
> | [Microsoft.Resources](resource-provider-operations.md#microsoftresources)/templateSpecs/*/read | | > | [Microsoft.Support](resource-provider-operations.md#microsoftsupport)/* | Create and update a support ticket | > | **NotActions** | |
-> | *none* | |
+> | [Microsoft.SecurityInsights](resource-provider-operations.md#microsoftsecurityinsights)/ConfidentialWatchlists/* | |
+> | [Microsoft.OperationalInsights](resource-provider-operations.md#microsoftoperationalinsights)/workspaces/query/ConfidentialWatchlist/* | |
> | **DataActions** | | > | *none* | | > | **NotDataActions** | |
Microsoft Sentinel Reader [Learn more](../sentinel/roles.md)
"Microsoft.Resources/templateSpecs/*/read", "Microsoft.Support/*" ],
- "notActions": [],
+ "notActions": [
+ "Microsoft.SecurityInsights/ConfidentialWatchlists/*",
+ "Microsoft.OperationalInsights/workspaces/query/ConfidentialWatchlist/*"
+ ],
"dataActions": [], "notDataActions": [] }
Microsoft Sentinel Responder [Learn more](../sentinel/roles.md)
> | **NotActions** | | > | [Microsoft.SecurityInsights](resource-provider-operations.md#microsoftsecurityinsights)/cases/*/Delete | | > | [Microsoft.SecurityInsights](resource-provider-operations.md#microsoftsecurityinsights)/incidents/*/Delete | |
+> | [Microsoft.SecurityInsights](resource-provider-operations.md#microsoftsecurityinsights)/ConfidentialWatchlists/* | |
+> | [Microsoft.OperationalInsights](resource-provider-operations.md#microsoftoperationalinsights)/workspaces/query/ConfidentialWatchlist/* | |
> | **DataActions** | | > | *none* | | > | **NotDataActions** | |
Microsoft Sentinel Responder [Learn more](../sentinel/roles.md)
], "notActions": [ "Microsoft.SecurityInsights/cases/*/Delete",
- "Microsoft.SecurityInsights/incidents/*/Delete"
+ "Microsoft.SecurityInsights/incidents/*/Delete",
+ "Microsoft.SecurityInsights/ConfidentialWatchlists/*",
+ "Microsoft.OperationalInsights/workspaces/query/ConfidentialWatchlist/*"
], "dataActions": [], "notDataActions": []
Can read all monitoring data and edit monitoring settings. See also [Get started
> | **NotActions** | | > | *none* | | > | **DataActions** | |
-> | *none* | |
+> | [microsoft.monitor](resource-provider-operations.md#microsoftmonitor)/accounts/data/metrics/read | Read metrics data in any Monitoring Account |
> | **NotDataActions** | | > | *none* | |
Can read all monitoring data and edit monitoring settings. See also [Get started
"Microsoft.AlertsManagement/migrateFromSmartDetection/*" ], "notActions": [],
- "dataActions": [],
+ "dataActions": [
+ "microsoft.monitor/accounts/data/metrics/read"
+ ],
"notDataActions": [] } ],
role-based-access-control Change History Report https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/change-history-report.md
Title: View activity logs for Azure RBAC changes
description: View activity logs for Azure role-based access control (Azure RBAC) changes for the past 90 days. -+
role-based-access-control Check Access https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/check-access.md
Title: Quickstart - Check access for a user to Azure resources - Azure RBAC
description: In this quickstart, you learn how to check the access for yourself or another user to Azure resources using the Azure portal and Azure role-based access control (Azure RBAC). -+
role-based-access-control Classic Administrators https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/classic-administrators.md
description: Describes how to add or change the Azure Co-Administrator and Servi
documentationcenter: '' -+ ms.assetid:
role-based-access-control Conditions Custom Security Attributes Example https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/conditions-custom-security-attributes-example.md
Title: Scale the management of Azure role assignments by using conditions and cu
description: Scale the management of Azure role assignments by using Azure attribute-based access control (Azure ABAC) conditions and Azure AD custom security attributes for principals. +
role-based-access-control Conditions Custom Security Attributes https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/conditions-custom-security-attributes.md
Title: "Allow read access to blobs based on tags and custom security attributes
description: Allow read access to blobs based on tags and custom security attributes by using Azure role assignment conditions and Azure attribute-based access control (Azure ABAC). +
role-based-access-control Conditions Faq https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/conditions-faq.md
Title: FAQ for Azure role assignment conditions (preview)
description: Frequently asked questions for Azure role assignment conditions (preview) -+
role-based-access-control Conditions Format https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/conditions-format.md
Title: Azure role assignment condition format and syntax (preview) - Azure RBAC
description: Get an overview of the format and syntax of Azure role assignment conditions for Azure attribute-based access control (Azure ABAC). +
role-based-access-control Conditions Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/conditions-overview.md
Title: What is Azure attribute-based access control (Azure ABAC)? (preview)
description: Get an overview of Azure attribute-based access control (Azure ABAC). Use role assignments with conditions to control access to Azure resources. -+
role-based-access-control Conditions Prerequisites https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/conditions-prerequisites.md
Title: Prerequisites for Azure role assignment conditions (preview)
description: Prerequisites for Azure role assignment conditions (preview). -+
role-based-access-control Conditions Role Assignments Cli https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/conditions-role-assignments-cli.md
Title: Add or edit Azure role assignment conditions using Azure CLI (preview) -
description: Learn how to add, edit, list, or delete attribute-based access control (ABAC) conditions in Azure role assignments using Azure CLI and Azure role-based access control (Azure RBAC). -+
role-based-access-control Conditions Role Assignments Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/conditions-role-assignments-portal.md
Title: Add or edit Azure role assignment conditions using the Azure portal (prev
description: Learn how to add, edit, view, or delete attribute-based access control (ABAC) conditions in Azure role assignments using the Azure portal and Azure role-based access control (Azure RBAC). -+
role-based-access-control Conditions Role Assignments Powershell https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/conditions-role-assignments-powershell.md
Title: Add or edit Azure role assignment conditions using Azure PowerShell (prev
description: Learn how to add, edit, list, or delete attribute-based access control (ABAC) conditions in Azure role assignments using Azure PowerShell and Azure role-based access control (Azure RBAC). -+
role-based-access-control Conditions Role Assignments Rest https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/conditions-role-assignments-rest.md
Title: Add or edit Azure role assignment conditions using the REST API (preview)
description: Learn how to add, edit, list, or delete attribute-based access control (ABAC) conditions in Azure role assignments using the REST API and Azure role-based access control (Azure RBAC). -+
role-based-access-control Conditions Role Assignments Template https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/conditions-role-assignments-template.md
Title: Add Azure role assignment conditions using Azure Resource Manager templat
description: Learn how to add attribute-based access control (ABAC) conditions in Azure role assignments using Azure Resource Manager templates and Azure role-based access control (Azure RBAC). -+
role-based-access-control Conditions Troubleshoot https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/conditions-troubleshoot.md
Title: Troubleshoot Azure role assignment conditions (preview)
description: Troubleshoot Azure role assignment conditions (preview) -+
role-based-access-control Custom Roles Bicep https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/custom-roles-bicep.md
Title: Create or update Azure custom roles using Bicep - Azure RBAC description: Learn how to create or update Azure custom roles using Bicep and Azure role-based access control (Azure RBAC). -++ Last updated 07/01/2022-+ #Customer intent: As an IT admin, I want to create custom and/or roles using Bicep so that I can start automating custom role processes.
role-based-access-control Custom Roles Cli https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/custom-roles-cli.md
description: Learn how to list, create, update, or delete Azure custom roles usi
documentationcenter: '' -+ ms.assetid: 3483ee01-8177-49e7-b337-4d5cb14f5e32
role-based-access-control Custom Roles Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/custom-roles-portal.md
description: Learn how to create Azure custom roles using the Azure portal and A
documentationcenter: '' -+
role-based-access-control Custom Roles Powershell https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/custom-roles-powershell.md
description: Learn how to list, create, update, or delete custom roles using Azu
documentationcenter: '' -+ ms.assetid: 9e225dba-9044-4b13-b573-2f30d77925a9
role-based-access-control Custom Roles Rest https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/custom-roles-rest.md
description: Learn how to list, create, update, or delete Azure custom roles usi
documentationcenter: na -+ editor: '' ms.assetid: 1f90228a-7aac-4ea7-ad82-b57d222ab128
role-based-access-control Custom Roles Template https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/custom-roles-template.md
Title: Create or update Azure custom roles using an Azure Resource Manager templ
description: Learn how to create or update Azure custom roles using an Azure Resource Manager template (ARM template) and Azure role-based access control (Azure RBAC). -+
role-based-access-control Custom Roles https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/custom-roles.md
Title: Azure custom roles - Azure RBAC
description: Learn how to create Azure custom roles with Azure role-based access control (Azure RBAC) for fine-grained access management of Azure resources. -+
role-based-access-control Deny Assignments Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/deny-assignments-portal.md
description: Learn how to list the users, groups, service principals, and manage
documentationcenter: '' -+ ms.assetid: 8078f366-a2c4-4fbb-a44b-fc39fd89df81
role-based-access-control Deny Assignments Powershell https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/deny-assignments-powershell.md
description: Learn how to list the users, groups, service principals, and manage
documentationcenter: '' -+
role-based-access-control Deny Assignments Rest https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/deny-assignments-rest.md
description: Learn how to list Azure deny assignments for users, groups, and app
documentationcenter: na -+ editor: '' ms.assetid:
role-based-access-control Deny Assignments https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/deny-assignments.md
description: Learn about Azure deny assignments in Azure role-based access contr
documentationcenter: '' -+ ms.assetid:
role-based-access-control Elevate Access Global Admin https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/elevate-access-global-admin.md
Title: Elevate access to manage all Azure subscriptions and management groups
description: Describes how to elevate access for a Global Administrator to manage all subscriptions and management groups in Azure Active Directory using the Azure portal or REST API. -+
role-based-access-control Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/overview.md
Title: What is Azure role-based access control (Azure RBAC)?
description: Get an overview of Azure role-based access control (Azure RBAC). Use role assignments to control access to Azure resources. -+
role-based-access-control Policy Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/policy-reference.md
description: Lists Azure Policy built-in policy definitions for Azure RBAC. Thes
Last updated 08/16/2022 +
role-based-access-control Quickstart Assign Role User Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/quickstart-assign-role-user-portal.md
description: In this tutorial, learn how to grant a user access to Azure resourc
documentationCenter: '' -+ editor: ''
role-based-access-control Quickstart Role Assignments Bicep https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/quickstart-role-assignments-bicep.md
Title: "Quickstart: Assign an Azure role using Bicep - Azure RBAC" description: Learn how to grant access to Azure resources for a user at resource group scope using Bicep and Azure role-based access control (Azure RBAC). -++ Last updated 06/30/2022-+ #Customer intent: As a new user, I want to see how to grant access to resources using Bicep so that I can start automating role assignment processes.
role-based-access-control Quickstart Role Assignments Template https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/quickstart-role-assignments-template.md
Title: "Quickstart: Assign an Azure role using an Azure Resource Manager templat
description: Learn how to grant access to Azure resources for a user at resource group scope using Azure Resource Manager templates and Azure role-based access control (Azure RBAC). -+
role-based-access-control Rbac And Directory Admin Roles https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/rbac-and-directory-admin-roles.md
description: Describes the different roles in Azure - Classic subscription admin
documentationcenter: '' -+ ms.assetid: 174f1706-b959-4230-9a75-bf651227ebf6
role-based-access-control Resource Provider Operations https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/resource-provider-operations.md
+ Previously updated : 07/18/2022 Last updated : 08/20/2022
Click the resource provider name in the following table to see the list of opera
| [Microsoft.ImportExport](#microsoftimportexport) | | [Microsoft.NetApp](#microsoftnetapp) | | [Microsoft.Storage](#microsoftstorage) |
-| [microsoft.storagesync](#microsoftstoragesync) |
+| [Microsoft.StorageSync](#microsoftstoragesync) |
| [Microsoft.StorSimple](#microsoftstorsimple) | | **Web** | | [Microsoft.AppPlatform](#microsoftappplatform) |
Azure service: [Application Gateway](../application-gateway/index.yml), [Azure B
> | Microsoft.Network/azurefirewalls/read | Get Azure Firewall | > | Microsoft.Network/azurefirewalls/write | Creates or updates an Azure Firewall | > | Microsoft.Network/azurefirewalls/delete | Delete Azure Firewall |
+> | Microsoft.Network/azurefirewalls/learnedIPPrefixes/action | Gets IP prefixes learned by Azure Firewall to not perform SNAT |
> | Microsoft.Network/azureFirewalls/applicationRuleCollections/read | Gets Azure Firewall ApplicationRuleCollection | > | Microsoft.Network/azureFirewalls/applicationRuleCollections/write | CreatesOrUpdates Azure Firewall ApplicationRuleCollection | > | Microsoft.Network/azureFirewalls/applicationRuleCollections/delete | Deletes Azure Firewall ApplicationRuleCollection |
Azure service: [Application Gateway](../application-gateway/index.yml), [Azure B
> | Microsoft.Network/loadBalancers/write | Creates a load balancer or updates an existing load balancer | > | Microsoft.Network/loadBalancers/delete | Deletes a load balancer | > | Microsoft.Network/loadBalancers/health/action | Get Health Summary of Load Balancer |
+> | Microsoft.Network/loadBalancers/migrateToIpBased/action | Migrate from NIC based to IP based Load Balancer |
> | Microsoft.Network/loadBalancers/backendAddressPools/queryInboundNatRulePortMapping/action | Query inbound Nat rule port mapping. | > | Microsoft.Network/loadBalancers/backendAddressPools/updateAdminState/action | Update AdminStates of backend addresses of a pool | > | Microsoft.Network/loadBalancers/backendAddressPools/health/action | Get Health Details of Backend Instance |
Azure service: [Application Gateway](../application-gateway/index.yml), [Azure B
> | Microsoft.Network/publicIPAddresses/write | Creates a public Ip address or updates an existing public Ip address. | > | Microsoft.Network/publicIPAddresses/delete | Deletes a public Ip address. | > | Microsoft.Network/publicIPAddresses/join/action | Joins a public ip address. Not Alertable. |
+> | Microsoft.Network/publicIPAddresses/ddosProtectionStatus/action | Gets the effective Ddos protection status for a Public IP Address resource. |
> | Microsoft.Network/publicIPAddresses/dnsAliases/read | Gets a Public Ip Address Dns Alias resource | > | Microsoft.Network/publicIPAddresses/dnsAliases/write | Creates a Public Ip Address Dns Alias resource | > | Microsoft.Network/publicIPAddresses/dnsAliases/delete | Deletes a Public Ip Address Dns Alias resource |
Azure service: [Application Gateway](../application-gateway/index.yml), [Azure B
> | Microsoft.Network/virtualNetworks/peer/action | Peers a virtual network with another virtual network | > | Microsoft.Network/virtualNetworks/join/action | Joins a virtual network. Not Alertable. | > | Microsoft.Network/virtualNetworks/BastionHosts/action | Gets Bastion Host references in a Virtual Network. |
+> | Microsoft.Network/virtualNetworks/ddosProtectionStatus/action | Gets the effective Ddos protection status for a Virtual Network resource. |
> | Microsoft.Network/virtualNetworks/listNetworkManagerEffectiveConnectivityConfigurations/action | List Network Manager Effective Connectivity Configurations | > | Microsoft.Network/virtualNetworks/listNetworkManagerEffectiveSecurityAdminRules/action | List Network Manager Effective Security Admin Rules | > | Microsoft.Network/virtualNetworks/listDnsResolvers/action | Gets the DNS Resolver for Virtual Network, in JSON format |
Azure service: [Azure NetApp Files](../azure-netapp-files/index.yml)
> | Microsoft.NetApp/netAppAccounts/write | Writes an account resource. | > | Microsoft.NetApp/netAppAccounts/delete | Deletes an account resource. | > | Microsoft.NetApp/netAppAccounts/RenewCredentials/action | Renews MSI credentials of account, if account has MSI credentials that are due for renewal. |
+> | Microsoft.NetApp/netAppAccounts/MigrateBackups/action | Migrate Account Backups to BackupVault. |
> | Microsoft.NetApp/netAppAccounts/accountBackups/read | Reads an account backup resource. | > | Microsoft.NetApp/netAppAccounts/accountBackups/write | Writes an account backup resource. | > | Microsoft.NetApp/netAppAccounts/accountBackups/delete | Deletes an account backup resource. | > | Microsoft.NetApp/netAppAccounts/backupPolicies/read | Reads a backup policy resource. | > | Microsoft.NetApp/netAppAccounts/backupPolicies/write | Writes a backup policy resource. | > | Microsoft.NetApp/netAppAccounts/backupPolicies/delete | Deletes a backup policy resource. |
-> | Microsoft.NetApp/netAppAccounts/backupVaults/read | Reads a Backup Vault resource. |
-> | Microsoft.NetApp/netAppAccounts/backupVaults/write | Writes a Backup Vault resource. |
> | Microsoft.NetApp/netAppAccounts/capacityPools/read | Reads a pool resource. | > | Microsoft.NetApp/netAppAccounts/capacityPools/write | Writes a pool resource. | > | Microsoft.NetApp/netAppAccounts/capacityPools/delete | Deletes a pool resource. |
Azure service: [Azure NetApp Files](../azure-netapp-files/index.yml)
> | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/ResetCifsPassword/action | Reset cifs password from specific volume. | > | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/BreakReplication/action | Break volume replication relations | > | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/ReplicationStatus/action | Reads the statuses of the Volume Replication. |
-> | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/ListReplications/action | |
+> | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/ListReplications/action | A list of replications |
> | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/ReInitializeReplication/action | Attempts to re-initialize an uninitialized replication | > | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/AuthorizeReplication/action | Authorize the source volume replication | > | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/ResyncReplication/action | Resync the replication on the destination volume |
Azure service: [Azure NetApp Files](../azure-netapp-files/index.yml)
> | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/Relocate/action | Relocate volume to a new stamp. | > | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/FinalizeRelocation/action | Finalize relocation by cleaning up the old volume. | > | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/RevertRelocation/action | Revert the relocation and revert back to the old volume. |
+> | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/BreakFileLocks/action | Breaks file locks on a volume |
+> | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/MigrateBackups/action | Migrate Volume Backups to BackupVault. |
> | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups/read | Reads a backup resource. | > | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups/write | Writes a backup resource. | > | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups/delete | Deletes a backup resource. | > | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups/RestoreFiles/action | Restores files from a backup resource |
-> | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/BackupStatus/read | |
+> | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/BackupStatus/read | Get the status of the backup for a volume |
> | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/MountTargets/read | Reads a mount target resource. | > | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/providers/Microsoft.Insights/diagnosticSettings/read | Gets the diagnostic setting for the resource. | > | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/providers/Microsoft.Insights/diagnosticSettings/write | Creates or updates the diagnostic setting for the resource. | > | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/providers/Microsoft.Insights/metricDefinitions/read | Gets the available metrics for Volume resource. | > | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/ReplicationStatus/read | Reads the statuses of the Volume Replication. |
-> | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/RestoreStatus/read | |
+> | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/RestoreStatus/read | Get the status of the restore for a volume |
> | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/read | Reads a snapshot resource. | > | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/write | Writes a snapshot resource. | > | Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/delete | Deletes a snapshot resource. |
Azure service: [Storage](../storage/index.yml)
> | Microsoft.Storage/checknameavailability/read | Checks that account name is valid and is not in use. | > | Microsoft.Storage/deletedAccounts/read | | > | Microsoft.Storage/locations/deleteVirtualNetworkOrSubnets/action | Notifies Microsoft.Storage that virtual network or subnet is being deleted |
+> | Microsoft.Storage/locations/notifyNetworkSecurityPerimeterUpdatesAvailable/action | |
> | Microsoft.Storage/locations/checknameavailability/read | Checks that account name is valid and is not in use. | > | Microsoft.Storage/locations/usages/read | Returns the limit and the current usage count for resources in the specified subscription | > | Microsoft.Storage/operations/read | Polls the status of an asynchronous operation. |
Azure service: [Storage](../storage/index.yml)
> | Microsoft.Storage/storageAccounts/updateInternalProperties/action | | > | Microsoft.Storage/storageAccounts/hnsonmigration/action | Customer is able to abort an ongoing Hns migration on the storage account | > | Microsoft.Storage/storageAccounts/hnsonmigration/action | Customer is able to migrate to hns account type |
+> | Microsoft.Storage/storageAccounts/networkSecurityPerimeterConfigurations/action | |
> | Microsoft.Storage/storageAccounts/privateEndpointConnections/action | | > | Microsoft.Storage/storageAccounts/restoreBlobRanges/action | Restore blob ranges to the state of the specified time | > | Microsoft.Storage/storageAccounts/PrivateEndpointConnectionsApproval/action | Approve Private Endpoint Connections |
Azure service: [Storage](../storage/index.yml)
> | Microsoft.Storage/storageAccounts/networkSecurityPerimeterAssociationProxies/delete | | > | Microsoft.Storage/storageAccounts/networkSecurityPerimeterAssociationProxies/read | | > | Microsoft.Storage/storageAccounts/networkSecurityPerimeterAssociationProxies/write | |
+> | Microsoft.Storage/storageAccounts/networkSecurityPerimeterConfigurations/read | |
> | Microsoft.Storage/storageAccounts/objectReplicationPolicies/delete | Delete object replication policy | > | Microsoft.Storage/storageAccounts/objectReplicationPolicies/read | Get object replication policy | > | Microsoft.Storage/storageAccounts/objectReplicationPolicies/read | List object replication policies | > | Microsoft.Storage/storageAccounts/objectReplicationPolicies/write | Create or update object replication policy |
-> | Microsoft.Storage/storageAccounts/objectReplicationPolicies/restorePointMarkers/write | |
+> | Microsoft.Storage/storageAccounts/objectReplicationPolicies/restorePointMarkers/write | Create object replication restore point marker |
> | Microsoft.Storage/storageAccounts/privateEndpointConnectionProxies/read | Get Private Endpoint Connection Proxy | > | Microsoft.Storage/storageAccounts/privateEndpointConnectionProxies/updatePrivateEndpointProperties/action | Update storage account private endpoint properties | > | Microsoft.Storage/storageAccounts/privateEndpointConnectionProxies/delete | Delete Private Endpoint Connection Proxies |
Azure service: [Storage](../storage/index.yml)
> | Microsoft.Storage/storageAccounts/queueServices/queues/read | Returns a queue or a list of queues. | > | Microsoft.Storage/storageAccounts/queueServices/queues/write | Returns the result of writing a queue | > | Microsoft.Storage/storageAccounts/queueServices/queues/delete | Returns the result of deleting a queue |
-> | Microsoft.Storage/storageAccounts/restorePoints/delete | |
-> | Microsoft.Storage/storageAccounts/restorePoints/read | |
+> | Microsoft.Storage/storageAccounts/restorePoints/delete | Delete object replication restore point |
+> | Microsoft.Storage/storageAccounts/restorePoints/read | Get object replication restore point |
+> | Microsoft.Storage/storageAccounts/restorePoints/read | List object replication restore points |
> | Microsoft.Storage/storageAccounts/services/diagnosticSettings/write | Create/Update storage account diagnostic settings. | > | Microsoft.Storage/storageAccounts/storageTasks/delete | | > | Microsoft.Storage/storageAccounts/storageTasks/read | |
Azure service: [Storage](../storage/index.yml)
> | Microsoft.Storage/storageAccounts/tableServices/tables/entities/add/action | Insert table entities | > | Microsoft.Storage/storageAccounts/tableServices/tables/entities/update/action | Merge or update table entities |
-### microsoft.storagesync
+### Microsoft.StorageSync
Azure service: [Storage](../storage/index.yml) > [!div class="mx-tableFixed"] > | Action | Description | > | | |
-> | microsoft.storagesync/register/action | Registers the subscription for the Storage Sync Provider |
-> | microsoft.storagesync/unregister/action | Unregisters the subscription for the Storage Sync Provider |
-> | microsoft.storagesync/locations/checkNameAvailability/action | Checks that storage sync service name is valid and is not in use. |
-> | microsoft.storagesync/locations/operationresults/read | Gets the result for an asynchronous operation |
-> | microsoft.storagesync/locations/operations/read | Gets the status for an azure asynchronous operation |
-> | microsoft.storagesync/locations/workflows/operations/read | Gets the status of an asynchronous operation |
-> | microsoft.storagesync/operations/read | Gets a list of the Supported Operations |
-> | microsoft.storagesync/storageSyncServices/read | Read any Storage Sync Services |
-> | microsoft.storagesync/storageSyncServices/write | Create or Update any Storage Sync Services |
-> | microsoft.storagesync/storageSyncServices/delete | Delete any Storage Sync Services |
-> | microsoft.storagesync/storageSyncServices/privateEndpointConnectionProxies/validate/action | Validate any Private Endpoint ConnectionProxies |
-> | microsoft.storagesync/storageSyncServices/privateEndpointConnectionProxies/read | Read any Private Endpoint ConnectionProxies |
-> | microsoft.storagesync/storageSyncServices/privateEndpointConnectionProxies/write | Create or Update any Private Endpoint ConnectionProxies |
-> | microsoft.storagesync/storageSyncServices/privateEndpointConnectionProxies/updatePrivateEndpointProperties/action | Update any Private Endpoint ConnectionProxies |
-> | microsoft.storagesync/storageSyncServices/privateEndpointConnectionProxies/delete | Delete any Private Endpoint ConnectionProxies |
-> | microsoft.storagesync/storageSyncServices/privateEndpointConnections/read | Read any Private Endpoint Connections |
-> | microsoft.storagesync/storageSyncServices/privateEndpointConnections/write | Create or Update any Private Endpoint Connections |
-> | microsoft.storagesync/storageSyncServices/privateEndpointConnections/delete | Delete any Private Endpoint Connections |
-> | microsoft.storagesync/storageSyncServices/privateLinkResources/read | Read any Private Link Resources |
-> | microsoft.storagesync/storageSyncServices/providers/Microsoft.Insights/metricDefinitions/read | Gets the available metrics for Storage Sync Services |
-> | microsoft.storagesync/storageSyncServices/registeredServers/read | Read any Registered Server |
-> | microsoft.storagesync/storageSyncServices/registeredServers/write | Create or Update any Registered Server |
-> | microsoft.storagesync/storageSyncServices/registeredServers/delete | Delete any Registered Server |
-> | microsoft.storagesync/storageSyncServices/syncGroups/read | Read any Sync Groups |
-> | microsoft.storagesync/storageSyncServices/syncGroups/write | Create or Update any Sync Groups |
-> | microsoft.storagesync/storageSyncServices/syncGroups/delete | Delete any Sync Groups |
-> | microsoft.storagesync/storageSyncServices/syncGroups/cloudEndpoints/read | Read any Cloud Endpoints |
-> | microsoft.storagesync/storageSyncServices/syncGroups/cloudEndpoints/write | Create or Update any Cloud Endpoints |
-> | microsoft.storagesync/storageSyncServices/syncGroups/cloudEndpoints/delete | Delete any Cloud Endpoints |
-> | microsoft.storagesync/storageSyncServices/syncGroups/cloudEndpoints/prebackup/action | Call this action before backup |
-> | microsoft.storagesync/storageSyncServices/syncGroups/cloudEndpoints/postbackup/action | Call this action after backup |
-> | microsoft.storagesync/storageSyncServices/syncGroups/cloudEndpoints/prerestore/action | Call this action before restore |
-> | microsoft.storagesync/storageSyncServices/syncGroups/cloudEndpoints/postrestore/action | Call this action after restore |
-> | microsoft.storagesync/storageSyncServices/syncGroups/cloudEndpoints/restoreheartbeat/action | Restore heartbeat |
-> | microsoft.storagesync/storageSyncServices/syncGroups/cloudEndpoints/triggerChangeDetection/action | Call this action to trigger detection of changes on a cloud endpoint's file share |
-> | microsoft.storagesync/storageSyncServices/syncGroups/cloudEndpoints/afssharemetadatacertificatepublickeys/read | Gets the public keys info for AfsShareMetadata certificate |
-> | microsoft.storagesync/storageSyncServices/syncGroups/cloudEndpoints/operationresults/read | Gets the status of an asynchronous backup/restore operation |
-> | microsoft.storagesync/storageSyncServices/syncGroups/serverEndpoints/read | Read any Server Endpoints |
-> | microsoft.storagesync/storageSyncServices/syncGroups/serverEndpoints/write | Create or Update any Server Endpoints |
-> | microsoft.storagesync/storageSyncServices/syncGroups/serverEndpoints/delete | Delete any Server Endpoints |
-> | microsoft.storagesync/storageSyncServices/syncGroups/serverEndpoints/recallAction/action | Call this action to recall files to a server |
-> | microsoft.storagesync/storageSyncServices/workflows/read | Read Workflows |
-> | microsoft.storagesync/storageSyncServices/workflows/operationresults/read | Gets the status of an asynchronous operation |
-> | microsoft.storagesync/storageSyncServices/workflows/operations/read | Gets the status of an asynchronous operation |
+> | Microsoft.StorageSync/register/action | Registers the subscription for the Storage Sync Provider |
+> | Microsoft.StorageSync/unregister/action | Unregisters the subscription for the Storage Sync Provider |
+> | Microsoft.StorageSync/locations/checkNameAvailability/action | Checks that storage sync service name is valid and is not in use. |
+> | Microsoft.StorageSync/locations/operationresults/read | Gets the result for an asynchronous operation |
+> | Microsoft.StorageSync/locations/operations/read | Gets the status for an azure asynchronous operation |
+> | Microsoft.StorageSync/locations/workflows/operations/read | Gets the status of an asynchronous operation |
+> | Microsoft.StorageSync/operations/read | Gets a list of the Supported Operations |
+> | Microsoft.StorageSync/storageSyncServices/read | Read any Storage Sync Services |
+> | Microsoft.StorageSync/storageSyncServices/write | Create or Update any Storage Sync Services |
+> | Microsoft.StorageSync/storageSyncServices/delete | Delete any Storage Sync Services |
+> | Microsoft.StorageSync/storageSyncServices/privateEndpointConnectionProxies/validate/action | Validate any Private Endpoint ConnectionProxies |
+> | Microsoft.StorageSync/storageSyncServices/privateEndpointConnectionProxies/read | Read any Private Endpoint ConnectionProxies |
+> | Microsoft.StorageSync/storageSyncServices/privateEndpointConnectionProxies/write | Create or Update any Private Endpoint ConnectionProxies |
+> | Microsoft.StorageSync/storageSyncServices/privateEndpointConnectionProxies/delete | Delete any Private Endpoint ConnectionProxies |
+> | Microsoft.StorageSync/storageSyncServices/privateEndpointConnections/read | Read any Private Endpoint Connections |
+> | Microsoft.StorageSync/storageSyncServices/privateEndpointConnections/write | Create or Update any Private Endpoint Connections |
+> | Microsoft.StorageSync/storageSyncServices/privateEndpointConnections/delete | Delete any Private Endpoint Connections |
+> | Microsoft.StorageSync/storageSyncServices/privateLinkResources/read | Read any Private Link Resources |
+> | Microsoft.StorageSync/storageSyncServices/providers/Microsoft.Insights/metricDefinitions/read | Gets the available metrics for Storage Sync Services |
+> | Microsoft.StorageSync/storageSyncServices/registeredServers/read | Read any Registered Server |
+> | Microsoft.StorageSync/storageSyncServices/registeredServers/write | Create or Update any Registered Server |
+> | Microsoft.StorageSync/storageSyncServices/registeredServers/delete | Delete any Registered Server |
+> | Microsoft.StorageSync/storageSyncServices/syncGroups/read | Read any Sync Groups |
+> | Microsoft.StorageSync/storageSyncServices/syncGroups/write | Create or Update any Sync Groups |
+> | Microsoft.StorageSync/storageSyncServices/syncGroups/delete | Delete any Sync Groups |
+> | Microsoft.StorageSync/storageSyncServices/syncGroups/cloudEndpoints/read | Read any Cloud Endpoints |
+> | Microsoft.StorageSync/storageSyncServices/syncGroups/cloudEndpoints/write | Create or Update any Cloud Endpoints |
+> | Microsoft.StorageSync/storageSyncServices/syncGroups/cloudEndpoints/delete | Delete any Cloud Endpoints |
+> | Microsoft.StorageSync/storageSyncServices/syncGroups/cloudEndpoints/prebackup/action | Call this action before backup |
+> | Microsoft.StorageSync/storageSyncServices/syncGroups/cloudEndpoints/postbackup/action | Call this action after backup |
+> | Microsoft.StorageSync/storageSyncServices/syncGroups/cloudEndpoints/prerestore/action | Call this action before restore |
+> | Microsoft.StorageSync/storageSyncServices/syncGroups/cloudEndpoints/postrestore/action | Call this action after restore |
+> | Microsoft.StorageSync/storageSyncServices/syncGroups/cloudEndpoints/restoreheartbeat/action | Restore heartbeat |
+> | Microsoft.StorageSync/storageSyncServices/syncGroups/cloudEndpoints/triggerChangeDetection/action | Call this action to trigger detection of changes on a cloud endpoint's file share |
+> | Microsoft.StorageSync/storageSyncServices/syncGroups/cloudEndpoints/afssharemetadatacertificatepublickeys/read | Gets the public keys info for AfsShareMetadata certificate |
+> | Microsoft.StorageSync/storageSyncServices/syncGroups/cloudEndpoints/operationresults/read | Gets the status of an asynchronous backup/restore operation |
+> | Microsoft.StorageSync/storageSyncServices/syncGroups/serverEndpoints/read | Read any Server Endpoints |
+> | Microsoft.StorageSync/storageSyncServices/syncGroups/serverEndpoints/write | Create or Update any Server Endpoints |
+> | Microsoft.StorageSync/storageSyncServices/syncGroups/serverEndpoints/delete | Delete any Server Endpoints |
+> | Microsoft.StorageSync/storageSyncServices/syncGroups/serverEndpoints/recallAction/action | Call this action to recall files to a server |
+> | Microsoft.StorageSync/storageSyncServices/workflows/read | Read Workflows |
+> | Microsoft.StorageSync/storageSyncServices/workflows/operationresults/read | Gets the status of an asynchronous operation |
+> | Microsoft.StorageSync/storageSyncServices/workflows/operations/read | Gets the status of an asynchronous operation |
### Microsoft.StorSimple
Azure service: [Azure Maps](../azure-maps/index.yml)
### Microsoft.Media
-Azure service: [Media Services](/azure/media-services)
+Azure service: [Media Services](/azure/media-services/)
> [!div class="mx-tableFixed"] > | Action | Description |
Azure service: [Azure Kubernetes Service (AKS)](../aks/index.yml)
> | Microsoft.ContainerService/containerServices/read | Get a container service | > | Microsoft.ContainerService/containerServices/write | Creates a new container service or updates an existing one | > | Microsoft.ContainerService/containerServices/delete | Deletes a container service |
+> | Microsoft.ContainerService/fleetMemberships/read | Get a fleet membership extension |
+> | Microsoft.ContainerService/fleetMemberships/write | Create or Update a fleet membership extension |
+> | Microsoft.ContainerService/fleetMemberships/delete | Delete a fleet membership extension |
+> | Microsoft.ContainerService/fleets/read | Get fleet |
+> | Microsoft.ContainerService/fleets/write | Create or Update a fleet |
+> | Microsoft.ContainerService/fleets/delete | Delete a fleet |
+> | Microsoft.ContainerService/fleets/listCredentials/action | List fleet credentials |
+> | Microsoft.ContainerService/fleets/members/read | Get a fleet member |
+> | Microsoft.ContainerService/fleets/members/write | Create or Update a fleet member |
+> | Microsoft.ContainerService/fleets/members/delete | Delete a fleet member |
> | Microsoft.ContainerService/locations/operationresults/read | Gets the status of an asynchronous operation result | > | Microsoft.ContainerService/locations/operations/read | Gets the status of an asynchronous operation | > | Microsoft.ContainerService/locations/orchestrators/read | Lists the supported orchestrators |
Azure service: [Azure Kubernetes Service (AKS)](../aks/index.yml)
> | Microsoft.ContainerService/managedClusters/extensionaddons/read | Gets an extension addon | > | Microsoft.ContainerService/managedClusters/extensionaddons/write | Creates a new extension addon or updates an existing one | > | Microsoft.ContainerService/managedClusters/extensionaddons/delete | Deletes an extension addon |
+> | Microsoft.ContainerService/managedClusters/guardrailsVersions/read | List Guardrails Versions |
> | Microsoft.ContainerService/managedClusters/maintenanceConfigurations/read | Gets a maintenance configuration | > | Microsoft.ContainerService/managedClusters/maintenanceConfigurations/write | Creates a new MaintenanceConfiguration or updates an existing one | > | Microsoft.ContainerService/managedClusters/maintenanceConfigurations/delete | Deletes a maintenance configuration | > | Microsoft.ContainerService/managedClusters/networkSecurityPerimeterAssociationProxies/read | Get ManagedCluster NetworkSecurityPerimeter Association | > | Microsoft.ContainerService/managedClusters/networkSecurityPerimeterAssociationProxies/write | Create or update ManagedCluster NetworkSecurityPerimeter Association | > | Microsoft.ContainerService/managedClusters/networkSecurityPerimeterAssociationProxies/delete | Delete ManagedCluster NetworkSecurityPerimeter Association |
+> | Microsoft.ContainerService/managedClusters/networkSecurityPerimeterConfigurations/read | Get ManagedCluster NetworkSecurityPerimeter Association |
> | Microsoft.ContainerService/managedClusters/privateEndpointConnections/read | Get private endpoint connection | > | Microsoft.ContainerService/managedClusters/privateEndpointConnections/write | Approve or Reject a private endpoint connection | > | Microsoft.ContainerService/managedClusters/privateEndpointConnections/delete | Delete private endpoint connection |
Azure service: [Azure Kubernetes Service (AKS)](../aks/index.yml)
> | Microsoft.ContainerService/snapshots/write | Creates a new snapshot | > | Microsoft.ContainerService/snapshots/delete | Deletes a snapshot | > | **DataAction** | **Description** |
+> | Microsoft.ContainerService/fleets/admissionregistration.k8s.io/initializerconfigurations/read | Reads initializerconfigurations |
+> | Microsoft.ContainerService/fleets/admissionregistration.k8s.io/initializerconfigurations/write | Writes initializerconfigurations |
+> | Microsoft.ContainerService/fleets/admissionregistration.k8s.io/initializerconfigurations/delete | Deletes/DeletesCollection initializerconfigurations resource |
+> | Microsoft.ContainerService/fleets/admissionregistration.k8s.io/mutatingwebhookconfigurations/read | Reads mutatingwebhookconfigurations |
+> | Microsoft.ContainerService/fleets/admissionregistration.k8s.io/mutatingwebhookconfigurations/write | Writes mutatingwebhookconfigurations |
+> | Microsoft.ContainerService/fleets/admissionregistration.k8s.io/mutatingwebhookconfigurations/delete | Deletes mutatingwebhookconfigurations |
+> | Microsoft.ContainerService/fleets/admissionregistration.k8s.io/validatingwebhookconfigurations/read | Reads validatingwebhookconfigurations |
+> | Microsoft.ContainerService/fleets/admissionregistration.k8s.io/validatingwebhookconfigurations/write | Writes validatingwebhookconfigurations |
+> | Microsoft.ContainerService/fleets/admissionregistration.k8s.io/validatingwebhookconfigurations/delete | Deletes validatingwebhookconfigurations |
+> | Microsoft.ContainerService/fleets/api/read | Reads api |
+> | Microsoft.ContainerService/fleets/api/v1/read | Reads api/v1 |
+> | Microsoft.ContainerService/fleets/apiextensions.k8s.io/customresourcedefinitions/read | Reads customresourcedefinitions |
+> | Microsoft.ContainerService/fleets/apiextensions.k8s.io/customresourcedefinitions/write | Writes customresourcedefinitions |
+> | Microsoft.ContainerService/fleets/apiextensions.k8s.io/customresourcedefinitions/delete | Deletes customresourcedefinitions |
+> | Microsoft.ContainerService/fleets/apiregistration.k8s.io/apiservices/read | Reads apiservices |
+> | Microsoft.ContainerService/fleets/apiregistration.k8s.io/apiservices/write | Writes apiservices |
+> | Microsoft.ContainerService/fleets/apiregistration.k8s.io/apiservices/delete | Deletes apiservices |
+> | Microsoft.ContainerService/fleets/apis/read | Reads apis |
+> | Microsoft.ContainerService/fleets/apis/admissionregistration.k8s.io/read | Reads admissionregistration.k8s.io |
+> | Microsoft.ContainerService/fleets/apis/admissionregistration.k8s.io/v1/read | Reads admissionregistration.k8s.io/v1 |
+> | Microsoft.ContainerService/fleets/apis/admissionregistration.k8s.io/v1beta1/read | Reads admissionregistration.k8s.io/v1beta1 |
+> | Microsoft.ContainerService/fleets/apis/apiextensions.k8s.io/read | Reads apiextensions.k8s.io |
+> | Microsoft.ContainerService/fleets/apis/apiextensions.k8s.io/v1/read | Reads apiextensions.k8s.io/v1 |
+> | Microsoft.ContainerService/fleets/apis/apiextensions.k8s.io/v1beta1/read | Reads apiextensions.k8s.io/v1beta1 |
+> | Microsoft.ContainerService/fleets/apis/apiregistration.k8s.io/read | Reads apiregistration.k8s.io |
+> | Microsoft.ContainerService/fleets/apis/apiregistration.k8s.io/v1/read | Reads apiregistration.k8s.io/v1 |
+> | Microsoft.ContainerService/fleets/apis/apiregistration.k8s.io/v1beta1/read | Reads apiregistration.k8s.io/v1beta1 |
+> | Microsoft.ContainerService/fleets/apis/apps/read | Reads apps |
+> | Microsoft.ContainerService/fleets/apis/apps/v1/read | Reads apps/v1 |
+> | Microsoft.ContainerService/fleets/apis/apps/v1beta1/read | Reads apps/v1beta1 |
+> | Microsoft.ContainerService/fleets/apis/apps/v1beta2/read | Reads apps/v1beta2 |
+> | Microsoft.ContainerService/fleets/apis/authentication.k8s.io/read | Reads authentication.k8s.io |
+> | Microsoft.ContainerService/fleets/apis/authentication.k8s.io/v1/read | Reads authentication.k8s.io/v1 |
+> | Microsoft.ContainerService/fleets/apis/authentication.k8s.io/v1beta1/read | Reads authentication.k8s.io/v1beta1 |
+> | Microsoft.ContainerService/fleets/apis/authorization.k8s.io/read | Reads authorization.k8s.io |
+> | Microsoft.ContainerService/fleets/apis/authorization.k8s.io/v1/read | Reads authorization.k8s.io/v1 |
+> | Microsoft.ContainerService/fleets/apis/authorization.k8s.io/v1beta1/read | Reads authorization.k8s.io/v1beta1 |
+> | Microsoft.ContainerService/fleets/apis/autoscaling/read | Reads autoscaling |
+> | Microsoft.ContainerService/fleets/apis/autoscaling/v1/read | Reads autoscaling/v1 |
+> | Microsoft.ContainerService/fleets/apis/autoscaling/v2beta1/read | Reads autoscaling/v2beta1 |
+> | Microsoft.ContainerService/fleets/apis/autoscaling/v2beta2/read | Reads autoscaling/v2beta2 |
+> | Microsoft.ContainerService/fleets/apis/batch/read | Reads batch |
+> | Microsoft.ContainerService/fleets/apis/batch/v1/read | Reads batch/v1 |
+> | Microsoft.ContainerService/fleets/apis/batch/v1beta1/read | Reads batch/v1beta1 |
+> | Microsoft.ContainerService/fleets/apis/certificates.k8s.io/read | Reads certificates.k8s.io |
+> | Microsoft.ContainerService/fleets/apis/certificates.k8s.io/v1beta1/read | Reads certificates.k8s.io/v1beta1 |
+> | Microsoft.ContainerService/fleets/apis/coordination.k8s.io/read | Reads coordination.k8s.io |
+> | Microsoft.ContainerService/fleets/apis/coordination.k8s.io/v1/read | Reads coordination/v1 |
+> | Microsoft.ContainerService/fleets/apis/coordination.k8s.io/v1beta1/read | Reads coordination.k8s.io/v1beta1 |
+> | Microsoft.ContainerService/fleets/apis/events.k8s.io/read | Reads events.k8s.io |
+> | Microsoft.ContainerService/fleets/apis/events.k8s.io/v1beta1/read | Reads events.k8s.io/v1beta1 |
+> | Microsoft.ContainerService/fleets/apis/extensions/read | Reads extensions |
+> | Microsoft.ContainerService/fleets/apis/extensions/v1beta1/read | Reads extensions/v1beta1 |
+> | Microsoft.ContainerService/fleets/apis/metrics.k8s.io/read | Reads metrics.k8s.io |
+> | Microsoft.ContainerService/fleets/apis/metrics.k8s.io/v1beta1/read | Reads metrics.k8s.io/v1beta1 |
+> | Microsoft.ContainerService/fleets/apis/networking.k8s.io/read | Reads networking.k8s.io |
+> | Microsoft.ContainerService/fleets/apis/networking.k8s.io/v1/read | Reads networking/v1 |
+> | Microsoft.ContainerService/fleets/apis/networking.k8s.io/v1beta1/read | Reads networking.k8s.io/v1beta1 |
+> | Microsoft.ContainerService/fleets/apis/node.k8s.io/read | Reads node.k8s.io |
+> | Microsoft.ContainerService/fleets/apis/node.k8s.io/v1beta1/read | Reads node.k8s.io/v1beta1 |
+> | Microsoft.ContainerService/fleets/apis/policy/read | Reads policy |
+> | Microsoft.ContainerService/fleets/apis/policy/v1beta1/read | Reads policy/v1beta1 |
+> | Microsoft.ContainerService/fleets/apis/rbac.authorization.k8s.io/read | Reads rbac.authorization.k8s.io |
+> | Microsoft.ContainerService/fleets/apis/rbac.authorization.k8s.io/v1/read | Reads rbac.authorization/v1 |
+> | Microsoft.ContainerService/fleets/apis/rbac.authorization.k8s.io/v1beta1/read | Reads rbac.authorization.k8s.io/v1beta1 |
+> | Microsoft.ContainerService/fleets/apis/scheduling.k8s.io/read | Reads scheduling.k8s.io |
+> | Microsoft.ContainerService/fleets/apis/scheduling.k8s.io/v1/read | Reads scheduling/v1 |
+> | Microsoft.ContainerService/fleets/apis/scheduling.k8s.io/v1beta1/read | Reads scheduling.k8s.io/v1beta1 |
+> | Microsoft.ContainerService/fleets/apis/storage.k8s.io/read | Reads storage.k8s.io |
+> | Microsoft.ContainerService/fleets/apis/storage.k8s.io/v1/read | Reads storage/v1 |
+> | Microsoft.ContainerService/fleets/apis/storage.k8s.io/v1beta1/read | Reads storage.k8s.io/v1beta1 |
+> | Microsoft.ContainerService/fleets/apps/controllerrevisions/read | Reads controllerrevisions |
+> | Microsoft.ContainerService/fleets/apps/controllerrevisions/write | Writes controllerrevisions |
+> | Microsoft.ContainerService/fleets/apps/controllerrevisions/delete | Deletes controllerrevisions |
+> | Microsoft.ContainerService/fleets/apps/daemonsets/read | Reads daemonsets |
+> | Microsoft.ContainerService/fleets/apps/daemonsets/write | Writes daemonsets |
+> | Microsoft.ContainerService/fleets/apps/daemonsets/delete | Deletes daemonsets |
+> | Microsoft.ContainerService/fleets/apps/deployments/read | Reads deployments |
+> | Microsoft.ContainerService/fleets/apps/deployments/write | Writes deployments |
+> | Microsoft.ContainerService/fleets/apps/deployments/delete | Deletes deployments |
+> | Microsoft.ContainerService/fleets/apps/replicasets/read | Reads replicasets |
+> | Microsoft.ContainerService/fleets/apps/replicasets/write | Writes replicasets |
+> | Microsoft.ContainerService/fleets/apps/replicasets/delete | Deletes replicasets |
+> | Microsoft.ContainerService/fleets/apps/statefulsets/read | Reads statefulsets |
+> | Microsoft.ContainerService/fleets/apps/statefulsets/write | Writes statefulsets |
+> | Microsoft.ContainerService/fleets/apps/statefulsets/delete | Deletes statefulsets |
+> | Microsoft.ContainerService/fleets/authentication.k8s.io/tokenreviews/write | Writes tokenreviews |
+> | Microsoft.ContainerService/fleets/authentication.k8s.io/userextras/impersonate/action | Impersonate userextras |
+> | Microsoft.ContainerService/fleets/authorization.k8s.io/localsubjectaccessreviews/write | Writes localsubjectaccessreviews |
+> | Microsoft.ContainerService/fleets/authorization.k8s.io/selfsubjectaccessreviews/write | Writes selfsubjectaccessreviews |
+> | Microsoft.ContainerService/fleets/authorization.k8s.io/selfsubjectrulesreviews/write | Writes selfsubjectrulesreviews |
+> | Microsoft.ContainerService/fleets/authorization.k8s.io/subjectaccessreviews/write | Writes subjectaccessreviews |
+> | Microsoft.ContainerService/fleets/autoscaling/horizontalpodautoscalers/read | Reads horizontalpodautoscalers |
+> | Microsoft.ContainerService/fleets/autoscaling/horizontalpodautoscalers/write | Writes horizontalpodautoscalers |
+> | Microsoft.ContainerService/fleets/autoscaling/horizontalpodautoscalers/delete | Deletes horizontalpodautoscalers |
+> | Microsoft.ContainerService/fleets/batch/cronjobs/read | Reads cronjobs |
+> | Microsoft.ContainerService/fleets/batch/cronjobs/write | Writes cronjobs |
+> | Microsoft.ContainerService/fleets/batch/cronjobs/delete | Deletes cronjobs |
+> | Microsoft.ContainerService/fleets/batch/jobs/read | Reads jobs |
+> | Microsoft.ContainerService/fleets/batch/jobs/write | Writes jobs |
+> | Microsoft.ContainerService/fleets/batch/jobs/delete | Deletes jobs |
+> | Microsoft.ContainerService/fleets/bindings/write | Writes bindings |
+> | Microsoft.ContainerService/fleets/certificates.k8s.io/certificatesigningrequests/read | Reads certificatesigningrequests |
+> | Microsoft.ContainerService/fleets/certificates.k8s.io/certificatesigningrequests/write | Writes certificatesigningrequests |
+> | Microsoft.ContainerService/fleets/certificates.k8s.io/certificatesigningrequests/delete | Deletes certificatesigningrequests |
+> | Microsoft.ContainerService/fleets/componentstatuses/read | Reads componentstatuses |
+> | Microsoft.ContainerService/fleets/componentstatuses/write | Writes componentstatuses |
+> | Microsoft.ContainerService/fleets/componentstatuses/delete | Deletes componentstatuses |
+> | Microsoft.ContainerService/fleets/configmaps/read | Reads configmaps |
+> | Microsoft.ContainerService/fleets/configmaps/write | Writes configmaps |
+> | Microsoft.ContainerService/fleets/configmaps/delete | Deletes configmaps |
+> | Microsoft.ContainerService/fleets/coordination.k8s.io/leases/read | Reads leases |
+> | Microsoft.ContainerService/fleets/coordination.k8s.io/leases/write | Writes leases |
+> | Microsoft.ContainerService/fleets/coordination.k8s.io/leases/delete | Deletes leases |
+> | Microsoft.ContainerService/fleets/endpoints/read | Reads endpoints |
+> | Microsoft.ContainerService/fleets/endpoints/write | Writes endpoints |
+> | Microsoft.ContainerService/fleets/endpoints/delete | Deletes endpoints |
+> | Microsoft.ContainerService/fleets/events/read | Reads events |
+> | Microsoft.ContainerService/fleets/events/write | Writes events |
+> | Microsoft.ContainerService/fleets/events/delete | Deletes events |
+> | Microsoft.ContainerService/fleets/events.k8s.io/events/read | Reads events |
+> | Microsoft.ContainerService/fleets/events.k8s.io/events/write | Writes events |
+> | Microsoft.ContainerService/fleets/events.k8s.io/events/delete | Deletes events |
+> | Microsoft.ContainerService/fleets/extensions/daemonsets/read | Reads daemonsets |
+> | Microsoft.ContainerService/fleets/extensions/daemonsets/write | Writes daemonsets |
+> | Microsoft.ContainerService/fleets/extensions/daemonsets/delete | Deletes daemonsets |
+> | Microsoft.ContainerService/fleets/extensions/deployments/read | Reads deployments |
+> | Microsoft.ContainerService/fleets/extensions/deployments/write | Writes deployments |
+> | Microsoft.ContainerService/fleets/extensions/deployments/delete | Deletes deployments |
+> | Microsoft.ContainerService/fleets/extensions/ingresses/read | Reads ingresses |
+> | Microsoft.ContainerService/fleets/extensions/ingresses/write | Writes ingresses |
+> | Microsoft.ContainerService/fleets/extensions/ingresses/delete | Deletes ingresses |
+> | Microsoft.ContainerService/fleets/extensions/networkpolicies/read | Reads networkpolicies |
+> | Microsoft.ContainerService/fleets/extensions/networkpolicies/write | Writes networkpolicies |
+> | Microsoft.ContainerService/fleets/extensions/networkpolicies/delete | Deletes networkpolicies |
+> | Microsoft.ContainerService/fleets/extensions/podsecuritypolicies/read | Reads podsecuritypolicies |
+> | Microsoft.ContainerService/fleets/extensions/podsecuritypolicies/write | Writes podsecuritypolicies |
+> | Microsoft.ContainerService/fleets/extensions/podsecuritypolicies/delete | Deletes podsecuritypolicies |
+> | Microsoft.ContainerService/fleets/extensions/replicasets/read | Reads replicasets |
+> | Microsoft.ContainerService/fleets/extensions/replicasets/write | Writes replicasets |
+> | Microsoft.ContainerService/fleets/extensions/replicasets/delete | Deletes replicasets |
+> | Microsoft.ContainerService/fleets/groups/impersonate/action | Impersonate groups |
+> | Microsoft.ContainerService/fleets/healthz/read | Reads healthz |
+> | Microsoft.ContainerService/fleets/healthz/autoregister-completion/read | Reads autoregister-completion |
+> | Microsoft.ContainerService/fleets/healthz/etcd/read | Reads etcd |
+> | Microsoft.ContainerService/fleets/healthz/log/read | Reads log |
+> | Microsoft.ContainerService/fleets/healthz/ping/read | Reads ping |
+> | Microsoft.ContainerService/fleets/healthz/poststarthook/apiservice-openapi-controller/read | Reads apiservice-openapi-controller |
+> | Microsoft.ContainerService/fleets/healthz/poststarthook/apiservice-registration-controller/read | Reads apiservice-registration-controller |
+> | Microsoft.ContainerService/fleets/healthz/poststarthook/apiservice-status-available-controller/read | Reads apiservice-status-available-controller |
+> | Microsoft.ContainerService/fleets/healthz/poststarthook/bootstrap-controller/read | Reads bootstrap-controller |
+> | Microsoft.ContainerService/fleets/healthz/poststarthook/ca-registration/read | Reads ca-registration |
+> | Microsoft.ContainerService/fleets/healthz/poststarthook/crd-informer-synced/read | Reads crd-informer-synced |
+> | Microsoft.ContainerService/fleets/healthz/poststarthook/generic-apiserver-start-informers/read | Reads generic-apiserver-start-informers |
+> | Microsoft.ContainerService/fleets/healthz/poststarthook/kube-apiserver-autoregistration/read | Reads kube-apiserver-autoregistration |
+> | Microsoft.ContainerService/fleets/healthz/poststarthook/rbac/bootstrap-roles/read | Reads bootstrap-roles |
+> | Microsoft.ContainerService/fleets/healthz/poststarthook/scheduling/bootstrap-system-priority-classes/read | Reads bootstrap-system-priority-classes |
+> | Microsoft.ContainerService/fleets/healthz/poststarthook/start-apiextensions-controllers/read | Reads start-apiextensions-controllers |
+> | Microsoft.ContainerService/fleets/healthz/poststarthook/start-apiextensions-informers/read | Reads start-apiextensions-informers |
+> | Microsoft.ContainerService/fleets/healthz/poststarthook/start-kube-aggregator-informers/read | Reads start-kube-aggregator-informers |
+> | Microsoft.ContainerService/fleets/healthz/poststarthook/start-kube-apiserver-admission-initializer/read | Reads start-kube-apiserver-admission-initializer |
+> | Microsoft.ContainerService/fleets/limitranges/read | Reads limitranges |
+> | Microsoft.ContainerService/fleets/limitranges/write | Writes limitranges |
+> | Microsoft.ContainerService/fleets/limitranges/delete | Deletes limitranges |
+> | Microsoft.ContainerService/fleets/livez/read | Reads livez |
+> | Microsoft.ContainerService/fleets/livez/autoregister-completion/read | Reads autoregister-completion |
+> | Microsoft.ContainerService/fleets/livez/etcd/read | Reads etcd |
+> | Microsoft.ContainerService/fleets/livez/log/read | Reads log |
+> | Microsoft.ContainerService/fleets/livez/ping/read | Reads ping |
+> | Microsoft.ContainerService/fleets/livez/poststarthook/apiservice-openapi-controller/read | Reads apiservice-openapi-controller |
+> | Microsoft.ContainerService/fleets/livez/poststarthook/apiservice-registration-controller/read | Reads apiservice-registration-controller |
+> | Microsoft.ContainerService/fleets/livez/poststarthook/apiservice-status-available-controller/read | Reads apiservice-status-available-controller |
+> | Microsoft.ContainerService/fleets/livez/poststarthook/bootstrap-controller/read | Reads bootstrap-controller |
+> | Microsoft.ContainerService/fleets/livez/poststarthook/ca-registration/read | Reads ca-registration |
+> | Microsoft.ContainerService/fleets/livez/poststarthook/crd-informer-synced/read | Reads crd-informer-synced |
+> | Microsoft.ContainerService/fleets/livez/poststarthook/generic-apiserver-start-informers/read | Reads generic-apiserver-start-informers |
+> | Microsoft.ContainerService/fleets/livez/poststarthook/kube-apiserver-autoregistration/read | Reads kube-apiserver-autoregistration |
+> | Microsoft.ContainerService/fleets/livez/poststarthook/rbac/bootstrap-roles/read | Reads bootstrap-roles |
+> | Microsoft.ContainerService/fleets/livez/poststarthook/scheduling/bootstrap-system-priority-classes/read | Reads bootstrap-system-priority-classes |
+> | Microsoft.ContainerService/fleets/livez/poststarthook/start-apiextensions-controllers/read | Reads start-apiextensions-controllers |
+> | Microsoft.ContainerService/fleets/livez/poststarthook/start-apiextensions-informers/read | Reads start-apiextensions-informers |
+> | Microsoft.ContainerService/fleets/livez/poststarthook/start-kube-aggregator-informers/read | Reads start-kube-aggregator-informers |
+> | Microsoft.ContainerService/fleets/livez/poststarthook/start-kube-apiserver-admission-initializer/read | Reads start-kube-apiserver-admission-initializer |
+> | Microsoft.ContainerService/fleets/logs/read | Reads logs |
+> | Microsoft.ContainerService/fleets/metrics/read | Reads metrics |
+> | Microsoft.ContainerService/fleets/metrics.k8s.io/nodes/read | Reads nodes |
+> | Microsoft.ContainerService/fleets/metrics.k8s.io/pods/read | Reads pods |
+> | Microsoft.ContainerService/fleets/namespaces/read | Reads namespaces |
+> | Microsoft.ContainerService/fleets/namespaces/write | Writes namespaces |
+> | Microsoft.ContainerService/fleets/namespaces/delete | Deletes namespaces |
+> | Microsoft.ContainerService/fleets/networking.k8s.io/ingresses/read | Reads ingresses |
+> | Microsoft.ContainerService/fleets/networking.k8s.io/ingresses/write | Writes ingresses |
+> | Microsoft.ContainerService/fleets/networking.k8s.io/ingresses/delete | Deletes ingresses |
+> | Microsoft.ContainerService/fleets/networking.k8s.io/networkpolicies/read | Reads networkpolicies |
+> | Microsoft.ContainerService/fleets/networking.k8s.io/networkpolicies/write | Writes networkpolicies |
+> | Microsoft.ContainerService/fleets/networking.k8s.io/networkpolicies/delete | Deletes networkpolicies |
+> | Microsoft.ContainerService/fleets/node.k8s.io/runtimeclasses/read | Reads runtimeclasses |
+> | Microsoft.ContainerService/fleets/node.k8s.io/runtimeclasses/write | Writes runtimeclasses |
+> | Microsoft.ContainerService/fleets/node.k8s.io/runtimeclasses/delete | Deletes runtimeclasses |
+> | Microsoft.ContainerService/fleets/nodes/read | Reads nodes |
+> | Microsoft.ContainerService/fleets/nodes/write | Writes nodes |
+> | Microsoft.ContainerService/fleets/nodes/delete | Deletes nodes |
+> | Microsoft.ContainerService/fleets/openapi/v2/read | Reads v2 |
+> | Microsoft.ContainerService/fleets/persistentvolumeclaims/read | Reads persistentvolumeclaims |
+> | Microsoft.ContainerService/fleets/persistentvolumeclaims/write | Writes persistentvolumeclaims |
+> | Microsoft.ContainerService/fleets/persistentvolumeclaims/delete | Deletes persistentvolumeclaims |
+> | Microsoft.ContainerService/fleets/persistentvolumes/read | Reads persistentvolumes |
+> | Microsoft.ContainerService/fleets/persistentvolumes/write | Writes persistentvolumes |
+> | Microsoft.ContainerService/fleets/persistentvolumes/delete | Deletes persistentvolumes |
+> | Microsoft.ContainerService/fleets/pods/read | Reads pods |
+> | Microsoft.ContainerService/fleets/pods/write | Writes pods |
+> | Microsoft.ContainerService/fleets/pods/delete | Deletes pods |
+> | Microsoft.ContainerService/fleets/pods/exec/action | Exec into pods resource |
+> | Microsoft.ContainerService/fleets/podtemplates/read | Reads podtemplates |
+> | Microsoft.ContainerService/fleets/podtemplates/write | Writes podtemplates |
+> | Microsoft.ContainerService/fleets/podtemplates/delete | Deletes podtemplates |
+> | Microsoft.ContainerService/fleets/policy/poddisruptionbudgets/read | Reads poddisruptionbudgets |
+> | Microsoft.ContainerService/fleets/policy/poddisruptionbudgets/write | Writes poddisruptionbudgets |
+> | Microsoft.ContainerService/fleets/policy/poddisruptionbudgets/delete | Deletes poddisruptionbudgets |
+> | Microsoft.ContainerService/fleets/policy/podsecuritypolicies/read | Reads podsecuritypolicies |
+> | Microsoft.ContainerService/fleets/policy/podsecuritypolicies/write | Writes podsecuritypolicies |
+> | Microsoft.ContainerService/fleets/policy/podsecuritypolicies/delete | Deletes podsecuritypolicies |
+> | Microsoft.ContainerService/fleets/policy/podsecuritypolicies/use/action | Use action on podsecuritypolicies |
+> | Microsoft.ContainerService/fleets/rbac.authorization.k8s.io/clusterrolebindings/read | Reads clusterrolebindings |
+> | Microsoft.ContainerService/fleets/rbac.authorization.k8s.io/clusterrolebindings/write | Writes clusterrolebindings |
+> | Microsoft.ContainerService/fleets/rbac.authorization.k8s.io/clusterrolebindings/delete | Deletes clusterrolebindings |
+> | Microsoft.ContainerService/fleets/rbac.authorization.k8s.io/clusterroles/read | Reads clusterroles |
+> | Microsoft.ContainerService/fleets/rbac.authorization.k8s.io/clusterroles/write | Writes clusterroles |
+> | Microsoft.ContainerService/fleets/rbac.authorization.k8s.io/clusterroles/delete | Deletes clusterroles |
+> | Microsoft.ContainerService/fleets/rbac.authorization.k8s.io/clusterroles/bind/action | Binds clusterroles |
+> | Microsoft.ContainerService/fleets/rbac.authorization.k8s.io/clusterroles/escalate/action | Escalates |
+> | Microsoft.ContainerService/fleets/rbac.authorization.k8s.io/rolebindings/read | Reads rolebindings |
+> | Microsoft.ContainerService/fleets/rbac.authorization.k8s.io/rolebindings/write | Writes rolebindings |
+> | Microsoft.ContainerService/fleets/rbac.authorization.k8s.io/rolebindings/delete | Deletes rolebindings |
+> | Microsoft.ContainerService/fleets/rbac.authorization.k8s.io/roles/read | Reads roles |
+> | Microsoft.ContainerService/fleets/rbac.authorization.k8s.io/roles/write | Writes roles |
+> | Microsoft.ContainerService/fleets/rbac.authorization.k8s.io/roles/delete | Deletes roles |
+> | Microsoft.ContainerService/fleets/rbac.authorization.k8s.io/roles/bind/action | Binds roles |
+> | Microsoft.ContainerService/fleets/rbac.authorization.k8s.io/roles/escalate/action | Escalates roles |
+> | Microsoft.ContainerService/fleets/readyz/read | Reads readyz |
+> | Microsoft.ContainerService/fleets/readyz/autoregister-completion/read | Reads autoregister-completion |
+> | Microsoft.ContainerService/fleets/readyz/etcd/read | Reads etcd |
+> | Microsoft.ContainerService/fleets/readyz/log/read | Reads log |
+> | Microsoft.ContainerService/fleets/readyz/ping/read | Reads ping |
+> | Microsoft.ContainerService/fleets/readyz/poststarthook/apiservice-openapi-controller/read | Reads apiservice-openapi-controller |
+> | Microsoft.ContainerService/fleets/readyz/poststarthook/apiservice-registration-controller/read | Reads apiservice-registration-controller |
+> | Microsoft.ContainerService/fleets/readyz/poststarthook/apiservice-status-available-controller/read | Reads apiservice-status-available-controller |
+> | Microsoft.ContainerService/fleets/readyz/poststarthook/bootstrap-controller/read | Reads bootstrap-controller |
+> | Microsoft.ContainerService/fleets/readyz/poststarthook/ca-registration/read | Reads ca-registration |
+> | Microsoft.ContainerService/fleets/readyz/poststarthook/crd-informer-synced/read | Reads crd-informer-synced |
+> | Microsoft.ContainerService/fleets/readyz/poststarthook/generic-apiserver-start-informers/read | Reads generic-apiserver-start-informers |
+> | Microsoft.ContainerService/fleets/readyz/poststarthook/kube-apiserver-autoregistration/read | Reads kube-apiserver-autoregistration |
+> | Microsoft.ContainerService/fleets/readyz/poststarthook/rbac/bootstrap-roles/read | Reads bootstrap-roles |
+> | Microsoft.ContainerService/fleets/readyz/poststarthook/scheduling/bootstrap-system-priority-classes/read | Reads bootstrap-system-priority-classes |
+> | Microsoft.ContainerService/fleets/readyz/poststarthook/start-apiextensions-controllers/read | Reads start-apiextensions-controllers |
+> | Microsoft.ContainerService/fleets/readyz/poststarthook/start-apiextensions-informers/read | Reads start-apiextensions-informers |
+> | Microsoft.ContainerService/fleets/readyz/poststarthook/start-kube-aggregator-informers/read | Reads start-kube-aggregator-informers |
+> | Microsoft.ContainerService/fleets/readyz/poststarthook/start-kube-apiserver-admission-initializer/read | Reads start-kube-apiserver-admission-initializer |
+> | Microsoft.ContainerService/fleets/readyz/shutdown/read | Reads shutdown |
+> | Microsoft.ContainerService/fleets/replicationcontrollers/read | Reads replicationcontrollers |
+> | Microsoft.ContainerService/fleets/replicationcontrollers/write | Writes replicationcontrollers |
+> | Microsoft.ContainerService/fleets/replicationcontrollers/delete | Deletes replicationcontrollers |
+> | Microsoft.ContainerService/fleets/resetMetrics/read | Reads resetMetrics |
+> | Microsoft.ContainerService/fleets/resourcequotas/read | Reads resourcequotas |
+> | Microsoft.ContainerService/fleets/resourcequotas/write | Writes resourcequotas |
+> | Microsoft.ContainerService/fleets/resourcequotas/delete | Deletes resourcequotas |
+> | Microsoft.ContainerService/fleets/scheduling.k8s.io/priorityclasses/read | Reads priorityclasses |
+> | Microsoft.ContainerService/fleets/scheduling.k8s.io/priorityclasses/write | Writes priorityclasses |
+> | Microsoft.ContainerService/fleets/scheduling.k8s.io/priorityclasses/delete | Deletes priorityclasses |
+> | Microsoft.ContainerService/fleets/secrets/read | Reads secrets |
+> | Microsoft.ContainerService/fleets/secrets/write | Writes secrets |
+> | Microsoft.ContainerService/fleets/secrets/delete | Deletes secrets |
+> | Microsoft.ContainerService/fleets/serviceaccounts/read | Reads serviceaccounts |
+> | Microsoft.ContainerService/fleets/serviceaccounts/write | Writes serviceaccounts |
+> | Microsoft.ContainerService/fleets/serviceaccounts/delete | Deletes serviceaccounts |
+> | Microsoft.ContainerService/fleets/serviceaccounts/impersonate/action | Impersonate serviceaccounts |
+> | Microsoft.ContainerService/fleets/services/read | Reads services |
+> | Microsoft.ContainerService/fleets/services/write | Writes services |
+> | Microsoft.ContainerService/fleets/services/delete | Deletes services |
+> | Microsoft.ContainerService/fleets/storage.k8s.io/csidrivers/read | Reads csidrivers |
+> | Microsoft.ContainerService/fleets/storage.k8s.io/csidrivers/write | Writes csidrivers |
+> | Microsoft.ContainerService/fleets/storage.k8s.io/csidrivers/delete | Deletes csidrivers |
+> | Microsoft.ContainerService/fleets/storage.k8s.io/csinodes/read | Reads csinodes |
+> | Microsoft.ContainerService/fleets/storage.k8s.io/csinodes/write | Writes csinodes |
+> | Microsoft.ContainerService/fleets/storage.k8s.io/csinodes/delete | Deletes csinodes |
+> | Microsoft.ContainerService/fleets/storage.k8s.io/storageclasses/read | Reads storageclasses |
+> | Microsoft.ContainerService/fleets/storage.k8s.io/storageclasses/write | Writes storageclasses |
+> | Microsoft.ContainerService/fleets/storage.k8s.io/storageclasses/delete | Deletes storageclasses |
+> | Microsoft.ContainerService/fleets/storage.k8s.io/volumeattachments/read | Reads volumeattachments |
+> | Microsoft.ContainerService/fleets/storage.k8s.io/volumeattachments/write | Writes volumeattachments |
+> | Microsoft.ContainerService/fleets/storage.k8s.io/volumeattachments/delete | Deletes volumeattachments |
+> | Microsoft.ContainerService/fleets/swagger-api/read | Reads swagger-api |
+> | Microsoft.ContainerService/fleets/swagger-ui/read | Reads swagger-ui |
+> | Microsoft.ContainerService/fleets/ui/read | Reads ui |
+> | Microsoft.ContainerService/fleets/users/impersonate/action | Impersonate users |
+> | Microsoft.ContainerService/fleets/version/read | Reads version |
> | Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/read | Reads initializerconfigurations | > | Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/write | Writes initializerconfigurations | > | Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/delete | Deletes/DeletesCollection initializerconfigurations resource |
Azure service: [Azure Cache for Redis](../azure-cache-for-redis/index.yml)
> | Microsoft.Cache/redis/stop/action | Stop an Azure Cache for Redis, potentially with data loss. | > | Microsoft.Cache/redis/start/action | Start an Azure Cache for Redis | > | Microsoft.Cache/redis/PrivateEndpointConnectionsApproval/action | Approve Private Endpoint Connections |
+> | Microsoft.Cache/redis/detectors/read | Get the properties of one or all detectors for an Azure Cache for Redis cache |
> | Microsoft.Cache/redis/eventGridFilters/read | Get Redis Cache Event Grid Filter | > | Microsoft.Cache/redis/eventGridFilters/write | Update Redis Cache Event Grid Filters | > | Microsoft.Cache/redis/eventGridFilters/delete | Delete Redis Cache Event Grid Filters |
Azure service: [Azure Cosmos DB](../cosmos-db/index.yml)
> | Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/throughputSettings/migrateToAutoscale/operationResults/read | Read status of the asynchronous operation. | > | Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/throughputSettings/migrateToManualThroughput/operationResults/read | Read status of the asynchronous operation. | > | Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/throughputSettings/operationResults/read | Read status of the asynchronous operation. |
+> | Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/read | Read a MongoDB Role Definition |
+> | Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/write | Create or update a Mongo Role Definition |
+> | Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/delete | Delete a MongoDB Role Definition |
+> | Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/read | Read a MongoDB User Definition |
+> | Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/write | Create or update a MongoDB User Definition |
+> | Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/delete | Delete a MongoDB User Definition |
> | Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces/write | Create or update a notebook workspace | > | Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces/read | Read a notebook workspace | > | Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces/delete | Delete a notebook workspace |
Azure service: [Azure SQL Database](/azure/azure-sql/database/index), [Azure SQL
> | Microsoft.Sql/managedInstances/start/action | Starts a given Azure SQL Managed Instance. | > | Microsoft.Sql/managedInstances/stop/action | Stops a given Azure SQL Managed Instance. | > | Microsoft.Sql/managedInstances/failover/action | Customer initiated managed instance failover. |
+> | Microsoft.Sql/managedInstances/crossSubscriptionPITR/action | Determine if user is allowed to do cross subscription PITR operations |
> | Microsoft.Sql/managedInstances/administrators/read | Gets a list of managed instance administrators. | > | Microsoft.Sql/managedInstances/administrators/write | Creates or updates managed instance administrator with the specified parameters. | > | Microsoft.Sql/managedInstances/administrators/delete | Deletes an existing administrator of managed instance. |
Azure service: [Azure SQL Database](/azure/azure-sql/database/index), [Azure SQL
> | Microsoft.Sql/managedInstances/databases/advancedThreatProtectionSettings/read | Retrieve a list of the managed database Advanced Threat Protection settings configured for a given managed database | > | Microsoft.Sql/managedInstances/databases/backupLongTermRetentionPolicies/write | Updates a long term retention policy for a managed database | > | Microsoft.Sql/managedInstances/databases/backupLongTermRetentionPolicies/read | Gets a long term retention policy for a managed database |
+> | Microsoft.Sql/managedInstances/databases/backupLongTermRetentionPolicies/delete | Updates a long term retention policy for a managed database |
> | Microsoft.Sql/managedInstances/databases/backupShortTermRetentionPolicies/read | Gets a short term retention policy for a managed database | > | Microsoft.Sql/managedInstances/databases/backupShortTermRetentionPolicies/write | Updates a short term retention policy for a managed database | > | Microsoft.Sql/managedInstances/databases/columns/read | Return a list of columns for a managed database |
Azure service: [Azure SQL Database](/azure/azure-sql/database/index), [Azure SQL
> | Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/read | Retrieve SQL Vulnerability Assessment policies on a given database | > | Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/initiateScan/action | Execute vulnerability assessment database scan. | > | Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines/write | Change the sql vulnerability assessment baseline set for a given database |
-> | Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines/read | List the Sql Vulnerability Assessment baseline set by Sql Vulnerability Assessments |
+> | Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines/read | List the Sql Vulnerability Assessment baseline set by Sql Vulnerability Assessments |
> | Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines/rules/delete | Remove the sql vulnerability assessment rule baseline for a given database | > | Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines/rules/write | Change the sql vulnerability assessment rule baseline for a given database | > | Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines/rules/read | Get the sql vulnerability assessment rule baseline list for a given database |
Azure service: [Azure SQL Database](/azure/azure-sql/database/index), [Azure SQL
> | Microsoft.Sql/servers/vulnerabilityAssessments/write | Change the vulnerability assessment for a given server | > | Microsoft.Sql/servers/vulnerabilityAssessments/delete | Remove the vulnerability assessment for a given server | > | Microsoft.Sql/servers/vulnerabilityAssessments/read | Retrieve the vulnerability assessment policies on a given server |
-> | Microsoft.Sql/virtualClusters/updateManagedInstanceDnsServers/action | Synchronizes the DNS server configuration on an Azure SQL Virtual Cluster with the configuration of the Azure Virtual Network where the Virtual Cluster is located. |
+> | Microsoft.Sql/virtualClusters/updateManagedInstanceDnsServers/action | Performs virtual cluster dns servers. |
> | Microsoft.Sql/virtualClusters/read | Return the list of virtual clusters or gets the properties for the specified virtual cluster. |
-> | Microsoft.Sql/virtualClusters/write | Updates virtual cluster tags. |
+> | Microsoft.Sql/virtualClusters/write | Creates or updates the virtual clusters. |
> | Microsoft.Sql/virtualClusters/delete | Deletes an existing virtual cluster. | ### Microsoft.SqlVirtualMachine
Azure service: [Azure Bot Service](/azure/bot-service/)
> | Action | Description | > | | | > | Microsoft.BotService/register/action | Subscription Registration Action |
+> | Microsoft.BotService/listqnamakerendpointkeys/action | List QnAMaker Keys |
> | Microsoft.BotService/checknameavailability/action | Check Name Availability of a Bot | > | Microsoft.BotService/listauthserviceproviders/action | List Auth Service Providers | > | Microsoft.BotService/botServices/read | Read a Bot Service |
Azure service: [Azure Bot Service](/azure/bot-service/)
> | Microsoft.BotService/listauthserviceproviders/providers/Microsoft.Insights/diagnosticSettings/write | Creates or updates the diagnostic setting for the resource | > | Microsoft.BotService/listauthserviceproviders/providers/Microsoft.Insights/logDefinitions/read | Gets the available logs for &lt;Name of the resource&gt; | > | Microsoft.BotService/listauthserviceproviders/providers/Microsoft.Insights/metricDefinitions/read | Creates or updates the diagnostic setting for the resource |
+> | Microsoft.BotService/listqnamakerendpointkeys/providers/Microsoft.Insights/diagnosticSettings/read | Gets the diagnostic setting for the resource |
+> | Microsoft.BotService/listqnamakerendpointkeys/providers/Microsoft.Insights/diagnosticSettings/write | Creates or updates the diagnostic setting for the resource |
+> | Microsoft.BotService/listqnamakerendpointkeys/providers/Microsoft.Insights/logDefinitions/read | Gets the available logs for &lt;Name of the resource&gt; |
+> | Microsoft.BotService/listqnamakerendpointkeys/providers/Microsoft.Insights/metricDefinitions/read | Creates or updates the diagnostic setting for the resource |
> | Microsoft.BotService/locations/operationresults/read | Read the status of an asynchronous operation | > | Microsoft.BotService/operationresults/read | Read the status of an asynchronous operation | > | Microsoft.BotService/Operations/read | Read the operations for all resource types |
Azure service: [Cognitive Services](../cognitive-services/index.yml)
> | Microsoft.CognitiveServices/accounts/AudioContentCreation/ResourceFolders/SsmlFiles/write | Edit ssml files metadata(name, tags etc) and content. | > | Microsoft.CognitiveServices/accounts/AudioContentCreation/ResourceFolders/SsmlFiles/read | Query ssml files. | > | Microsoft.CognitiveServices/accounts/AudioContentCreation/Synthesis/SpeakMetadata/action | Query TTS synthesis metadata like F0, duration(used for intonation tuning). |
+> | Microsoft.CognitiveServices/accounts/AudioContentCreation/Synthesis/SpeakMetadataForPronunciation/action | Query TTS synthesis metadata for pronunciation. |
> | Microsoft.CognitiveServices/accounts/AudioContentCreation/Synthesis/Speak/action | TTS synthesis API for all ACC voices. | > | Microsoft.CognitiveServices/accounts/AudioContentCreation/TuneSsml/ConfigureSsmlFileReferenceFiles/action | Add/update/delete item(s) of SSML reference file plugin. | > | Microsoft.CognitiveServices/accounts/AudioContentCreation/TuneSsml/ApplySequenceTuneOnFiles/action | Apply serveral ssml tag tune on one ssml file sequencly. |
Azure service: [Cognitive Services](../cognitive-services/index.yml)
> | Microsoft.CognitiveServices/accounts/CustomVoice/endpoints/write | Create or update an voice endpoint. | > | Microsoft.CognitiveServices/accounts/CustomVoice/endpoints/delete | Delete the specified voice endpoint. | > | Microsoft.CognitiveServices/accounts/CustomVoice/endpoints/read | Get one or more voice endpoints |
-> | Microsoft.CognitiveServices/accounts/CustomVoice/endpoints/manifest/read | Returns an endpoint manifest which can be used in an on-premises container. |
+> | Microsoft.CognitiveServices/accounts/CustomVoice/endpoints/manifest/read | Returns an endpoint manifest which can be used in an on-premise container. |
> | Microsoft.CognitiveServices/accounts/CustomVoice/evaluations/delete | Deletes the specified evaluation. | > | Microsoft.CognitiveServices/accounts/CustomVoice/evaluations/read | Gets details of one or more evaluations | > | Microsoft.CognitiveServices/accounts/CustomVoice/features/read | Gets a list of allowed features. |
Azure service: [Cognitive Services](../cognitive-services/index.yml)
> | Microsoft.CognitiveServices/accounts/SpeechServices/speechrest/models/write | Create or update a model. | > | Microsoft.CognitiveServices/accounts/SpeechServices/speechrest/models/delete | Delete a model | > | Microsoft.CognitiveServices/accounts/SpeechServices/speechrest/models/read | Get one or more models |
-> | Microsoft.CognitiveServices/accounts/SpeechServices/speechrest/models/base/manifest/read | Returns an manifest for this base model which can be used in an on-premises container. |
-> | Microsoft.CognitiveServices/accounts/SpeechServices/speechrest/models/manifest/read | Returns an manifest for this model which can be used in an on-premises container. |
+> | Microsoft.CognitiveServices/accounts/SpeechServices/speechrest/models/base/manifest/read | Returns an manifest for this base model which can be used in an on-premise container. |
+> | Microsoft.CognitiveServices/accounts/SpeechServices/speechrest/models/manifest/read | Returns an manifest for this model which can be used in an on-premise container. |
> | Microsoft.CognitiveServices/accounts/SpeechServices/speechrest/projects/write | Create or update a project | > | Microsoft.CognitiveServices/accounts/SpeechServices/speechrest/projects/delete | Delete a project | > | Microsoft.CognitiveServices/accounts/SpeechServices/speechrest/projects/read | Get one or more projects |
Azure service: [Machine Learning](../machine-learning/index.yml)
> | Microsoft.MachineLearningServices/workspaces/reports/read | Gets custom reports in Machine Learning Services Workspace(s) | > | Microsoft.MachineLearningServices/workspaces/reports/write | Creates or updates custom reports in Machine Learning Services Workspace(s) | > | Microsoft.MachineLearningServices/workspaces/reports/delete | Deletes custom reports in Machine Learning Services Workspace(s) |
+> | Microsoft.MachineLearningServices/workspaces/schedules/read | Gets schedule in Machine Learning Services Workspace(s) |
+> | Microsoft.MachineLearningServices/workspaces/schedules/write | Creates or updates schedule in Machine Learning Services Workspace(s) |
+> | Microsoft.MachineLearningServices/workspaces/schedules/delete | Deletes schedule in Machine Learning Services Workspace(s) |
> | Microsoft.MachineLearningServices/workspaces/services/read | Gets services in Machine Learning Services Workspace(s) | > | Microsoft.MachineLearningServices/workspaces/services/aci/write | Creates or updates ACI services in Machine Learning Services Workspace(s) | > | Microsoft.MachineLearningServices/workspaces/services/aci/listkeys/action | Lists keys for ACI services in Machine Learning Services Workspace(s) |
Azure service: [IoT security](../iot-fundamentals/iot-security-architecture.md)
> | Microsoft.IoTSecurity/locations/deviceGroups/read | Gets device group | > | Microsoft.IoTSecurity/locations/deviceGroups/alerts/read | Gets IoT Alerts | > | Microsoft.IoTSecurity/locations/deviceGroups/alerts/write | Updates IoT Alert properties |
-> | Microsoft.IoTSecurity/locations/deviceGroups/alerts/learnAlert/action | Learn and close the alert |
+> | Microsoft.IoTSecurity/locations/deviceGroups/alerts/learn/action | Learn and close the alert |
+> | Microsoft.IoTSecurity/locations/deviceGroups/alerts/pcapAvailability/action | Get alert PCAP file aviability |
+> | Microsoft.IoTSecurity/locations/deviceGroups/alerts/pcapRequest/action | Request related PCAP file for alert |
> | Microsoft.IoTSecurity/locations/deviceGroups/devices/read | Get devices | > | Microsoft.IoTSecurity/locations/deviceGroups/devices/write | Updates device properties | > | Microsoft.IoTSecurity/locations/deviceGroups/devices/delete | Deletes device |
Azure service: [IoT security](../iot-fundamentals/iot-security-architecture.md)
> | Microsoft.IoTSecurity/locations/sites/sensors/triggerTiPackageUpdate/action | Triggers threat intelligence package update | > | Microsoft.IoTSecurity/locations/sites/sensors/downloadResetPassword/action | Downloads reset password file for IoT Sensors | > | Microsoft.IoTSecurity/locations/sites/sensors/updateSoftwareVersion/action | Trigger sensor update |
-> | Microsoft.IoTSecurity/onPremiseSensors/read | Gets on-premises IoT Sensors |
-> | Microsoft.IoTSecurity/onPremiseSensors/write | Creates or updates on-premises IoT Sensors |
-> | Microsoft.IoTSecurity/onPremiseSensors/delete | Deletes on-premises IoT Sensors |
-> | Microsoft.IoTSecurity/onPremiseSensors/downloadActivation/action | Gets on-premises IoT Sensor Activation File |
-> | Microsoft.IoTSecurity/onPremiseSensors/downloadResetPassword/action | Downloads file for reset password of the on-premises IoT Sensor |
+> | Microsoft.IoTSecurity/onPremiseSensors/read | Gets on-premise IoT Sensors |
+> | Microsoft.IoTSecurity/onPremiseSensors/write | Creates or updates on-premise IoT Sensors |
+> | Microsoft.IoTSecurity/onPremiseSensors/delete | Deletes on-premise IoT Sensors |
+> | Microsoft.IoTSecurity/onPremiseSensors/downloadActivation/action | Gets on-premise IoT Sensor Activation File |
+> | Microsoft.IoTSecurity/onPremiseSensors/downloadResetPassword/action | Downloads file for reset password of the on-premise IoT Sensor |
> | Microsoft.IoTSecurity/onPremiseSensors/listDiagnosticsUploadDetails/action | Get details required to upload sensor diagnostics data | > | Microsoft.IoTSecurity/sensors/read | Gets IoT Sensors | > | Microsoft.IoTSecurity/sensors/write | Creates or updates IoT Sensors |
Azure service: [Managed identities for Azure resources](../active-directory/mana
> | Microsoft.ManagedIdentity/userAssignedIdentities/listAssociatedResources/action | Lists all associated resources for an existing user assigned identity | > | Microsoft.ManagedIdentity/userAssignedIdentities/read | Gets an existing user assigned identity | > | Microsoft.ManagedIdentity/userAssignedIdentities/write | Creates a new user assigned identity or updates the tags associated with an existing user assigned identity |
+> | Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/read | Get or list Federated Identity Credentials |
+> | Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/write | Add or update a Federated Identity Credential |
+> | Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/delete | Delete a Federated Identity Credential |
## Security
Azure service: [Azure Monitor](../azure-monitor/index.yml)
> | microsoft.monitor/accounts/write | Create or Update any Monitoring Account | > | microsoft.monitor/accounts/delete | Delete any Monitoring Account | > | microsoft.monitor/accounts/metrics/read | Read Monitoring Account metrics |
-> | microsoft.monitor/accounts/metrics/write | Write Monitoring Account metrics |
+> | microsoft.monitor/accounts/metrics/namespaces/read | Read Monitoring Account metrics namespaces |
+> | microsoft.monitor/accounts/metrics/namespaces/metrics/read | Read Monitoring Account metrics namespaces metrics |
+> | microsoft.monitor/accounts/metrics/namespaces/metrics/write | Create or update Monitoring Account metrics namespaces metrics |
+> | microsoft.monitor/accounts/metrics/namespaces/metrics/delete | Delete Monitoring Account metrics namespaces metrics |
> | **DataAction** | **Description** | > | microsoft.monitor/accounts/data/logs/read | Read logs data in any Monitoring Account | > | microsoft.monitor/accounts/data/logs/write | Write logs data to any Monitoring Account |
Azure service: [Azure Monitor](../azure-monitor/index.yml)
> | microsoft.operationalinsights/querypacks/queries/write | Create or Update Query Pack Queries. | > | microsoft.operationalinsights/querypacks/queries/read | Get Query Pack Queries. | > | microsoft.operationalinsights/querypacks/queries/delete | Delete Query Pack Queries. |
+> | microsoft.operationalinsights/restoreLogs/write | Restore data from a table. |
+> | microsoft.operationalinsights/searchJobs/write | Run a search job. |
> | Microsoft.OperationalInsights/workspaces/write | Creates a new workspace or links to an existing workspace by providing the customer id from the existing workspace. | > | Microsoft.OperationalInsights/workspaces/read | Gets an existing workspace | > | Microsoft.OperationalInsights/workspaces/delete | Deletes a workspace. If the workspace was linked to an existing workspace at creation time then the workspace it was linked to is not deleted. |
Azure service: [Azure Monitor](../azure-monitor/index.yml)
> | Microsoft.OperationalInsights/workspaces/query/AmlInferencingEvent/read | Read data from the AmlInferencingEvent table | > | Microsoft.OperationalInsights/workspaces/query/AmlModelsEvent/read | Read data from the AmlModelsEvent table | > | Microsoft.OperationalInsights/workspaces/query/AmlOnlineEndpointConsoleLog/read | Read data from the AmlOnlineEndpointConsoleLog table |
+> | Microsoft.OperationalInsights/workspaces/query/AmlOnlineEndpointEventLog/read | Read data from the AmlOnlineEndpointEventLog table |
> | Microsoft.OperationalInsights/workspaces/query/AmlOnlineEndpointTrafficLog/read | Read data from the AmlOnlineEndpointTrafficLog table | > | Microsoft.OperationalInsights/workspaces/query/AmlPipelineEvent/read | Read data from the AmlPipelineEvent table | > | Microsoft.OperationalInsights/workspaces/query/AmlRunEvent/read | Read data from the AmlRunEvent table |
Azure service: [Azure Monitor](../azure-monitor/index.yml)
> | Microsoft.OperationalInsights/workspaces/query/DatabricksDeltaPipelines/read | Read data from the DatabricksDeltaPipelines table | > | Microsoft.OperationalInsights/workspaces/query/DatabricksFeatureStore/read | Read data from the DatabricksFeatureStore table | > | Microsoft.OperationalInsights/workspaces/query/DatabricksGenie/read | Read data from the DatabricksGenie table |
+> | Microsoft.OperationalInsights/workspaces/query/DatabricksGitCredentials/read | Read data from the DatabricksGitCredentials table |
> | Microsoft.OperationalInsights/workspaces/query/DatabricksGlobalInitScripts/read | Read data from the DatabricksGlobalInitScripts table | > | Microsoft.OperationalInsights/workspaces/query/DatabricksIAMRole/read | Read data from the DatabricksIAMRole table | > | Microsoft.OperationalInsights/workspaces/query/DatabricksInstancePools/read | Read data from the DatabricksInstancePools table |
Azure service: [Azure Monitor](../azure-monitor/index.yml)
> | Microsoft.OperationalInsights/workspaces/query/DatabricksSQLPermissions/read | Read data from the DatabricksSQLPermissions table | > | Microsoft.OperationalInsights/workspaces/query/DatabricksSSH/read | Read data from the DatabricksSSH table | > | Microsoft.OperationalInsights/workspaces/query/DatabricksUnityCatalog/read | Read data from the DatabricksUnityCatalog table |
+> | Microsoft.OperationalInsights/workspaces/query/DatabricksWebTerminal/read | Read data from the DatabricksWebTerminal table |
> | Microsoft.OperationalInsights/workspaces/query/DatabricksWorkspace/read | Read data from the DatabricksWorkspace table | > | Microsoft.OperationalInsights/workspaces/query/dependencies/read | Read data from the dependencies table | > | Microsoft.OperationalInsights/workspaces/query/DeviceAppCrash/read | Read data from the DeviceAppCrash table |
Azure service: [Azure Monitor](../azure-monitor/index.yml)
> | Microsoft.OperationalInsights/workspaces/query/NetworkAccessTraffic/read | Read data from the NetworkAccessTraffic table | > | Microsoft.OperationalInsights/workspaces/query/NetworkMonitoring/read | Read data from the NetworkMonitoring table | > | Microsoft.OperationalInsights/workspaces/query/NetworkSessions/read | Read data from the NetworkSessions table |
+> | Microsoft.OperationalInsights/workspaces/query/NSPAccessLogs/read | Read data from the NSPAccessLogs table |
> | Microsoft.OperationalInsights/workspaces/query/NWConnectionMonitorDestinationListenerResult/read | Read data from the NWConnectionMonitorDestinationListenerResult table | > | Microsoft.OperationalInsights/workspaces/query/NWConnectionMonitorDNSResult/read | Read data from the NWConnectionMonitorDNSResult table | > | Microsoft.OperationalInsights/workspaces/query/NWConnectionMonitorPathResult/read | Read data from the NWConnectionMonitorPathResult table |
Azure service: [Azure Monitor](../azure-monitor/index.yml)
> | Microsoft.OperationalInsights/workspaces/query/ProtectionStatus/read | Read data from the ProtectionStatus table | > | Microsoft.OperationalInsights/workspaces/query/PurviewDataSensitivityLogs/read | Read data from the PurviewDataSensitivityLogs table | > | Microsoft.OperationalInsights/workspaces/query/PurviewScanStatusLogs/read | Read data from the PurviewScanStatusLogs table |
+> | Microsoft.OperationalInsights/workspaces/query/PurviewSecurityLogs/read | Read data from the PurviewSecurityLogs table |
> | Microsoft.OperationalInsights/workspaces/query/requests/read | Read data from the requests table | > | Microsoft.OperationalInsights/workspaces/query/ResourceManagementPublicAccessLogs/read | Read data from the ResourceManagementPublicAccessLogs table | > | Microsoft.OperationalInsights/workspaces/query/SCCMAssessmentRecommendation/read | Read data from the SCCMAssessmentRecommendation table |
Azure service: [Azure Monitor](../azure-monitor/index.yml)
> | Microsoft.OperationalInsights/workspaces/query/Update/read | Read data from the Update table | > | Microsoft.OperationalInsights/workspaces/query/UpdateRunProgress/read | Read data from the UpdateRunProgress table | > | Microsoft.OperationalInsights/workspaces/query/UpdateSummary/read | Read data from the UpdateSummary table |
+> | Microsoft.OperationalInsights/workspaces/query/UrlClickEvents/read | Read data from the UrlClickEvents table |
> | Microsoft.OperationalInsights/workspaces/query/Usage/read | Read data from the Usage table | > | Microsoft.OperationalInsights/workspaces/query/UserAccessAnalytics/read | Read data from the UserAccessAnalytics table | > | Microsoft.OperationalInsights/workspaces/query/UserPeerAnalytics/read | Read data from the UserPeerAnalytics table |
Azure service: [Azure Monitor](../azure-monitor/index.yml)
> | Microsoft.OperationalInsights/workspaces/storageinsightconfigs/write | Creates a new storage configuration. These configurations are used to pull data from a location in an existing storage account. | > | Microsoft.OperationalInsights/workspaces/storageinsightconfigs/read | Gets a storage configuration. | > | Microsoft.OperationalInsights/workspaces/storageinsightconfigs/delete | Deletes a storage configuration. This will stop Microsoft Operational Insights from reading data from the storage account. |
+> | microsoft.operationalinsights/workspaces/tables/write | Create or update a log analytics table. |
+> | microsoft.operationalinsights/workspaces/tables/read | Get a log analytics table. |
+> | microsoft.operationalinsights/workspaces/tables/delete | Delete a log analytics table. |
> | Microsoft.OperationalInsights/workspaces/upgradetranslationfailures/read | Get Search Upgrade Translation Failure log for the workspace | > | Microsoft.OperationalInsights/workspaces/usages/read | Gets usage data for a workspace including the amount of data read by the workspace. | > | microsoft.operationalinsights/workspaces/views/read | Get workspace views. |
Azure service: [Azure Policy](../governance/policy/index.yml)
> | Microsoft.GuestConfiguration/guestConfigurationAssignments/write | Create new guest configuration assignment. | > | Microsoft.GuestConfiguration/guestConfigurationAssignments/read | Get guest configuration assignment. | > | Microsoft.GuestConfiguration/guestConfigurationAssignments/delete | Delete guest configuration assignment. |
+> | Microsoft.GuestConfiguration/guestConfigurationAssignments/healthcheck/action | Get guest configuration assignment. |
> | Microsoft.GuestConfiguration/guestConfigurationAssignments/reports/read | Get guest configuration assignment report. | > | Microsoft.GuestConfiguration/operations/read | Gets the operations for the Microsoft.GuestConfiguration resource provider |
Azure service: [Azure Managed Applications](../azure-resource-manager/managed-ap
> | Microsoft.Solutions/jitRequests/write | Creates a JitRequest | > | Microsoft.Solutions/jitRequests/delete | Remove a JitRequest | > | Microsoft.Solutions/locations/operationStatuses/read | Reads the operation status for the resource. |
+> | Microsoft.Solutions/locations/operationStatuses/write | Writes the operation status for the resource. |
> | Microsoft.Solutions/operations/read | Gets the list of operations. | ### Microsoft.Subscription
role-based-access-control Role Assignments Alert https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/role-assignments-alert.md
Title: Alert on privileged Azure role assignments
description: Alert on privileged Azure role assignments by creating an alert rule using Azure Monitor. -+
role-based-access-control Role Assignments Cli https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/role-assignments-cli.md
Title: Assign Azure roles using Azure CLI - Azure RBAC
description: Learn how to grant access to Azure resources for users, groups, service principals, or managed identities using Azure CLI and Azure role-based access control (Azure RBAC). -+
role-based-access-control Role Assignments External Users https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/role-assignments-external-users.md
description: Learn how to grant access to Azure resources for users external to
documentationcenter: '' -+ ms.devlang:
role-based-access-control Role Assignments List Cli https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/role-assignments-list-cli.md
description: Learn how to determine what resources users, groups, service princi
documentationcenter: '' -+ ms.assetid: 3483ee01-8177-49e7-b337-4d5cb14f5e32
role-based-access-control Role Assignments List Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/role-assignments-list-portal.md
Title: List Azure role assignments using the Azure portal - Azure RBAC
description: Learn how to determine what resources users, groups, service principals, or managed identities have access to using the Azure portal and Azure role-based access control (Azure RBAC). -+
role-based-access-control Role Assignments List Powershell https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/role-assignments-list-powershell.md
description: Learn how to determine what resources users, groups, service princi
documentationcenter: '' -+ ms.assetid: 9e225dba-9044-4b13-b573-2f30d77925a9
role-based-access-control Role Assignments List Rest https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/role-assignments-list-rest.md
description: Learn how to determine what resources users, groups, service princi
documentationcenter: na -+ rest-api
role-based-access-control Role Assignments Portal Managed Identity https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/role-assignments-portal-managed-identity.md
Title: Assign Azure roles to a managed identity (Preview) - Azure RBAC
description: Learn how to assign Azure roles by starting with the managed identity and then select the scope and role using the Azure portal and Azure role-based access control (Azure RBAC). -+
role-based-access-control Role Assignments Portal Subscription Admin https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/role-assignments-portal-subscription-admin.md
Title: Assign a user as an administrator of an Azure subscription - Azure RBAC
description: Learn how to make a user an administrator of an Azure subscription using the Azure portal and Azure role-based access control (Azure RBAC). -+
role-based-access-control Role Assignments Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/role-assignments-portal.md
Title: Assign Azure roles using the Azure portal - Azure RBAC
description: Learn how to grant access to Azure resources for users, groups, service principals, or managed identities using the Azure portal and Azure role-based access control (Azure RBAC). -+
role-based-access-control Role Assignments Powershell https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/role-assignments-powershell.md
Title: Assign Azure roles using Azure PowerShell - Azure RBAC
description: Learn how to grant access to Azure resources for users, groups, service principals, or managed identities using Azure PowerShell and Azure role-based access control (Azure RBAC). -+
role-based-access-control Role Assignments Remove https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/role-assignments-remove.md
Title: Remove Azure role assignments - Azure RBAC
description: Learn how to remove access to Azure resources for users, groups, service principals, or managed identities using Azure portal, Azure PowerShell, Azure CLI, or REST API. -+
role-based-access-control Role Assignments Rest https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/role-assignments-rest.md
Title: Assign Azure roles using the REST API - Azure RBAC
description: Learn how to grant access to Azure resources for users, groups, service principals, or managed identities using the REST API and Azure role-based access control (Azure RBAC). -+ rest-api
role-based-access-control Role Assignments Steps https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/role-assignments-steps.md
Title: Steps to assign an Azure role - Azure RBAC
description: Learn the steps to assign Azure roles to users, groups, service principals, or managed identities using Azure role-based access control (Azure RBAC). -+
role-based-access-control Role Assignments Template https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/role-assignments-template.md
description: Learn how to grant access to Azure resources for users, groups, ser
documentationcenter: '' -+
role-based-access-control Role Definitions List https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/role-definitions-list.md
Title: List Azure role definitions - Azure RBAC
description: Learn how to list Azure built-in and custom roles using Azure portal, Azure PowerShell, Azure CLI, or REST API. -+
role-based-access-control Role Definitions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/role-definitions.md
description: Learn about Azure role definitions in Azure role-based access contr
documentationcenter: '' -+
role-based-access-control Scope Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/scope-overview.md
Title: Understand scope for Azure RBAC
description: Learn about scope for Azure role-based access control (Azure RBAC) and how to determine the scope for a resource. -+
role-based-access-control Security Controls Policy https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/security-controls-policy.md
description: Lists Azure Policy Regulatory Compliance controls available for Azu
Last updated 08/17/2022 +
role-based-access-control Transfer Subscription https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/transfer-subscription.md
Title: Transfer an Azure subscription to a different Azure AD directory
description: Learn how to transfer an Azure subscription and known related resources to a different Azure Active Directory (Azure AD) directory. -+
role-based-access-control Troubleshooting https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/troubleshooting.md
Title: Troubleshoot Azure RBAC
description: Troubleshoot issues with Azure role-based access control (Azure RBAC). -+ ms.assetid: df42cca2-02d6-4f3c-9d56-260e1eb7dc44
role-based-access-control Tutorial Custom Role Cli https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/tutorial-custom-role-cli.md
description: Get started creating an Azure custom role using Azure CLI and Azure
documentationCenter: '' -+ editor: ''
role-based-access-control Tutorial Custom Role Powershell https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/tutorial-custom-role-powershell.md
description: Get started creating an Azure custom role using Azure PowerShell an
documentationCenter: '' -+ editor: ''
role-based-access-control Tutorial Role Assignments Group Powershell https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/tutorial-role-assignments-group-powershell.md
description: Learn how to grant a group access to Azure resources using Azure Po
documentationCenter: '' -+ editor: ''
role-based-access-control Tutorial Role Assignments User Powershell https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/role-based-access-control/tutorial-role-assignments-user-powershell.md
description: Learn how to grant a user access to Azure resources using Azure Pow
documentationCenter: '' -+ editor: ''
search Search Get Started Vs Code https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/search/search-get-started-vs-code.md
Title: 'Quickstart: Get started with Azure Cognitive Search using Visual Studio Code'
+ Title: 'Quickstart: Use Visual Studio Code with Search'
description: Learn how to install and use the Visual Studio Code extension for Azure Cognitive Search. Previously updated : 03/10/2021 Last updated : 08/19/2022
This article explains how to formulate REST API requests interactively using the
If you don't have an Azure subscription, create a [free account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin. > [!IMPORTANT]
-> This skill is in public preview under [supplemental terms of use](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
+> This extension is in public preview under [supplemental terms of use](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
## Prerequisites
The following services and tools are required for this quickstart.
## Install the extension
-Start by opening [VS Code](https://code.visualstudio.com). Select the **Extensions** tab on the activity bar then search for *Azure Cognitive Search*. Find the extension in the search results, and select **Install**.
+Start [Visual Studio Code](https://code.visualstudio.com). Select the **Extensions** tab on the activity bar, then search for *Azure Cognitive Search*. Find the extension in the search results, and select **Install**.
![VS Code extension pane](media/search-get-started-rest/download-extension.png "Downloading the VS Code extension")
-Alternatively, you can install the [Azure Cognitive Search extension](https://aka.ms/vscode-search) from the VS Code marketplace in a web browser.
+Alternatively, you can install the [Azure Cognitive Search extension](https://aka.ms/vscode-search) from the Visual Studio Code marketplace in a web browser.
-You should see a new Azure tab appear on the activity bar if you didn't already have it.
+You should see a new Azure tab appear on the activity bar if you don't already have it.
![VS Code Azure pane](media/search-get-started-rest/azure-pane.png "Azure pane in VS Code")
You should see a new Azure tab appear on the activity bar if you didn't already
Select **Sign in to Azure...** and log into your Azure Account.
-You should see your subscriptions appear. Select the subscription to see a list of the search services in the subscription.
+You should see your subscriptions. In the following screenshot, the subscription name is "Visual Studio Enterprise" and it contains one search service named "azsearch-service".
![VS Code Azure subscriptions](media/search-get-started-rest/subscriptions.png "Subscriptions in VS Code") To limit the subscriptions displayed, open the command palette (Ctrl+Shift+P or Cmd+Shift+P) and search for *Azure* or *Select Subscriptions*. There are also commands available for signing in and out of your Azure account.
-When you expand the search service, you will see tree items for each of the Cognitive Search resources: indexes, data sources, indexers, skillsets, and synonym maps.
+When you expand the search service, you'll see tree items for each Cognitive Search item: indexes, data sources, indexers, skillsets, synonym maps, and aliases.
![VS Code Azure search tree](media/search-get-started-rest/search-tree.png "VS Code Azure search tree")
-These tree items can be expanded to show any resources you have in your search service
+These tree items can be expanded to show any resources you have in your search service.
## 1 - Create an index
The `fields` collection defines the structure of documents in the search index.
To create a new index, right-click on **Indexes** and then select **Create new index**. An editor with a name similar to `indexes-new-28c972f661.azsindex` will pop up.
-Paste the index definition from above into the window. Save the file and select **Upload** when prompted if you want to update the index. This will create the index and it will be available in the tree view.
+Paste the index definition from above into the window. Save the file and select **Upload** when prompted if you want to update the index. This step creates the index and adds it to the tree view on the left.
![Gif of creating an index](media/search-get-started-rest/create-index.gif)
-If there is a problem with your index definition, you should see an error message pop up explaining the error.
+If there's a problem with your index definition, you should see an error message similar to the one below.
![Create index error message](media/search-get-started-rest/create-index-error.png)
-If this happens, fix the issue and resave the file.
+If an error occurs, fix the issue and resave the file.
## 2 - Load documents
-Creating the index and populating the index are separate steps. In Azure Cognitive Search, the index contains all searchable data. In this scenario, the data is provided as JSON documents. The [Add, Update, or Delete Documents REST API](/rest/api/searchservice/addupdate-or-delete-documents) is used for this task.
+In the REST API, creating the index and populating the index are separate steps. In Azure Cognitive Search, the index contains all searchable data. In this quickstart, the data is provided as JSON documents. The [Add, Update, or Delete Documents REST API](/rest/api/searchservice/addupdate-or-delete-documents) is used for this task.
-To add new documents in VS Code:
+To add new documents to the index:
1. Expand the `hotels-quickstart` index you created. Right-click on **Documents** and select **Create new document**. ![Create a document](media/search-get-started-rest/create-document.png)
-2. This will open up a JSON editor that has inferred the schema of your index.
+2. You should see a JSON editor that has inferred the schema of your index.
![Create a document json](media/search-get-started-rest/create-document-2.png)
-3. Paste in the JSON below and then save the file. A prompt will open up asking you to confirm your changes. Select **Upload** to save the changes.
+3. Paste in the JSON below and then save the file. A prompt asks you to confirm your changes. Select **Upload** to save the changes.
```json {
To add new documents in VS Code:
} ```
-4. Repeat this process for the three remaining documents
+4. Repeat this process for the three remaining documents:
Document 2: ```json
At this point, you should see all four documents available in the documents sect
## 3 - Search an index
-Now that the index and document set are loaded, you can issue queries against them using [Search Documents REST API](/rest/api/searchservice/search-documents).
+Now that the index contains content, you can issue queries using [Search Documents REST API](/rest/api/searchservice/search-documents):
-To do this in VS Code:
-
-1. Right-click the index you want to search and select **Search index**. This will open an editor with a name similar to `sandbox-b946dcda48.azs`.
+1. Right-click the index you want to search and select **Search**. This step opens an editor with a name similar to `sandbox-b946dcda48.azs`.
![search view of extension](media/search-get-started-rest/search-vscode.png)
To do this in VS Code:
![search results in extension](media/search-get-started-rest/search-results.png) - ### Example queries Try a few other query examples to get a feel for the syntax. There's four additional queries below for you to try. You can add multiple queries to the same editor. When you press **Ctrl+Alt+R** or **Cmd+Alt+R**, the line your cursor determines which query will be submitted.
In the next query, we specify the search term `wifi` and also include a filter t
``` // Query example 2 - Search with filter, orderBy, select, and count
-search=wifi&$filter=Address/StateProvince eq 'FL'&$select=HotelId,HotelName,Rating&$orderby=Rating desc
+search=wifi&$filter=Address/StateProvince eq 'FL'&$select=HotelId,HotelName,Rating,Address/StateProvince&$orderby=Rating desc
``` Next, the search is limited to a single searchable field using the `searchFields` parameter. This is a great option to make your query more efficient if you know you're only interested in matches in certain fields. ``` // Query example 3 - Limit searchFields
-search=submlime cliff&$select=HotelId,HotelName,Rating&searchFields=HotelName
+search=sublime cliff&$select=HotelId,HotelName,Rating&searchFields=HotelName
```
-Another common option to include in a query is `facets`. Facets allow you to build out filters on your UI to make it easy for users to know what values they can filter down to.
+Another common option to include in a query is `facets`. Facets allow you to build out filters on your app to make it easy for users to know what values they can filter down to.
``` // Query example 4 - Take the top two results, and show only HotelName and Category in the results
search=*&$select=HotelId,HotelName,Rating&searchFields=HotelName&facet=Category
## Open index in the portal
-If you'd like to view your search service in the portal, right-click the name of the search service and select **Open in Portal**. This will take you to the search service in the Azure portal.
+If you'd like to view your search service in the portal, right-click the name of the search service and select **Open in Portal**.
## Clean up resources
service-connector Quickstart Cli Spring Cloud Connection https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/quickstart-cli-spring-cloud-connection.md
Title: Quickstart - Create a service connection in Spring Cloud with the Azure CLI
-description: Quickstart showing how to create a service connection in Spring Cloud with the Azure CLI
--
+ Title: Quickstart - Create a service connection in Azure Spring Apps with the Azure CLI
+description: Quickstart showing how to create a service connection in Azure Spring Apps with the Azure CLI
+displayName:
++ Previously updated : 03/24/2022 Last updated : 08/09/2022 ms.devlang: azurecli-+
-# Quickstart: Create a service connection in Spring Cloud with the Azure CLI
+# Quickstart: Create a service connection in Azure Spring Apps with the Azure CLI
-The [Azure CLI](/cli/azure) is a set of commands used to create and manage Azure resources. The Azure CLI is available across Azure services and is designed to get you working quickly with Azure, with an emphasis on automation. This quickstart shows you several options to create an Azure Web PubSub instance with the Azure CLI.
+This quickstart shows you how to connect Azure Spring Apps to other Cloud resources using the Azure CLI and Service Connector.
+Service Connector lets you quickly connect compute services to cloud services, while managing your connection's authentication and networking settings.
+## Prerequisites
-- Version 2.30.0 or higher of the Azure CLI. If using Azure Cloud Shell, the latest version is already installed.
+- An Azure subscription. [!INCLUDE [quickstarts-free-trial-note](../../includes/quickstarts-free-trial-note.md)]
-- At least one Spring Cloud application running on Azure. If you don't have a Spring Cloud application, [create one](../spring-apps/quickstart.md).
+- At least one application hosted by Azure Spring Apps in a [region supported by Service Connector](./concept-region-support.md). If you don't have one, [deploy your first application to Azure Spring Apps](../spring-apps/quickstart.md).
-## View supported target service types
-Use the Azure CLI [[az spring-cloud connection](quickstart-cli-spring-cloud-connection.md)] command to create and manage service connections to your Spring Cloud application.
+- Version 2.37.0 or higher of the Azure CLI must be installed. To upgrade to the latest version, run `az upgrade`. If using Azure Cloud Shell, the latest version is already installed.
-```azurecli-interactive
-az provider register -n Microsoft.ServiceLinker
-az spring-cloud connection list-support-types --output table
-```
+- The Azure Spring Apps extension must be installed in the Azure CLI or the Cloud Shell. To install it, run `az extension add --name spring`.
+
+## Prepare to create a connection
+
+1. If you're using Service Connector for the first time, start by running the command [az provider register](/cli/azure/provider#az-provider-register) to register the Service Connector resource provider.
+
+ ```azurecli-interactive
+ az provider register -n Microsoft.ServiceLinker
+ ```
+
+1. Run the command `az spring connection` to get a list of supported target services for Azure Spring Apps.
+
+ ```azurecli-interactive
+ az spring connection list-support-types --output table
+ ```
+
+ > [!TIP]
+ > If the `az spring` command isn't recognized by the system, check that you have installed the required extension by running `az extension add --name spring`.
## Create a service connection
-### [Using an access key](#tab/Using-access-key)
+You can create a connection from Azure Spring Apps using an access key or a managed identity.
-Use the Azure CLI command `az spring-cloud connection` to create a service connection to an Azure Blob Storage with an access key, providing the following information:
+### [Access key](#tab/Using-access-key)
-- **Spring Cloud resource group name:** the resource group name of the Spring Cloud.-- **Spring Cloud name:** the name of your Spring Cloud.-- **Spring Cloud app name:** the name of your Spring Cloud app that connects to the target service.-- **Target service resource group name:** the resource group name of the Blob Storage.-- **Storage account name:** the account name of your Blob Storage.
+1. Run the `az spring connection create` command to create a service connection between Azure Spring Apps and an Azure Blob Storage with an access key.
-```azurecli-interactive
-az spring-cloud connection create storage-blob --secret
-```
+ ```azurecli-interactive
+ az spring connection create storage-blob --secret
+ ```
-> [!NOTE]
-> If you don't have a Blob Storage, you can run `az spring-cloud connection create storage-blob --new --secret` to provision a new one and directly get connected to your app service.
+1. Provide the following information at the CLI or Cloud Shell's request:
-### [Using Managed Identity](#tab/Using-Managed-Identity)
+ | Setting | Description |
+ ||-|
+ | `The resource group which contains the spring-cloud` | The name of the resource group that contains app hosted by Azure Spring Apps. |
+ | `Name of the spring-cloud service` | The name of the Azure Spring Apps resource. |
+ | `Name of the spring-cloud app` | The name of the application hosted by Azure Spring Apps that connects to the target service. |
+ | `The resource group which contains the storage account` | The name of the resource group with the storage account. |
+ | `Name of the storage account` | The name of the storage account you want to connect to. In this guide, we're using a Blob Storage. |
+
+> [!TIP]
+> If you don't have a Blob Storage, you can run `az spring connection create storage-blob --new --secret` to provision a new Blob Storage and directly connect it to your application hosted by Azure Spring Apps using a connection string.
+
+### [Managed Identity](#tab/Using-Managed-Identity)
> [!IMPORTANT]
-> To use Managed Identity, you must have permission to manage [role assignments in Azure Active Directory](../active-directory/managed-identities-azure-resources/howto-assign-access-portal.md). If you don't have this permission, your connection creation will fail. You can ask your subscription owner to grant you a role assignment permission or use an access key to create the connection.
+> To use Managed Identity, you must have the permission to modify [role assignments in Azure Active Directory](../active-directory/managed-identities-azure-resources/howto-assign-access-portal.md). Without this permission, your connection creation will fail. Ask your subscription owner to grant you a role assignment permission or use an access key to create the connection.
-Use the Azure CLI command `az spring-cloud connection` to create a service connection to a Blob Storage with System-assigned Managed Identity, providing the following information:
+1. Run the `az spring connection create` command to create a service connection to a Blob Storage with a system-assigned managed identity
-- **Spring Cloud resource group name:** the resource group name of the Spring Cloud.-- **Spring Cloud name:** the name of your Spring Cloud.-- **Spring Cloud app name:** the name of your Spring Cloud app that connects to the target service.-- **Target service resource group name:** the resource group name of the Blob Storage.-- **Storage account name:** the account name of your Blob Storage.
+1. Provide the following information at the CLI or Cloud Shell's request:
-```azurecli-interactive
-az spring-cloud connection create storage-blob --system-identity
-```
+ ```azurecli-interactive
+ az spring connection create storage-blob --system-identity
+ ```
+
+ | Setting | Description |
+ ||-|
+ | `The resource group which contains the spring-cloud` | The name of the resource group that contains an app hosted by Azure Spring Apps. |
+ | `Name of the spring-cloud service` | The name of the Azure Spring Apps resource. |
+ | `Name of the spring-cloud app` | The name of the application hosted by Azure Spring Apps that connects to the target service. |
+ | `The resource group which contains the storage account` | The name of the resource group with the storage account. |
+ | `Name of the storage account` | The name of the storage account you want to connect to. In this guide, we're using a Blob Storage. |
-> [!NOTE]
-> If you don't have a Blob Storage, you can run `az spring-cloud connection create --system-identity --new --secret` to provision a new one and directly get connected to your app service.
+> [!TIP]
+> If you don't have a Blob Storage, you can run `az spring connection create storage-blob --new --system-identity` to provision a new Blob Storage and directly connect it to your application hosted by Azure Spring Apps using a managed identity.
## View connections
-Use the Azure CLI [az spring-cloud connection](quickstart-cli-spring-cloud-connection.md) command to list connection to your Spring Cloud application, providing the following information:
+Run `az spring connection list` command to list all of your Azure Spring Apps' provisioned connections.
+
+Replace the placeholders `<azure-spring-apps-resource-group>`, `<azure-spring-apps-name>`, and `<app-name>` from the command below with the name of your Azure Spring Apps resource group, the name of your Azure Spring Apps resource, and the name of your application. You can also remove the `--output table` option to view more information about your connections.
```azurecli-interactive
-az spring-cloud connection list -g <your-spring-cloud-resource-group> --spring-cloud <your-spring-cloud-name>
+az spring connection list --resource-group <azure-spring-apps-resource-group> --service <azure-spring-apps-name> --app <app-name>--output table
```
+The output also displays the provisioning state of your connections: failed or succeeded.
+ ## Next steps
-Follow the tutorials listed below to start building your own application with Service Connector.
+Check the guides below for more information about Service Connector and Azure Spring Apps:
+
+> [!div class="nextstepaction"]
+> [Tutorial: Azure Spring Apps + MySQL](./tutorial-java-spring-mysql.md)
> [!div class="nextstepaction"]
-> [Tutorial: Spring Cloud + MySQL](./tutorial-java-spring-mysql.md)
-> [Tutorial: Spring Cloud + Apache Kafka on Confluent Cloud](./tutorial-java-spring-confluent-kafka.md)
+> [Tutorial: Azure Spring Apps + Apache Kafka on Confluent Cloud](./tutorial-java-spring-confluent-kafka.md)
service-connector Quickstart Portal Spring Cloud Connection https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/quickstart-portal-spring-cloud-connection.md
Title: Create a service connection in Spring Cloud from Azure portal
-description: This quickstart shows you how to create a service connection in Spring Cloud from the Azure portal.
--
+ Title: Create a service connection in Azure Spring Apps from the Azure portal
+description: This quickstart shows you how to create a service connection in Azure Spring Apps from the Azure portal.
++ Previously updated : 5/25/2022 Last updated : 08/10/2022 - ignite-fall-2021 - kr2b-contr-experiment - event-tier1-build-2022+
+#Customer intent: As an app developer, I want to connect an application deployed to Azure Spring Apps to a storage account in the Azure portal.
-# Quickstart: Create a service connection in Spring Cloud from the Azure portal
+# Quickstart: Create a service connection in Azure Spring Apps from the Azure portal
-This quickstart shows you how to create a new service connection with Service Connector in Spring Cloud from the Azure portal.
+This quickstart shows you how to connect Azure Spring Apps to other Cloud resources using the Azure portal and Service Connector. Service Connector lets you quickly connect compute services to cloud services, while managing your connection's authentication and networking settings.
## Prerequisites - An Azure account with an active subscription. [Create an Azure account for free](https://azure.microsoft.com/free).-- A Spring Cloud application running on Azure. If you don't have one yet, [create a Spring Cloud application](../spring-apps/quickstart.md).
+- An app deployed to [Azure Spring Apps](../spring-apps/quickstart.md) in a [region supported by Service Connector](./concept-region-support.md).
+- A target resource to connect Azure Spring Apps to. For example, a [storage account](/azure/storage/common/storage-account-create).
## Sign in to Azure Sign in to the Azure portal at [https://portal.azure.com/](https://portal.azure.com/) with your Azure account.
-## Create a new service connection in Azure Spring Cloud
+## Create a new service connection
+
+You'll use Service Connector to create a new service connection in Azure Spring Apps.
+
+1. To create a new connection in Azure Spring Apps, select the **Search resources, services and docs (G +/)** search bar at the top of the Azure portal, type *Azure Spring Apps* in the filter and select **Azure Spring Apps**.
+
+ :::image type="content" source="./media/azure-spring-apps-quickstart/select-azure-spring-apps.png" alt-text="Screenshot of the Azure portal, selecting Azure Spring Apps.":::
+
+1. Select the name of the Azure Spring Apps instance you want to connect to a target resource.
+
+1. Under **Settings**, select **Apps** and select the application from the list.
+
+ :::image type="content" source="./media/azure-spring-apps-quickstart/select-app.png" alt-text="Screenshot of the Azure portal, selecting an app.":::
+
+1. Select **Service Connector** from the left table of contents and select **Create**.
+ :::image type="content" source="./media/azure-spring-apps-quickstart/create-connection.png" alt-text="Screenshot of the Azure portal, selecting the button to create a connection.":::
-1. Select the **All resources** button from the left menu. Type **Azure Spring Cloud** in the filter and select the name of the Spring Cloud resource you want to use from the list.
-1. Select **Apps** and select the application name from the list.
-1. Select **Service Connector** from the left table of contents. Then select **Create**.
1. Select or enter the following settings.
- | Setting | Suggested value | Description |
- | | - | -- |
- | **Subscription** | One of your subscriptions | The subscription where your target service is located. The target service is the service you want to connect to. The default value is the subscription for the App Service. |
- | **Service Type** | Azure Blob Storage | Target service type. If you don't have an Azure Blob storage, you can [create one](../storage/blobs/storage-quickstart-blobs-portal.md) or use another service type. |
- | **Connection Name** | Generated unique name | The connection name that identifies the connection between your App Service and target service |
- | **Storage account** | Your storage account | The target storage account you want to connect to. If you choose a different service type, select the corresponding target service instance. |
+ | Setting | Example | Description |
+ ||-|-|
+ | **Service type** | *Storage - Blob* | The type of service you're going to connect to your app. |
+ | **Subscription** | *my-subscription* | The subscription that contains your target service (the service you want to connect to). The default value is the subscription that contains the app deployed to Azure Spring Apps. |
+ | **Connection name** | *storageblob_17d38* | The connection name that identifies the connection between your app and target service. Use the connection name provided by Service Connector or enter your own connection name. |
+ | **Storage account** | *my-storage-account* | The target storage account you want to connect to. If you choose a different service type, select the corresponding target service instance. |
+ | **Client type** | *SpringBoot* | The application stack that works with the target service you selected. Choose between SpringBoot and Java. |
-1. Select **Next: Authentication** to select the authentication type. Then select **Connection string** to use access key to connect your Blob storage account.
-1. Then select **Next: Review + Create** to review the provided information. Then select **Create** to create the service connection. It might take one minute to complete the operation.
+ :::image type="content" source="./media/azure-spring-apps-quickstart/basics.png" alt-text="Screenshot of the Azure portal, filling out the Basics tab.":::
-## View service connections in Spring Cloud
+1. Select **Next: Authentication** to select the authentication type. Then select **Connection string** to use an access key to connect your storage account.
+ :::image type="content" source="./media/azure-spring-apps-quickstart/authentication.png" alt-text="Screenshot of the Azure portal, filling out the Authentication tab.":::
-1. Select **Service Connector** to view the Spring Cloud connection to the target service.
+1. Select **Next: Networking** to select the network configuration and select **Configure firewall rules to enable access to target service** so that your app can reach the Blob Storage.
-1. Select **>** to expand the list and access the properties required by your Spring boot application.
+ :::image type="content" source="./media/azure-spring-apps-quickstart/networking.png" alt-text="Screenshot of the Azure portal, filling out the Networking tab.":::
-1. Select the ellipsis **...** and **Validate**. You can see the connection validation details in the context pane from the right.
+1. Select **Next: Review + Create** to review the provided information. Wait a few seconds for Service Connector to validate the information and select **Create** to create the service connection.
+
+ :::image type="content" source="./media/azure-spring-apps-quickstart/validation.png" alt-text="Screenshot of the Azure portal, validation tab.":::
+
+## View service connection
+
+Azure Spring Apps connections are displayed under **Settings > Service Connector**.
+
+1. Select **>** to expand the list and access the properties required by your application.
+
+1. Select **Validate** to check your connection status, and select **Learn more** to review the connection validation details.
+
+ :::image type="content" source="./media/azure-spring-apps-quickstart/validation-result.png" alt-text="Screenshot of the Azure portal, get connection validation result.":::
## Next steps
-Follow the tutorials listed below to start building your own application with Service Connector.
+Check the guides below for more information about Service Connector and Azure Spring Apps:
+
+> [!div class="nextstepaction"]
+> [Tutorial: Azure Spring Apps + MySQL](./tutorial-java-spring-mysql.md)
> [!div class="nextstepaction"]
-> - [Tutorial: Spring Cloud + MySQL](./tutorial-java-spring-mysql.md)
-> - [Tutorial: Spring Cloud + Apache Kafka on Confluent Cloud](./tutorial-java-spring-confluent-kafka.md)
+> [Tutorial: Azure Spring Apps + Apache Kafka on Confluent Cloud](./tutorial-java-spring-confluent-kafka.md)
virtual-machines High Availability Guide Rhel With Dialog Instance https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-machines/workloads/sap/high-availability-guide-rhel-with-dialog-instance.md
+
+ Title: Deploy SAP Dialog Instance with SAP ASCS/SCS high availability VMs on RHEL | Microsoft Docs
+description: Configure SAP Dialog Instance on SAP ASCS/SCS high availability VMs on RHEL
+
+documentationcenter: saponazure
++
+tags: azure-resource-manager
++
+ vm-linux
+ Last updated : 08/16/2022+++
+# Deploy SAP Dialog Instances with SAP ASCS/SCS high availability VMs on Red Hat Enterprise Linux
+
+This article describes how to install and configure Primary Application Server (PAS) and Additional Application Server (AAS) dialog instance on the same SAP ASCS/SCS high availability cluster running on Red Hat Enterprise Linux (RHEL).
+
+## References
+
+* [Configuring SAP S/4HANA ASCS/ERS with Standalone Enqueue Server 2 (ENSA2) in Pacemaker](https://access.redhat.com/articles/3974941)
+* [Configuring SAP NetWeaver ASCS/ERS ENSA1 with Standalone Resources in RHEL 7.5+ and RHEL 8](https://access.redhat.com/articles/3569681)
+* SAP Note [1928533](https://launchpad.support.sap.com/#/notes/1928533), which has:
+ * List of Azure VM sizes that are supported for the deployment of SAP software
+ * Important capacity information for Azure VM sizes
+ * Supported SAP software, and operating system (OS) and database combinations
+ * Required SAP kernel version for Windows and Linux on Microsoft Azure
+* SAP Note [2015553](https://launchpad.support.sap.com/#/notes/2015553) lists prerequisites for SAP-supported SAP software deployments in Azure.
+* SAP Note [2002167](https://launchpad.support.sap.com/#/notes/2002167) has recommended OS settings for Red Hat Enterprise Linux 7.x
+* SAP Note [2772999](https://launchpad.support.sap.com/#/notes/2772999) has recommended OS settings for Red Hat Enterprise Linux 8.x
+* SAP Note [2009879](https://launchpad.support.sap.com/#/notes/2009879) has SAP HANA Guidelines for Red Hat Enterprise Linux
+* SAP Note [2178632](https://launchpad.support.sap.com/#/notes/2178632) has detailed information about all monitoring metrics reported for SAP in Azure.
+* SAP Note [2191498](https://launchpad.support.sap.com/#/notes/2191498) has the required SAP Host Agent version for Linux in Azure.
+* SAP Note [2243692](https://launchpad.support.sap.com/#/notes/224362) has information about SAP licensing on Linux in Azure.
+* SAP Note [1999351](https://launchpad.support.sap.com/#/notes/1999351) has additional troubleshooting information for the Azure Enhanced Monitoring Extension for SAP.
+* [SAP Community Wiki](https://wiki.scn.sap.com/wiki/display/HOME/SAPonLinuxNotes) has all required SAP Notes for Linux.
+* [Azure Virtual Machines planning and implementation for SAP on Linux](planning-guide.md)
+* [Azure Virtual Machines deployment for SAP on Linux](deployment-guide.md)
+* [Azure Virtual Machines DBMS deployment for SAP on Linux](dbms_guide_general.md)
+* [SAP Netweaver in pacemaker cluster](https://access.redhat.com/articles/3150081)
+* General RHEL documentation
+ * [High Availability Add-On Overview](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/high_availability_add-on_overview/index)
+ * [High Availability Add-On Administration](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/high_availability_add-on_administration/index)
+ * [High Availability Add-On Reference](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/high_availability_add-on_reference/index)
+* Azure-specific RHEL documentation:
+ * [Support Policies for RHEL High Availability Clusters - Microsoft Azure Virtual Machines as Cluster Members](https://access.redhat.com/articles/3131341)
+ * [Installing and Configuring a Red Hat Enterprise Linux 7.4 (and later) High-Availability Cluster on Microsoft Azure](https://access.redhat.com/articles/3252491)
+
+## Overview
+
+This article describes the cost optimization scenario where you deploy Primary Application Server (PAS) and Additional Application Server (AAS) dialog instances with SAP ASCS/SCS and SAP ERS instances in high availability setup. To minimize the number of VMs for a single SAP system, you want to install PAS and AAS on the same host where SAP ASCS/SCS and SAP ERS are running. With SAP ASCS/SCS being configured in high availability cluster setup, you want PAS and AAS to be managed by cluster as well. The configuration is basically an addition to already configured SAP ASCS/SCS cluster setup. In this setup PAS and AAS will be installed on a virtual hostname and its instance directory is managed by the cluster.
+
+For this setup, PAS and AAS require a highly available instance directory (`/usr/sap/<SID>/D<nr>`). You can place the instance directory filesystem on the same high available storage that you've used for ASCS and ERS instance configuration. The presented architecture showcases [NFS on Azure Files](../../../storage/files/files-nfs-protocol.md) or [Azure NetApp Files](../../../azure-netapp-files/azure-netapp-files-introduction.md) for highly available instance directory for the setup.
+
+The example shown in this article to describe deployment uses following system information -
+
+| Instance name | Instance number | Virtual hostname | Virtual IP (Probe Port) |
+| -- | | - | -- |
+| ABAP SAP Central Services (ASCS) | 00 | sapascs | 10.90.90.10 (62000) |
+| Enqueue Replication Server (ERS) | 01 | sapers | 10.90.90.9 (62001) |
+| Primary Application Server (PAS) | 02 | sappas | 10.90.90.30 (62002) |
+| Additional Application Server (AAS) | 03 | sapers | 10.90.90.31 (62003) |
+| SAP system identifier | NW1 | | |
+
+> [!NOTE]
+>
+> Install additional SAP application instances on separate VMs, if you want to scale out.
+
+![Architecture of dialog instance installation with SAP ASCS/SCS cluster](media/high-availability-guide-rhel/high-availability-rhel-dialog-instance-architecture.png)
+
+### Important consideration for the cost optimization solution
+
+* Only two dialog instances, PAS and one AAS can be deployed with SAP ASCS/SCS cluster setup.
+* If you want to scale out your SAP system with additional application servers (like **sapa03** and **sapa04**), you can install them in separate VMs. With PAS and AAS being installed on virtual hostnames, you can either install additional application server using physical or virtual hostname in separate VMs. To learn more on how to assign virtual hostname to a VM, refer to the blog [Use SAP Virtual Host Names with Linux in Azure](https://techcommunity.microsoft.com/t5/running-sap-applications-on-the/use-sap-virtual-host-names-with-linux-in-azure/ba-p/3251593).
+* With PAS and AAS deployment with SAP ASCS/SCS cluster setup, the instance number of ASCS, ERS, PAS and AAS must be different.
+* Consider sizing your VM SKUs appropriately based on the sizing guidelines. You have to factor in the cluster behavior where multiple SAP instances (ASCS, ERS, PAS and AAS) may run on a single VM when other VM in the cluster is unavailable.
+* The dialog instances (PAS and AAS) running with SAP ASCS/SCS cluster setup must be installed using virtual hostname.
+* You must use the same storage solution of SAP ASCS/SCS cluster setup to deploy PAS and AAS instances as well. For example, if you have configured SAP ASCS/SCS cluster using NFS on Azure files, same storage solution must be used to deploy PAS and AAS.
+* Instance directory `/usr/sap/<SID>/D<nr>` of PAS and AAS must be mounted on NFS file system and will be managed as resource by the cluster.
+ > [!NOTE]
+ >
+ > For SAP J2EE systems, it's not supported to place `/usr/sap/<SID>/J<nr>` on NFS on Azure Files.
+* To install additional application servers on separate VMs, you can either use NFS shares or local managed disk for instance directory filesystem. If you're installing additional application servers for SAP J2EE system, `/usr/sap/<SID>/J<nr>` on NFS on Azure Files isn't supported.
+* In traditional SAP ASCS/SCS high availability configuration, application server instances running on separate VMs aren't affected when there's any effect on SAP ASCS and ERS cluster nodes. But with the cost optimization configuration, either PAS or AAS instance will restart when there's an effect on one of the nodes in the cluster.
+* Refer [NFS on Azure Files consideration](high-availability-guide-rhel-nfs-azure-files.md#important-considerations-for-nfs-on-azure-files-shares) and [Azure NetApp Files consideration](high-availability-guide-rhel-netapp-files.md#important-considerations), as same consideration applies for this setup as well.
+
+## Pre-requisites
+
+The configuration described in this article is an addition to your already configured SAP ASCS/SCS cluster setup. In this configuration, PAS and AAS will be installed on a virtual hostname and its instance directory is managed by the cluster. Based on your storage, follow the steps described in below guide to configure `SAPInstance` resource for SAP ASCS and SAP ERS instance in the cluster.
+
+* NFS on Azure Files - [Azure VMs high availability for SAP NW on RHEL with NFS on Azure Files](high-availability-guide-rhel-nfs-azure-files.md)
+* Azure NetApp Files - [Azure VMs high availability for SAP NW on RHEL with Azure NetApp Files](high-availability-guide-rhel-netapp-files.md)
+
+Once you have installed **ASCS**, **ERS** and **Database** instance using SWPM, follow below steps to install PAS and AAS instances.
+
+## Configure Azure Load Balancer for PAS and AAS
+
+This document assumes that youΓÇÖve already configured SAP ASCS/SCS cluster setup, which requires Azure Load Balancer. In the same Azure load balancer, follow below steps to create virtual IPs and load balancing rules for PAS and AAS.
+
+1. Open the internal load balancer that you've created for SAP ASCS/SCS cluster setup.
+2. Create the frontend IP address for PAS and AAS instance
+ 1. IP address for PAS is **10.90.90.30**
+ 1. In **Settings** > **Frontend IP configuration**, click on **Add**.
+ 2. Enter the name of the new frontend IP (for example, **frontend.NW1.PAS**).
+ 3. Select the **subnet**.
+ 4. Set the **assignment** to **Static** and enter the IP address (for example, **10.90.90.30**).
+ 5. Click Ok.
+ 2. IP address for AAS is **10.90.90.31**
+ 1. Repeat the steps above under "2.a" to create a frontend IP address for ERS (for example **10.90.90.31** and **frontend.NW1.AAS**)
+3. Backend Pool remains same, as we're deploying PAS and AAS on the same backend pool (**backend.NW1**).
+4. Create health probe for PAS and AAS instance
+ 1. Port for PAS is **62002**
+ 1. In **Settings** > **Health probes**, click on **Add**.
+ 2. Enter the name of the health probe (for example, **health.NW1.PAS**).
+ 3. Select **TCP** as protocol, port **62002** and keep interval **5**.
+ 4. Click Ok.
+ 2. Port for AAS is **62003**
+ 1. Repeat the steps above under "4.a" to create health probe for AAS (for example **62003** and **health.NW1.AAS**)
+5. Create load balancing rules for PAS and AAS instance
+ 1. Load balancing rule for PAS
+ 1. In **Settings** > **Load balancing rules**, click on **Add**.
+ 2. Enter the name of load balancing rule (for example, **lb.NW1.PAS**).
+ 3. Select the frontend IP address for PAS, backend pool, and health probe you created earlier (for example **frontend.NW1.PAS**, **backend.NW1**, and **health.NW1.PAS**)
+ 4. Select **HA ports**
+ 5. Make sure to **enable Floating IP**
+ 6. Click OK
+ 2. Load balancing rule for AAS
+ 1. Repeat the steps above under ΓÇ£5.1ΓÇ¥ to create load balancing rule for AAS (for example, **lb.NW1.AAS**).
+
+> [!IMPORTANT]
+>
+> Floating IP is not supported on a NIC secondary IP configuration in load-balancing scenarios. For details see [Azure Load balancer Limitations](../../../load-balancer/load-balancer-multivip-overview.md#limitations). If you need additional IP address for the VM, deploy a second NIC.
+
+> [!NOTE]
+>
+> When VMs without public IP addresses are placed in the backend pool of internal (no public IP address) Standard Azure load balancer, there will be no outbound internet connectivity, unless additional configuration is performed to allow routing to public end points. For details on how to achieve outbound connectivity see [Public endpoint connectivity for Virtual Machines using Azure Standard Load Balancer in SAP high-availability scenarios](high-availability-guide-standard-load-balancer-outbound-connections.md).
+
+> [!IMPORTANT]
+>
+> Do not enable TCP timestamps on Azure VMs placed behind Azure Load Balancer. Enabling TCP timestamps will cause the health probes to fail. Set parameter **net.ipv4.tcp_timestamps** to **0**. For details see [Load Balancer health probes](../../../load-balancer/load-balancer-custom-probe-overview.md).
+
+## Prepare servers for PAS and AAS installation
+
+The following items are prefixed with either **[A]** - applicable to all nodes, **[1]** - only applicable to node 1 or **[2]** - only applicable to node 2.
+
+1. **[A]** Setup hostname resolution
+
+ You can either use a DNS server or modify the /etc/hosts on all nodes. This example shows how to use the /etc/hosts file. Replace the IP address and the hostname in the following commands
+
+ ```bash
+ sudo vi /etc/hosts
+
+ # IP address of cluster node 1
+ 10.90.90.7 sap-cl1
+ # IP address of cluster node 2
+ 10.90.90.8 sap-cl2
+ # IP address of the load balancer frontend configuration for SAP Netweaver ASCS
+ 10.90.90.10 sapascs
+ # IP address of the load balancer frontend configuration for SAP Netweaver ERS
+ 10.90.90.9 sapers
+ # IP address of the load balancer frontend configuration for SAP Netweaver PAS
+ 10.90.90.30 sappas
+ # IP address of the load balancer frontend configuration for SAP Netweaver AAS
+ 10.90.90.31 sapaas
+ ```
+
+2. **[1]** Create the SAP directories on the NFS share. Mount temporarily the NFS share **sapnw1** on one of the VMs and create the SAP directories that will be used as nested mount points.
+
+ 1. If using, NFS on Azure files
+
+ ```bash
+ # mount temporarily the volume
+ sudo mkdir -p /saptmp
+ sudo mount -t nfs sapnfs.file.core.windows.net:/sapnfsafs/sapnw1 /saptmp -o vers=4,minorversion=1,sec=sys
+
+ # create the SAP directories
+ sudo cd /saptmp
+ sudo mkdir -p usrsapNW1D02
+ sudo mkdir -p usrsapNW1D03
+
+ # unmount the volume and delete the temporary directory
+ cd ..
+ sudo umount /saptmp
+ sudo rmdir /saptmp
+ ```
+
+ 2. If using, Azure NetApp Files
+
+ ```bash
+ # mount temporarily the volume
+ sudo mkdir -p /saptmp
+
+ # If using NFSv3
+ sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,vers=3,tcp 10.90.91.5:/sapnw1 /saptmp
+ # If using NFSv4.1
+ sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,vers=4.1,sec=sys,tcp 10.90.91.5:/sapnw1 /saptmp
+
+ # create the SAP directories
+ sudo cd /saptmp
+ sudo mkdir -p usrsapNW1D02
+ sudo mkdir -p usrsapNW1D03
+
+ # unmount the volume and delete the temporary directory
+ sudo cd ..
+ sudo umount /saptmp
+ sudo rmdir /saptmp
+ ```
+
+3. **[A]** Create the shared directories
+
+ ```bash
+ sudo mkdir -p /usr/sap/NW1/D02
+ sudo mkdir -p /usr/sap/NW1/D03
+
+ sudo chattr +i /usr/sap/NW1/D02
+ sudo chattr +i /usr/sap/NW1/D03
+ ```
+
+4. **[A]** Configure SWAP space. When installing dialog instance with central services, you need to configure more swap space.
+
+ ```bash
+ sudo vi /etc/waagent.conf
+
+ # Check if property ResourceDisk.Format is already set to y and if not, set it
+ ResourceDisk.Format=y
+
+ # Set the property ResourceDisk.EnableSwap to y
+ # Create and use swapfile on resource disk.
+ ResourceDisk.EnableSwap=y
+
+ # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB
+ # The free space of resource disk varies by virtual machine size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon
+ # Size of the swapfile.
+ #ResourceDisk.SwapSizeMB=2000
+ ResourceDisk.SwapSizeMB=10480
+ ```
+
+ Restart the agent to activate the change.
+
+ ```bash
+ sudo service waagent restart
+ ```
+
+5. **[A]** Add firewall rules for PAS and AAS
+
+ ```bash
+ # Probe port for PAS and AAS
+ sudo firewall-cmd --zone=public --add-port=62002/tcp --permanent
+ sudo firewall-cmd --zone=public --add-port=62002/tcp
+ sudo firewall-cmd --zone=public --add-port=62003/tcp --permanent
+ sudo firewall-cmd --zone=public --add-port=62003/tcp
+
+ # Gateway port for PAS and AAS
+ sudo firewall-cmd --zone=public --add-port=3302/tcp --permanent
+ sudo firewall-cmd --zone=public --add-port=3302/tcp
+ sudo firewall-cmd --zone=public --add-port=3303/tcp --permanent
+ sudo firewall-cmd --zone=public --add-port=3303/tcp
+ ```
+
+## Installing SAP Netweaver PAS instance
+
+1. **[1]** Check the status of the cluster. Before configuring PAS resource for installation, make sure ASCS and ERS resources are configured and started.
+
+ ```bash
+ sudo pcs status
+
+ # Online: [ sap-cl1 sap-cl2 ]
+ #
+ # Full list of resources:
+ #
+ # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1
+ # Resource Group: g-NW1_ASCS
+ # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1
+ # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1
+ # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1
+ # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1
+ # Resource Group: g-NW1_AERS
+ # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl2
+ # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl2
+ # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl2
+ # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl2
+ ```
+
+2. **[1]** Create filesystem, virtual IP and health probe resource for PAS instance.
+
+ ```bash
+ sudo pcs node standby sap-cl2
+ sudo pcs resource create vip_NW1_PAS IPaddr2 ip=10.90.90.30 --group g-NW1_PAS
+ sudo pcs resource create nc_NW1_PAS azure-lb port=62002 --group g-NW1_PAS
+
+ # If using NFS on Azure files
+ sudo pcs resource create fs_NW1_PAS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1D02' \
+ directory='/usr/sap/NW1/D02' fstype='nfs' force_unmount=safe options='sec=sys,vers=4.1' \
+ op start interval=0 timeout=60 \
+ op stop interval=0 timeout=120 \
+ op monitor interval=200 timeout=40 \
+ --group g-NW1_PAS
+
+ # If using NFsv3 on Azure NetApp Files
+ sudo pcs resource create fs_NW1_PAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D02' \
+ directory='/usr/sap/NW1/D02' fstype='nfs' force_unmount=safe \
+ op start interval=0 timeout=60 \
+ op stop interval=0 timeout=120 \
+ op monitor interval=200 timeout=40 \
+ --group g-NW1_PAS
+
+ # If using NFSv4.1 on Azure NetApp Files
+ sudo pcs resource create fs_NW1_PAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D02' \
+ directory='/usr/sap/NW1/D02' fstype='nfs' force_unmount=safe options='sec=sys,vers=4.1' \
+ op start interval=0 timeout=60 \
+ op stop interval=0 timeout=120 \
+ op monitor interval=200 timeout=105 \
+ --group g-NW1_PAS
+ ```
+
+ Make sure that the cluster status is ok and that all resources are started. It isn't important on which node the resources are running.
+
+ ```bash
+ sudo pcs status
+
+ # Node List:
+ # Node sap-cl2: standby
+ # Online: [ sap-cl1 ]
+ #
+ # Full list of resources:
+ #
+ # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1
+ # Resource Group: g-NW1_ASCS
+ # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1
+ # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1
+ # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1
+ # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1
+ # Resource Group: g-NW1_AERS
+ # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1
+ # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1
+ # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1
+ # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1
+ # Resource Group: g-NW1_PAS:
+ # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Started sap-cl1
+ # nc_NW1_PAS (ocf::heartbeat:azure-lb): Started sap-cl1
+ # fs_NW1_PAS (ocf::heartbeat:Filesystem): Started sap-cl1
+ ```
+
+3. **[1]** Change the ownership of `/usr/sap/SID/D02` folder after filesystem is mounted.
+
+ ```bash
+ sudo chown nw1adm:sapsys /usr/sap/NW1/D02
+ ```
+
+4. **[1]** Install SAP Netweaver PAS
+
+ Install SAP NetWeaver PAS as root on the first node using a virtual hostname that maps to the IP address of the load balancer frontend configuration for the PAS, for example **sappas**, **10.90.90.30** and the instance number that you used for the probe of the load balancer, for example **02**.
+
+ You can use the sapinst parameter SAPINST_REMOTE_ACCESS_USER to allow a non-root user to connect to sapinst.
+
+ ```bash
+ # Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again.
+ sudo firewall-cmd --zone=public --add-port=4237/tcp
+
+ sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=<pas_virtual_hostname>
+ ```
+
+5. Update the `/usr/sap/sapservices` file
+
+ To prevent the start of the instances by the sapinit startup script, all instances managed by pacemaker must be commented out from `/usr/sap/sapservices` file.
+
+ ```bash
+ sudo vi /usr/sap/sapservices
+
+ # On the node where PAS is installed, comment out the following lines.
+ # LD_LIBRARY_PATH=/usr/sap/NW1/D02/exe:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH;/usr/sap/NW1/D02/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_D02_sappas -D -u nw1adm
+ ```
+
+6. **[1]** Create PAS cluster resource
+
+ ```bash
+ # If using NFS on Azure Files or NFSv3 on Azure NetApp Files
+ pcs resource create rsc_sap_NW1_PAS02 SAPInstance InstanceName="NW1_D02_sappas" \
+ START_PROFILE=/sapmnt/NW1/profile/NW1_D02_sappas \
+ op monitor interval=20 timeout=60 \
+ --group g-NW1_PAS
+
+ # If using NFSv4.1 on Azure NetApp Files
+ pcs resource create rsc_sap_NW1_PAS02 SAPInstance InstanceName="NW1_D02_sappas" \
+ START_PROFILE=/sapmnt/NW1/profile/NW1_D02_sappas \
+ op monitor interval=20 timeout=105 \
+ --group g-NW1_PAS
+ ```
+
+ Check the status of cluster
+
+ ```bash
+ sudo pcs status
+
+ # Node List:
+ # Node sap-cl2: standby
+ # Online: [ sap-cl1 ]
+ #
+ # Full list of resources:
+ #
+ # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1
+ # Resource Group: g-NW1_ASCS
+ # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1
+ # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1
+ # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1
+ # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1
+ # Resource Group: g-NW1_AERS
+ # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1
+ # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1
+ # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1
+ # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1
+ # Resource Group: g-NW1_PAS:
+ # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Started sap-cl1
+ # nc_NW1_PAS (ocf::heartbeat:azure-lb): Started sap-cl1
+ # fs_NW1_PAS (ocf::heartbeat:Filesystem): Started sap-cl1
+ # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Started sap-cl1
+ ```
+
+7. Configure constraint to start PAS resource group only after ASCS instances is started.
+
+ ```bash
+ sudo pcs constraint order g-NW1_ASCS then g-NW1_PAS kind=Optional symmetrical=false
+ ```
+
+## Installing SAP Netweaver AAS instance
+
+1. **[2]** Check the status of the cluster. Before configure AAS resource for installation, make sure ASCS, ERS and PAS resources are started.
+
+ ```bash
+ sudo pcs status
+
+ # Node List:
+ # Node sap-cl2: standby
+ # Online: [ sap-cl1 ]
+ #
+ # Full list of resources:
+ #
+ # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1
+ # Resource Group: g-NW1_ASCS
+ # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1
+ # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1
+ # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1
+ # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1
+ # Resource Group: g-NW1_AERS
+ # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1
+ # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1
+ # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1
+ # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1
+ # Resource Group: g-NW1_PAS:
+ # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Started sap-cl1
+ # nc_NW1_PAS (ocf::heartbeat:azure-lb): Started sap-cl1
+ # fs_NW1_PAS (ocf::heartbeat:Filesystem): Started sap-cl1
+ # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Started sap-cl1
+ ```
+
+2. **[2]** Create filesystem, virtual IP and health probe resource for AAS instance.
+
+ ```bash
+ sudo pcs node unstandby sap-cl2
+ # Disable PAS resource as it will fail on sap-cl2 due to missing environment variables like hdbuserstore.
+ sudo pcs resource disable g-NW1_PAS
+ sudo pcs node standby sap-cl1
+ # Execute below command to cleanup resource, if required
+ pcs resource cleanup rsc_sap_NW1_ERS01
+
+ sudo pcs resource create vip_NW1_AAS IPaddr2 ip=10.90.90.31 --group g-NW1_AAS
+ sudo pcs resource create nc_NW1_AAS azure-lb port=62003 --group g-NW1_AAS
+
+ # If using NFS on Azure files
+ sudo pcs resource create fs_NW1_AAS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1D03' \
+ directory='/usr/sap/NW1/D03' fstype='nfs' force_unmount=safe options='sec=sys,vers=4.1' \
+ op start interval=0 timeout=60 \
+ op stop interval=0 timeout=120 \
+ op monitor interval=200 timeout=40 \
+ --group g-NW1_AAS
+
+ # If using NFsv3 on Azure NetApp Files
+ sudo pcs resource create fs_NW1_AAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D03' \
+ directory='/usr/sap/NW1/D03' fstype='nfs' force_unmount=safe \
+ op start interval=0 timeout=60 \
+ op stop interval=0 timeout=120 \
+ op monitor interval=200 timeout=40 \
+ --group g-NW1_AAS
+
+ # If using NFSv4.1 on Azure NetApp Files
+ sudo pcs resource create fs_NW1_AAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D03' \
+ directory='/usr/sap/NW1/D03' fstype='nfs' force_unmount=safe options='sec=sys,vers=4.1' \
+ op start interval=0 timeout=60 \
+ op stop interval=0 timeout=120 \
+ op monitor interval=200 timeout=105 \
+ --group g-NW1_AAS
+ ```
+
+ Make sure that the cluster status is ok and that all resources are started. It isn't important on which node the resources are running. As g-NW1_PAS resource group is stopped, all the PAS resources will be in stopped (disabled) state.
+
+ ```bash
+ sudo pcs status
+
+ # Node List:
+ # Node sap-cl1: standby
+ # Online: [ sap-cl2 ]
+ #
+ # Full list of resources:
+ #
+ # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl2
+ # Resource Group: g-NW1_ASCS
+ # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2
+ # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2
+ # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2
+ # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl2
+ # Resource Group: g-NW1_AERS
+ # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl2
+ # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl2
+ # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl2
+ # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl2
+ # Resource Group: g-NW1_PAS:
+ # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Stopped (disabled)
+ # nc_NW1_PAS (ocf::heartbeat:azure-lb): Stopped (disabled)
+ # fs_NW1_PAS (ocf::heartbeat:Filesystem): Stopped (disabled)
+ # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Stopped (disabled)
+ # Resource Group: g-NW1_AAS:
+ # vip_NW1_AAS (ocf::heartbeat:IPaddr2): Started sap-cl2
+ # nc_NW1_AAS (ocf::heartbeat:azure-lb): Started sap-cl2
+ # fs_NW1_AAS (ocf::heartbeat:Filesystem): Started sap-cl2
+ ```
+
+3. **[2]** Change the ownership of `/usr/sap/SID/D03` folder after filesystem is mounted.
+
+ ```bash
+ sudo chown nw1adm:sapsys /usr/sap/NW1/D03
+ ```
+
+4. **[2]** Install SAP Netweaver AAS
+
+ Install SAP NetWeaver AAS as root on the second node using a virtual hostname that maps to the IP address of the load balancer frontend configuration for the PAS, for example **sapaas**, **10.90.90.31** and the instance number that you used for the probe of the load balancer, for example **03**.
+
+ You can use the sapinst parameter SAPINST_REMOTE_ACCESS_USER to allow a non-root user to connect to sapinst.
+
+ ```bash
+ # Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again.
+ sudo firewall-cmd --zone=public --add-port=4237/tcp
+
+ sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=<aas_virtual_hostname>
+ ```
+
+5. Update the `/usr/sap/sapservices` file
+
+ To prevent the start of the instances by the sapinit startup script, all instances managed by pacemaker must be commented out from `/usr/sap/sapservices` file.
+
+ ```bash
+ sudo vi /usr/sap/sapservices
+
+ # On the node where AAS is installed, comment out the following lines.
+ #LD_LIBRARY_PATH=/usr/sap/NW1/D03/exe:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH;/usr/sap/NW1/D03/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_D03_sapaas -D -u nw1adm
+ ```
+
+6. **[2]** Create AAS cluster resource
+
+ ```bash
+ # If using NFS on Azure Files or NFSv3 on Azure NetApp Files
+ pcs resource create rsc_sap_NW1_AAS03 SAPInstance InstanceName="NW1_D03_sapaas" \
+ START_PROFILE=/sapmnt/NW1/profile/NW1_D03_sapaas \
+ op monitor interval=120 timeout=60 \
+ --group g-NW1_AAS
+
+ # If using NFSv4.1 on Azure NetApp Files
+ pcs resource create rsc_sap_NW1_AAS03 SAPInstance InstanceName="NW1_D03_sapaas" \
+ START_PROFILE=/sapmnt/NW1/profile/NW1_D03_sapaas \
+ op monitor interval=120 timeout=105 \
+ --group g-NW1_AAS
+ ```
+
+ Check the status of cluster.
+
+ ```bash
+ sudo pcs status
+
+ # Node List:
+ # Node sap-cl1: standby
+ # Online: [ sap-cl2 ]
+ #
+ # Full list of resources:
+ #
+ # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl2
+ # Resource Group: g-NW1_ASCS
+ # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2
+ # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2
+ # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2
+ # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl2
+ # Resource Group: g-NW1_AERS
+ # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl2
+ # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl2
+ # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl2
+ # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl2
+ # Resource Group: g-NW1_PAS:
+ # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Stopped (disabled)
+ # nc_NW1_PAS (ocf::heartbeat:azure-lb): Stopped (disabled)
+ # fs_NW1_PAS (ocf::heartbeat:Filesystem): Stopped (disabled)
+ # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Stopped (disabled)
+ # Resource Group: g-NW1_AAS:
+ # vip_NW1_AAS (ocf::heartbeat:IPaddr2): Started sap-cl2
+ # nc_NW1_AAS (ocf::heartbeat:azure-lb): Started sap-cl2
+ # fs_NW1_AAS (ocf::heartbeat:Filesystem): Started sap-cl2
+ # rsc_sap_NW1_AAS03 (ocf::heartbeat:SAPInstance): Started sap-cl2
+ ```
+
+7. Configure constraint to start AAS resource group only after ASCS instances is started.
+
+ ```bash
+ sudo pcs constraint order g-NW1_ASCS then g-NW1_AAS kind=Optional symmetrical=false
+ ```
+
+## Post configuration for PAS and AAS instances
+
+1. **[1]** For PAS and AAS to run on any cluster node (sap-cl1 or sap-cl2), the content in `$HOME/.hdb` of `<sid>adm` from both cluster nodes needs to be copied.
+
+ ```bash
+ # Check current content of /home/nw1adm/.hdb on sap-cl1
+ sap-cl1:nw1adm > ls -ltr $HOME/.hdb
+ drwx. 2 nw1adm sapsys 66 Aug 8 19:11 sappas
+ drwx. 2 nw1adm sapsys 84 Aug 8 19:12 sap-cl1
+ # Check current content of /home/nw1adm/.hdb on sap-cl2
+ sap-cl2:nw1adm > ls -ltr $HOME/.hdb
+ total 0
+ drwx. 2 nw1adm sapsys 64 Aug 8 20:25 sap-cl2
+ drwx. 2 nw1adm sapsys 66 Aug 8 20:26 sapaas
+
+ # As PAS and AAS is installed using virtual hostname, you need to copy virtual hostname directory in /home/nw1adm/.hdb
+ # Copy sappas directory from sap-cl1 to sap-cl2
+ sap-cl1:nw1adm > scp -r sappas nw1adm@sap-cl2:/home/nw1adm/.hdb
+ # Copy sapaas directory from sap-cl2 to sap-cl1. Execute the command from the same sap-cl1 host.
+ sap-cl1:nw1adm > scp -r nw1adm@sap-cl2:/home/nw1adm/.hdb/sapaas .
+ ```
+
+2. **[1]** To ensure PAS and AAS instances don't run on the same nodes whenever both nodes are running. Add a negative colocation constraint with below command -
+
+ ```bash
+ sudo pcs constraint colocation add g-NW1_AAS with g-NW1_PAS score=-1000
+ sudo pcs node unstandby sap-cl1
+ sudo pcs resource enable g-NW1_PAS
+ ```
+
+ The score of -1000 is to ensure that if only one node is available then both the instances will continue to run on the other node. If you would like to keep the AAS instance down in such situation, then you can use the `score=-INFINITY` to enforce this condition.
+
+3. Check the status of cluster.
+
+ ```bash
+ sudo pcs status
+
+ # Node List:
+ # Online: [ sap-cl1 sap-cl2 ]
+ #
+ # Full list of resources:
+ #
+ # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl2
+ # Resource Group: g-NW1_ASCS
+ # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2
+ # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2
+ # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2
+ # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl2
+ # Resource Group: g-NW1_AERS
+ # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1
+ # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1
+ # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1
+ # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1
+ # Resource Group: g-NW1_PAS:
+ # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Started sap-cl1
+ # nc_NW1_PAS (ocf::heartbeat:azure-lb): Started sap-cl1
+ # fs_NW1_PAS (ocf::heartbeat:Filesystem): Started sap-cl1
+ # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Started sap-cl1
+ # Resource Group: g-NW1_AAS:
+ # vip_NW1_AAS (ocf::heartbeat:IPaddr2): Started sap-cl2
+ # nc_NW1_AAS (ocf::heartbeat:azure-lb): Started sap-cl2
+ # fs_NW1_AAS (ocf::heartbeat:Filesystem): Started sap-cl2
+ # rsc_sap_NW1_AAS03 (ocf::heartbeat:SAPInstance): Started sap-cl2
+ ```
+
+## Test the cluster setup
+
+Thoroughly test your pacemaker cluster. [Execute the typical failover tests](high-availability-guide-rhel.md#test-the-cluster-setup).