Updates from: 08/15/2022 01:05:27
Service Microsoft Docs article Related commit history on GitHub Change details
active-directory Entitlement Management Access Package First https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/governance/entitlement-management-access-package-first.md
To set up group writeback for Microsoft 365 groups in access packages, you must
- Set up group writeback in the Azure Active Directory admin center. - The Organizational Unit (OU) that will be used to set up group writeback in Azure AD Connect Configuration.-- Complete the [group writeback enablement steps](../hybrid/how-to-connect-group-writeback-v2.md#enable-group-writeback-using-azure-ad-connect) for Azure AD Connect.
+- Complete the [group writeback enablement steps](../hybrid/how-to-connect-group-writeback-enable.md) for Azure AD Connect.
Using group writeback, you can now sync Microsoft 365 groups that are part of access packages to on-premises Active Directory. To sync the groups, follow the steps below:
active-directory How To Connect Group Writeback Disable https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/hybrid/how-to-connect-group-writeback-disable.md
+
+ Title: 'Disable group writeback in Azure AD Connect'
+description: This article describes how to disable Group Writeback in Azure AD Connect.
++++++ Last updated : 06/15/2022++++++
+# Disabling group writeback
+The following document will walk you thorough disabling group writeback. To disable group writeback for your organization, use the following steps:
+
+1. Launch the Azure Active Directory Connect wizard and navigate to the Additional Tasks page. Select the Customize synchronization options task and click next.
+2. On the Optional Features page, uncheck group writeback. You'll receive a warning letting you know that groups will be deleted. Click Yes.
+ >[!Important]
+ >Disabling Group Writeback will cause any groups that were previously created by this feature to be deleted from your local Active Directory on the next synchronization cycle.
+
+3. Uncheck the box
+4. Click Next.
+5. Click Configure.
++
+>[!Note]
+>Disabling Group Writeback will set the Full Import and Full Synchronization flags to 'true' on the Azure Active Directory Connector, causing the rule changes to propagate through on the next synchronization cycle, deleting the groups that were previously written back to your Active Directory.
+
+
+
+## Rolling back group writeback
+
+To disable or roll back group writeback via PowerShell, do the following:
+
+1. Open a PowerShell prompt as administrator.
+2. Disable the sync scheduler after verifying that no synchronization operations are running:
+``` PowerShell
+ Set-ADSyncScheduler -SyncCycleEnabled $false
+ ```
+3. Import the ADSync module:
+ ``` PowerShell
+ Import-Module 'C:\Program Files\Microsoft Azure AD Sync\Bin\ADSync\ADSync.psd1'
+ ```
+4. Disable the group writeback feature for the tenant:
+ ``` PowerShell
+ Set-ADSyncAADCompanyFeature -GroupWritebackV2 $false
+ ```
+5. Re-enable the Sync Scheduler
+ ``` PowerShell
+ Set-ADSyncScheduler -SyncCycleEnabled $true
+ ```
++
+## Next Steps:
+
+- [Azure AD Connect group writeback](how-to-connect-group-writeback-v2.md)
+- [Modify Azure AD Connect group writeback default behavior](how-to-connect-modify-group-writeback.md)
+- [Enable Azure AD Connect group writeback](how-to-connect-group-writeback-enable.md)
+
active-directory How To Connect Group Writeback Enable https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/hybrid/how-to-connect-group-writeback-enable.md
+
+ Title: 'Enable Azure AD Connect group writeback'
+description: This article describes how to enable Group Writeback in Azure AD Connect.
++++++ Last updated : 06/15/2022++++++
+# Enable Azure AD Connect group writeback
+
+Group writeback is the feature that allows you to write cloud groups back to your on-premises Active Directory using Azure AD Connect Sync.
+
+The following document will walk you through enabling group writeback.
+
+## Deployment Steps
+
+Group writeback requires enabling both the original and new versions of the feature. If the original version was previously enabled in your environment, you will only need to follow the first set of steps, as the second set of steps has already been completed.
+
+>[!Note]
+>It is recommended that you follow the [swing migration](how-to-upgrade-previous-version.md#swing-migration) method for rolling out the new group writeback feature in your environment. This method will provide a clear contingency plan in the event that a major rollback is necessary.
+
+
+### Step 1 - Enable group writeback using PowerShell
+
+1. On your Azure AD Connect server, open a PowerShell prompt as administrator.
+2. Disable the sync scheduler after verifying that no synchronization operations are running.
+
+ ``` PowerShell
+ Set-ADSyncScheduler -SyncCycleEnabled $false
+ ```
+3. Import the ADSync module.
+ ``` PowerShell
+ Import-Module 'C:\Program Files\Microsoft Azure AD Sync\Bin\ADSync\ADSync.psd1'
+ ```
+4. Enable the group writeback feature for the tenant.
+ ``` PowerShell
+ Set-ADSyncAADCompanyFeature -GroupWritebackV2 $true
+ ```
+5. Re-enable the Sync Scheduler.
+ ``` PowerShell
+ Set-ADSyncScheduler -SyncCycleEnabled $true
+ ```
+
+### Step 2 ΓÇô Enable group writeback using Azure AD Connect wizard
+If the original version of group writeback was not previously enabled, continue with the following steps.
+
+
+
+1. On your Azure AD Connect server, open the Azure AD Connect wizard, select **Configure** and then click **Next**.
+2. Select **Customize synchronization options** and then click **Next**.
+3. On the **Connect to Azure AD page**, enter your credentials. Click **Next**.
+4. On the **Optional features** page, verify that the options you previously configured are still selected.
+5. Select **Group Writeback** and then click **Next**.
+6. On the **Writeback page**, select an Active Directory organizational unit (OU) to store objects that are synchronized from Microsoft 365 to your on-premises organization, and then click **Next**.
+7. On the **Ready to configure page**, click **Configure**.
+8. When the wizard is complete, click **Exit** on the Configuration complete page. Group Writeback will be automatically configured.
+
+ >[!Note]
+ >The following is performed automatically after the last step above. However, if you experience permission issues while exporting the object to AD then do the following:
+ >
+ >Open the Windows PowerShell as an Administrator on the Azure Active Directory Connect server, and run the following commands. This step is optional
+ >
+ >``` PowerShell
+ >$AzureADConnectSWritebackAccountDN = <MSOL_ account DN>
+ >Import-Module "C:\Program Files\Microsoft Azure Active Directory Connect\AdSyncConfig\AdSyncConfig.psm1"
+ >
+ ># To grant the <MSOL_account> permission to all domains in the forest:
+ >Set-ADSyncUnifiedGroupWritebackPermissions -ADConnectorAccountDN $AzureADConnectSWritebackAccountDN
+ >
+ ># To grant the <MSOL_account> permission to specific OU (eg. the OU chosen to writeback Office 365 Groups to):
+ >$GroupWritebackOU = <DN of OU where groups are to be written back to>
+ >Set-ADSyncUnifiedGroupWritebackPermissions ΓÇôADConnectorAccountDN $AzureADConnectSWritebackAccountDN -ADObjectDN $GroupWritebackOU
+ >```
+
+
+
+## Optional configuration
+
+To make it easier to find groups being written back from Azure AD to Active Directory, there's an option to write back the group distinguished name with the cloud display name.
+
+- Default format:
+CN=Group_3a5c3221-c465-48c0-95b8-e9305786a271, OU=WritebackContainer, DC=domain, DC=comΓÇ»
+
+- New Format:
+CN=Administrators_e9305786a271, OU=WritebackContainer, DC=domain, DC=comΓÇ»
+
+When configuring group writeback, there will be a checkbox at the bottom of the Group Writeback configuration window. Select the box to enable this feature.
+
+>[!NOTE]
+>Groups being written back from Azure AD to AD will have a source of authority of the cloud. This means any changes made on-premises to groups that are written back from Azure AD will be overwritten on the next sync cycle.
+
+## Next steps:
+
+- [Azure AD Connect group writeback](how-to-connect-group-writeback-v2.md)
+- [Modify Azure AD Connect group writeback default behavior](how-to-connect-modify-group-writeback.md)
+- [Disable Azure AD Connect group writeback](how-to-connect-group-writeback-disable.md)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
active-directory How To Connect Group Writeback V2 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/hybrid/how-to-connect-group-writeback-v2.md
-# Azure AD Connect group writeback
-
-Group Writeback is the feature that allows you to write cloud groups back to your on-premises Active Directory using the Azure AD Connect Sync client. This feature enables you to manage groups in the cloud, while controlling access to on-premises applications and resources. Group Writeback provides the following capabilities:
- 1. Microsoft 365 groups can be written as Distribution groups, Security groups, or Mail-Enabled Security groups.
- 2. Azure AD Security groups will be written back as Security groups.
- 3. All groups are written back to AD as scope universal.
- 4. Allows you to configure group writeback settings for all M365 groups within a tenant.
- 5. Nested cloud groups and devices, (if device writeback is also enabled) that are members of groups, enabled for writeback, will be written back with scope universal.
- 6. Now, you can change the common name in an Active Directory groupΓÇÖs distinguished name when configuring group writeback in Azure AD Connect.
- 7. You can now configure Azure AD groups to writeback using the Azure AD Admin portal, Graph Explorer, and PowerShell.
-The following document will walk you through how you can enable Group Writeback .
+# Plan for Azure AD Connect group writeback
+
+Group writeback allows you to write cloud groups back to your on-premises Active Directory using Azure AD Connect Sync. This feature enables you to manage groups in the cloud, while controlling access to on-premises applications and resources.
->[!NOTE]
->This document covers Azure AD Connect group writeback version 2.0. To take advantage of the new features you will need to deploy [Azure AD Connect version from 2021 December or later (2.0.89.0)](https://www.microsoft.com/download/details.aspx?id=47594).
+There are two versions of group writeback. The original version is in general availability and is limited to writing back Microsoft 365 groups to your on-premises Active Directory as distribution groups. The new, expanded version of group writeback is in public preview and enables the following capabilities:
+- Microsoft 365 groups can be written back as Distribution groups, Security groups, or Mail-Enabled Security groups.
+- Azure AD Security groups can be written back as Security groups.
+- All groups are written back with a group scope of universal.
+- Groups with assigned and dynamic memberships can be written back.
+- Directory settings can be configured to control whether newly created Microsoft 365 groups are written back by default.
+- Group nesting in Azure AD will be written back if both groups exist in AD.
+- Written back groups nested as members of on-premises AD synced groups will be synced up to Azure AD as nested.
+- Devices that are members of writeback enabled groups in Azure AD, will be written back as members to AD. Azure AD registered and Azure AD Joined devices require device writeback to be enabled for group membership to be written back.
+- The common name in an Active Directory groupΓÇÖs distinguished name can be configured to include the groupΓÇÖs display name when written back.
+- The Azure AD Admin portal, Graph Explorer, and PowerShell can be used to configure which Azure AD groups are written back.
+The new version is only available in the [Azure AD Connect version 2.0.89.0 or later](https://www.microsoft.com/download/details.aspx?id=47594). or later and must be enabled in addition to the original version.
-## Pre-requisites
+The following document will walk you through what you need to know before you enable group writeback for your tenant.
-The following pre-requisites must be met in order to enable group writeback.
-- Azure AD Premium license-- Azure AD Connect version 2021 December release or later. -- Enable Azure AD Connect group writeback-- **Optional** - On-Prem Exchange Server 2016 CU15 or later. Only needed for configuring cloud groups with exchange hybrid - optional. See [Configure Microsoft 365 Groups with on-premises Exchange hybrid](/exchange/hybrid-deployment/set-up-microsoft-365-groups#prerequisites) for more information. If you don't have Exchange hybrid and/or an on-premises Exchange Server, the mail components of a group won't be written back.
+
-The latest version of Group Writeback is enabled tenant-wide and not per Azure AD Connect server. The default values for writeback settings on cloud groups are backward compatible.
+## Plan your implementation
+There are a few activities that you'll want to complete before enabling the latest public preview of group writeback. These activities include discovering your current configuration, verifying the prerequisites, and choosing the deployment approach.
-## Deployment guidance
-You will need to deploy [Azure AD Connect version from 2021 December or later (2.0.89.0)](https://www.microsoft.com/download/details.aspx?id=47594) to use the latest version of the group writeback feature. Older builds of Azure AD Connect don't support the new version of Group Writeback and will write back Microsoft 365 groups only as Distribution lists, when Group Writeback is enabled.
+## Discovery
+The following sections describe various methods of discovery and how you can discover if group writeback in enabled.
-It's recommended that you follow the [swing migration](how-to-upgrade-previous-version.md#swing-migration) method for rolling out the new group writeback feature in your environment. This method will provide a clear contingency plan in the event, that a major rollback is necessary.
+### Discover if group writeback is enabled in your environment
->[!NOTE]
-> If you are using an older build of group writeback in Azure AD Connect, the M365 groups being written back as universal distribution groups, will continue to be written back. The new version of group writeback is backwards compatible.
+To discover if Azure AD Connect group writeback is already enabled in your environment, use the `Get-ADSyncAADCompanyFeature` PowerShell cmdlet.
-## Enable group writeback
-Enabling group writeback's new features is a two step process. One step is done via Azure AD Connect. This step enables the original group writeback features. The second one is done using PowerShell and enables the new writeback features once the original features are enabled. To enable group writeback complete the steps in the table below
+The cmdlet is part of the [ADSync PowerShell](reference-connect-adsync.md) module that is installed with Azure AD Connect.
-Steps|Description|
-|--|--|
-|[Enable group writeback using Azure AD Connect](#enable-group-writeback-using-azure-ad-connect)|Enables group writeback with the original features included in Azure AD Connect. That is, it will writeback M365 groups as distribution groups. This option is **only** available if you have Exchange present in your on-premises Active Directory.|
-|[Enabling group writeback using PowerShell](#enable-group-writeback-using-powershell)|Enables the new group writeback features outlined in this article.
+ [![Screenshot of Get-ADSyncAADCompanyFeature cmdlet.](media/how-to-connect-group-writeback/powershell-1.png)](media/how-to-connect-group-writeback/powershell-1.png#lightbox)
->[!NOTE]
->You must enable group writeback via Azure AD Connect before enabling group writeback via PowerShell to receive the new features outlined in this article. You must do both and in the correct order.
+The `UnifiedGroupWriteback` refers to the original version, while `GroupWritebackV2` refers to the new version.
-### Enable group writeback using Azure AD Connect
+A value of **False** indicates that the feature is not enabled.
-To enable group writeback, use the following steps:
+### Discover the current writeback settings for existing Microsoft 365 groups
-1. Open the Azure AD Connect wizard, select **Configure** and then click **Next**.
-2. Select **Customize synchronization options** and then click **Next**.
-3. On the **Connect to Azure AD** page, enter your credentials. Click **Next**.
-4. On the **Optional features** page, verify that the options you previously configured are still selected.
-5. Select **Group Writeback** and then click **Next**.
-6. On the **Writeback page**, select an Active Directory organizational unit (OU) to store objects that are synchronized from Microsoft 365 to your on-premises organization, and then click **Next**.
-7. On the **Ready** to configure page, click **Configure**.
-8. When the wizard is complete, click **Exit** on the Configuration complete page. Group Writeback will be automatically configured.
+You can view the existing writeback settings on Microsoft 365 groups in the portal. Navigate to the group and select its properties. You can see the Group write-back state on the group.
->[!NOTE]
->The following is performed automatically after the last step above. However, if you experience permission issues while exporting the object to AD then do the following:
->
->Open the Windows PowerShell as an Administrator on the Azure Active Directory Connect server, and run the following commands. This step is optional
->
-> ```powershell
-> $AzureADConnectSWritebackAccountDN = <MSOL_ account DN>
-> Import-Module "C:\Program Files\Microsoft Azure Active Directory Connect\AdSyncConfig\AdSyncConfig.psm1"
->
->
->
- ># To grant the <MSOL_account> permission to all domains in the forest:
- >Set-ADSyncUnifiedGroupWritebackPermissions -ADConnectorAccountDN $AzureADConnectSWritebackAccountDN
->
- ># To grant the <MSOL_account> permission to specific OU (eg. the OU chosen to writeback Office 365 Groups to):
- >$GroupWritebackOU = <DN of OU where groups are to be written back to>
- >Set-ADSyncUnifiedGroupWritebackPermissions -ADConnectorAccountDN $AzureADConnectSWritebackAccountDN -ADObjectDN $GroupWritebackOU
- >```
+ [![Screenshot of Microsoft 365 group properties.](media/how-to-connect-group-writeback/group-2.png)](media/how-to-connect-group-writeback/group-2.png#lightbox)
-For more information on configuring the Microsoft 365 groups, see [Configure Microsoft 365 Groups with on-premises Exchange hybrid](/exchange/hybrid-deployment/set-up-microsoft-365-groups#enable-group-writeback-in-azure-ad-connect).
+You can also view the writeback state via MS Graph: [Get group](https://docs.microsoft.com/graph/api/group-get?view=graph-rest-beta&tabs=http)
-### Enable group writeback using PowerShell
+ Example: `GET https://graph.microsoft.com/beta/groups?$filter=groupTypes/any(c:c eq 'Unified')&$select=id,displayName,writebackConfiguration`
-To enable group writeback via PowerShell:
+ - If isEnabled is null or true, the group will be written back.
+ - If isEnabled is false, the group won't be written back.
- 1. Open a PowerShell prompt as administrator.
- 2. Disable the sync scheduler after verifying that no synchronization operations are running:
- ```powershell
- Set-ADSyncScheduler -SyncCycleEnabled $false
- ```
- 3. Import the ADSync module:
- ```powershell
- Import-Module 'C:\Program Files\Microsoft Azure AD Sync\Bin\ADSync\ADSync.psd1'
- ```
- 4. Enable the group writeback feature for the tenant:
- ```powershell
- Set-ADSyncAADCompanyFeature -GroupWritebackV2 $true
- ```
- 5. Re-enable the Sync Scheduler
- ```powershell
- Set-ADSyncScheduler -SyncCycleEnabled $true
- ```
+Finally, you can also view the writeback state via PowerShell using the [Microsoft Identity Tools PowerShell Module](https://www.powershellgallery.com/packages/MSIdentityTools/2.0.16)
-You've now enabled the group writeback feature, and can [select the groups for writeback](../enterprise-users/groups-write-back-portal.md).
+ Example: `Get-mggroup -filter "groupTypes/any(c:c eq 'Unified')" | Get-MsIdGroupWritebackConfiguration`
-### Optional Configuration
+### Discover the default writeback setting for newly created Microsoft 365 groups
-To make it easier to find groups being written back from Azure AD to Active Directory, there's an option to writeback the group distinguished name with the cloud display name.
+For groups that haven't been created yet, you can view whether or not they're going to be automatically written back.
- - Default format:
- `CN=Group_3a5c3221-c465-48c0-95b8-e9305786a271, OU=WritebackContainer, DC=domain, DC=com`ΓÇ»
+To see the default behavior in your environment for newly created groups use MS Graph: [directorySetting](https://docs.microsoft.com/graph/api/resources/directorysetting?view=graph-rest-beta)
- - New Format:</br>
- `CN=Administrators_e9305786a271, OU=WritebackContainer, DC=domain, DC=com`ΓÇ»
+ Example: `GET https://graph.microsoft.com/beta/Settings`
-
+ If a `directorySetting` named **Group.Unified** doesn't exist, the default directory setting is applied and newly created Microsoft 365 groups **will automatically** be written back.
-When configuring group writeback, there will be a checkbox at the bottom of the Group Writeback configuration window. Select the box to enable this feature.
+ If a `directorySetting` named **Group.Unified** exists with a `NewUnifiedGroupWritebackDefault` value of **false**, Microsoft 365 groups **won't automatically** be enabled for write-back when they're created. If the value is not specified or it is set to true, newly created Microsoft 365 groups **will automatically** be written back.
-[![Detailed password flow](./media/how-to-connect-group-writeback/group-1.png)](./media/how-to-connect-group-writeback/group-1.png#lightbox)
->[!NOTE]
-> Groups being written back from Azure AD to AD will have a source of authority of the cloud. This means any changes made on-premises to groups that are written back from Azure AD will be overwritten on the next sync cycle.
+You can also use the PowerShell cmdlet [AzureADDirectorySetting](https://docs.microsoft.com/azure/active-directory/enterprise-users/groups-settings-cmdlets)
+ Example: `(Get-AzureADDirectorySetting | ? { $_.DisplayName -eq "Group.Unified"} | FL *).values`
-## Disabling group writeback
+ If nothing is returned, you are using the default directory settings, and newly created Microsoft 365 groups **will automatically** be written back.
-To disable Group Writeback, use the following steps:
+ If a `directorySetting` is returned with a `NewUnifiedGroupWritebackDefault` value of **false**, Microsoft 365 groups **won't automatically** be enabled for write-back when they're created. If the value is not specified or it is set to **true**, newly created Microsoft 365 groups **will automatically** be written back.
-1. Launch the Azure Active Directory Connect wizard and navigate to the Additional Tasks page. Select the **Customize synchronization options** task and click **next**.
-2. On the **Optional Features** page, uncheck group writeback. You'll receive a warning letting you know that groups will be deleted. Click **Yes**.
- > [!IMPORTANT]
- > Disabling Group Writeback will cause any groups that were previously created by this feature to be deleted from your local Active Directory on the next synchronization cycle.
+### Discover if AD has been prepared for Exchange
+To verify if Active Directory has been prepared for Exchange, see [Prepare Active Directory and domains for Exchange Server, Active Directory Exchange Server, Exchange Server Active Directory, Exchange 2019 Active Directory](https://docs.microsoft.com/Exchange/plan-and-deploy/prepare-ad-and-domains?view=exchserver-2019#how-do-you-know-this-worked)
- ![Uncheck box](media/how-to-connect-group-writeback/group2.png)
+## Public preview prerequisites
+The following are prerequisites for group writeback.
-3. Click **Next**.
-4. Click **Configure**.
+ - An Azure AD Premium 1 license
+ - Azure AD Connect version 2.0.89.0 or later
+ - **Optional**: Exchange Server 2016 CU15 or later
+ - Only needed for configuring cloud groups with Exchange Hybrid.
+ - See [Configure Microsoft 365 Groups with on-premises Exchange hybrid](https://docs.microsoft.com/exchange/hybrid-deployment/set-up-microsoft-365-groups#prerequisites) for more information.
+ - If you haven't [prepared AD for Exchange](https://docs.microsoft.com/Exchange/plan-and-deploy/prepare-ad-and-domains?view=exchserver-2019), mail related attributes of groups won't be written back.
- > [!NOTE]
- > Disabling Group Writeback will set the Full Import and Full Synchronization flags to 'true' on the Azure Active Directory Connector, causing the rule changes to propagate through on the next synchronization cycle, deleting the groups that were previously written back to your Active Directory.
+## Choosing the right approach
+Choosing the right deployment approach for your organization will depend on the current state of group writeback in your environment and the desired writeback behavior.
+When enabling group writeback, the following default behavior will be experienced:
-## Rolling back group writeback
-To disable or rollback group writeback via powershell, do the following:
+ - All existing Microsoft 365 groups will automatically be written back to Active Directory, including all future Microsoft 365 groups created. Azure AD Security groups are not automatically written back, they must each be enabled for writeback.
+ - Groups that have been written back won't be deleted in AD, if they're disabled for writeback or soft deleted. They will remain in AD until they're hard deleted in Azure AD. Changes made to these groups in Azure AD won't be written back, until the groups are re-enabled for writeback or restored from soft delete state. This requirement protects the AD groups from accidental deletion, should they be unintentionally disabled for writeback or soft deleted in Azure AD.
+ - Microsoft 365 groups with over 50,000 members and Azure AD security groups with over 250,000 cannot be written back to on-premises.
+To keep the default behavior, continue to the [enable group writeback](how-to-connect-group-writeback-enable.md) article.
- 1. Open a PowerShell prompt as administrator.
- 2. Disable the sync scheduler after verifying that no synchronization operations are running:
- ```powershell
- Set-ADSyncScheduler -SyncCycleEnabled $false
- ```
- 3. Import the ADSync module:
- ```powershell
- Import-Module 'C:\Program Files\Microsoft Azure AD Sync\Bin\ADSync\ADSync.psd1'
- ```
- 4. Disable the group writeback feature for the tenant:
- ```powershell
- Set-ADSyncAADCompanyFeature -GroupWritebackV2 $false
- ```
- 5. Re-enable the Sync Scheduler
- ```powershell
- Set-ADSyncScheduler -SyncCycleEnabled $true
- ```
+The default behavior can be modified as follows:
-## Public preview limitationsΓÇ»
-While this release has undergone extensive testing, you may still encounter issues. One of the goals of this public preview release is to find and fix any such issues before moving to General Availability.ΓÇ»
-While support is provided for this public preview release, Microsoft may not always be able to fix all issues you may encounter immediately. For this reason, it's recommended that you use your best judgment before deploying this release in your production environment.ΓÇ»
-Limitations and known issues specific to Group Writeback:
-- Group Writeback doesn't support writeback of nested group members with scope ‘Domain local’ since Azure AD security groups are written back with scope ‘Universal’. If you've a nested group like this, you’ll see an export error in Azure AD Connect with the message “A universal group can't have a local group as a member” and the resolution is it remove the member with scope ‘Domain local’ from the Azure AD group.  -- Group Writeback only supports writing back groups to a single Organization Unit (OU). Once the feature is enabled, you can't change the OU you selected. A workaround is to disable group writeback entirely in Azure AD Connect and then select a different OU when you re-enable the feature.  -- Group Writeback setting to manage new **security** group writeback at scale isn't yet available. You'll need to configure writeback for specific groups. -- Group setting templates, for configuring group writeback, on M365 groups, are only available in PowerShell and MS Graph. -- Groups with memberships larger than 250,000 members won't be written back to on-premises.
+ - Only groups that are configured for write-back will be written back, including newly created Microsoft 365 groups.
+ - Groups that are written to on-premises will be deleted in AD when they're either disabled for group writeback, soft deleted, or hard deleted in Azure AD.
+ - Microsoft 365 groups with up to 250,000 members can be written back to on-premises.
+If you plan to make changes to the default behavior, we recommend that you do so prior to enabling group writeback. However, you can still modify the default behavior, if group writeback is already enabled. To modify the default behavior, see [Modifying group writeback](how-to-connect-modify-group-writeback.md).
+
+
+ ## Public preview limitationsΓÇ»
+While this release has undergone extensive testing, you may still encounter issues. One of the goals of this public preview release is to find and fix any such issues before moving to General Availability.ΓÇ» While support is provided for this public preview release, Microsoft may not always be able to fix all issues you may encounter immediately. For this reason, it's recommended that you use your best judgment before deploying this release in your production environment.ΓÇ» Limitations and known issues specific to Group writeback:
+
+- Cloud [distribution list groups](https://docs.microsoft.com/exchange/recipients-in-exchange-online/manage-distribution-groups/manage-distribution-groups) created in Exchange Online cannot be written back to AD, only Microsoft 365 and Azure AD security groups are supported.
+- To be backwards compatible with the current version of group writeback, when you enable group writeback, all existing Microsoft 365 groups are written back and created as distribution groups, by default. This behavior can be modified by following the steps detailed in [Modifying group writeback](how-to-connect-modify-group-writeback.md).
+- When you disable writeback for a group, the group won't automatically be removed from your on-premises Active Directory, until hard deleted in Azure AD. This behavior can be modified by following the steps detailed in [Modifying group writeback](how-to-connect-modify-group-writeback.md)
+- Group Writeback does not support writeback of nested group members that have a scope of ‘Domain local’ in AD, since Azure AD security groups are written back with scope ‘Universal’. If you have a nested group like this, you'll see an export error in Azure AD Connect with the message “A universal group cannot have a local group as a member.” The resolution is to remove the member with scope ‘Domain local’ from the Azure AD group or update the nested group member scope in AD to ‘Global’ or ‘Universal’ group.
+- Group Writeback only supports writing back groups to a single Organization Unit (OU). Once the feature is enabled, you cannot change the OU you selected. A workaround is to disable group writeback entirely in Azure AD Connect and then select a different OU when you re-enable the feature. 
+- Nested cloud groups that are members of writeback enabled groups must also be enabled for writeback to remain nested in AD.
+- Group Writeback setting to manage new security group writeback at scale is not yet available. You will need to configure writeback for each group. 
+
+
+
-## Next steps
+## Next steps:
-- Configure [group writeback in the Azure Active Directory Admin Center](../enterprise-users/groups-write-back-portal.md)-- Learn more about [Integrating your on-premises identities with Azure Active Directory](whatis-hybrid-identity.md).
+- [Modify Azure AD Connect group writeback default behavior](how-to-connect-modify-group-writeback.md)
+- [Enable Azure AD Connect group writeback](how-to-connect-group-writeback-enable.md)
+- [Disable Azure AD Connect group writeback](how-to-connect-group-writeback-disable.md)
active-directory How To Connect Modify Group Writeback https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/hybrid/how-to-connect-modify-group-writeback.md
+
+ Title: 'Modify group writeback in Azure AD Connect'
+description: This article describes how to modify the default behavior for group writeback in Azure AD Connect.
++++++ Last updated : 06/15/2022++++++++
+# Modify Azure AD Connect group writeback default behavior
+
+Group writeback is the feature that allows you to write cloud groups back to your on-premises Active Directory using Azure AD Connect Sync. You can change the default behavior in the following ways:
+
+ - Only groups that are configured for write-back will be written back, including newly created Microsoft 365 groups.
+ - Groups that are written back will be deleted in AD when they're either disabled for group writeback, soft deleted, or hard deleted in Azure AD.
+ - Microsoft 365 groups with up to 250,000 members can be written back to on-premises.
+
+The following document will walk you through deploying the options for modifying the default behaviors of Azure AD Connect group writeback.
+
+## Considerations for existing deployments
+
+If the original version of group writeback is already enabled and in use in your environment, then all your Microsoft 365 groups have already been written back to AD. Instead of disabling all Microsoft 365 groups, you'll want to review any use of the previously written back groups, and disable only those that are no longer needed in on-premises AD.
+
+### Disable automatic writeback of all Microsoft 365 groups
+
+ 1. To configure directory settings to disable automatic writeback of newly created Microsoft 365 groups, update the `NewUnifiedGroupWritebackDefault` setting to false.
+ 2. To do this via PowerShell, use the: [New-AzureADDirectorySetting](https://docs.microsoft.com/azure/active-directory/enterprise-users/groups-settings-cmdlets) cmdlet.
+ Example:
+ ```PowerShell
+ $TemplateId = (Get-AzureADDirectorySettingTemplate | where {$_.DisplayName -eq "Group.Unified" }).Id
+ $Template = Get-AzureADDirectorySettingTemplate | where -Property Id -Value $TemplateId -EQ
+ $Setting = $Template.CreateDirectorySetting()
+ $Setting["NewUnifiedGroupWritebackDefault"] = "False"
+ New-AzureADDirectorySetting -DirectorySetting $Setting
+ ```
+ 3. Via MS Graph: [directorySetting](https://docs.microsoft.com/graph/api/resources/directorysetting?view=graph-rest-beta)
+
+### Disable writeback for each existing Microsoft 365 group.
+
+- Portal: [Entra admin portal](https://docs.microsoft.com/azure/active-directory/enterprise-users/groups-write-back-portal)
+- PowerShell: [Microsoft Identity Tools PowerShell Module](https://www.powershellgallery.com/packages/MSIdentityTools/2.0.16)
+ Example: `Get-mggroup -filter "groupTypes/any(c:c eq 'Unified')" | Update-MsIdGroupWritebackConfiguration -WriteBackEnabled $false`
+- MS Graph: [Update group](https://docs.microsoft.com/graph/api/group-update?view=graph-rest-beta&tabs=http)
+
+
+
+## Delete groups when disabled for writeback or soft deleted
+
+>[!Note]
+>After deletion in AD, written back groups are not automatically restored from the AD recycle bin, if they're re-enabled for writeback or restored from soft delete state. New groups will be created. Deleted groups restored from the AD recycle bin, prior to being re-enabled for writeback or restored from soft delete state in Azure AD, will be joined to their respective Azure AD group.
+
+ 1. On your Azure AD Connect server, open a PowerShell prompt as administrator.
+ 2. Disable [Azure AD Connect sync scheduler](https://docs.microsoft.com/azure/active-directory/hybrid/how-to-connect-sync-feature-scheduler)
+ ``` PowerShell
+ Set-ADSyncScheduler -SyncCycleEnabled $false
+ ```
+3. Create a custom synchronization rule in Azure AD Connect to delete written back groups when they're disabled for writeback or soft deleted
+ ```PowerShell
+ import-module ADSync
+ $precedenceValue = Read-Host -Prompt "Enter a unique sync rule precedence value [0-99]"
+
+ New-ADSyncRule `
+ -Name 'In from AAD - Group SOAinAAD Delete WriteBackOutOfScope and SoftDelete' `
+ -Identifier 'cb871f2d-0f01-4c32-a333-ff809145b947' `
+ -Description 'Delete AD groups that fall out of scope of Group Writeback or get Soft Deleted in Azure AD' `
+ -Direction 'Inbound' `
+ -Precedence $precedenceValue `
+ -PrecedenceAfter '00000000-0000-0000-0000-000000000000' `
+ -PrecedenceBefore '00000000-0000-0000-0000-000000000000' `
+ -SourceObjectType 'group' `
+ -TargetObjectType 'group' `
+ -Connector 'b891884f-051e-4a83-95af-2544101c9083' `
+ -LinkType 'Join' `
+ -SoftDeleteExpiryInterval 0 `
+ -ImmutableTag '' `
+ -OutVariable syncRule
+
+ Add-ADSyncAttributeFlowMapping `
+ -SynchronizationRule $syncRule[0] `
+ -Destination 'reasonFiltered' `
+ -FlowType 'Expression' `
+ -ValueMergeType 'Update' `
+ -Expression 'IIF((IsPresent([reasonFiltered]) = True) && (InStr([reasonFiltered], "WriteBackOutOfScope") > 0 || InStr([reasonFiltered], "SoftDelete") > 0), "DeleteThisGroupInAD", [reasonFiltered])' `
+ -OutVariable syncRule
+
+ New-Object `
+ -TypeName 'Microsoft.IdentityManagement.PowerShell.ObjectModel.ScopeCondition' `
+ -ArgumentList 'cloudMastered','true','EQUAL' `
+ -OutVariable condition0
+
+ Add-ADSyncScopeConditionGroup `
+ -SynchronizationRule $syncRule[0] `
+ -ScopeConditions @($condition0[0]) `
+ -OutVariable syncRule
+
+ New-Object `
+ -TypeName 'Microsoft.IdentityManagement.PowerShell.ObjectModel.JoinCondition' `
+ -ArgumentList 'cloudAnchor','cloudAnchor',$false `
+ -OutVariable condition0
+
+ Add-ADSyncJoinConditionGroup `
+ -SynchronizationRule $syncRule[0] `
+ -JoinConditions @($condition0[0]) `
+ -OutVariable syncRule
+
+ Add-ADSyncRule `
+ -SynchronizationRule $syncRule[0]
+
+ Get-ADSyncRule `
+ -Identifier 'cb871f2d-0f01-4c32-a333-ff809145b947'
+ ```
+
+4. [Enable group writeback](how-to-connect-group-writeback-enable.md)
+5. Enable Azure AD Connect sync scheduler
+ ``` PowerShell
+ Set-ADSyncScheduler -SyncCycleEnabled $true
+ ```
+
+>[!Note]
+>Creating the synchronization rule will set the Full Synchronization flag to 'true' on the Azure Active Directory Connector, causing the rule changes to propagate through on the next synchronization cycle.
+
+## Writeback Microsoft 365 groups with up to 250,000 members
+
+Since the default sync rule, that limits the group size, is created when group writeback is enabled, the following steps must be completed after group writeback is enabled.
+
+1. On your Azure AD Connect server, open a PowerShell prompt as administrator.
+2. Disable [Azure AD Connect sync scheduler](https://docs.microsoft.com/azure/active-directory/hybrid/how-to-connect-sync-feature-scheduler)
+ ``` PowerShell
+ Set-ADSyncScheduler -SyncCycleEnabled $false
+ ```
+3. Open the [synchronization rule editor](https://docs.microsoft.com/azure/active-directory/hybrid/how-to-connect-create-custom-sync-rule)
+4. Set the Direction to Outbound
+5. Locate and disable the ΓÇÿOut to AD ΓÇô Group Writeback Member LimitΓÇÖ synchronization rule
+6. Enable Azure AD Connect sync scheduler
+``` PowerShell
+ Set-ADSyncScheduler -SyncCycleEnabled $true
+```
+
+>[!Note]
+>Disabling the synchronization rule will set the Full Synchronization flag to 'true' on the Active Directory Connector, causing the rule changes to propagate through on the next synchronization cycle.
+
+
+
+## Restoring from AD Recycle Bin
+
+If you're updating the default behavior to delete groups when disabled for writeback or soft deleted, we recommend that you enable the [Active Directory Recycle Bin](https://docs.microsoft.com/azure/active-directory/hybrid/how-to-connect-sync-recycle-bin) feature for your on-premises instances of Active Directory. This feature will allow you to manually restore previously deleted AD groups, so that they can be rejoined to their respective Azure AD groups, if they were accidentally disabled for writeback or soft deleted.
+
+Prior to re-enabling for writeback, or restoring from soft delete in Azure AD, the group will first need to be restored in AD.
+
+
+
+## Next steps:
+
+- [Azure AD Connect group writeback](how-to-connect-group-writeback-v2.md)
+- [Enable Azure AD Connect group writeback](how-to-connect-group-writeback-enable.md) -
+- [Disable Azure AD Connect group writeback](how-to-connect-group-writeback-disable.md)
active-directory Groups Features https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/privileged-identity-management/groups-features.md
description: How to manage members and owners of privileged access groups in Pri
documentationcenter: '' --+ ms.assetid: na Previously updated : 06/24/2022 Last updated : 08/15/2022
In Privileged Identity Management (PIM), you can now assign eligibility for membership or ownership of privileged access groups. Starting with this preview, you can assign built-in roles in Azure Active Directory (Azure AD), part of Microsoft Entra, to cloud groups and use PIM to manage group member and owner eligibility and activation. For more information about role-assignable groups in Azure AD, see [Use Azure AD groups to manage role assignments](../roles/groups-concept.md). > [!IMPORTANT]
-> To provide a group of users with just-in-time access to roles with permissions in SharePoint, Exchange, or Security & Compliance Center, be sure to make permanent assignments of users to the group, and then assign the group to a role as eligible for activation. If instead you assign a role permanently to a group and and assign users to be eligible to group membership, it might take significant time to have all permissions of the role activated and ready to use.
+> To provide a group of users with just-in-time access to Azure AD directory roles with permissions in SharePoint, Exchange, or Security & Compliance Center (for example, Exchange Administrator role), be sure to make active assignments of users to the group, and then assign the group to a role as eligible for activation. If instead you make active assignment of a role to a group and assign users to be eligible to group membership, it might take significant time to have all permissions of the role activated and ready to use.
> [!NOTE] > For privileged access groups that are used to elevate into Azure AD roles, we recommend that you require an approval process for eligible member assignments. Assignments that can be activated without approval might create a security risk from administrators who have a lower level of permissions. For example, the Helpdesk Administrator has permissions to reset an eligible user's password.
azure-cache-for-redis Cache Administration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-cache-for-redis/cache-administration.md
To reboot one or more nodes of your cache, select the nodes and select **Reboot*
The effect on your client applications varies depending on which nodes you reboot.
-* **Master** - When the primary node is rebooted, Azure Cache for Redis fails over to the replica node and promotes it to primary. During this failover, there may be a short interval in which connections may fail to the cache.
+* **Primary** - When the primary node is rebooted, Azure Cache for Redis fails over to the replica node and promotes it to primary. During this failover, there may be a short interval in which connections may fail to the cache.
* **Replica** - When the replica node is rebooted, there's typically no effect on the cache clients. * **Both primary and replica** - When both cache nodes are rebooted, you lose all data in the cache and connections to the cache fail until the primary node comes back online. If you have configured [data persistence](cache-how-to-premium-persistence.md), the most recent backup is restored when the cache comes back online. However, any cache writes that occurred after the most recent backup are lost. * **Nodes of a premium cache with clustering enabled** - When you reboot one or more nodes of a premium cache with clustering enabled, the behavior for the selected nodes is the same as when you reboot the corresponding node or nodes of a non-clustered cache.
The effect on your client applications varies depending on which nodes you reboo
### Which node should I reboot to test my application?
-To test the resiliency of your application against failure of the primary node of your cache, reboot the **Master** node. To test the resiliency of your application against failure of the replica node, reboot the **Replica** node. To test the resiliency of your application against total failure of the cache, reboot **Both** nodes.
+To test the resiliency of your application against failure of the primary node of your cache, reboot the **Primary** node. To test the resiliency of your application against failure of the replica node, reboot the **Replica** node. To test the resiliency of your application against total failure of the cache, reboot **Both** nodes.
### Can I reboot the cache to clear client connections?
Yes, if you reboot the cache, all client connections are cleared. Rebooting can
### Will I lose data from my cache if I do a reboot?
-If you reboot both the **Master** and **Replica** nodes, all data in the cache (or in that shard when you're using a premium cache with clustering enabled) might be lost. However, the data might not be lost either. If you have configured [data persistence](cache-how-to-premium-persistence.md), the most recent backup is restored when the cache comes back online. However, any cache writes that have occurred after the backup was made are lost.
+If you reboot both the **Primary** and **Replica** nodes, all data in the cache (or in that shard when you're using a premium cache with clustering enabled) might be lost. However, the data might not be lost either. If you have configured [data persistence](cache-how-to-premium-persistence.md), the most recent backup is restored when the cache comes back online. However, any cache writes that have occurred after the backup was made are lost.
If you reboot just one of the nodes, data isn't typically lost, but it still might be. For example if the primary node is rebooted and a cache write is in progress, the data from the cache write is lost. Another scenario for data loss would be if you reboot one node and the other node happens to go down because of a failure at the same time. For more information about possible causes for data loss, see [What happened to my data in Redis?](https://gist.github.com/JonCole/b6354d92a2d51c141490f10142884ea4#file-whathappenedtomydatainredis-md)
azure-fluid-relay Service Limits https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-fluid-relay/reference/service-limits.md
The Azure Fluid Relay doesn't support [experimental distributed data structures
The maximum number of simultaneous users in one session on Azure Fluid Relay is 100 users. This limit is on simultaneous users. What this means is that the 101st user won't be allowed to join the session. In the case where an existing user leaves the session, a new user will be able to join. This is because the number of simultaneous users at that point will be less than the limit.
+## Fluid operations
+
+Operations are incremental updates sent over the websocket connection. The size of any individual operation is limited to 700KB. The size of an operation is determined by the Distributed Data Structure being used.
+ ## Fluid summaries Incremental summaries uploaded to Azure Fluid Relay can't exceed 28 MB in size. More info [here](https://fluidframework.com/docs/concepts/summarizer). ## Signals
-Azure Fluid Relay doesn't currently have support for Signals. Learn about Signals [here](https://fluidframework.com/docs/concepts/signals/).
+Azure Fluid Relay doesn't currently have support for Signals.
## Need help?
azure-functions Functions Create Function App Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-create-function-app-portal.md
Next, create a function in the new function app.
1. Under **Template details** use `HttpExample` for **New Function**, select **Anonymous** from the **[Authorization level](functions-bindings-http-webhook-trigger.md#authorization-keys)** drop-down list, and then select **Create**. Azure creates the HTTP trigger function. Now, you can run the new function by sending an HTTP request.
+
+ >[!NOTE]
+ > When your function app has [private endpoints](functions-create-vnet.md) enabled, you must add the following [CORS origins](security-concepts.md?#restrict-cors-access).
+ >
+ >- `https://functions-next.azure.com`
+ >- `https://functions-staging.azure.com`
+ >- `https://functions.azure.com`
+ >- `https://portal.azure.com`
+ ## Test the function
azure-monitor Overview Dashboard https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/overview-dashboard.md
To navigate back to the overview experience just select:
There is currently a limit of 30 days of data for data displayed in a dashboard.If you select a time filter beyond 30 days, or if you select **Configure tile settings** and set a custom time range in excess of 30 days your dashboard will not display beyond 30 days of data, even with the default data retention of 90 days. There is currently no workaround for this behavior.
+The default Application Dashboard is created during Application Insights resource creation. If you move or rename your Application Insights instance, then queries on the dashboard will fail with Resource not found errors as the dashboard queries rely on the original resource URI. Delete the default dashboard, then from the Application Insights Overview resource menu select Application Dashboard again and the default dashboard will be re-created with the new resource name. Make other custom edits to the dashboard as needed.
+ ## Next steps - [Funnels](./usage-funnels.md)
azure-monitor Change Analysis Enable https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/change/change-analysis-enable.md
ms.contributor: cawa Previously updated : 07/29/2022 Last updated : 08/10/2022
In this guide, you'll learn the two ways to enable Change Analysis for web app i
- For one or a few web apps, enable Change Analysis via the UI. - For a large number of web apps (for example, 50+ web apps), enable Change Analysis using the provided PowerShell script.
+> [!NOTE]
+> Slot-level enablement for web app is not supported at the moment.
+ ## Enable web app in-guest change collection via Azure Portal For web app in-guest changes, separate enablement is required for scanning code files within a web app. For more information, see [Change Analysis in the Diagnose and solve problems tool](change-analysis-visualizations.md#diagnose-and-solve-problems-tool) section.
azure-monitor Tutorial Outages https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/change/tutorial-outages.md
ms.contributor: cawa Previously updated : 05/12/2022 Last updated : 08/04/2022
When issues happen, one of the first things to check is what changed in application, configuration and resources to triage and root cause issues. Change Analysis provides a centralized view of the changes in your subscriptions for up to the past 14 days to provide the history of changes for troubleshooting issues.
-In this tutorial, you learn how to:
+In this tutorial, you will:
> [!div class="checklist"]
-> * Enable Change Analysis to track changes for Azure resources and for Azure Web App configurations
-> * Troubleshoot a Web App issue using Change Analysis
+> - Clone, create, and deploy a [sample web application](https://github.com/Azure-Samples/changeanalysis-webapp-storage-sample) with a storage account.
+> - Enable Change Analysis to track changes for Azure resources and for Azure Web App configurations
+> - Troubleshoot a Web App issue using Change Analysis
## Pre-requisites
-An Azure Web App with a Storage account dependency. Follow instructions at [ChangeAnalysis-webapp-storage-sample](https://github.com/Azure-Samples/changeanalysis-webapp-storage-sample) if you haven't already deployed one.
+- Install [.NET 5.0 or above](https://dotnet.microsoft.com/download).
+- Install [the Azure CLI](https://docs.microsoft.com/cli/azure/install-azure-cli).
-## Enable Change Analysis
+## Set up the test application
+
+### Clone
-In the Azure portal, navigate to theChange Analysis service home page.
+1. In your preferred terminal, log in to your Azure subscription.
+
+```bash
+az login
+az account set --s {azure-subscription-id}
+```
+
+1. Clone the [sample web application with storage to test Change Analysis](https://github.com/Azure-Samples/changeanalysis-webapp-storage-sample).
+
+```bash
+git clone https://github.com/Azure-Samples/changeanalysis-webapp-storage-sample.git
+```
+
+1. Change the working directory to the project folder.
+
+```bash
+cd changeanalysis-webapp-storage-sample
+```
+
+### Create and deploy
+
+1. Create and deploy the web application.
+
+```bash
+az webapp up --name {webapp_name} --sku S2 --location eastus
+```
+
+1. Make a note of the resource group created, if you'd like to deploy your storage account in the same resource group.
+
+1. Create the storage account.
+
+```bash
+az storage account create --name {storage_name} --resource-group {resourcegroup_name} --sku Standard_RAGRS --https-only
+```
+
+1. Show your new storage account connection string.
+
+```bash
+az storage account show-connection-string -g {resourcegroup_name} -n {storage_name}
+```
+
+1. Connect the web application to the storage account through **App Settings**.
+
+```bash
+az webapp config appsettings set -g {resourcegroup_name} -n {webapp_name} --settings AzureStorageConnection={storage_connectionstring_from_previous_step}
+```
+
+## Enable Change Analysis
-If this is your first time using Change Analysis service, the page may take up to a few minutes to register the `Microsoft.ChangeAnalysis` resource provider in your selected subscriptions.
+In the Azure portal, [navigate to the Change Analysis standalone UI](./change-analysis-visualizations.md). This may take a few minutes as the `Microsoft.ChangeAnalysis` resource provider is registered.
:::image type="content" source="./media/change-analysis/change-analysis-blade.png" alt-text="Screenshot of Change Analysis in Azure portal.":::
cdn Cdn Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cdn/cdn-overview.md
For a list of current CDN node locations, see [Azure CDN POP locations](cdn-pop-
6. If the TTL for the file hasn't expired, the POP edge server returns the file directly from the cache. This process results in a faster, more responsive user experience. ## Requirements
-To use Azure CDN, you must own at least one Azure subscription. You also need to create at least one CDN profile, which is a collection of CDN endpoints. Every CDN endpoint represents a specific configuration of content deliver behavior and access. To organize your CDN endpoints by internet domain, web application, or some other criteria, you can use multiple profiles. Because [Azure CDN pricing](https://azure.microsoft.com/pricing/details/cdn/) is applied at the CDN profile level, you must create multiple CDN profiles if you want to use a mix of pricing tiers. For information about the Azure CDN billing structure, see [Understanding Azure CDN billing](cdn-billing.md).
+* To use Azure CDN, you must own at least one Azure subscription.
+* You also need to create a CDN profile, which is a collection of CDN endpoints. Every CDN endpoint is a specific configuration which users can customize with required content delivery behavior and access. To organize your CDN endpoints by internet domain, web application, or some other criteria, you can use multiple profiles.
+* Since [Azure CDN pricing](https://azure.microsoft.com/pricing/details/cdn/) is applied at the CDN profile level, you must create multiple CDN profiles if you want to use a mix of pricing tiers. For information about the Azure CDN billing structure, see [Understanding Azure CDN billing](cdn-billing.md).
### Limitations Each Azure subscription has default limits for the following resources:
container-registry Container Registry Oras Artifacts https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/container-registry/container-registry-oras-artifacts.md
ORAS Artifacts support is not available in the government or China clouds, but a
Download and install a preview ORAS release for your operating system. See [ORAS Install instructions][oras-install-docs] for how to extract and install the file for your operating system, referencing an Alpha.1 preview build from the [ORAS GitHub repo][oras-preview-install]
-## Configure a private registry
+## Configure a registry
Configure environment variables to easily copy/paste commands into your shell. The commands can be run in the [Azure Cloud Shell](https://shell.azure.com/)
To read the password from Stdin, use `--password-stdin`.
## Push a container image
-This example associates a graph of artifacts to a container image. Build and push a container image, or reference an existing image in the private registry.
+This example associates a graph of artifacts to a container image. Build and push a container image, or reference an existing image in the registry.
```bash docker build -t $IMAGE https://github.com/wabbit-networks/net-monitor.git#main
defender-for-cloud Defender For Resource Manager Introduction https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/defender-for-resource-manager-introduction.md
Microsoft Defender for Resource Manager automatically monitors the resource mana
Microsoft Defender for Resource Manager protects against issues including: -- **Suspicious resource management operations**, such as operations from malicious IP addresses, disabling antimalware and suspicious scripts running in VM extensions
+- **Suspicious resource management operations**, such as operations from malicious IP addresses, disabling antimalware, and suspicious scripts running in VM extensions
- **Use of exploitation toolkits** like Microburst or PowerZure - **Lateral movement** from the Azure management layer to the Azure resources data plane
defender-for-cloud Defender For Sql Introduction https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/defender-for-sql-introduction.md
# Overview of Microsoft Defender for Azure SQL
-Microsoft Defender for Azure SQL includes two Microsoft Defender plans that extend Microsoft Defender for Cloud's [data security package](/azure/azure-sql/database/azure-defender-for-sql) to protect your SQL estate regardless of where it is located (Azure, multicloud or hybrid environments). Microsoft Defender for Azure SQL includes functions that can be used to discover and mitigate potential database vulnerabilities. Defender for Azure SQL can also detect anomalous activities that may be an indication of a threat to your databases.
+Microsoft Defender for Azure SQL includes two Microsoft Defender plans that extend Microsoft Defender for Cloud's [data security package](/azure/azure-sql/database/azure-defender-for-sql) to protect your SQL estate regardless of where it is located (Azure, multicloud, or hybrid environments). Microsoft Defender for Azure SQL includes functions that can be used to discover and mitigate potential database vulnerabilities. Defender for Azure SQL can also detect anomalous activities that may be an indication of a threat to your databases.
## Availability
defender-for-cloud Integration Defender For Endpoint https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/integration-defender-for-endpoint.md
With Microsoft Defender for Servers, you can deploy [Microsoft Defender for Endp
You can learn about Defender for Cloud's integration with Microsoft Defender for Endpoint by watching this video from the Defender for Cloud in the Field video series: [Defender for Servers integration with Microsoft Defender for Endpoint](episode-sixteen.md)
-For more information about migrating servers from Defender for Endpoint to Defender for Cloud, see the [Microsoft Defender for Endpoint to Microsoft Defender for Cloud Migration Guide](/microsoft-365/security/defender-endpoint/migrating-mde-server-to-cloud&preserve-view=true).
+For more information about migrating servers from Defender for Endpoint to Defender for Cloud, see the [Microsoft Defender for Endpoint to Microsoft Defender for Cloud Migration Guide](/microsoft-365/security/defender-endpoint/migrating-mde-server-to-cloud).
## Availability
defender-for-iot Dell Edge 5200 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/appliance-catalog/dell-edge-5200.md
This article describes the Dell Edge 5200 appliance for OT sensors.
| Appliance characteristic |Details | |||
-|**Hardware profile** | L500|
-|**Performance** | Max bandwidth: 60 Mbp/s<br>Max devices: 1,000 |
+|**Hardware profile** | E500|
+|**Performance** | Max bandwidth: 1 Gbp/s<br>Max devices: 10,000 |
|**Physical specifications** | Mounting: Wall Mount<br>Ports: 3x RJ45 | |**Status** | Supported, Not available preconfigured|
defender-for-iot Hpe Proliant Dl20 Plus Enterprise https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/appliance-catalog/hpe-proliant-dl20-plus-enterprise.md
The HPE ProLiant DL20 Plus is also available for the on-premises management cons
| Appliance characteristic |Details | |||
-|**Hardware profile** | E1800, E1000, E500 |
+|**Hardware profile** | E1800 |
|**Performance** | Max bandwidth: 1 Gbp/s <br>Max devices: 10,000 | |**Physical specifications** | Mounting: 1U <br> Ports: 8x RJ45 or 6x SFP (OPT)| |**Status** | Supported, Available preconfigured |
defender-for-iot Custom Columns Sample Script https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/custom-columns-sample-script.md
+
+ Title: Sample automation script for custom columns on on-premises management consoles - Microsoft Defender for IoT
+description: Learn how to view and manage OT devices (assets) from the Device inventory page on an on-premises management console.
+ Last updated : 07/12/2022+++
+# Sample automation script for custom columns on on-premises management consoles
+
+This article shows a sample script to use when adding custom columns to your on-premises management console **Device inventory** page.
+
+For more information, see [Add to and enhance device inventory data](how-to-investigate-all-enterprise-sensor-detections-in-a-device-inventory.md#add-to-and-enhance-device-inventory-data).
+
+## Sample script for custom columns
+
+Copy the following code to a local file and then modify it as needed to create your sample columns.
+
+```python
+#!/usr/local/bin/python
+# coding: utf8
+
+from cyberx.custom_columns.custom_column import CustomColumnCommand
+from cyberx.custom_columns.utils import TimeoutError
+import requests
+VA_SCORE = '0'
+score = 'Secure Device'
++
+class Impl(CustomColumnCommand):
+ """ Here you can define global script-wise variables
+ For example:
+ name = ""
+ In order to access those variable you should prefix it with "self." (self.name). """
+
+ """ This method runs only once, before traversing all the assets in the inventory.
+ You should use it to fetch global script-wise data from an external resource and store it in memory
+ in order to prevent from the script to perform costly operation for each asset in the inventory. """
+
+
+
+ def pre_calculation(self):
+ self.log_info ("Start Pre-Calc")
+ AccessToken = '27b2b023d6924a9d8885c07eace30478'
+ self.VA_SCORE = requests.get(url = 'https://10.10.3.11/api/v1/reports/vulnerabilities/devices', headers = {'Authorization':AccessToken}, verify = False).json()
+ self.log_info ("End Pre-Calc")
+ pass
+
+ """ This method runs only once, after traversing all the assets in the inventory.
+ You should use it to clean resources created or opened in the pre_calculation method.
+ Such resources could be temporary files or db connections for example. """
+ def post_calculation(self):
+ pass
+
+ """ This method runs for each asset in the inventory.
+ Here you should compute the requested value and return it using the valid_result or error_result utility methods (explained below).
+ In order to access the asset data use the following list:
+
+ asset inventory column name - data key (data type)
+ =========================== - ====================
+ Appliances - 'xsenses' (array of strings)
+ Business Units - 'businessUnits' (array of strings)
+ Discovered - 'discovered' (date)
+ Firmware Version - 'firmwareVersion' (string)
+ IP Address - 'ipAddress' (string)
+ Is Authorized - 'isAuthorized' (boolean)
+ Is Known as Scanner - 'isScanner' (boolean)
+ Is Programming Asset - 'isProgramming' (boolean)
+ Last Activity - 'lastActivity' (date)
+ MAC Address - 'macAddress' (string)
+ Model - 'model' (string)
+ Module Address - 'moduleAddress' (string)
+ Name - 'name' (string)
+ Operating System - 'operatingSystem' (string)
+ Protocols - 'protocols' (array of strings)
+ Rack - 'rack' (string)
+ Region - 'region' (string), 'regionId' (integer)
+ Serial - 'serial' (string)
+ Site - 'site' (string), 'siteId' (integer)
+ Slot - 'slot' (string)
+ Type - 'type' (string)
+ Unhandled Alerts - 'unhandledAlerts' (integer)
+ Vendor - 'vendor' (string)
+ Zone - 'zone' (string), 'zoneId' (integer)
+
+ For example, in order to get the asset's IP address you should use asset['ipAddress'] and you will get it as a string. """
+ def calculate(self, asset):
+ self.log_info ("Start Calculate")
+
+ ipAddress = asset['ipAddress']
+ score = 'Secure Device'
+
+
+ for device in self.VA_SCORE:
+ if ipAddress in device['ipAddresses']:
+ score = device['securityScore']
+
+ self.log_info ("End Calculate")
+ return self.valid_result(score)
+
+ """ This method is for testing the script functionality.
+ You should use it in order to test that you are able to access an external resource or perform a complex computation.
+ A good practice will be to at least run the pre_calculation and post_calculation methods and validate they work as expected.
+ You should use the valid_result or error_result utility methods (explained below) when returning the test result. """
+ def test(self):
+ return self.valid_result(score)
+
+ """ This method return TCP ports to open for outgoing communication (if needed).
+ It should just return an array of port numbers, for example [234, 334, 3562]. """
+ def get_outgoing_tcp_ports(self):
+ return []
+
+ """ This method return TCP ports to open for incoming communication (if needed).
+ It should just return an array of port numbers, for example [234, 334, 3562]. """
+ def get_incoming_tcp_ports(self):
+ return []
+
+ """ This method return UDP ports to open for outgoing communication (if needed).
+ It should just return an array of port numbers, for example [234, 334, 3562]. """
+ def get_outgoing_udp_ports(self):
+ return []
+
+ """ This method return UDP ports to open for incoming communication (if needed).
+ It should just return an array of port numbers, for example [234, 334, 3562]. """
+ def get_incoming_udp_ports(self):
+ return []
+
+ """ Utility methods at your disposal:
+
+ self.valid_result(result):
+ This method receives the result and indicates that the computation went well.
+
+ self.error_result(error_message):
+ This method receives an error message and indicates that the computation did not went well.
+
+ self.log_info(message):
+ This method will log the message in the dedicated custom columns log file named '/var/cyberx/logs/custom-columns.log'
+
+ self.log_error(error_message):
+ This method will log the error message as an error in the dedicated custom columns log file named '/var/cyberx/logs/custom-columns.log' """
+```
+
+## Next steps
+
+For more information, see [Manage your OT device inventory from an on-premises management console](how-to-investigate-all-enterprise-sensor-detections-in-a-device-inventory.md).
defender-for-iot Extra Deploy Enterprise Iot https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/extra-deploy-enterprise-iot.md
sudo apt purge -y microsoft-eiot-sensor
## Next steps For more information, see [Tutorial: Get started with Enterprise IoT monitoring](tutorial-getting-started-eiot-sensor.md) and [Manage sensors with Defender for IoT in the Azure portal](how-to-manage-sensors-on-the-cloud.md).-
-<!--for example?-->
defender-for-iot Faqs Eiot https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/faqs-eiot.md
+
+ Title: FAQs for Enterprise IoT networks - Microsoft Defender for IoT
+description: Find answers to the most frequently asked questions about Microsoft Defender for IoT Enterprise IoT networks.
+ Last updated : 07/07/2022++
+# Enterprise IoT networks frequently asked questions
+
+This article provides a list of frequently asked questions and answers about Enterprise IoT networks in Defender for IoT.
+
+## What is the difference between OT and Enterprise IoT?
+
+### OT
+
+OT network sensors use agentless, patented technology to discover, learn, and continuously monitor network devices for a deep visibility into Operational Technology (OT) / Industrial Control System (ICS) risks. Sensors carry out data collection, analysis, and alerting on-site, making them ideal for locations with low bandwidth or high latency.
+
+### Enterprise IoT
+
+Enterprise IoT provides visibility and security for IoT devices in the corporate environment.
+
+Enterprise IoT network protection extends agentless features beyond operational environments, providing coverage for all IoT devices in your environment. For example, an enterprise IoT environment may include printers, cameras, and purpose-built, proprietary, devices.
+
+## What additional security value can Enterprise IoT provide Microsoft Defender for Endpoint customers?
+
+Enterprise IoT is designed to help customers secure unmanaged devices throughout the organization and extend IT security to also cover IoT devices. The solution leverages multiple means in order to ensure optimal coverage.
+
+- **In the Microsoft Defender for Endpoint portal**: This is the GA offering for Enterprise IoT. Microsoft 365 P2 customers already have visibility for discovered IoT devices in the **Device inventory** page in Defender for Endpoint. Customers can onboard an Enterprise IoT plan in the same portal and gain security value by viewing alerts, recommendations and vulnerabilities for their discovered IoT devices.
+
+- **In the Azure portal**: Defender for IoT customers can view their discovered IoT devices in the **Device inventory** page in Defender for IoT in the Azure portal. To view Enterprise IoT devices in the Azure portal, you'll need to set up a network sensor (currently in Public Preview). or more information, see [Tutorial: Get started with Enterprise IoT monitoring](tutorial-getting-started-eiot-sensor.md).
+
+## How can I start using Enterprise IoT?
+
+To get started, Microsoft 365 P2 customers need to [add a Defender for IoT plan with Enterprise IoT](/microsoft-365/security/defender-endpoint/enable-microsoft-defender-for-iot-integration#onboard-a-defender-for-iot-plan) to an Azure subscription from the Microsoft Defender for Endpoint portal.
+
+**Public Preview**: Defender for Endpoint customers can also install a network sensor to gain more visibility into additional IoT segments of the corporate network that weren't previously covered by Defender for Endpoint. Deploying a network sensor is not a prerequisite for onboarding Enterprise IoT.
+For more information, see [Tutorial: Get started with Enterprise IoT monitoring](tutorial-getting-started-eiot-sensor.md)
+
+If youΓÇÖre a Defender for Endpoint customer, when adding your Defender for IoT plan, take care to exclude any devices already managed by Defender for Endpoint from your count of committed devices.
+
+## How can I use the Enterprise IoT network sensor?
+
+The Enterprise IoT network sensor is currently in Public Preview and can be used by all customers without additional charge. Onboard a Defender for IoT plan with Enterprise IoT, and then set up your Enterprise IoT network sensor.
+
+For more information, see [Tutorial: Get started with Enterprise IoT](tutorial-getting-started-eiot-sensor.md).
+
+## What permissions do I need to add a Defender for IoT plan? Can I use any Azure subscription?
+
+For information on required permissions, see [Prerequisites](/microsoft-365/security/defender-endpoint/enable-microsoft-defender-for-iot-integration).
+
+## Which devices are billable?
+
+For more information about billable devices, see [Defender for IoT committed devices](how-to-manage-subscriptions.md#defender-for-iot-committed-devices).
+
+## How should I estimate the number of committed devices?
+
+In the **Device inventory** in Defender for Endpoint:
+
+Add the total number of discovered network devices with the total number of discovered IoT devices. Round that up to a multiple of 100, and that is the number of committed devices to use.
+
+ For more information, see [Defender for IoT committed devices](how-to-manage-subscriptions.md#defender-for-iot-committed-devices).
+
+## How does the integration between Microsoft Defender for Endpoint and Microsoft Defender for IoT work?
+
+Once you've [added a Defender for IoT plan with Enterprise IoT to an Azure subscription in Defender for Endpoint](/microsoft-365/security/defender-endpoint/enable-microsoft-defender-for-iot-integration#onboard-a-defender-for-iot-plan), integration between the two products takes place seamlessly.
+
+Discovered IoT devices can be viewed in both Defender for IoT and Defender for Endpoint. For more information, see [Defender for IoT integration](/microsoft-365/security/defender-endpoint/enable-microsoft-defender-for-iot-integration).
+
+## Can I change the subscription IΓÇÖm using for Defender for IoT?
+
+To change the subscription you're using for your Defender for IoT plan, you'll need to cancel your plan on the existing subscription, and then onboard a new plan to a new subscription. Your existing data won't be migrated to the new subscription. For more information, see [Move existing sensors to a different subscription](how-to-manage-subscriptions.md#move-existing-sensors-to-a-different-subscription).
+
+## How can I edit my plan in Defender for Endpoint?
+
+To make any changes to an existing plan, you'll need to cancel your existing plan and onboard a new plan with the new details. Changes might include moving billing charges from one subscription to another, changing the number of committed devices, or changing the plan commitment from a trial to a monthly commitment.
+
+## How can I cancel Enterprise IoT?
+
+To remove only Enterprise IoT from your plan, cancel your plan from Microsoft Defender for Endpoint. For more information, see [Cancel your Defender for IoT plan](/microsoft-365/security/defender-endpoint/enable-microsoft-defender-for-iot-integration#cancel-your-defender-for-iot-plan).
+
+To cancel the plan and remove all Defender for IoT services from the associated subscription, cancel the plan in Defender for IoT in the Azure portal. For more information, see [Cancel a Defender for IoT plan from a subscription](how-to-manage-subscriptions.md#cancel-a-defender-for-iot-plan-from-a-subscription).
+
+## What happens when the 30-day trial ends?
+
+If you haven't changed your plan from a trial to a monthly commitment by the time your trial ends, your plan is automatically canceled, and youΓÇÖll lose access to Defender for IoT security features.
+
+To change your plan from a trial to a monthly commitment before the end of the trial, you'll need to cancel your trial plan and onboard a new plan in Defender for Endpoint. For more information, see [Defender for IoT integration](/microsoft-365/security/defender-endpoint/enable-microsoft-defender-for-iot-integration).
+
+## How is the Defender for IoT pricing affected now that support for Enterprise IoT networks is in General Availability?
+
+For more information, see the [Microsoft Defender for IoT pricing](https://azure.microsoft.com/pricing/details/iot-defender/) page.
+
+> [!NOTE]
+> The Enterprise IoT network sensor is currently in Public Preview.
+
+## How can I resolve billing issues associated with my Defender for IoT plan?
+
+For any billing or technical issues, create a support request in the Azure portal.
+
+## Next steps
+
+For more information on getting started with Enterprise IoT, see:
+
+- [Tutorial: Get started with Enterprise IoT monitoring](tutorial-getting-started-eiot-sensor.md)
+- [Manage Defender for IoT plans](how-to-manage-subscriptions.md)
+- [Defender for IoT integration](/microsoft-365/security/defender-endpoint/enable-microsoft-defender-for-iot-integration)
defender-for-iot Faqs General https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/faqs-general.md
+
+ Title: General FAQs - Microsoft Defender for IoT
+description: Find answers to the most frequently asked questions about Microsoft Defender for IoT features and service.
+ Last updated : 07/07/2022++
+# Microsoft Defender for IoT frequently asked questions
+
+This article provides a list of frequently asked questions and answers about Defender for IoT.
+
+## What is Azure's unique value proposition for IoT security?
+
+Defender for IoT enables enterprises to extend their existing cyber security view to their entire IoT solution. Azure provides an end to end view of your business solution, enabling you to take business-related actions and decisions based on your enterprise security posture and collected data. Combined security using Azure IoT, Azure IoT Edge, and Microsoft Defender for Cloud enable you to create the solution you want with the security you need.
+
+## How does Defender for IoT compare to the competition?
+
+Microsoft Defender for IoT delivers comprehensive security across all your IoT/OT devices. For **end-user organizations**, Microsoft Defender for IoT offers agentless, network-layer security that is rapidly deployed, works with diverse proprietary OT equipment and legacy Windows systems, and interoperates with Microsoft Sentinel and other SOC tools. It can be deployed on-premises or in Azure-connected environments. For **IoT device builders**, Microsoft Defender for IoT offers lightweight agents to embed device-layer security into new IoT/OT initiatives.
+
+## Do I have to be an Azure customer?
+
+No, for the agentless version of Microsoft Defender for IoT, you do not need to be an Azure customer. However, if you want to send alerts to Microsoft Sentinel; provision network sensors and monitor their health from the cloud; and benefit from automatic software and threat intelligence updates, you will need to connect the sensor to Azure and Defender for IoT. For more information, see [Sensor connection methods](architecture-connections.md).
+
+For the agent-based version of Microsoft Defender for IoT, you must be an Azure customer.
+
+## What happens when the internet connection stops working?
+
+The sensors and agents continue to run and store data as long as the device is running. Data is stored in the security message cache according to size configuration. When the device regains connectivity, security messages resume sending.
+
+## Next steps
+
+To learn more about how to get started with Defender for IoT, see the following articles:
+
+- Read the Defender for IoT [overview](overview.md)
+- [Get started with Defender for IoT](getting-started.md)
+- [OT Networks frequently asked questions](faqs-ot.md)
+- [Enterprise IoT networks frequently asked questions](faqs-eiot.md)
defender-for-iot Faqs Ot https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/faqs-ot.md
+
+ Title: FAQs for OT networks - Microsoft Defender for IoT
+description: Find answers to the most frequently asked questions about Microsoft Defender for IoT OT networks.
+ Last updated : 07/07/2022++
+# OT networks frequently asked questions
+
+This article provides a list of frequently asked questions and answers about OT networks in Defender for IoT.
+
+## Our organization uses proprietary non-standard industrial protocols. Are they supported?
+
+Microsoft Defender for IoT provides comprehensive protocol support. In addition to embedded protocol support, you can secure IoT and OT devices running proprietary and custom protocols, or protocols that deviate from any standard. Using the Horizon Open Development Environment (ODE) SDK, developers can create dissector plugins that decode network traffic based on defined protocols. Traffic is analyzed by services to provide complete monitoring, alerting, and reporting. Use Horizon to:
+- Expand visibility and control without the need to upgrade to new versions.
+- Secure proprietary information by developing on-site as an external plugin.
+- Localize text for alerts, events, and protocol parameters.
+
+This unique solution for developing protocols as plugins, doesn't require dedicated developer teams or version releases in order to support a new protocol. Developers, partners, and customers can securely develop protocols and share insights and knowledge using Horizon.
+
+## Do I have to purchase hardware appliances from Microsoft partners?
+Microsoft Defender for IoT sensor runs on specific hardware specs as described in the [Hardware Specifications Guide](./how-to-identify-required-appliances.md), customers can purchase certified hardware from Microsoft partners or use the supplied bill of materials (BOM) and purchase it on their own.
+
+Certified hardware has been tested in our labs for driver stability, packet drops and network sizing.
+
+## Regulation doesn't allow us to connect our system to the Internet. Can we still utilize Defender for IoT?
+
+Yes you can! The Microsoft Defender for IoT platform on-premises solution is deployed as a physical or virtual sensor appliance that passively ingests network traffic (via SPAN, RSPAN, or TAP) to analyze, discover, and continuously monitor IT, OT, and IoT networks. For larger enterprises, multiple sensors can aggregate their data to an on-premises management console.
+
+## Where in the network should I connect monitoring ports?
+
+The Microsoft Defender for IoT sensor connects to a SPAN port or network TAP and immediately begins collecting ICS network traffic via passive (agentless) monitoring. It has zero impact on OT networks since it isnΓÇÖt placed in the data path and doesnΓÇÖt actively scan OT devices.
+
+For example:
+- A single appliance (virtual of physical) can be in the Shop Floor DMZ layer, having all Shop Floor cell traffic routed to this layer.
+- Alternatively, locate small mini-sensors in each Shop Floor cell with either cloud or local management that will reside in the Shop Floor DMZ layer. Another appliance (virtual or physical) can monitor the traffic in the Shop Floor DMZ layer (for SCADA, Historian, or MES).
+
+## How can I change a user's passwords
+
+Learn how to [Change a user's password](how-to-create-and-manage-users.md#change-a-users-password) for either the sensor or the on-premises management console.
+
+You can also [Recover the password for the on-premises management console, or the sensor](how-to-create-and-manage-users.md#recover-the-password-for-the-on-premises-management-console-or-the-sensor).
+
+## How do I activate the sensor and on-premises management console
+
+For information on how to activate your sensor, see [Sign in and activate the sensor](how-to-activate-and-set-up-your-sensor.md#sign-in-and-activate-the-sensor).
+
+For information on how to activate your on-premises management console, see [Activate the on-premises management console](how-to-activate-and-set-up-your-on-premises-management-console.md#activate-the-on-premises-management-console).
+
+## How to change the network configuration
+
+You can update your sensor network configuration before or after activation. For more information, see [Activate and set up your sensor](how-to-activate-and-set-up-your-sensor.md#activate-and-set-up-your-sensor).
+
+You can also [update the sensor network configuration](how-to-manage-individual-sensors.md#update-the-sensor-network-configuration) after activation.
+
+You can work with CLI [commands](references-work-with-defender-for-iot-cli-commands.md#network-configuration) to [change network configurations](references-work-with-defender-for-iot-cli-commands.md#network-configuration).
+
+## How do I check the sanity of my deployment
+
+After installing the software for your sensor or on-premises management console, you'll want to perform the [Post-installation validation](how-to-install-software.md#post-installation-validation).
+
+You can also use our [UI and CLI tools](how-to-troubleshoot-the-sensor-and-on-premises-management-console.md#check-system-health) to check system health and review your overall system statistics.
+
+For more information, see [Troubleshoot the sensor and on-premises management console](how-to-troubleshoot-the-sensor-and-on-premises-management-console.md).
+
+## Next Steps
+
+- [Tutorial: Get started with Microsoft Defender for IoT for OT security](tutorial-onboarding.md)
defender-for-iot How To Activate And Set Up Your On Premises Management Console https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/how-to-activate-and-set-up-your-on-premises-management-console.md
After you sign in for the first time, you need to activate the on-premises manag
The on-premises management console can be associated to one or more subscriptions. The activation file is associated with all the selected subscriptions and the number of committed devices at the time of download.
+ [!INCLUDE [root-of-trust](includes/root-of-trust.md)]
+ :::image type="content" source="media/how-to-manage-sensors-from-the-on-premises-management-console/multiple-subscriptions.png" alt-text="Screenshot that shows selecting multiple subscriptions." lightbox="media/how-to-manage-sensors-from-the-on-premises-management-console/multiple-subscriptions.png"::: If you haven't already onboarded Defender for IoT to a subscription, see [Onboard a Defender for IoT plan for OT networks](how-to-manage-subscriptions.md#onboard-a-defender-for-iot-plan-for-ot-networks).
defender-for-iot How To Activate And Set Up Your Sensor https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/how-to-activate-and-set-up-your-sensor.md
Before signing in to the sensor console, administrator users should have access
- The activation file associated with this sensor. The file was generated and downloaded during sensor onboarding by Defender for IoT. + - An SSL/TLS CA-signed certificate that your company requires. + ### About activation files Your sensor was onboarded to Microsoft Defender for IoT in a specific management mode:
defender-for-iot How To Create And Manage Users https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/how-to-create-and-manage-users.md
You can recover the password for the on-premises management console or the senso
:::image type="content" source="media/how-to-create-and-manage-users/enter-identifier.png" alt-text="Screenshot of entering enter the unique identifier and then selecting recover." lightbox="media/how-to-create-and-manage-users/enter-identifier.png":::
+ [!INCLUDE [root-of-trust](includes/root-of-trust.md)]
+ 1. On the Password recovery screen, select **Upload**. **The Upload Password Recovery File** window will open. 1. Select **Browse** to locate your `password_recovery.zip` file, or drag the `password_recovery.zip` to the window.
defender-for-iot How To Install Software https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/how-to-install-software.md
Mount the ISO file using one of the following options:
- **Virtual mount** ΓÇô use iLO for HPE appliances, or iDRAC for Dell appliances to boot the ISO file. + ## Pre-installation configuration Each appliance type comes with its own set of instructions that are required before installing Defender for IoT software.
defender-for-iot How To Investigate All Enterprise Sensor Detections In A Device Inventory https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/how-to-investigate-all-enterprise-sensor-detections-in-a-device-inventory.md
To export device inventory data, select the **Import/Export file** :::image type
Save the exported file locally.
-## Enhance device inventory data
+## Add to and enhance device inventory data
-Enhance the data in your device inventory with information from other sources, such as CMDBs, DNS, firewalls, and Web APIs. Use enhanced data to learn things such as:
+Use information from other sources, such as CMDBs, DNS, firewalls, and Web APIs, to enhance the data shown in your device inventory. For example, use enhanced data to present information about the following items:
- Device purchase dates and end-of-warranty dates - Users responsible for each device
Enhance the data in your device inventory with information from other sources, s
- Devices running active antivirus applications - Users signed in to devices
-Enhancement data is shown as extra columns in the on-premises management console **Device inventory** page.
+Added and enhancement data is shown as extra columns, in addition to the existing columns available in the on-premises management console **Device inventory** page.
-Enhance data by adding it manually or by running customized scripts from Defender for IoT. You can also work with Defender for IoT support to set up your system to receive Web API queries.
+Enhance data by adding it manually or by running a customized version of our [automation script sample](custom-columns-sample-script.md). You can also open a support ticket to set up your system to receive Web API queries.
For example, the following image shows an example of how you might use enhanced data in the device inventory:
The new data appears in the **Device Inventory** grid.
To enhance your data using automation scripts:
-1. Contact [Microsoft Support](https://support.serviceshub.microsoft.com/supportforbusiness/create?sapId=82c88f35-1b8e-f274-ec11-c6efdd6dd099) to obtain the relevant scripts.
+1. Copy the [sample automation script](custom-columns-sample-script.md) to a local file and modify it as needed.
1. Sign in to your on-premises management console, and select **Device inventory**.
To enhance your data using automation scripts:
1. In the **Add Custom Column** dialog box, add the new column name using up to 250 UTF characters.
-1. Select **Automatic**. When the **UPLOAD SCRIPT** and **TEST SCRIPT** buttons appear, upload and then test the script you'd received from [Microsoft Support](https://support.serviceshub.microsoft.com/supportforbusiness/create?sapId=82c88f35-1b8e-f274-ec11-c6efdd6dd099).
+1. Select **Automatic**. When the **UPLOAD SCRIPT** and **TEST SCRIPT** buttons appear, upload and then test the script you'd customized earlier and saved locally.
The new data appears in the **Device Inventory** grid.
defender-for-iot How To Manage Cloud Alerts https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/how-to-manage-cloud-alerts.md
On each alert details page, the **Take Action** tab lists recommended remediatio
## Manage alert status and severity
+**Prerequisite**: Subscription access as a **Security admin**, **Contributor**, or **Owner** user
+ You can update alert status or severity for a single alert or for a group of alerts. *Learn* an alert to indicate to Defender for IoT that the detected network traffic is authorized. Learned alerts won't be triggered again the next time the same traffic is detected on your network. For more information, see [Learn and unlearn alert traffic](how-to-manage-the-alert-event.md#learn-and-unlearn-alert-traffic).
Alert management across all interfaces functions as follows:
## Access alert PCAP data (Public preview)
+**Prerequisite**: Subscription access as a **Security admin**, **Contributor**, or **Owner** user
+ To access raw traffic files for your alert, known as packet capture files or PCAP files, select **Download PCAP** in the top-left corner of your alert details page. For example:
defender-for-iot How To Manage Individual Sensors https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/how-to-manage-individual-sensors.md
You might need to upload a new activation file for an onboarded sensor when:
1. Use the search bar to find the sensor you just added, and select it. 1. Select the three dots (...) on the row and select **Download activation file**.
-6. Save the file.
+ [!INCLUDE [root-of-trust](includes/root-of-trust.md)]
-7. Sign in to the Defender for IoT sensor console.
+1. Save the file.
-8. Select **System Settings** > **Sensor management** > **Subscription & Activation Mode**.
+1. Sign in to the Defender for IoT sensor console.
+
+1. Select **System Settings** > **Sensor management** > **Subscription & Activation Mode**.
-9. Select **Upload** and select the file that you saved.
+1. Select **Upload** and select the file that you saved.
-10. Select **Activate**.
+1. Select **Activate**.
### Troubleshoot activation file upload
This feature is supported for the following sensor versions:
- **22.1.1** - Download a diagnostic log from the sensor console - **22.1.3** - For locally-managed sensors, [upload a diagnostics log](how-to-manage-sensors-on-the-cloud.md#upload-a-diagnostics-log-for-support-public-preview) from the **Sites and sensors** page in the Azure portal. This file is automatically sent to support when you open a ticket on a cloud-connected sensor. + **To download a diagnostics log**: 1. On the sensor console, select **System settings** > **Backup & Restore** > **Backup**.
defender-for-iot How To Manage Sensors From The On Premises Management Console https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/how-to-manage-sensors-from-the-on-premises-management-console.md
You can define the following sensor system settings from the management console:
## Update threat intelligence packages
-The data package for threat intelligence is provided with each new Defender for IoT version, or if needed between releases. The package contains signatures (including malware signatures), CVEs, and other security content.
+The data package for threat intelligence is provided with each new Defender for IoT version, or if needed between releases. The package contains signatures (including malware signatures), CVEs, and other security content.
+
+You can manually upload this file in the Azure portal and automatically update it to sensors.
+
-You can manually upload this file in the Azure portal and automatically update it to sensors.
**To update the threat intelligence data:**
defender-for-iot How To Manage Subscriptions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/how-to-manage-subscriptions.md
Once you've onboarded a plan for Enterprise IoT networks from Defender for Endpo
### About Defender for IoT trials
-If you would like to evaluate Defender for IoT, you can use a trial commitment. The trial is valid for 30 days and supports 1000 committed devices. Using the trial lets you deploy one or more Defender for IoT sensors on your network. Use the sensors to monitor traffic, analyze data, generate alerts, learn about network risks and vulnerabilities, and more. The trial also allows you to download an on-premises management console to view aggregated information generated by sensors.
+If you would like to evaluate Defender for IoT, you can use a trial commitment.
+
+The trial is valid for 30 days and supports 1000 committed devices. Using the trial lets you deploy one or more Defender for IoT sensors on your network to monitor traffic, analyze data, generate alerts, learn about network risks and vulnerabilities, and more.
+
+The trial also allows you to install an on-premises management console to view aggregated information generated by sensors.
## Edit a plan for OT networks
defender-for-iot How To Manage The On Premises Management Console https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/how-to-manage-the-on-premises-management-console.md
You may need to download software for your on-premises management console if you
:::image type="content" source="media/update-ot-software/on-premises-download.png" alt-text="Screenshot of the Download option for the on-premises management console." lightbox="media/update-ot-software/on-premises-download.png"::: + ## Upload an activation file When you first sign in, an activation file for the on-premises management console is downloaded. This file contains the aggregate committed devices that are defined during the onboarding process. The list includes sensors associated with multiple subscriptions.
After initial activation, the number of monitored devices might exceed the numbe
:::image type="content" source="media/how-to-manage-sensors-from-the-on-premises-management-console/cloud_download_opm_activation_file.png" alt-text="Download the activation file.":::
+ [!INCLUDE [root-of-trust](includes/root-of-trust.md)]
+ 1. Select **System Settings** from the management console. 1. Select **Activation**. 1. Select **Choose a File** and select the file that you saved. + ## Manage certificates Following on-premises management console installation, a local self-signed certificate is generated and used to access the web application. When logging in to the on-premises management console for the first time, Administrator users are prompted to provide an SSL/TLS certificate.
defender-for-iot How To Set Up Snmp Mib Monitoring https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/how-to-set-up-snmp-mib-monitoring.md
Supported SNMP versions are SNMP version 2 and version 3. The SNMP protocol util
Download the SNMP MIB file from Defender for IoT in the Azure portal. Select **Sites and sensors > More actions > Download SNMP MIB file**. ++ ## Sensor OIDs | Management console and sensor | OID | Format | Description |
defender-for-iot How To View Alerts https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/how-to-view-alerts.md
You can generate the following alert reports:
1. Select **View full details**. 1. Select **Download Full PCAP** or **Download Filtered PCAP**.
-PCAP files provide more detailed information about the network traffic that occurred at the time of the alert event.
+PCAP files provide more detailed information about the network traffic that occurred at the time of the alert event.
## View alerts in the Defender for IoT portal
defender-for-iot How To Work With Threat Intelligence Packages https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/how-to-work-with-threat-intelligence-packages.md
Packages can be downloaded the Azure portal and manually uploaded to individual
This option is available for both *cloud connected* and *locally managed* sensors. ++ **To upload to a single sensor:** 1. Go to the Microsoft Defender for IoT **Updates** page.
defender-for-iot Onboard Sensors https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/onboard-sensors.md
This procedure describes how to use the Azure portal to contact vendors for pre-
1. Select **Download**. Download the sensor software and save it in a location that you can access from your selected appliance.
+ [!INCLUDE [root-of-trust](includes/root-of-trust.md)]
+ 1. Install your software. For more information, see [Defender for IoT installation](how-to-install-software.md). ## Onboard OT sensors
However, until you activate your sensor, the sensor's status will show as **Pend
Make the downloaded activation file accessible to the sensor console admin so that they can activate the sensor. For more information, see [Upload new activation files](how-to-manage-individual-sensors.md#upload-new-activation-files). + ## Onboard Enterprise IoT sensors For more information, see [Tutorial: Get started with Enterprise IoT](tutorial-getting-started-eiot-sensor.md).
defender-for-iot Ot Pre Configured Appliances https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/ot-pre-configured-appliances.md
You can [order](mailto:hardware.sales@arrow.com) any of the following preconfigu
||||| |**C5600** | [HPE ProLiant DL360](appliance-catalog/hpe-proliant-dl360.md) | **Max bandwidth**: 3Gbp/s <br>**Max devices**: 12,000 <br> 32 Cores/32G RAM/5.6TB | **Mounting**: 1U <br>**Ports**: 15x RJ45 or 8x SFP (OPT) | |**E1800** | [HPE ProLiant DL20/DL20 Plus](appliance-catalog/hpe-proliant-dl20-plus-enterprise.md) <br> (4SFF) | **Max bandwidth**: 1 Gbp/s<br>**Max devices**: 10,000 <br> 8 Cores/32G RAM/1.8TB | **Mounting**: 1U <br>**Ports**: 8x RJ45 or 6x SFP (OPT) |
-|**L500** | [Dell Edge 5200](appliance-catalog/dell-edge-5200.md) <br> (Rugged MIL-STD-810G) | **Max bandwidth**: 60Mbp/s<br>**Max devices**: 1,000 <br> 8 Cores/32G RAM/100GB | **Mounting**: Wall Mount<br>**Ports**: 3x RJ45 |
+|**E500** | [Dell Edge 5200](appliance-catalog/dell-edge-5200.md) <br> (Rugged MIL-STD-810G) | **Max bandwidth**: 1 Gbp/s<br>**Max devices**: 10,000 <br> 8 Cores/32G RAM/512GB | **Mounting**: Wall Mount<br>**Ports**: 3x RJ45 |
|**L500** | [HPE ProLiant DL20/DL20 Plus](appliance-catalog/hpe-proliant-dl20-plus-smb.md) <br> (NHP 2LFF) | **Max bandwidth**: 200Mbp/s<br>**Max devices**: 1,000 <br> 4 Cores/8G RAM/500GB | **Mounting**: 1U<br>**Ports**: 4x RJ45 | |**L100** | [YS-Techsystems YS-FIT2](appliance-catalog/ys-techsystems-ys-fit2.md) <br>(Rugged MIL-STD-810G) | **Max bandwidth**: 10Mbp/s <br>**Max devices**: 100 <br> 4 Cores/8G RAM/128GB | **Mounting**: DIN/VESA<br>**Ports**: 2x RJ45 |
defender-for-iot Release Notes https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/release-notes.md
For more information, see the [Microsoft Security Development Lifecycle practice
| 22.2.4 | 07/2022 | 04/2023 | | 22.2.3 | 07/2022 | 04/2023 | | 22.1.7 | 07/2022 | 04/2023 |
-| 22.1.6 | 06/2022 | 10/2023 |
-| 22.1.5 | 06/2022 | 10/2023 |
+| 22.1.6 | 06/2022 | 10/2022 |
+| 22.1.5 | 06/2022 | 10/2022 |
| 22.1.4 | 04/2022 | 10/2022 | | 22.1.3 | 03/2022 | 10/2022 | | 22.1.1 | 02/2022 | 10/2022 |
defender-for-iot Sensor Health Messages https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/sensor-health-messages.md
For more information, see [Understand sensor health (Public preview)](how-to-man
|Title |Message |Description |Recommendation | |||||
-|**Package upload failed** |There was an error uploading the file to the sensor |Upload error |"Verify the sensorΓÇÖs ability to communicate with download.microsoft.com and retry. <br><br>If the problem persists, open a support ticket.|
+|**Package upload failed** |There was an error uploading the file to the sensor |Upload error |Verify the sensorΓÇÖs ability to communicate with download.microsoft.com and retry. <br><br>If the problem persists, open a support ticket.|
|**Sensor update failed** | There was an error installing the update.| Installation error |Open a support ticket. | | **Unstable traffic to Azure**|SensorΓÇÖs connection to Azure is unstable |Unstable traffic to Azure | We recommend that you check the sensor WAN connection, the BW limit settings, and validate network equipment that might be on the route between the sensor and the cloud.| | **Outdated**|Outdated software may result in a non-optimal experience |Sensor version is outdated |Upgrade your sensor software to the latest version to use the most recently available Defender for IoT features.|
defender-for-iot Tutorial Getting Started Eiot Sensor https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/tutorial-getting-started-eiot-sensor.md
For more information, see [Sensor management options from the Azure portal](how-
Continue viewing device data in both the Azure portal and Defender for Endpoint, depending on your organization's needs. +
+- [Manage sensors with Defender for IoT in the Azure portal](how-to-manage-sensors-on-the-cloud.md)
+- [Threat intelligence research and packages](how-to-work-with-threat-intelligence-packages.md)
+- [Manage your IoT devices with the device inventory for organizations](how-to-manage-device-inventory-for-organizations.md)
+- [View and manage alerts on the Defender for IoT portal](how-to-manage-cloud-alerts.md)
+- [Use Azure Monitor workbooks in Microsoft Defender for IoT (Public preview)](workbooks.md)
+- [OT threat monitoring in enterprise SOCs](concept-sentinel-integration.md)
+- [Enterprise IoT networks frequently asked questions](faqs-eiot.md)
+ In Defender for Endpoint, also view alerts data, recommendations and vulnerabilities related to your network traffic. For more information in Defender for Endpoint documentation, see:
defender-for-iot Tutorial Onboarding https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/tutorial-onboarding.md
You can either purchase pre-configured appliances or bring your own appliance an
1. Save the downloaded software in a location that will be accessible from your VM. + ## Create a VM for your sensor This procedure describes how to create a VM for your sensor with VMware ESXi.
Before you can start using your Defender for IoT sensor, you'll need to onboard
1. Select **Register** to add your sensor to Defender for IoT. A success message is displayed and your activation file is automatically downloaded. The activation file is unique for your sensor and contains instructions about your sensor's management mode.
+ [!INCLUDE [root-of-trust](includes/root-of-trust.md)]
++ 1. Save the downloaded activation file in a location that will be accessible to the user signing into the console for the first time. 1. At the bottom left of the page, select **Finish**. You can now see your new sensor listed on the Defender for IoT **Sites and sensors** page.
defender-for-iot Update Ot Software https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/update-ot-software.md
In such cases, make sure to update your on-premises management consoles *before*
Make sure to select the version for the update you're performing. For more information, see [Legacy version updates vs. recent version updates](#legacy-version-updates-vs-recent-version-updates).
+ [!INCLUDE [root-of-trust](includes/root-of-trust.md)]
+ 1. On your on-premises management console, select **System Settings** > **Version Update**. 1. In the **Upload File** dialog, select **BROWSE FILE** and then browse to and select the update file you'd downloaded from the Azure portal.
This procedure describes how to manually download the new sensor software versio
Make sure you're downloading the correct file for the update you're performing. For more information, see [Legacy version updates vs. recent version updates](#legacy-version-updates-vs-recent-version-updates).
+ [!INCLUDE [root-of-trust](includes/root-of-trust.md)]
+ 1. On your sensor console, select **System Settings** > **Sensor management** > **Software Update**. 1. On the **Software Update** pane on the right, select **Upload file**, and then navigate to and select your downloaded `legacy-sensor-secured-patcher-<Version number>.tar` file.
The sensor update process won't succeed if you don't update the on-premises mana
Make sure you're downloading the correct file for the update you're performing. For more information, see [Legacy version updates vs. recent version updates](#legacy-version-updates-vs-recent-version-updates).
+ [!INCLUDE [root-of-trust](includes/root-of-trust.md)]
+ 1. On your on-premises management console, select **System Settings**, and identify the sensors that you want to update. 1. For any sensors you want to update, make sure that the **Automatic Version Updates** option is selected.
This procedure is relevant only if you're updating sensors from software version
1. Verify that the status showing in the new sensor row has switched to **Pending activation**. > [!NOTE] > The previous sensor is not automatically deleted after your update. After you've updated the sensor software, make sure to [remove the previous sensor from Defender for IoT](#remove-your-previous-sensor).
machine-learning Concept Data Encryption https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/concept-data-encryption.md
To use the key when deploying a model to Azure Container Instance, create a new
For more information on creating and using a deployment configuration, see the following articles: * [AciWebservice.deploy_configuration()](/python/api/azureml-core/azureml.core.webservice.aci.aciwebservice#deploy-configuration-cpu-cores-none--memory-gb-none--tags-none--properties-none--description-none--location-none--auth-enabled-none--ssl-enabled-none--enable-app-insights-none--ssl-cert-pem-file-none--ssl-key-pem-file-none--ssl-cname-none--dns-name-label-none--primary-key-none--secondary-key-none--collect-model-data-none--cmk-vault-base-url-none--cmk-key-name-none--cmk-key-version-none-) reference
-* [Where and how to deploy](how-to-deploy-and-where.md)
+* [Where and how to deploy](/azure/machine-learning/how-to-deploy-managed-online-endpoints)
For more information on using a customer-managed key with ACI, see [Encrypt data with a customer-managed key](../container-instances/container-instances-encrypt-data.md#encrypt-data-with-a-customer-managed-key).
postgresql Concepts Single To Flexible https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/postgresql/migrate/concepts-single-to-flexible.md
Title: "Migrate from Azure Database for PostgreSQL Single Server to Flexible Server - Concepts"
+ Title: "Migration tool - Azure Database for PostgreSQL Single Server to Flexible Server - Concepts"
description: Concepts about migrating your Single server to Azure database for PostgreSQL Flexible server. Previously updated : 05/11/2022 Last updated : 08/12/2022
-# Migrate from Azure Database for PostgreSQL Single Server to Flexible Server (preview)
+# Migration tool - Azure Database for PostgreSQL Single Server to Flexible Server (preview)
[!INCLUDE[applies-to-postgres-single-flexible-server](../includes/applies-to-postgresql-single-flexible-server.md)] Azure Database for PostgreSQL Flexible Server provides zone-redundant high availability, control over price, and control over maintenance windows. You can use the available migration tool to move your databases from Single Server to Flexible Server. To understand the differences between the two deployment options, see [this comparison chart](../flexible-server/concepts-compare-single-server-flexible-server.md).
-By using the migration tool, you can initiate migrations for multiple servers and databases in a repeatable way. The tool automates most of the migration steps to make the migration journey across Azure platforms as seamless as possible. The tool is free for customers.
+Single to Flexible server migration tool is designed to help you with your migration from Single to flexible server task. The tool allows you to initiate migrations for multiple servers and databases in a repeatable way. The tool automates most of the migration steps to make the migration journey across Azure platforms as seamless as possible. The tool is offered **free of cost**.
>[!NOTE]
-> The migration tool is in public preview.
->
-> Migration from Single Server to Flexible Server is enabled in preview in these regions: Central US, West US, South Central US, North Central US, East Asia, Switzerland North, Australia South East, UAE North, UK West and Canada East.
+> The migration tool is in public preview. Feature, functionality, and user interfaces are subject to change.
+
+## Recommended migration path
+
+The migration tool is agnostic of source and target PostgreSQL versions. Here are some guidelines.
+
+| Source Postgres version (Single Server) | Suggested Target Postgres version (Flexible server) | Remarks |
+|:|:-|:--|
+| Postgres 9.5 (Retired) | Postgres 12 | You can even directly migrate to Postgres 14. Verify your application compatibility. |
+| Postgres 9.6 (Retired) | Postgres 12 | You can even directly migrate to Postgres 14. Verify your application compatibility. |
+| Postgres 10 (Retiring Nov'22) | Postgres 14 | Verify your application compatibility. |
+| Postgres 11 | Postgres 14 | Verify your application compatibility. |
+| Postgres 11 | Postgres 11 | You can choose to migrate to the same version in Flexible Server. You can then upgrade to a higher version in Flexible Server |
+
+>[!NOTE]
+> Migration initiation from Single Server is enabled in preview in these regions: Central US, West US, South Central US, North Central US, East Asia, Switzerland North, Australia South East, UAE North, UK West and Canada East. However, you can use the migration wizard from the Flexible Server side in all regions.
## Overview
After you finish the prerequisites, migrate the data and schemas by using one of
### Size -- You can migrate databases of sizes up to 1 TB by using this tool. To migrate larger databases or heavy write workloads, contact your account team or [contact us](mailto:AskAzureDBforPGS2F@microsoft.com).
+- You can migrate databases of sizes **up to 1 TB** by using this tool. To migrate larger databases or heavy write workloads, contact your account team to reach out to us or file a support ticket.
- In one migration attempt, you can migrate up to eight user databases from Single Server to Flexible Server. If you have more databases to migrate, you can create multiple migrations between the same Single Server and Flexible Server.
After you finish the prerequisites, migrate the data and schemas by using one of
- Cut over all dependent applications to access the new primary database, and open the applications for production usage. - After the application starts running on the Flexible Server target, monitor the database performance closely to see if performance tuning is required.
+## Other migration methods
+
+The intent of the tool is to provide a seamless migration experience for most workloads. However, you may also choose other options to migrate using [dump/restore](../single-server/how-to-upgrade-using-dump-and-restore.md) or using [Azure Database Migration Service (DMS)](../../dms/tutorial-postgresql-azure-postgresql-online-portal.md) or using any 3rd party tools.
++ ## Next steps - [Migrate to Flexible Server by using the Azure portal](../migrate/how-to-migrate-single-to-flexible-portal.md)
purview How To Data Owner Policies Arc Sql Server https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/purview/how-to-data-owner-policies-arc-sql-server.md
Previously updated : 07/19/2022 Last updated : 08/12/2022 # Provision access by data owner for SQL Server on Azure Arc-enabled servers (preview)
[Access policies](concept-data-owner-policies.md) allow you to manage access from Microsoft Purview to data sources that have been registered for *Data Use Management*.
-This how-to guide describes how a data owner can delegate authoring policies in Microsoft Purview to enable access to SQL Server on Azure Arc-enabled servers. The following actions are currently enabled: *SQL Performance Monitoring*, *SQL Security Auditing* and *Read*. *Read* is only supported for policies at server level. *Modify* is not supported at this point.
+This how-to guide describes how a data owner can delegate authoring policies in Microsoft Purview to enable access to SQL Server on Azure Arc-enabled servers. The following actions are currently enabled: *SQL Performance Monitoring*, *SQL Security Auditing* and *Read*. These 3 actions are only supported for policies at server level. *Modify* is not supported at this point.
## Prerequisites [!INCLUDE [Access policies generic pre-requisites](./includes/access-policies-prerequisites-generic.md)]
Register each data source with Microsoft Purview to later define access policies
1. **Select a collection** to put this registration in.
-1. Turn the switch **Data Use Management** to **Enabled**. This switch enables the access-policies to be used with the given Arc-enabled SQL server. Note: Data Use Management can affect the security of your data, as it delegates to certain Microsoft Purview roles managing access to the data sources. Secure practices related to Data Use Management are described in this guide: [registering a data resource for Data Use Management](./how-to-enable-data-use-management.md)
+1. Enable Data Use Management. Data Use Management needs certain permissions and can affect the security of your data, as it delegates to certain Microsoft Purview roles to manage access to the data sources. **Go through the secure practices related to Data Use Management in this guide**: [How to enable Data Use Management]
+(./how-to-enable-data-use-management.md)
1. Enter the **Application ID** from the App Registration related to this Arc-enabled SQL server.
Once your data source has the **Data Use Management** toggle *Enabled*, it will
Execute the steps in the **Create a new policy** and **Publish a policy** sections of the [data-owner policy authoring tutorial](./how-to-data-owner-policy-authoring-generic.md#create-a-new-policy). The result will be a data owner policy similar to one of the examples shown in the images.
-**Example #1: SQL Performance Monitor policy**. This policy assigns the Azure AD principal 'Christie Cline' to the *SQL Performance monitoring* role, in the scope of Arc-enabled SQL server *DESKTOP-xxx*. This policy has also been published to that server.
+**Example #1: SQL Performance Monitor policy**. This policy assigns the Azure AD principal 'Christie Cline' to the *SQL Performance monitoring* action, in the scope of Arc-enabled SQL server *DESKTOP-xxx*. This policy has also been published to that server. Note: Policies related to this action are not supported below server level.
![Screenshot shows a sample data owner policy giving SQL Performance Monitor access to an Azure SQL Database.](./media/how-to-data-owner-policies-sql/data-owner-policy-example-arc-sql-server-performance-monitor.png)
-**Example #2: SQL Security Auditor policy**. Similar to example 1, but choose the *SQL Security auditing* action (instead of *SQL Performance monitoring*), when authoring the policy.
+**Example #2: SQL Security Auditor policy**. Similar to example 1, but choose the *SQL Security auditing* action (instead of *SQL Performance monitoring*), when authoring the policy. Note: Policies related to this action are not supported below server level.
-**Example #3: Read policy**. This policy assigns the Azure AD principal 'sg-Finance' to the *SQL Data reader* role, in the scope of SQL server *DESKTOP-xxx*. This policy has also been published to that server.
+**Example #3: Read policy**. This policy assigns the Azure AD principal 'sg-Finance' to the *SQL Data reader* action, in the scope of SQL server *DESKTOP-xxx*. This policy has also been published to that server. Note: Policies related to this action are not supported below server level.
![Screenshot shows a sample data owner policy giving Data Reader access to an Azure SQL Database.](./media/how-to-data-owner-policies-sql/data-owner-policy-example-arc-sql-server-data-reader.png)
Execute the steps in the **Create a new policy** and **Publish a policy** sectio
>[!Important]
-> - Publish is a background operation. It can take up to **4 minutes** for the changes to be reflected in this data source.
+> - Publish is a background operation. It can take up to **5 minutes** for the changes to be reflected in this data source.
> - Changing a policy does not require a new publish operation. The changes will be picked up with the next pull. ### Test the policy
purview How To Data Owner Policies Azure Sql Db https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/purview/how-to-data-owner-policies-azure-sql-db.md
Previously updated : 08/11/2022 Last updated : 08/12/2022 # Provision access by data owner for Azure SQL DB (preview)
[Access policies](concept-data-owner-policies.md) allow you to manage access from Microsoft Purview to data sources that have been registered for *Data Use Management*.
-This how-to guide describes how a data owner can delegate authoring policies in Microsoft Purview to enable access to Azure SQL DB. The following actions are currently enabled: *SQL Performance Monitoring*, *SQL Security Auditing* and *Read*. *Modify* is not supported at this point.
+This how-to guide describes how a data owner can delegate authoring policies in Microsoft Purview to enable access to Azure SQL DB. The following actions are currently enabled: *SQL Performance Monitoring*, *SQL Security Auditing* and *Read*. The first two actions are supported only at server level. *Modify* is not supported at this point.
## Prerequisites [!INCLUDE [Access policies generic pre-requisites](./includes/access-policies-prerequisites-generic.md)]
Once your data source has the **Data Use Management** toggle *Enabled*, it will
Execute the steps in the **Create a new policy** and **Publish a policy** sections of the [data-owner policy authoring tutorial](./how-to-data-owner-policy-authoring-generic.md#create-a-new-policy). The result will be a data owner policy similar to one of the examples shown in the images.
-**Example #1: SQL Performance Monitor policy**. This policy assigns the Azure AD principal 'Mateo Gomez' to the *SQL Performance monitoring* role, in the scope of SQL server *relecloud-sql-srv2*. This policy has also been published to that server.
+**Example #1: SQL Performance Monitor policy**. This policy assigns the Azure AD principal 'Mateo Gomez' to the *SQL Performance monitoring* action, in the scope of SQL server *relecloud-sql-srv2*. This policy has also been published to that server. Note: Policies related to this action are not supported below server level.
![Screenshot shows a sample data owner policy giving SQL Performance Monitor access to an Azure SQL Database.](./media/how-to-data-owner-policies-sql/data-owner-policy-example-azure-sql-db-performance-monitor.png)
-**Example #2: SQL Security Auditor policy**. Similar to example 1, but choose the *SQL Security auditing* action (instead of *SQL Performance monitoring*), when authoring the policy.
+**Example #2: SQL Security Auditor policy**. Similar to example 1, but choose the *SQL Security auditing* action (instead of *SQL Performance monitoring*), when authoring the policy. Note: Policies related to this action are not supported below server level.
-**Example #3: Read policy**. This policy assigns the Azure AD principal 'Robert Murphy' to the *SQL Data reader* role, in the scope of SQL server *relecloud-sql-srv2*. This policy has also been published to that server.
+**Example #3: Read policy**. This policy assigns the Azure AD principal 'Robert Murphy' to the *SQL Data reader* action, in the scope of SQL server *relecloud-sql-srv2*. This policy has also been published to that server. Note: Policies related to this action are supported below server level (e.g., database, table)
![Screenshot shows a sample data owner policy giving Data Reader access to an Azure SQL Database.](./media/how-to-data-owner-policies-sql/data-owner-policy-example-azure-sql-db-data-reader.png) >[!Important]
-> - Publish is a background operation. It can take up to **4 minutes** for the changes to be reflected in this data source.
+> - Publish is a background operation. It can take up to **5 minutes** for the changes to be reflected in this data source.
> - Changing a policy does not require a new publish operation. The changes will be picked up with the next pull. ### Test the policy
purview How To Data Owner Policies Resource Group https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/purview/how-to-data-owner-policies-resource-group.md
To register your subscription or resource group, follow the **Prerequisites** an
- [Register multiple sources in Microsoft Purview](register-scan-azure-multiple-sources.md#prerequisites)
-After you've registered your resources, you'll need to enable Data Use Management. Data Use Management affects the security of your data, as it delegates to certain users to manage access to data resources from within Microsoft Purview.
-
-To ensure you securely enable Data Use Management, and follow best practices, follow this guide to enable Data Use Management for your resource group or subscription:
--- [How to enable Data Use Management](./how-to-enable-data-use-management.md)
+After you've registered your resources, you'll need to enable Data Use Management. Data Use Management needs certain permissions and can affect the security of your data, as it delegates to certain Microsoft Purview roles to manage access to the data sources. **Go through the secure practices related to Data Use Management in this guide**: [How to enable Data Use Management](./how-to-enable-data-use-management.md)
In the end, your resource will have the **Data Use Management** toggle **Enabled**, as shown in the picture:
purview How To Data Owner Policies Storage https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/purview/how-to-data-owner-policies-storage.md
To register your resources, follow the **Prerequisites** and **Register** sectio
- [Register and scan Azure Data Lake Storage (ADLS) Gen2 - Microsoft Purview](register-scan-adls-gen2.md#prerequisites)
-After you've registered your resources, you'll need to enable *Data Use Management*. Data Use Management can affect the security of your data, as it delegates to certain Microsoft Purview roles to manage access to data sources that have been registered. Secure practices related to *Data Use Management* are described in this guide:
--- [How to enable Data Use Management](./how-to-enable-data-use-management.md)
+After you've registered your resources, you'll need to enable Data Use Management. Data Use Management needs certain permissions and can affect the security of your data, as it delegates to certain Microsoft Purview roles to manage access to the data sources. **Go through the secure practices related to Data Use Management in this guide**: [How to enable Data Use Management](./how-to-enable-data-use-management.md)
Once your data source has the **Data Use Management** toggle **Enabled**, it will look like this picture:
purview How To Data Owner Policy Authoring Generic https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/purview/how-to-data-owner-policy-authoring-generic.md
Before authoring data policies in the Microsoft Purview governance portal, you'l
## Create a new policy This section describes the steps to create a new policy in Microsoft Purview.
+Ensure you have the *Policy Author* permission as described [here](/azure/purview/how-to-data-owner-policy-authoring-generic.md#permissions-for-policy-authoring-and-publishing)
1. Sign in to the [Microsoft Purview governance portal](https://web.purview.azure.com/resource/).
This section describes the steps to create a new policy in Microsoft Purview.
Now that you have created your policy, you will need to publish it for it to become active. ## Publish a policy- A newly created policy is in the **draft** state. The process of publishing associates the new policy with one or more data sources under governance. This is called "binding" a policy to a data source.
+Ensure you have the *Data Source Admin* permission as described [here](/azure/purview/how-to-data-owner-policy-authoring-generic.md#permissions-for-policy-authoring-and-publishing)
+ The steps to publish a policy are as follows: 1. Sign in to the [Microsoft Purview governance portal](https://web.purview.azure.com/resource/).
The steps to publish a policy are as follows:
## Update or delete a policy Steps to update or delete a policy in Microsoft Purview are as follows.
+Ensure you have the *Policy Author* permission as described [here](/azure/purview/how-to-data-owner-policy-authoring-generic.md#permissions-for-policy-authoring-and-publishing)
1. Sign in to the [Microsoft Purview governance portal](https://web.purview.azure.com/resource/).
purview How To Request Access https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/purview/how-to-request-access.md
This article outlines how to make an access request.
1. The **Request access** window will open. You can provide comments on why data access is requested. 1. Select **Send** to trigger the self-service data access workflow.
+ > [!NOTE]
+ > If you want to request access on behalf of another user, select the checkbox **Request for someone else** and populate the email id of that user.
+ :::image type="content" source="./media/how-to-request-access/send.png" alt-text="Screenshot of a data asset's overview page, with the Request access window overlaid. The Send button is highlighted at the bottom of the Request access window."::: > [!NOTE]
purview Microsoft Purview Connector Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/purview/microsoft-purview-connector-overview.md
The table below shows the supported capabilities for each data source. Select th
|**Category**| **Data Store** |**Technical metadata** |**Classification** |**Lineage** | **Access Policy** | **Data Sharing** | ||||||||
-| Azure | [Azure Blob Storage](register-scan-azure-blob-storage-source.md)| [Yes](register-scan-azure-blob-storage-source.md#register) | [Yes](register-scan-azure-blob-storage-source.md#scan)| Limited* | [Yes (Preview)](how-to-data-owner-policies-storage.md) | [Yes](register-scan-azure-blob-storage-source.md#data-sharing)|
+| Azure | [Azure Blob Storage](register-scan-azure-blob-storage-source.md)| [Yes](register-scan-azure-blob-storage-source.md#register) | [Yes](register-scan-azure-blob-storage-source.md#scan)| Limited* | [Yes (Preview)](register-scan-azure-blob-storage-source.md#access-policy) | [Yes](register-scan-azure-blob-storage-source.md#data-sharing)|
|| [Azure Cosmos DB](register-scan-azure-cosmos-database.md)| [Yes](register-scan-azure-cosmos-database.md#register) | [Yes](register-scan-azure-cosmos-database.md#scan)|No*|No| No| || [Azure Data Explorer](register-scan-azure-data-explorer.md)| [Yes](register-scan-azure-data-explorer.md#register) | [Yes](register-scan-azure-data-explorer.md#scan)| No* | No | No| || [Azure Data Factory](how-to-link-azure-data-factory.md) | [Yes](how-to-link-azure-data-factory.md) | No | [Yes](how-to-link-azure-data-factory.md) | No | No| || [Azure Data Lake Storage Gen1](register-scan-adls-gen1.md)| [Yes](register-scan-adls-gen1.md#register) | [Yes](register-scan-adls-gen1.md#scan)| Limited* | No | No|
-|| [Azure Data Lake Storage Gen2](register-scan-adls-gen2.md)| [Yes](register-scan-adls-gen2.md#register) | [Yes](register-scan-adls-gen2.md#scan)| Limited* | [Yes (Preview)](how-to-data-owner-policies-storage.md) | [Yes](register-scan-adls-gen2.md#data-sharing) |
+|| [Azure Data Lake Storage Gen2](register-scan-adls-gen2.md)| [Yes](register-scan-adls-gen2.md#register) | [Yes](register-scan-adls-gen2.md#scan)| Limited* | [Yes (Preview)](register-scan-adls-gen2.md#access-policy) | [Yes](register-scan-adls-gen2.md#data-sharing) |
|| [Azure Data Share](how-to-link-azure-data-share.md) | [Yes](how-to-link-azure-data-share.md) | No | [Yes](how-to-link-azure-data-share.md) | No | No| || [Azure Database for MySQL](register-scan-azure-mysql-database.md) | [Yes](register-scan-azure-mysql-database.md#register) | [Yes](register-scan-azure-mysql-database.md#scan) | No* | No | No | || [Azure Database for PostgreSQL](register-scan-azure-postgresql.md) | [Yes](register-scan-azure-postgresql.md#register) | [Yes](register-scan-azure-postgresql.md#scan) | No* | No | No | || [Azure Dedicated SQL pool (formerly SQL DW)](register-scan-azure-synapse-analytics.md)| [Yes](register-scan-azure-synapse-analytics.md#register) | [Yes](register-scan-azure-synapse-analytics.md#scan)| No* | No | No | || [Azure Files](register-scan-azure-files-storage-source.md)|[Yes](register-scan-azure-files-storage-source.md#register) | [Yes](register-scan-azure-files-storage-source.md#scan) | Limited* | No | No |
-|| [Azure SQL Database](register-scan-azure-sql-database.md)| [Yes](register-scan-azure-sql-database.md#register) |[Yes](register-scan-azure-sql-database.md#scan)| [Yes (Preview)](register-scan-azure-sql-database.md#lineagepreview) | [Yes (Preview)](how-to-data-owner-policies-azure-sql-db.md) | No |
+|| [Azure SQL Database](register-scan-azure-sql-database.md)| [Yes](register-scan-azure-sql-database.md#register) |[Yes](register-scan-azure-sql-database.md#scan)| [Yes (Preview)](register-scan-azure-sql-database.md#lineagepreview) | [Yes (Preview)](register-scan-azure-sql-database.md#access-policy) | No |
|| [Azure SQL Managed Instance](register-scan-azure-sql-managed-instance.md)| [Yes](register-scan-azure-sql-managed-instance.md#scan) | [Yes](register-scan-azure-sql-managed-instance.md#scan) | No* | No | No | || [Azure Synapse Analytics (Workspace)](register-scan-synapse-workspace.md)| [Yes](register-scan-synapse-workspace.md#register) | [Yes](register-scan-synapse-workspace.md#scan)| [Yes - Synapse pipelines](how-to-lineage-azure-synapse-analytics.md)| No| No | |Database| [Amazon RDS](register-scan-amazon-rds.md) | [Yes](register-scan-amazon-rds.md#register-an-amazon-rds-data-source) | [Yes](register-scan-amazon-rds.md#scan-an-amazon-rds-database) | No | No | No |
purview Register Scan Azure Sql Database https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/purview/register-scan-azure-sql-database.md
Scans can be managed or run again on completion
## Access policy
-To create an access policy for Azure Data Lake Storage Gen 2, follow these guides:
+To create an access policy for Azure SQL Database, follow these guides:
* [Single SQL account](./how-to-data-owner-policies-azure-sql-db.md) - This guide will allow you to enable access policies on a single Azure SQL Database account in your subscription.
-* [All sources in a subscription or resource group](./how-to-data-owner-policies-resource-group.md) - This guide will allow you to enable access policies on all enabled and available sources in a resource group, or across an Azure subscription.
+* [All data sources in a subscription or resource group](./how-to-data-owner-policies-resource-group.md) - This guide will allow you to enable access policies on all enabled and available sources in a resource group, or across an Azure subscription.
## Lineage (Preview) <a id="lineagepreview"></a>
sentinel Deployment Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/deployment-overview.md
This article introduces you to the process of deploying the Microsoft Sentinel S
**Microsoft Sentinel Solution for SAP** is a [Microsoft Sentinel solution](../sentinel-solutions.md) that you can use to monitor your SAP systems and detect sophisticated threats throughout the business logic and application layers. The solution includes the following components: - The Microsoft Sentinel for SAP data connector for data ingestion. - Analytics rules and watchlists for threat detection.
+- Functions for easy data access.
- Workbooks for interactive data visualization.
+- Watchlists for customization of the built-in solution parameters.
+
+The solution is free until February 2023, when an additional cost will be added on top of the ingested data. [Learn more about pricing](https://azure.microsoft.com/pricing/offers/microsoft-sentinel-sap-promo/).
The Microsoft Sentinel for SAP data connector is an agent, installed on a VM or a physical server, that collects application logs from across the entire SAP system landscape. It then sends those logs to your Log Analytics workspace in Microsoft Sentinel. You can then use the other content in the Threat Monitoring for SAP solution ΓÇô the analytics rules, workbooks, and watchlists ΓÇô to gain insight into your organization's SAP environment and to detect and respond to security threats.
sentinel Whats New https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/whats-new.md
It's likely that the inclusion of these new event types will result in the inges
### Microsoft Sentinel Solution for SAP is now generally available
-The Microsoft Sentinel Solution for SAP is now generally available (GA). [Learn about billing and offer details](/pricing/offers/microsoft-sentinel-sap-promo/).
+The Microsoft Sentinel Solution for SAP is now generally available (GA). The solution is free until February 2023, when an additional cost will be added on top of the ingested data. [Learn more about pricing](https://azure.microsoft.com/pricing/offers/microsoft-sentinel-sap-promo/).
With previous versions, every solution update would duplicate content, creating new objects alongside the previous version objects. The GA version uses rule and workbook templates, so that for every solution update, you can clearly understand what has changed, using a dedicated wizard. [Learn more about rule templates](manage-analytics-rule-templates.md).
service-bus-messaging Service Bus Samples https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-bus-messaging/service-bus-samples.md
The Service Bus messaging samples demonstrate key features in [Service Bus messa
| azure-messaging-servicebus (latest) | [Code samples](/samples/azure/azure-sdk-for-java/servicebus-samples/) | | azure-servicebus (legacy) | [GitHub location](https://github.com/Azure/azure-service-bus/tree/master/samples/Java) |
+## Spring samples
+| Package | Samples location |
+|||
+| spring-cloud-azure-starter-servicebus-jms | [GitHub location](https://github.com/Azure-Samples/azure-spring-boot-samples/tree/spring-cloud-azure_v4.3.0/servicebus/spring-cloud-azure-starter-servicebus-jms) |
+| spring-cloud-azure-starter-integration-servicebus | [GitHub location](https://github.com/Azure-Samples/azure-spring-boot-samples/tree/spring-cloud-azure_v4.3.0/servicebus/spring-cloud-azure-starter-integration-servicebus) |
+| spring-cloud-azure-stream-binder-servicebus | [GitHub location](https://github.com/Azure-Samples/azure-spring-boot-samples/tree/spring-cloud-azure_v4.3.0/servicebus/spring-cloud-azure-stream-binder-servicebus) |
+ ## Python samples | Package | Samples location | | -- | -- |
synapse-analytics How To Discover Connect Analyze Azure Purview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/synapse-analytics/catalog-and-governance/how-to-discover-connect-analyze-azure-purview.md
Here is a list of the Microsoft Purview features that are available in Synapse:
- View **lineage** to understand dependencies and do impact analysis. For more information about, see [lineage](../../purview/catalog-lineage-user-guide.md) - View and edit **Contacts** to know who is an owner or expert over a dataset - **Related** to understand the hierarchical dependencies of a specific dataset. This experience is helpful to browse through data hierarchy.-
+- Click **Request Access** to request access to the data by triggering the self-service data access workflow configured by Workflow Admin in Microsoft Purview. For more information see [Request access](../../purview/how-to-request-access.md) and [Self-Service data access workflow](../../purview/how-to-workflow-self-service-data-access-hybrid.md).
## Actions that you can perform over datasets with Synapse resources ### Connect data to Synapse
virtual-machines Tutorial Azure Devops Canary Strategy https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-machines/linux/tutorial-azure-devops-canary-strategy.md
Title: Configure canary deployments for Azure Linux Virtual Machines
-description: Learn how to set up a continuous deployment (CD) pipeline. This pipeline updates a group of Azure Linux virtual machines using the canary deployment strategy.
+description: Learn how to set up a classic release pipeline and deploy to Linux virtual machines using the canary deployment strategy.
tags: azure-devops-pipelines
azure-pipelines Previously updated : 4/10/2020 Last updated : 08/11/2022 -
-#Customer intent: As a developer, I want to learn about CI/CD features in Azure so that I can use Azure DevOps services like Azure Pipelines to build and deploy my applications automatically.
# Configure the canary deployment strategy for Azure Linux Virtual Machines
-**Applies to:** :heavy_check_mark: Linux VMs
+**Applies to:** :heavy_check_mark: Linux VMs
-## Infrastructure as a service (IaaS) - Configure CI/CD
+Azure Pipelines provides a fully featured set of CI/CD automation tools for deployments to virtual machines. This article will show you how to set up a classic release pipeline that uses the canary strategy to deploy web applications to Linux virtual machines.
-Azure Pipelines provides a fully featured set of CI/CD automation tools for deployments to virtual machines. You can configure a continuous-delivery pipeline for an Azure VM from the Azure portal.
+## Canary deployments
-This article shows how to set up a CI/CD pipeline that uses the canary strategy for multimachine deployments. The Azure portal also supports other strategies like [rolling](./tutorial-devops-azure-pipelines-classic.md) and [blue-green](./tutorial-azure-devops-blue-green-strategy.md).
+A canary deployment reduces risk by slowly rolling out changes to a small subset of users. As you gain confidence in the new version, you can release it to more servers in your infrastructure and route more users to it.
-### Configure CI/CD on virtual machines
+Using the **Continuous-delivery** feature, you can use the canary strategy to deploy your application from Azure portal.
-You can add virtual machines as targets to a [deployment group](/azure/devops/pipelines/release/deployment-groups). You can then target them for multimachine updates. After you deploy to machines, view **Deployment History** within a deployment group. This view lets you trace from VM to the pipeline and then to the commit.
+1. Sign in to [Azure portal](https://portal.azure.com/) and navigate to a virtual machine.
-### Canary deployments
+1. Select **Continuous delivery**, and then select **Configure**.
-A canary deployment reduces risk by slowly rolling out changes to a small subset of users. As you gain confidence in the new version, you can release it to more servers in your infrastructure and route more users to it.
+ :::image type="content" source="media/tutorial-devops-azure-pipelines-classic/azure-devops-configure.png" alt-text="A screenshot showing how to navigate to continuous delivery in your VM settings.":::
-Using the continuous-delivery option, you can configure canary deployments to your virtual machines from the Azure portal. Here is the step-by-step walk-through:
+1. In the configuration panel, select **Use existing** and select your organization/project or select **Create** and create new ones.
-1. Sign in to the Azure portal and navigate to a virtual machine.
-1. In the leftmost pane of the VM settings, select **Continuous delivery**. Then select **Configure**.
+1. Select your **Deployment group name** from the dropdown menu or create a new one.
- ![The Continuous delivery pane with the Configure button](media/tutorial-devops-azure-pipelines-classic/azure-devops-configure.png)
+1. Select your **Build pipeline** from the dropdown menu.
-1. In the configuration panel, select **Azure DevOps Organization** to choose an existing account or create a new one. Then select the project under which you want to configure the pipeline.
+1. Select **Deployment strategy**, and then select **Canary**.
- ![The Continuous delivery panel](media/tutorial-devops-azure-pipelines-classic/azure-devops-rolling.png)
+ :::image type="content" source="media/tutorial-devops-azure-pipelines-classic/azure-devops-rolling.png" alt-text="A screenshot showing how to configure the canary deployment strategy.":::
-1. A deployment group is a logical set of deployment target machines that represent the physical environments. Dev, Test, UAT, and Production are examples. You can create a new deployment group or select an existing one.
-1. Select the build pipeline that publishes the package to be deployed to the virtual machine. The published package should have a deployment script named deploy.ps1 or deploy.sh in the deployscripts folder in the package's root folder. The pipeline runs this deployment script.
-1. In **Deployment strategy**, select **Canary**.
-1. Add a "canary" tag to VMs that are to be part of canary deployments. Add a "prod" tag to VMs that are part of deployments made after canary deployment succeeds. Tags help you target only VMs that have a specific role.
+1. Add a "canary" tag to the VMs that will be used in the canary deployment.
- ![The Continuous delivery panel, with the Deployment strategy value Canary chosen](media/tutorial-devops-azure-pipelines-classic/azure-devops-configure-canary.png)
+ :::image type="content" source="media/tutorial-devops-azure-pipelines-classic/azure-devops-configure-canary.png" alt-text="A screenshot showing how to add canary tag.":::
-1. Select **OK** to configure the continuous-delivery pipeline to deploy to the virtual machine.
+1. Select **OK** to configure the classic release pipeline to deploy to your virtual machine.
- ![The canary pipeline](media/tutorial-devops-azure-pipelines-classic/azure-devops-canary-pipeline.png)
+ :::image type="content" source="media/tutorial-devops-azure-pipelines-classic/azure-devops-canary-pipeline.png" alt-text="A screenshot showing a classic release pipeline.":::
-1. The deployment details for the virtual machine are displayed. You can select the link to go to the release pipeline in Azure DevOps. In the release pipeline, select **Edit** to view the pipeline configuration. The pipeline has these three phases:
+1. Navigate to your release pipeline and then select **Edit** to view the pipeline configuration. In this example, the *dev* stage is composed of three jobs:
- 1. This phase is a deployment-group phase. Applications are deployed to VMs that are tagged as "canary".
- 1. In this phase, the pipeline pauses and waits for manual intervention to resume the run.
- 1. This is again a deployment group phase. The update is now deployed to VMs tagged as "prod".
+ 1. Deploy Canary: the application is deployed to VMs with a "canary" tag.
+ 1. Wait for manual resumption: the pipeline pauses and waits for manual intervention. Before resuming the pipeline, ensure that at least one VM is tagged "prod". In the next phase, the app will be deployed only to "prod" VMs.
+ 1. Deploy Prod: the application is deployed to VMs with a "prod" tag.
- ![The Deployment group pane for the Deploy Canary task](media/tutorial-devops-azure-pipelines-classic/azure-devops-canary-task.png)
+ :::image type="content" source="media/tutorial-devops-azure-pipelines-classic/azure-devops-canary-task.png" alt-text="A screenshot showing release pipeline jobs.":::
-1. Before resuming the pipeline run, ensure that at least one VM is tagged as "prod". In the third phase of the pipeline, applications are deployed to only those VMs that have the "prod" tag.
+## Resources
-1. The Execute Deploy Script task by default runs the deployment script deploy.ps1 or deploy.sh. The script is in the deployscripts folder in the root folder of the published package. Ensure that the selected build pipeline publishes the deployment in the root folder of the package.
+- [Deploy to Azure virtual machines with Azure DevOps](../../devops-project/azure-devops-project-vms.md)
+- [Deploy to an Azure virtual machine scale set](/azure/devops/pipelines/apps/cd/azure/deploy-azure-scaleset)
- ![The Artifacts pane showing deploy.sh in the deployscripts folder](media/tutorial-deployment-strategy/package.png)
+## Related articles
-## Other deployment strategies
- [Configure the rolling deployment strategy](./tutorial-devops-azure-pipelines-classic.md) - [Configure the blue-green deployment strategy](./tutorial-azure-devops-blue-green-strategy.md)-
-## Azure DevOps Projects
-
-You can get started with Azure easily. With Azure DevOps Projects, start running your application on any Azure service in just three steps by selecting:
--- An application language-- A runtime-- An Azure service-
-[Learn more](https://azure.microsoft.com/features/devops-projects/).
-
-## Additional resources
--- [Deploy to Azure virtual machines by using Azure DevOps Projects](../../devops-project/azure-devops-project-vms.md)-- [Implement continuous deployment of your app to an Azure virtual machine scale set](/azure/devops/pipelines/apps/cd/azure/deploy-azure-scaleset)
virtual-machines Automation Configure Control Plane https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-machines/workloads/sap/automation-configure-control-plane.md
The table below defines the parameters used for defining the Virtual Machine aut
The table below defines the parameters used for defining the Key Vault information > [!div class="mx-tdCol2BreakAll "]
-> | Variable | Description | Type |
-> | | | - |
-> | `user_keyvault_id` | Azure resource identifier for the user key vault | Optional |
-> | `spn_keyvault_id` | Azure resource identifier for the user key vault containing the SPN details | Optional |
-> | `deployer_private_key_secret_name` | The Azure Key Vault secret name for the deployer private key | Optional |
-> | `deployer_public_key_secret_name` | The Azure Key Vault secret name for the deployer public key | Optional |
-> | `deployer_username_secret_name` | The Azure Key Vault secret name for the deployer username | Optional |
-> | `deployer_password_secret_name` | The Azure Key Vault secret name for the deployer password | Optional |
+> | Variable | Description | Type |
+> | | | - |
+> | `user_keyvault_id` | Azure resource identifier for the user key vault | Optional |
+> | `spn_keyvault_id` | Azure resource identifier for the user key vault containing the SPN details | Optional |
+> | `deployer_private_key_secret_name` | The Azure Key Vault secret name for the deployer private key | Optional |
+> | `deployer_public_key_secret_name` | The Azure Key Vault secret name for the deployer public key | Optional |
+> | `deployer_username_secret_name` | The Azure Key Vault secret name for the deployer username | Optional |
+> | `deployer_password_secret_name` | The Azure Key Vault secret name for the deployer password | Optional |
+> | `additional_users_to_add_to_keyvault_policies` | A list of user object IDs to add to the deployment KeyVault access policies | Optional |
+ ### Other parameters
virtual-machines Automation Configure Devops https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-machines/workloads/sap/automation-configure-devops.md
When prompted enter the application pool name, you created in the previous step.
The agent will now be configured and started.
-## Deploy the web app
+## Deploy the Control Plane Web Application
Checking the "deploy the web app infrastructure" parameter when running the Control plane deployment pipeline will provision the infrastructure necessary for hosting the web app. The "Deploy web app" pipeline will publish the application's software to that infrastructure.
virtual-machines Automation Configure System https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-machines/workloads/sap/automation-configure-system.md
The table below contains the parameters that define the environment settings.
> [!div class="mx-tdCol2BreakAll "]
-> | Variable | Description | Type | Notes |
-> | -- | -- | - | - |
-> | `environment` | Identifier for the workload zone (max 5 chars) | Mandatory | For example, `PROD` for a production environment and `NP` for a non-production environment. |
-> | `location` | The Azure region in which to deploy. | Required | |
-> | `custom_prefix` | Specifies the custom prefix used in the resource naming | Optional | |
-> | `use_prefix` | Controls if the resource naming includes the prefix | Optional | DEV-WEEU-SAP01-X00_xxxx |
-> | 'name_override_file' | Name override file | Optional | see [Custom naming](automation-naming-module.md) |
+> | Variable | Description | Type | Notes |
+> | | -- | - | - |
+> | `environment` | Identifier for the workload zone (max 5 chars) | Mandatory | For example, `PROD` for a production environment and `NP` for a non-production environment. |
+> | `location` | The Azure region in which to deploy. | Required | |
+> | `custom_prefix` | Specifies the custom prefix used in the resource naming | Optional | |
+> | `use_prefix` | Controls if the resource naming includes the prefix | Optional | DEV-WEEU-SAP01-X00_xxxx |
+> | 'name_override_file' | Name override file | Optional | see [Custom naming](automation-naming-module.md) |
+> | 'save_naming_information | Create a sample naming json file | Optional | see [Custom naming](automation-naming-module.md) |
## Resource group parameters
virtual-machines Automation Configure Workload Zone https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-machines/workloads/sap/automation-configure-workload-zone.md
description: Overview of the SAP workload zone configuration process within the
Previously updated : 11/17/2021 Last updated : 08/13/2022
automation_username = "azureadm"
The table below defines the parameters used for defining the Key Vault information > [!div class="mx-tdCol2BreakAll "]
-> | Variable | Description | Type | Notes |
-> | -- | | | -- |
-> | `user_keyvault_id` | Azure resource identifier for existing system credentials key vault | Optional | |
-> | `spn_keyvault_id` | Azure resource identifier for existing deployment credentials (SPNs) key vault | Optional | |
-> | `enable_purge_control_for_keyvaults | Disables the purge protection for Azure key vaults. | Optional | Only use this for test environments |
+> | Variable | Description | Type | Notes |
+> | | | | -- |
+> | `user_keyvault_id` | Azure resource identifier for existing system credentials key vault | Optional | |
+> | `spn_keyvault_id` | Azure resource identifier for existing deployment credentials (SPNs) key vault | Optional | |
+> | `enable_purge_control_for_keyvaults` | Disables the purge protection for Azure key vaults. | Optional | Only use this for test environments |
+> | `additional_users_to_add_to_keyvault_policies` | A list of user object IDs to add to the deployment KeyVault access policies | Optional | |
## Private DNS
ANF_service_level = "Ultra"
## Terraform Parameters
-The table below contains the Terraform parameters. These parameters need to be entered manually if not using the deployment scripts.
+The table below contains the Terraform parameters. These parameters need to be entered manually if not using the deployment scripts.
| Variable | Description | Type |
The table below contains the Terraform parameters. These parameters need to be
## Next Step > [!div class="nextstepaction"]
-> [About SAP system deployment in automation framework](automation-deploy-workload-zone.md)
+> [About SAP system deployment in automation framework](automation-deploy-workload-zone.md)
virtual-machines Automation Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-machines/workloads/sap/automation-tutorial.md
# Enterprise Scale for SAP deployment automation framework - Hands-on Lab
-This tutorial shows how to do enterprise scaling for deployments using the [SAP deployment automation framework on Azure](automation-deployment-framework.md). This example uses Azure Cloud Shell to deploy the control plane infrastructure. The deployer virtual machine (VM) creates the remaining infrastructure and SAP HANA configurations.
+This tutorial shows how to do enterprise scaling for deployments using the [SAP deployment automation framework on Azure](automation-deployment-framework.md). This example uses Azure Cloud Shell to deploy the control plane infrastructure. The deployer virtual machine (VM) creates the remaining infrastructure and SAP HANA configurations.
You'll perform the following tasks during this lab:
A valid SAP user account (SAP-User or S-User account) with software download pri
az login ```
- > [!NOTE]
+ > [!NOTE]
> Authenticate your login. Don't close the window until you're prompted.
A valid SAP user account (SAP-User or S-User account) with software download pri
``` 1. If necessary, change your active subscription.
-
+ ```cloudshell-interactive az account set --subscription <Subscription ID> ```
A valid SAP user account (SAP-User or S-User account) with software download pri
1. Optionally remove all the deployment artifacts. Use when you want to remove all remnants of previous deployment artifacts. ```cloudshell-interactive
-
+ cd ~ rm -rf Azure_SAP_Automated_Deployment .sap_deployment_automation .terraform.d
A valid SAP user account (SAP-User or S-User account) with software download pri
The SAP automation deployment framework uses service principals for deployment. Create a service principal for your control plane deployment as follows. Make sure to use an account with permissions to create service principals.
-> [!NOTE]
+> [!NOTE]
> When choosing the name for your service principal, ensure that the name is unique within your Azure tenant.
The SAP automation deployment framework uses service principals for deployment.
| `spn_secret` | `password` | | `tenant_id` | `tenant` |
-3. Assign the **User Access Administrator** role to the service principal.
+3. Optionally assign the **User Access Administrator** role to the service principal.
```cloudshell-interactive export appId="<appId>"
The SAP automation deployment framework uses service principals for deployment.
--scope /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName} ```
+> [!NOTE]
+> If you do not assign the User Access Adminstrator role to the Service Principal you will not be able to assign permissions using the automation.
## View configuration files
The SAP automation deployment framework uses service principals for deployment.
cp -Rp ./sap-automation/training-materials/WORKSPACES . ```
-2. Open VS Code from Cloud Shell
+2. Open VS Code from Cloud Shell
```cloudshell-interactive code . ```
- > [!NOTE]
+ > [!NOTE]
> Does not work in the Safari browser.
The SAP automation deployment framework uses service principals for deployment.
## Deploy control plane Use the [prepare_region](bash/automation-prepare-region.md) script to deploy the Deployer and Library. These deployment pieces make up the
-control plane for a chosen automation area.
+control plane for a chosen automation area.
- The deployment goes through cycles of deploying the infrastructure, refreshing the state, and uploading the Terraform state files to the Library storage account. All of these steps are packaged into a single deployment script. The script needs the location of the configuration file for the Deployer and Library, and some other parameters as follows.
The sample SAP Library configuration file `MGMT-NOEU-SAP_LIBRARY.tfvars` is in t
```
-1. Go to the [Azure portal](https://portal.azure.com).
+1. Go to the [Azure portal](https://portal.azure.com).
Select **Resource groups**. Look for new resource groups for the deployer infrastructure and library. For example, `MGMT-[region]-DEP00-INFRASTRUCTURE` and `MGMT-[region]-SAP_LIBRARY`. The contents of the Deployer and SAP Library resource group are shown below. :::image type="content" source="media/automation-tutorial/deployer-resource-group.png" alt-text="Deployer resources":::
-
+ :::image type="content" source="media/automation-tutorial/sap-library-resource-group.png" alt-text="Library resources"::: The Terraform state file is now placed in the storage account whose name contains 'tfstate'. The storage account has a container named 'tfstate' with the deployer and library state files. The contents of the 'tfstate' container after a successful control plane deployment can be seen below.
-
+ :::image type="content" source="media/automation-tutorial/terraform-state-files.png" alt-text="Control plane tfstate files"::: ### Common issues and solutions - If you get the following error for the deployer module creation, make sure that you're in the **WORKSPACES** directory when you run the script:
-
+ ```text Incorrect parameter file. The file must contain the environment attribute!! ``` - The following error is transient. Rerun the same command, `prepare_region.sh`.
-
+ ```text Error: file provisioner error ..
Make sure you can connect to your deployer VM:
1. On the secret's page, select the current version. Then, copy the **Secret value**.
-1. Open a plain text editor. Copy in the secret value.
-
-1. Save the file where you keep SSH keys. For example, `C:\\Users\\<your-username>\\.ssh`.
-
+1. Open a plain text editor. Copy in the secret value.
+
+1. Save the file where you keep SSH keys. For example, `C:\\Users\\<your-username>\\.ssh`.
+ 1. Save the file. If you're prompted to **Save as type**, select **All files** if **SSH** isn't an option. For example, use `deployer.ssh`. 1. Connect to the deployer VM through any SSH client such as VSCode. Use the public IP address you noted earlier, and the SSH key you downloaded. For instructions on how to connect to the Deployer using VSCode see [Connecting to Deployer using VSCode](automation-tools-configuration.md#configuring-visual-studio-code). If you're using PuTTY, convert the SSH key file first using PuTTYGen.
-> [!NOTE]
+> [!NOTE]
>The default username is *azureadm* - Once connected to the deployer VM, you can now download the SAP software using the Bill of Materials (BOM).
Connect to the deployer by following these steps:
1. The default username is *azureadm*
-1. Choose *SSH Private Key from Azure Key Vault*
+1. Choose *SSH Private Key from Azure Key Vault*
1. Select the subscription containing the control plane.
The script will install Terraform and Ansible and configure the deployer.
The Automation Framework gives you tools to download software from SAP using the SAP Bill Of Materials (BOM). The software will be downloaded to the SAP library, which acts as the archive for all media required to deploy SAP.
-The SAP Bill of Materials (BOM) mimics the SAP maintenance planner. There are relevant product identifiers and a set of download URLs.
+The SAP Bill of Materials (BOM) mimics the SAP maintenance planner. There are relevant product identifiers and a set of download URLs.
A sample extract of a BOM file looks like:
For this example configuration, the resource group is `MGMT-NOEU-DEP00-INFRASTRU
``` 1. Check the version number of the S/4 1909 SPS03 BOM for the active version.
-
+ Record the results. ```bash
For this example configuration, the resource group is `MGMT-NOEU-DEP00-INFRASTRU
vi sap-parameters.yaml ```
-
+ 1. Update the `bom_base_name` with the name BOM previously identified.
-
+ Your file should look similar to the following example configuration: ```yaml
For this example configuration, the resource group is `MGMT-NOEU-DEP00-INFRASTRU
bom_base_name: S41909SPS03_v0010ms ```
-
+ 1. Replace `<Deployer KeyVault Name>` with the name of the deployer resource group Azure key vault
-
+ Your file should look similar to the following example configuration: ```yaml bom_base_name: S41909SPS03_v0010ms
- kv_name: <Deployer KeyVault Name>
+ kv_name: <Deployer KeyVault Name>
```
-
+ 1. Ensure `check_storage_account` is present and set to `false`. This value controls if the SAP Library will be checked for the file before downloading it from SAP.
-
+ Your file should look similar to the following example configuration: ```yaml bom_base_name: S41909SPS03_v0010
- kv_name: <Deployer KeyVault Name>
+ kv_name: <Deployer KeyVault Name>
check_storage_account: false ```
-
+ 1. Execute the Ansible playbooks. One way you can execute the playbooks is to use the Downloader menu. Run the download_menu script.
-
+ ```bash ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/download_menu.sh ```
-
+ 1. Select which playbooks to execute.
-
+ ```bash 1) BoM Downloader 3) Quit
For this example configuration, the resource group is `MGMT-NOEU-DEP00-INFRASTRU
``` Select the playbook `1) BOM Downloader` to download the SAP Software described in the BOM file into the storage account. Check that the `sapbits` container has all your media for installation.
-
+ ## Collect workload zone information 1. Collect the following information in a text editor:
For this example configuration, the resource group is `MGMT-NOEU-DEP00-INFRASTRU
1. Connect to your deployer VM for the following steps. A copy of the repo is now there.
-1. Go to the **sap-automation** folder and optionally refresh the repository.
-
+1. Go to the **sap-automation** folder and optionally refresh the repository.
+ ```bash cd ~/Azure_SAP_Automated_Deployment/sap-automation/
For this example configuration, the resource group is `MGMT-NOEU-DEP00-INFRASTRU
## Deploy the Workload Zone
-Use the [install_workloadzone](bash/automation-install_workloadzone.md) script to deploy the SAP workload zone.
+Use the [install_workloadzone](bash/automation-install_workloadzone.md) script to deploy the SAP workload zone.
1. On the deployer VM, navigate to the `Azure_SAP_Automated_Deployment` folder.
-
+ ```bash cd ~/Azure_SAP_Automated_Deployment/WORKSPACES/LANDSCAPE/DEV-XXXX-SAP01-INFRASTRUCTURE ```
Use the [install_workloadzone](bash/automation-install_workloadzone.md) script t
```bash cd ~/Azure_SAP_Automated_Deployment/WORKSPACES/LANDSCAPE/DEV-NOEU-SAP01-INFRASTRUCTURE ```
-
+ 1. **Optionally** Open the workload zone configuration file and if needed change the network logical name to match the network name. 1. Start deployment of the workload zone:
Use the [install_workloadzone](bash/automation-install_workloadzone.md) script t
## Deploy SAP system infrastructure Once the Workload zone is complete, you can deploy the SAP system infrastructure resources. The SAP system creates your VMs and supporting components for your SAP application.
-Use the [installer.sh](bash/automation-installer.md) script to deploy the SAP system.
+Use the [installer.sh](bash/automation-installer.md) script to deploy the SAP system.
The SAP system deploys:
The SAP system deploys:
--type sap_system \ --auto-approve ```
-
+ The deployment command for the `northeurope` example will look like: ```bash
The SAP system deploys:
## SAP application installation
-The SAP application installation happens through Ansible playbooks.
+The SAP application installation happens through Ansible playbooks.
Navigate to the system deployment folder:
cd ~/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/DEV-NOEU-SAP01-X00/
Make sure you have the following files in the current folder: `sap-parameters.yaml` and `SID_host.yaml`.
-For a standalone SAP S/4HANA system, there are eight playbooks to execute in sequence. One way you can execute the playbooks is to use the Configuration menu.
+For a standalone SAP S/4HANA system, there are eight playbooks to execute in sequence. One way you can execute the playbooks is to use the Configuration menu.
Run the configuration_menu script.
-
+ ```bash ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/configuration_menu.sh ```
This playbook does the SAP OS configuration setup on all the machines. The steps
### Playbook: BOM Processing
-This playbook downloads the SAP software to the SCS virtual machine.
-
+This playbook downloads the SAP software to the SCS virtual machine.
+ ### Playbook: HANA DB Install This playbook will install the HANA database instances. ### Playbook: SCS Install
-
+ This playbook will install SAP Central Services. For highly available configurations, the playbook will also install the SAP ERS instance and configure Pacemaker. ### Playbook: DB Load
This playbook will invoke the database load task from the primary application se
### Playbook: PAS Install This playbook will install the primary application server.
-
+ ### Playbook: APP Install This playbook will install the application servers.
Before you begin, sign in your Azure account. Then, check that you're in the cor
### Remove SAP infrastructure Navigate to the `DEV-NOEU-SAP01-X00` subfolder inside the `SYSTEM` folder. Then, run this command:
-
+ ```bash export sap_env_code="DEV" export region_code="NOEU"
${DEPLOYMENT_REPO_PATH}/deploy/scripts/remover.sh
Sign in to [Cloud Shell](https://shell.azure.com). Go to the `WORKSPACES` folder.
-
+ ```bash cd ~/Azure_SAP_Automated_Deployment/WORKSPACES/ ```
export region_code="NOEU"
${DEPLOYMENT_REPO_PATH}/deploy/scripts/remove_region.sh \ --deployer_parameter_file DEPLOYER/MGMT-${region_code}-DEP00-INFRASTRUCTURE/MGMT-${region_code}-DEP00-INFRASTRUCTURE.tfvars \
- --library_parameter_file LIBRARY/MGMT-${region_code}-SAP_LIBRARY/MGMT-${region_code}-SAP_LIBRARY.tfvars
+ --library_parameter_file LIBRARY/MGMT-${region_code}-SAP_LIBRARY/MGMT-${region_code}-SAP_LIBRARY.tfvars
``` Verify that all resources are cleaned up.
virtual-machines Create Network Azure Monitor Sap Solutions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-machines/workloads/sap/create-network-azure-monitor-sap-solutions.md
You can use this option after you've deployed an AMS resource.
| **Priority** | **Name** | **Port** | **Protocol** | **Source** | **Destination** | **Action** | |--|--|-|--||-||
-| 450 | allow_monitor | 443 | TCP | | Azure Monitor | Allow |
-| 501 | allow_keyVault | 443 | TCP | | Azure Key Vault | Allow |
-| 550 | allow_storage | 443 | TCP | | Storage | Allow |
-| 600 | allow_azure_controlplane | 443 | Any | | Azure Resource Manager | Allow |
+| 450 | allow_monitor | 443 | TCP | Azure Function subnet | Azure Monitor | Allow |
+| 501 | allow_keyVault | 443 | TCP | Azure Function subnet | Azure Key Vault | Allow |
+| 550 | allow_storage | 443 | TCP | Azure Function subnet | Storage | Allow |
+| 600 | allow_azure_controlplane | 443 | Any | Azure Function subnet | Azure Resource Manager | Allow |
+| 650 | allow_ams_to_source_system | Any | Any | Azure Function subnet | Virtual Network or comma seperated IP addresses of the source system. | Allow |
| 660 | deny_internet | Any | Any | Any | Internet | Deny |
virtual-network-manager Concept Security Admins https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-network-manager/concept-security-admins.md
Based on the industry study and suggestions from Microsoft, below is what we rec
| 5900| TCP | VNC Remote Frame Buffer over HTTP | | 11211 | UDP | Memcached |
-Learn how to block
## Security admin rules vs. NSGs Security admin rules are similar to NSG rules in structure and the parameters they intake, but as weΓÇÖve explored so far, theyΓÇÖre not the exact same construct. The first difference is intended audience ΓÇô admin rules are intended to be used by network admins of a central governance team, thereby delegating NSG rules to individual application or service teams to further specify security as needed. With these intentions, admin rules were designed to have a higher priority than NSGs and therefore be evaluated before NSG rules. Admin rules also include another action type of ΓÇ£Always AllowΓÇ¥, which allows the specified traffic through to its intended destination and terminates further (and possibly conflicting) evaluation by NSGs rules. Admin rules are also applied not only to a network groupΓÇÖs existing VNets but also to newly provisioned resources, as described in the previous section. Admin rules are currently applied at the VNet level, whereas NSGs can be associated at the subnet and NIC level. The table below shows these differences and similarities:
virtual-network-manager How To Block High Risk Ports https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-network-manager/how-to-block-high-risk-ports.md
In this article, you'll learn to block high risk network ports using [Azure Virtual Network Manager](overview.md) and Security Admin Rules. You'll walk through the creation of an Azure Virtual Network Manager instance, group your virtual networks (VNets) with [network groups](concept-network-groups.md), and create & deploy security admin configurations for your organization. You'll deploy a general block rule for high risk ports. Then you'll create an exception for managing a specific application's VNet. This allows you to manage access to the application VNets using network security groups.
+While this article focuses on a single port, SSH, you can use protect any high-risk ports in your environment with the same steps. To learn more, review this list of [high risk ports](concept-security-admins.md#protect-high-risk-ports)
+ > [!IMPORTANT] > Azure Virtual Network Manager is currently in public preview. > This preview version is provided without a service level agreement, and it's not recommended for production workloads. Certain features might not be supported or might have constrained capabilities.
virtual-network Create Vm Dual Stack Ipv6 Powershell https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-network/ip-services/create-vm-dual-stack-ipv6-powershell.md
+
+ Title: Create an Azure virtual machine with a dual-stack network - PowerShell
+
+description: In this article, learn how to use PowerShell to create a virtual machine with a dual-stack virtual network in Azure.
+++++ Last updated : 08/15/2022+++
+# Create an Azure Virtual Machine with a dual-stack network using PowerShell
+
+In this article, you'll create a virtual machine in Azure with PowerShell. The virtual machine is created along with the dual-stack network as part of the procedures. When completed, the virtual machine supports IPv4 and IPv6 communication.
+
+## Prerequisites
+
+- An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
+- Azure PowerShell installed locally or Azure Cloud Shell.
+- Sign in to Azure PowerShell and ensure you've selected the subscription with which you want to use this feature. For more information, see [Sign in with Azure PowerShell](/powershell/azure/authenticate-azureps).
+- Ensure your Az. Network module is 4.3.0 or later. To verify the installed module, use the command Get-InstalledModule -Name "Az.Network". If the module requires an update, use the command Update-Module -Name "Az. Network" if necessary.
+
+If you choose to install and use PowerShell locally, this article requires the Azure PowerShell module version 5.4.1 or later. Run `Get-Module -ListAvailable Az` to find the installed version. If you need to upgrade, see [Install Azure PowerShell module](/powershell/azure/install-Az-ps). If you're running PowerShell locally, you also need to run `Connect-AzAccount` to create a connection with Azure.
+
+## Create a resource group
+
+An Azure resource group is a logical container into which Azure resources are deployed and managed.
+
+Create a resource group with [New-AzResourceGroup](/powershell/module/az.resources/new-azresourcegroup) named **myResourceGroup** in the **eastus2** location.
+
+```azurepowershell-interactive
+$rg =@{
+ Name = 'myResourceGroup'
+ Location = 'eastus2'
+}
+New-AzResourceGroup @rg
+```
+
+## Create a virtual network
+
+In this section, you'll create a dual-stack virtual network for the virtual machine.
+
+Use [New-AzVirtualNetwork](/powershell/module/az.network/new-azvirtualnetwork) and [New-AzVirtualNetworkSubnetConfig](/powershell/module/az.network/new-azvirtualnetworksubnetconfig) to create a virtual network.
+
+```azurepowershell-interactive
+## Create backend subnet config ##
+$subnet = @{
+ Name = 'myBackendSubnet'
+ AddressPrefix = '10.0.0.0/24','2404:f800:8000:122::/64'
+}
+$subnetConfig = New-AzVirtualNetworkSubnetConfig @subnet
+
+## Create the virtual network ##
+$net = @{
+ Name = 'myVNet'
+ ResourceGroupName = 'myResourceGroup'
+ Location = 'eastus2'
+ AddressPrefix = '10.0.0.0/16','2404:f800:8000:122::/63'
+ Subnet = $subnetConfig
+}
+New-AzVirtualNetwork @net
+
+```
+
+## Create public IP addresses
+
+You'll create two public IP addresses in this section, IPv4 and IPv6.
+
+Use [New-AzPublicIpAddress](/powershell/module/az.network/new-azpublicipaddress) to create the public IP addresses.
+
+```azurepowershell-interactive
+$ip4 = @{
+ Name = 'myPublicIP-IPv4'
+ ResourceGroupName = 'myResourceGroup'
+ Location = 'eastus2'
+ Sku = 'Standard'
+ AllocationMethod = 'Static'
+ IpAddressVersion = 'IPv4'
+ Zone = 1,2,3
+}
+New-AzPublicIpAddress @ip4
+
+$ip6 = @{
+ Name = 'myPublicIP-IPv6'
+ ResourceGroupName = 'myResourceGroup'
+ Location = 'eastus2'
+ Sku = 'Standard'
+ AllocationMethod = 'Static'
+ IpAddressVersion = 'IPv6'
+ Zone = 1,2,3
+}
+New-AzPublicIpAddress @ip6
+```
+## Create a network security group
+
+In this section, you'll create a network security group for the virtual machine and virtual network.
+
+Use [New-AzNetworkSecurityGroup](/powershell/module/az.network/new-aznetworksecuritygroup) and [New-AzNetworkSecurityRuleConfig](/powershell/module/az.network/new-aznetworksecurityruleconfig) to create the network security group and rules.
+
+```azurepowershell-interactive
+## Create rule for network security group and place in variable. ##
+$nsgrule1 = @{
+ Name = 'myNSGRuleSSH'
+ Description = 'Allow SSH'
+ Protocol = '*'
+ SourcePortRange = '*'
+ DestinationPortRange = '22'
+ SourceAddressPrefix = 'Internet'
+ DestinationAddressPrefix = '*'
+ Access = 'Allow'
+ Priority = '200'
+ Direction = 'Inbound'
+}
+$rule1 = New-AzNetworkSecurityRuleConfig @nsgrule1
+
+$nsgrule2 = @{
+ Name = 'myNSGRuleAllOUT'
+ Description = 'Allow All out'
+ Protocol = '*'
+ SourcePortRange = '*'
+ DestinationPortRange = '*'
+ SourceAddressPrefix = 'Internet'
+ DestinationAddressPrefix = '*'
+ Access = 'Allow'
+ Priority = '201'
+ Direction = 'Outbound'
+}
+$rule2 = New-AzNetworkSecurityRuleConfig @nsgrule2
+
+## Create network security group ##
+$nsg = @{
+ Name = 'myNSG'
+ ResourceGroupName = 'myResourceGroup'
+ Location = 'eastus2'
+ SecurityRules = $rule1,$rule2
+}
+New-AzNetworkSecurityGroup @nsg
+```
+
+## Create virtual machine
+
+In this section, you'll create the virtual machine and its supporting resources.
+
+### Create network interface
+
+You'll use [New-AzNetworkInterface](/powershell/module/az.network/new-aznetworkinterface) and [New-AzNetworkInterfaceIpConfig](/powershell/module/az.network/new-aznetworkinterfaceipconfig) to create the network interface for the virtual machine. The public IP addresses and the NSG created previously are associated with the NIC. The network interface is attached to the virtual network you created previously.
+
+```azurepowershell-interactive
+## Place the virtual network into a variable. ##
+$net = @{
+ Name = 'myVNet'
+ ResourceGroupName = 'myResourceGroup'
+}
+$vnet = Get-AzVirtualNetwork @net
+
+## Place the network security group into a variable. ##
+$ns = @{
+ Name = 'myNSG'
+ ResourceGroupName = 'myResourceGroup'
+}
+$nsg = Get-AzNetworkSecurityGroup @ns
+
+## Place the IPv4 public IP address into a variable. ##
+$pub4 = @{
+ Name = 'myPublicIP-IPv4'
+ ResourceGroupName = 'myResourceGroup'
+}
+$pubIPv4 = Get-AzPublicIPAddress @pub4
+
+## Place the IPv6 public IP address into a variable. ##
+$pub6 = @{
+ Name = 'myPublicIP-IPv6'
+ ResourceGroupName = 'myResourceGroup'
+}
+$pubIPv6 = Get-AzPublicIPAddress @pub6
+
+## Create IPv4 configuration for NIC. ##
+$IP4c = @{
+ Name = 'ipconfig-ipv4'
+ Subnet = $vnet.Subnets[0]
+ PrivateIpAddressVersion = 'IPv4'
+ PublicIPAddress = $pubIPv4
+}
+$IPv4Config = New-AzNetworkInterfaceIpConfig @IP4c
+
+## Create IPv6 configuration for NIC. ##
+$IP6c = @{
+ Name = 'ipconfig-ipv6'
+ Subnet = $vnet.Subnets[0]
+ PrivateIpAddressVersion = 'IPv6'
+ PublicIPAddress = $pubIPv6
+}
+$IPv6Config = New-AzNetworkInterfaceIpConfig @IP6c
+
+## Command to create network interface for VM ##
+$nic = @{
+ Name = 'myNIC1'
+ ResourceGroupName = 'myResourceGroup'
+ Location = 'eastus2'
+ NetworkSecurityGroup = $nsg
+ IpConfiguration = $IPv4Config,$IPv6Config
+}
+New-AzNetworkInterface @nic
+```
+
+### Create virtual machine
+
+Use the following commands to create the virtual machine:
+
+* [New-AzVM](/powershell/module/az.compute/new-azvm)
+
+* [New-AzVMConfig](/powershell/module/az.compute/new-azvmconfig)
+
+* [Set-AzVMOperatingSystem](/powershell/module/az.compute/set-azvmoperatingsystem)
+
+* [Set-AzVMSourceImage](/powershell/module/az.compute/set-azvmsourceimage)
+
+* [Add-AzVMNetworkInterface](/powershell/module/az.compute/add-azvmnetworkinterface)
+
+```azurepowershell-interactive
+$cred = Get-Credential
+
+## Place network interface into a variable. ##
+$nic = @{
+ Name = 'myNIC1'
+ ResourceGroupName = 'myResourceGroup'
+}
+$nicVM = Get-AzNetworkInterface @nic
+
+## Create a virtual machine configuration for VMs ##
+$vmsz = @{
+ VMName = 'myVM'
+ VMSize = 'Standard_DS1_v2'
+}
+$vmos = @{
+ ComputerName = 'myVM'
+ Credential = $cred
+}
+$vmimage = @{
+ PublisherName = 'Debian'
+ Offer = 'debian-11'
+ Skus = '11'
+ Version = 'latest'
+}
+$vmConfig = New-AzVMConfig @vmsz `
+ | Set-AzVMOperatingSystem @vmos -Linux `
+ | Set-AzVMSourceImage @vmimage `
+ | Add-AzVMNetworkInterface -Id $nicVM.Id
+
+## Create the virtual machine for VMs ##
+$vm = @{
+ ResourceGroupName = 'myResourceGroup'
+ Location = 'eastus2'
+ VM = $vmConfig
+ SshKeyName = 'mySSHKey'
+ }
+New-AzVM @vm -GenerateSshKey
+```
+
+## Test SSH connection
+
+Use [Get-AzPublicIpAddress](/powershell/module/az.network/get-azpublicipaddress) to display the IP addresses of the virtual machine.
+
+```azurepowershell-interactive
+$ip4 = @{
+ ResourceGroupName = 'myResourceGroup'
+ Name = 'myPublicIP-IPv4'
+}
+Get-AzPublicIPAddress @ip4 | select IpAddress
+```
+
+```azurepowershell-interactive
+PS /home/user> Get-AzPublicIPAddress @ip4 | select IpAddress
+
+IpAddress
+
+20.72.115.187
+```
+
+```azurepowershell-interactive
+$ip6 = @{
+ ResourceGroupName = 'myResourceGroup'
+ Name = 'myPublicIP-IPv6'
+}
+Get-AzPublicIPAddress @ip6 | select IpAddress
+```
+
+```azurepowershell-interactive
+PS /home/user> Get-AzPublicIPAddress @ip6 | select IpAddress
+
+IpAddress
+
+2603:1030:403:3::1ca
+```
+
+Open an SSH connection to the virtual machine by using the following command. Replace the IP address with the IP address of your virtual machine.
+
+```azurepowershell-interactive
+ssh azureuser@20.72.115.187
+```
+
+## Clean up resources
+
+When no longer needed, use the [Remove-AzResourceGroup](/powershell/module/az.resources/remove-azresourcegroup) command to remove the resource group, virtual machine, and all related resources.
+
+```azurepowershell-interactive
+Remove-AzResourceGroup -Name 'myResourceGroup'
+```
+
+## Next steps
+
+In this article, you learned how to create an Azure Virtual machine with a dual-stack network.
+
+For more information about IPv6 and IP addresses in Azure, see:
+
+- [Overview of IPv6 for Azure Virtual Network.](ipv6-overview.md)
+
+- [What is Azure Virtual Network IP Services?](ip-services-overview.md)
++