{"id":836,"date":"2020-09-29T10:48:59","date_gmt":"2020-09-29T15:48:59","guid":{"rendered":"https:\/\/itblog.ldlnet.net\/?p=836"},"modified":"2021-03-15T15:55:10","modified_gmt":"2021-03-15T20:55:10","slug":"installation-and-configuration-of-azure-information-protection-unified-labels-scanner","status":"publish","type":"post","link":"https:\/\/itblog.ldlnet.net\/index.php\/2020\/09\/29\/installation-and-configuration-of-azure-information-protection-unified-labels-scanner\/","title":{"rendered":"Installation and Configuration of Azure Information Protection Unified Labels Scanner"},"content":{"rendered":"\n<p>With the release of Unified Labeling in Azure and M365, there is now a way to protect your data and label your data appropriately for confidentiality and encryption for your files shares and files on your on premises devices. The following shows how to install the latest AIP_UL client and configure it in Azure to apply those Unified Labeling Policies.<\/p>\n\n\n\n<p>This is a detailed process and I had some issues myself with getting the process simplified. I will do my best here to make this as smoot has possible with as many reference documents that I can input. Always feel free to comment as this data is ever changing and updating as Microsoft updates the offering.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Prerequisites<\/h2>\n\n\n\n<p class=\"has-medium-pink-color has-text-color has-medium-font-size\"><strong>Please refer to this document for a full list of pre-requisites before deploying the scanner:<\/strong><br><br><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/deploy-aip-scanner-prereqs\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/deploy-aip-scanner-prereqs<\/strong><\/a><\/p>\n\n\n\n<p class=\"has-dark-gray-color has-text-color\">For the basics we have the following:<\/p>\n\n\n\n<p>The prerequisites below are still required for successful AIP scanner installation.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>A Windows Server 2012 R2 or greater Server to run the service<br><ul><li>Minimum 4 CPU and 4GB RAM physical or virtual.<br>NOTE:&nbsp;<strong>More RAM is better<\/strong>. The scanner will allocate RAM 2.5-3 times of size of all files being scanned in parallel. Thus, if you scan 40 files that are 20MB each at the same time, it should take about 20<em>2.5<\/em>40=2GB RAM. However, if you have one big 1GB file it can take 3GB of RAM just for that file.<br><\/li><\/ul><\/li><li>Internet connectivity necessary for Azure Information Protection<\/li><li>A SQL Server 2012+ local or remote instance <strong><em>(Any version from Express or better is supported)<\/em><\/strong><br><ul><li>Sysadmin role needed to install scanner service<em> (the user running Install-AIPScanner, not the service account)<\/em><br><br><strong>NOTE: If using SQL Server Express, the SQL Instance name is ServerName\\SQLExpress.<br><\/strong><br><strong>NOTE: At this time, a different SQL instance is needed for each AIP Scanner node.<\/strong><br><\/li><\/ul><\/li><li>Service account created in On Premises AD (I will call this account AIPScanner in this document).<br><ul><li>Service requires&nbsp;<strong>Log on locally<\/strong>&nbsp;right and&nbsp;<strong>Log on as a service<\/strong>&nbsp;right (the second will be given during scanner service install).<\/li><li>Service account requires&nbsp;<strong>Read permissions<\/strong>&nbsp;to each repository for&nbsp;<strong>discovery<\/strong>&nbsp;and&nbsp;<strong>Read\/Write permissions<\/strong>&nbsp;for&nbsp;<strong>classification\/protection<\/strong>.<br><\/li><\/ul><\/li><li><strong>AzInfoProtection_UL.exe<\/strong>&nbsp;is available on the <a rel=\"noreferrer noopener\" href=\"https:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=53018\" target=\"_blank\"><strong>Microsoft Download Center<\/strong><\/a> (The scanner bits are included with the AIP Client)<\/li><li>The Azure AD Preview PowerShell module. From the machine you&#8217;re installing AIP Scanner on, run the following from an Administrator PowerShell:<\/li><\/ul>\n\n\n<pre class=\"lang:PowerShell nums:False\">Install-Module AzureADPreview<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"configure-the-scanner-in-the-azure-portal\">Configure the scanner in the Azure portal<\/h2>\n\n\n\n<p>Before you install the scanner, or upgrade it from an older general availability version, configure or verify your scanner settings in the Azure Information Protection area of the Azure portal.<\/p>\n\n\n\n<p>To configure your scanner:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Sign in to the&nbsp;<a href=\"https:\/\/portal.azure.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Azure portal<\/a>&nbsp;with one of the following roles:<br><ul><li><strong>Compliance administrator<\/strong><\/li><li><strong>Compliance data administrator<\/strong><\/li><li><strong>Security administrator<\/strong><\/li><li><strong>Global administrator<\/strong><br><br>Then, navigate to the&nbsp;<strong>Azure Information Protection<\/strong>&nbsp;pane. For example, in the search box for resources, services, and docs, start typing&nbsp;<strong>Information<\/strong>&nbsp;and select&nbsp;<strong>Azure Information Protection<\/strong>.<br><\/li><\/ul><\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/deploy-aip-scanner-configure-install#create-a-scanner-cluster\" target=\"_blank\">Create a scanner cluster<\/a>. This cluster defines your scanner and is used to identify the scanner instance, such as during installation, upgrades, and other processes.<\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/deploy-aip-scanner-configure-install#create-a-network-scan-job-public-preview\" target=\"_blank\">Scan your network for risky repositories<\/a>. Create a network scan job to scan a specified IP address or range, and provide a list of risky repositories that may contain sensitive content you&#8217;ll want to secure. Run your network scan job and then&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/deploy-aip-scanner-configure-install#analyze-risky-repositories-found-public-preview\" target=\"_blank\">analyze any risky repositories found<\/a>.<\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/deploy-aip-scanner-configure-install#create-a-content-scan-job\" target=\"_blank\">Create a content scan job<\/a>&nbsp;to define the repositories you want to scan.<\/li><\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"create-a-scanner-cluster\">Create a scanner cluster<\/h3>\n\n\n\n<ol class=\"wp-block-list\"><li>From the&nbsp;<strong>Scanner<\/strong>&nbsp;menu on the left, select&nbsp;<strong>Clusters<\/strong>&nbsp;<img decoding=\"async\" src=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/media\/i-clusters.png\" alt=\"clusters icon\">.<\/li><li>On the&nbsp;<strong>Azure Information Protection &#8211; Clusters<\/strong>&nbsp;pane, select&nbsp;<strong>Add<\/strong>&nbsp;<img decoding=\"async\" src=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/media\/i-add.png\" alt=\"add icon\">.<\/li><li>On the&nbsp;<strong>Add a new cluster<\/strong>&nbsp;pane, enter a meaningful name for the scanner, and an optional description. The cluster name is used to identify the scanner&#8217;s configurations and repositories. For example, you might enter&nbsp;<strong>Europe<\/strong>&nbsp;to identify the geographical locations of the data repositories you want to scan. You&#8217;ll use this name later on to identify where you want to install or upgrade your scanner.<\/li><li>Select&nbsp;<strong>Save<\/strong>&nbsp;<img decoding=\"async\" src=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/media\/qs-tutor\/save-icon.png\" alt=\"save icon\">&nbsp;to save your changes.<\/li><li>On the&nbsp;<strong>Add a new cluster<\/strong>&nbsp;pane, enter a meaningful name for the scanner, and an optional description. The cluster name is used to identify the scanner&#8217;s configurations and repositories. For example, you might enter&nbsp;<strong>Europe<\/strong>&nbsp;to identify the geographical locations of the data repositories you want to scan. You&#8217;ll use this name later on to identify where you want to install or upgrade your scanner.<\/li><li>Select&nbsp;<strong>Save<\/strong>&nbsp;<img decoding=\"async\" src=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/media\/qs-tutor\/save-icon.png\" alt=\"save icon\">&nbsp;to save your changes.<\/li><\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"create-a-network-scan-job-public-preview\">Create a network scan job (public preview)<\/h3>\n\n\n\n<p>Starting in version&nbsp;<a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/rms-client\/unifiedlabelingclient-version-release-history#version-28850\" target=\"_blank\" rel=\"noreferrer noopener\">2.8.85.0<\/a>, you can scan your network for risky repositories. Add one or more of the repositories found to a content scan job to scan them for sensitive content.<\/p>\n\n\n\n<p>Note: The&nbsp;<strong>network discovery<\/strong>&nbsp;interface is currently in gradual deployment and will be available in all regions by September 15, 2020.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/deploy-aip-scanner-configure-install#network-discovery-prerequisites\" target=\"_blank\" rel=\"noreferrer noopener\">Network discovery prerequisites<\/a><\/li><li><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/deploy-aip-scanner-configure-install#creating-a-network-scan-job\" target=\"_blank\" rel=\"noreferrer noopener\">Creating a network scan job<\/a><\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"network-discovery-prerequisites\">Network discovery prerequisites<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Prerequisite<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><strong>Install the Network Discovery service<\/strong><\/td><td>If you&#8217;ve recently upgraded your scanner, you may need to still install the Network Discovery service.<br><br>Run the&nbsp;<a href=\"https:\/\/docs.microsoft.com\/en-us\/powershell\/module\/azureinformationprotection\/Install-MIPNetworkDiscovery\"><strong>Install-MIPNetworkDiscovery<\/strong><\/a>&nbsp;cmdlet to enable network scan jobs.<\/td><\/tr><tr><td><strong>Azure Information Protection analytics<\/strong><\/td><td>Make sure that you have Azure Information Protection analytics enabled.<br><br>In the Azure portal, go to&nbsp;<strong>Azure Information Protection &gt; Manage &gt; Configure analytics (Preview).<\/strong><br><br><strong>For more information, see&nbsp;<a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/reports-aip\">Central reporting for Azure Information Protection (public preview)<\/a>.<\/strong><\/td><\/tr><tr><td><\/td><td><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"creating-a-network-scan-job\">Creating a network scan job<\/h4>\n\n\n\n<ol class=\"wp-block-list\"><li>Log in to the Azure portal, and go to&nbsp;<strong>Azure Information Protection.<\/strong>&nbsp;Under the&nbsp;<strong>Scanner<\/strong>&nbsp;menu on the left, select&nbsp;<strong>Network scan jobs (Preview)<\/strong>&nbsp;<img decoding=\"async\" src=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/media\/i-network-scan-jobs.png\" alt=\"network scan jobs icon\">.<\/li><li>On the&nbsp;<strong>Azure Information Protection &#8211; Network scan jobs<\/strong>&nbsp;pane, select&nbsp;<strong>Add<\/strong>&nbsp;<img decoding=\"async\" src=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/media\/i-add.png\" alt=\"add icon\">.<\/li><li>On the&nbsp;<strong>Add a new network scan job<\/strong>&nbsp;page, define the following settings:<br><br><strong>Network scan job name: <\/strong>Enter a meaningful name for this job. <em>This field is required.<\/em><br><strong>Description<\/strong>: Enter a meaningful description.<br><strong>Select the cluster: <\/strong>From the dropdown, select the cluster you want to use to scan the configured network locations.<br><br><strong>Tip:<\/strong>&nbsp;When selecting a cluster, make sure that the nodes in the cluster you assign can access the configured IP ranges via SMB. <br><br><strong>Configure IP ranges to discover<\/strong>: Click to define an IP address or range.<br><br>In the&nbsp;<strong>Choose IP ranges<\/strong>&nbsp;pane, enter an optional name, and then a start IP address and end IP address for your range.<br><br><strong>Tip:<\/strong>&nbsp;To scan a specific IP address only, enter the identical IP address in both the&nbsp;<strong>Start IP<\/strong>&nbsp;and&nbsp;<strong>End IP<\/strong>&nbsp;fields.<br><br><strong>Set schedule<\/strong>: Define how often you want this network scan job to run.<br><br>If you select&nbsp;<strong>Weekly<\/strong>, the&nbsp;<strong>Run network scan job on<\/strong>&nbsp;setting appears. Select the days of the week where you want the network scan job to run. <br><strong>Set start time (UTC): <\/strong>Define the date and time that you want this network scan job to start running. If you&#8217;ve selected to run the job daily, weekly, or monthly, the job will run at the defined time, at the recurrence you&#8217;ve selected.<br><br><strong>Note: Be careful when setting the date to any days at the end of the month. If you select&nbsp;31,&nbsp;the network scan job will not run in any month that has 30 days or fewer.<\/strong><br><\/li><li>Select&nbsp;<strong>Save<\/strong>&nbsp;<img decoding=\"async\" src=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/media\/qs-tutor\/save-icon.png\" alt=\"save icon\">&nbsp;to save your changes.<\/li><\/ol>\n\n\n\n<p>&nbsp;<strong>Tip: <\/strong>If you want to run the same network scan using a different scanner, change the cluster defined in the network scan job. Return to the&nbsp;<strong>Network scan jobs<\/strong>&nbsp;pane, and select&nbsp;<strong>Assign to cluster<\/strong>&nbsp;to select a different cluster now, or&nbsp;<strong>Unassign cluster<\/strong>&nbsp;to make additional changes later.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"analyze-risky-repositories-found-public-preview\">Analyze risky repositories found<\/h3>\n\n\n\n<p>Repositories found, either by a network scan job, a content scan job, or by user access detected in log files, are aggregated and listed on the&nbsp;<strong>Scanner &gt; Repositories<\/strong>&nbsp;<a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/media\/i-repositories.png\" target=\"_blank\" rel=\"noreferrer noopener\">repositories icon<\/a>&nbsp;pane.<\/p>\n\n\n\n<p>If you&#8217;ve&nbsp;<a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/deploy-aip-scanner-configure-install#create-a-network-scan-job-public-preview\" target=\"_blank\" rel=\"noreferrer noopener\">defined a network scan job<\/a>&nbsp;and have set it to run at a specific date and time, wait until it&#8217;s finished running to check for results. You can also return here after running a&nbsp;<a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/deploy-aip-scanner-configure-install#create-a-content-scan-job\" target=\"_blank\" rel=\"noreferrer noopener\">content scan job<\/a>&nbsp;to view updated data.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Under the&nbsp;<strong>Scanner<\/strong>&nbsp;menu on the left, select&nbsp;<strong>Repositories<\/strong>&nbsp;<img decoding=\"async\" src=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/media\/i-repositories.png\" alt=\"repositories icon\">.<br>The repositories found are shown as follows:<ul><li>The&nbsp;<strong>Repositories by status<\/strong>&nbsp;graph shows how many repositories are already configured for a content scan job, and how many are not.<\/li><li>The&nbsp;<strong>Top 10 unmanaged repositories by access<\/strong>&nbsp;graph lists the top 10 repositories that are not currently assigned to a content scan job, as well as details about their access levels. Access levels can indicate how risky your repositories are.<\/li><\/ul><\/li><li>Do any of the following:<br><img decoding=\"async\" src=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/media\/i-columns.png\" alt=\"columns icon\"> Select&nbsp;<strong>Columns<\/strong>&nbsp;to change the table columns displayed.<br><img decoding=\"async\" src=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/media\/i-refresh.png\" alt=\"refresh icon\"> If your scanner has recently run network scan results, select&nbsp;<strong>Refresh<\/strong>&nbsp;to refresh the page.<br><img decoding=\"async\" src=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/media\/i-add.png\" alt=\"add icon\"> Select one or more repositories listed in the table, and then select&nbsp;<strong>Assign Selected Items<\/strong>&nbsp;to assign them to a content scan job. <br><strong>Filter<\/strong> The filter row shows any filtering criteria currently applied. Select any of the criteria shown to modify its settings, or select&nbsp;<strong>Add Filter<\/strong>&nbsp;to add new filtering criteria. Select&nbsp;<strong>Filter<\/strong>&nbsp;to apply your changes and refresh the table with the updated filter.<br><img decoding=\"async\" src=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/media\/i-log-analytics.png\" alt=\"Log Analytics icon\"> In the top-right corner of the unmanaged repositories graph, click the&nbsp;<strong>Log Analytics<\/strong>&nbsp;icon to jump to Log Analytics data for these repositories.<\/li><\/ol>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"repositories-with-public-access\">Repositories with public access<\/h4>\n\n\n\n<p>Repositories where&nbsp;<strong>Public access<\/strong>&nbsp;is found to have&nbsp;<strong>read<\/strong>&nbsp;or&nbsp;<strong>read\/write<\/strong>&nbsp;capabilities may have sensitive content that must be secured. If&nbsp;<strong>Public access<\/strong>&nbsp;is false, the repository not accessible by the public at all.<\/p>\n\n\n\n<p>Public access to a repository is only reported if you&#8217;ve set a weak account in the&nbsp;<strong>StandardDomainsUserAccount<\/strong>&nbsp;parameter of the&nbsp;<a href=\"https:\/\/docs.microsoft.com\/en-us\/powershell\/module\/azureinformationprotection\/Install-MIPNetworkDiscovery\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Install-MIPNetworkDiscovery<\/strong><\/a>&nbsp;or&nbsp;<a href=\"https:\/\/docs.microsoft.com\/en-us\/powershell\/module\/azureinformationprotection\/Set-MIPNetworkDiscovery\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Set-MIPNetworkDiscovery<\/strong><\/a>&nbsp;cmdlets.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>The accounts defined in these parameters are used to simulate the access of a weak user to the repository. If the weak user defined there can access the repository, this means that the repository can be accessed publicly.<\/li><li>To ensure that public access is reported correctly, make sure that the user specified in these parameters is a member of the&nbsp;<strong>Domain Users<\/strong>&nbsp;group only.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"create-a-content-scan-job\">Create a content scan job<\/h3>\n\n\n\n<p>Deep dive into your content to scan specific repositories for sensitive content.<\/p>\n\n\n\n<p>You may want to do this only after running a network scan job to analyze the repositories in your network, but can also define your repositories yourself.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Under the&nbsp;<strong>Scanner<\/strong>&nbsp;menu on the left, select&nbsp;<strong>Content scan jobs<\/strong>.<\/li><li>On the&nbsp;<strong>Azure Information Protection &#8211; Content scan jobs<\/strong>&nbsp;pane, select&nbsp;<strong>Add<\/strong>&nbsp;<img decoding=\"async\" src=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/media\/i-add.png\" alt=\"add icon\">.<\/li><li>For this initial configuration, configure the following settings, and then select&nbsp;<strong>Save<\/strong>&nbsp;but do not close the pane.<br><br><strong>Content scan job settings<\/strong><br>&#8211;&nbsp;<strong>Schedule<\/strong>: Keep the default of&nbsp;<strong>Manual<\/strong><br>&#8211;&nbsp;<strong>Info types to be discovered<\/strong>: Change to&nbsp;<strong>Policy only<\/strong><br>&#8211;&nbsp;<strong>Configure repositories<\/strong>: Do not configure at this time because the content scan job must first be saved.<br><br><strong>Policy enforcement<\/strong><br>&#8211; <strong>Enforce<\/strong>: Select&nbsp;<strong>Off<\/strong><br>&#8211;&nbsp;<strong>Label files based on content<\/strong>: Keep the default of&nbsp;<strong>On<\/strong><br>&#8211;&nbsp;<strong>Default label<\/strong>: Keep the default of&nbsp;<strong>Policy default<\/strong><br>&#8211;&nbsp;<strong>Relabel files<\/strong>: Keep the default of&nbsp;<strong>OffConfigure file settings<\/strong>&#8211;&nbsp;<strong>Preserve &#8220;Date modified&#8221;, &#8220;Last modified&#8221; and &#8220;Modified by&#8221;<\/strong>: Keep the default of&nbsp;<strong>On<\/strong><br>&#8211;&nbsp;<strong>File types to scan<\/strong>: Keep the default file types for&nbsp;<strong>Exclude<\/strong><br>&#8211;&nbsp;<strong>Default owner<\/strong>: Keep the default of&nbsp;<strong>Scanner Account<\/strong><br><\/li><li>Now that the content scan job is created and saved, you&#8217;re ready to return to the&nbsp;<strong>Configure repositories<\/strong>&nbsp;option to specify the data stores to be scanned. Specify UNC paths, and SharePoint Server URLs for SharePoint on-premises document libraries and folders.&nbsp;<br><br>Note: SharePoint Server 2019, SharePoint Server 2016, and SharePoint Server 2013 are supported for SharePoint. SharePoint Server 2010 is also supported when you have&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/support.microsoft.com\/lifecycle\/search?alpha=SharePoint%20Server%202010\" target=\"_blank\">extended support for this version of SharePoint<\/a>. <br><br>To add your first data store, while on the&nbsp;<strong>Add a new content scan job<\/strong>&nbsp;pane, select&nbsp;<strong>Configure repositories<\/strong>&nbsp;to open the&nbsp;<strong>Repositories<\/strong>&nbsp;pane:<img decoding=\"async\" src=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/media\/scanner-repositories-bar.png\" alt=\"Configure data repositories for the Azure Information Protection scanner\"><ol><li>On the&nbsp;<strong>Repositories<\/strong>&nbsp;pane, select&nbsp;<strong>Add<\/strong>:<br><br><img decoding=\"async\" src=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/media\/scanner-repository-add.png\" alt=\"Add data repository for the Azure Information Protection scanner\"><br><\/li><li>On the&nbsp;<strong>Repository<\/strong>&nbsp;pane, specify the path for the data repository, and then select&nbsp;<strong>Save<\/strong>.<br><ul><li>For a network share, use&nbsp;<strong><code>\\\\Server\\Folder<\/code>.<\/strong><\/li><li>For a SharePoint library, use&nbsp;<code><strong>http:\/\/sharepoint.contoso.com\/Shared%20Documents\/Folder<\/strong><\/code>.<\/li><li>For a local path:&nbsp;<code><strong>C:\\Folder<\/strong><\/code><\/li><li>For a UNC path:&nbsp;<strong><code>\\\\Server\\Folder<\/code>&nbsp;<\/strong><br><br><strong>Note: Wildcards are not supported and WebDav locations are not supported.<\/strong> <br><\/li><\/ul><\/li><li>If you add a SharePoint path for&nbsp;<strong>Shared Documents<\/strong>:<ul><li>Specify&nbsp;<strong>Shared Documents<\/strong>&nbsp;in the path when you want to scan all documents and all folders from Shared Documents. <br>For example:<strong>&nbsp;<code>http:\/\/sp2013\/SharedDocuments<\/code><\/strong><\/li><li>Specify&nbsp;<strong>Documents<\/strong>&nbsp;in the path when you want to scan all documents and all folders from a subfolder under Shared Documents. <br>For example:&nbsp;<code><strong>http:\/\/sp2013\/Documents\/SalesReports<\/strong><\/code><br>or, specify only the&nbsp;<strong>FQDN<\/strong>&nbsp;of your SharePoint, <br>For example&nbsp;<code><strong>http:\/\/sp2013<\/strong><\/code>&nbsp;to&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/deploy-aip-scanner-prereqs#discover-and-scan-all-sharepoint-sites-and-subsites-under-a-specific-url\" target=\"_blank\">discover and scan all SharePoint sites and subsites under a specific URL<\/a>&nbsp;and subtitles under this URL. <\/li><li>Grant scanner&nbsp;<strong>Site Collector Auditor<\/strong>&nbsp;rights to enable this.<\/li><li>For the remaining settings on this pane, do not change them for this initial configuration, but keep them as&nbsp;<strong>Content scan job default<\/strong>. The default setting means that the data repository inherits the settings from the content scan job.<br><br>Use the following syntax when adding SharePoint paths:<br><strong>Root path: <\/strong><code><strong>http:\/\/&lt;SharePoint server name&gt;<\/strong><\/code><br><br>Scans all sites, including any site collections allowed for the scanner user.<br>Requires&nbsp;<a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/quickstart-findsensitiveinfo#permission-users-to-scan-sharepoint-repositories\" target=\"_blank\" rel=\"noreferrer noopener\">additional permissions<\/a>&nbsp;to automatically discover root content<br><br><strong>Specific SharePoint subsite or collection<\/strong>: <br>One of the following:<br><strong>&#8211;&nbsp;<code>http:\/\/&lt;SharePoint server name&gt;\/&lt;subsite name&gt;<\/code><br>&#8211;&nbsp;<code>http:\/\/SharePoint server name&gt;\/&lt;site collection name&gt;\/&lt;site name&gt;<\/code><\/strong><br><br>Requires&nbsp;<a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/quickstart-findsensitiveinfo#permission-users-to-scan-sharepoint-repositories\" target=\"_blank\" rel=\"noreferrer noopener\">additional permissions<\/a>&nbsp;to automatically discover site collection content<br><br><strong>Specific SharePoint library:<\/strong><br>One of the following:<br><strong>&#8211;&nbsp;<code>http:\/\/&lt;SharePoint server name&gt;\/&lt;library name&gt;<\/code><br>&#8211;&nbsp;<code>http:\/\/SharePoint server name&gt;\/...\/&lt;library name&gt;<\/code><\/strong><br><br><strong>Specific SharePoint folder: <code>http:\/\/&lt;SharePoint server name&gt;\/...\/&lt;folder name&gt;<\/code><\/strong><br><\/li><\/ul><\/li><\/ol><\/li><li>Repeat the previous steps to add as many repositories as needed. <\/li><li>When you&#8217;re done, close both the&nbsp;<strong>Repositories<\/strong>&nbsp;and&nbsp;<strong>Content scan job<\/strong>&nbsp;panes.<\/li><\/ol>\n\n\n\n<p>Back on the&nbsp;<strong>Azure Information Protection &#8211; Content scan job<\/strong>&nbsp;pane, your content scan name is displayed, together with the&nbsp;<strong>SCHEDULE<\/strong>&nbsp;column showing&nbsp;<strong>Manual<\/strong>&nbsp;and the&nbsp;<strong>ENFORCE<\/strong>&nbsp;column is blank.<\/p>\n\n\n\n<p>You&#8217;re now ready to install the scanner with the content scanner job that you&#8217;ve created. Continue with&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/deploy-aip-scanner-configure-install#install-the-scanner\" target=\"_blank\">Scanner Installation<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"scanner-installation\">Scanner Installation<\/h2>\n\n\n\n<p>Now that we have verified that all prerequisites and configured the AIP in Azure, we can go through the basic scanner install.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Log onto the server where you will install the AIP Scanner service using an account that is a l<strong>ocal administrator<\/strong>&nbsp;of the server and has&nbsp;<strong>permission to write to the SQL Server master database<\/strong>. (more restrictive scenarios are documented in the official documentation)<\/li><li>Run&nbsp;<strong><strong>AzInfoProtection_UL.exe<\/strong><\/strong>&nbsp;on the server and step through the client install (this also drops the AIP Scanner bits).<br><strong>WARNING:&nbsp;This blog is based on the current version of the AIP Client.&nbsp; If you want to update to the Preview client, please install the GA first and then install the preview client and use Update-AIPScanner after installation.<\/strong> <\/li><li>Next, open an&nbsp;<strong>Administrative PowerShell<\/strong>&nbsp;prompt.<\/li><li>At the PowerShell prompt, type the following command and press Enter:<\/li><\/ol>\n\n\n<pre class=\"lang:PowerShell nums:False\">Install-AIPScanner -SqlServerInstance \"name\" -Profile \"cluster name\"<\/pre>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techcommunity.microsoft.com\/t5\/image\/serverpage\/image-id\/55096i07AC3F594DD7E891\/image-size\/medium?v=1.0&amp;px=400\" alt=\"undefined\" width=\"635\" height=\"419\"\/><figcaption>Output from Scanner Installation in PowerShell<\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"create-cloud-service-account\">Create Cloud Service Account<\/h2>\n\n\n\n<p>If you are not using Azure AD Sync for your Service account, you will need to&nbsp;create a service account in the cloud tenant to use for AIP authentication. If you have synced your on premises service account, you can skip this task.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Run the command below to connect to Azure AD.<\/li><\/ol>\n\n\n<pre class=\"lang:PowerShell nums:False\">Connect-AzureAD<\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\"><li>When prompted, provide tenant Global Admin credentials.<\/li><li>To create an account in the cloud, you must first define a password profile object. Run the commands below to define this object.<\/li><\/ol>\n\n\n<pre class=\"lang:PowerShell nums:False\">$PasswordProfile = New-Object -TypeName Microsoft.Open.AzureAD.Model.PasswordProfile \n\n$PasswordProfile.ForceChangePasswordNextLogin = $false \n\n$Password = Read-Host -assecurestring \"Please enter password for cloud service account\" \n\n$Password = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($Password)) \n\n$PasswordProfile.Password = $Password<\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"4\"><li>When prompted, enter a password for the cloud service account.<\/li><li>To create the account, run the commands below.<\/li><\/ol>\n\n\n<pre class=\"lang:PowerShell nums:False\">$Tenant = Read-Host \"Please enter tenant name for UserPrincipalName (e.g. contoso.com)\"\n\nNew-AzureADUser -AccountEnabled $True -DisplayName \"AIP Scanner Cloud Service\" -PasswordProfile $PasswordProfile -MailNickName \"AIPScannerCloud\" -UserPrincipalName \"AIPScannerCloud@$Tenant\" \n<\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"6\"><li>When prompted, enter the tenant name you want to use for the UserPrincipalName for the cloud service account (e.g.&nbsp;tenant.onmicrosoft.com).<\/li><\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"creating-azure-ad-applications\">Creating the Azure AD Application in Azure<\/h2>\n\n\n\n<p>Next, we will configure the App Registration for the Web App that is required to run the Set-AIPAuthentication command that will be used to get the authentication token. We will also assign the necessary Oauth2Permissions for the Web App to have delegated rights to the App.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Run the commands below to create the Web App, associated Service Principal, and key password.<\/li><\/ol>\n\n\n<pre class=\"lang:PowerShell nums:False\">New-AzureADApplication -DisplayName AIPOnBehalfOf -ReplyUrls http:\/\/localhost\n\n$WebApp = Get-AzureADApplication -Filter \"DisplayName eq 'AIPOnBehalfOf'\" \n\nNew-AzureADServicePrincipal -AppId $WebApp.AppId \n\n$WebAppKey = New-Guid \n\n$Date = Get-Date \n\nNew-AzureADApplicationPasswordCredential -ObjectId $WebApp.ObjectID -startDate $Date -endDate $Date.AddYears(1) -Value $WebAppKey.Guid -CustomKeyIdentifier \"AIPClient\"  \n<\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\"><li>Next, we need to run some commands to build the RequiredResourceAccess object that is needed to automate delegation of permissions for the native application.<\/li><\/ol>\n\n\n<pre class=\"lang:PowerShell nums:False\">$AIPServicePrincipal = Get-AzureADServicePrincipal -All $true | ? {$_.DisplayName -eq 'AIPOnBehalfOf'} \n\n$AIPPermissions = $AIPServicePrincipal | select -expand Oauth2Permissions \n\n$Scope = New-Object -TypeName \"Microsoft.Open.AzureAD.Model.ResourceAccess\" -ArgumentList $AIPPermissions.Id,\"Scope\" \n\n$Access = New-Object -TypeName \"Microsoft.Open.AzureAD.Model.RequiredResourceAccess\"\n\n$Access.ResourceAppId = $WebApp.AppId \n\n$Access.ResourceAccess = $Scope \n<\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"3\"><li>Now we can create the App and associated Service Principal using the commands below.<\/li><\/ol>\n\n\n<pre class=\"lang:PowerShell nums:False\">New-AzureADApplication -DisplayName AIPClient -ReplyURLs http:\/\/localhost -RequiredResourceAccess $Access -PublicClient $true\n\n$NativeApp = Get-AzureADApplication -Filter \"DisplayName eq 'AIPClient'\" \n\nNew-AzureADServicePrincipal -AppId $NativeApp.AppId \n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"authenticating-as-the-aip-scanner-service\">Authenticating as the AIP Scanner Service<\/h2>\n\n\n\n<p>In this task, we will use the command created previously to authenticate the AIP Scanner to the AIP Service.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Open PowerShell using&nbsp;<strong>Run as a different user<\/strong>&nbsp;and use the&nbsp;<strong>on premises Scanner Service account<\/strong> which should have <strong>Run As Administrator<\/strong> rights.<br><br><img decoding=\"async\" src=\"https:\/\/techcommunity.microsoft.com\/t5\/image\/serverpage\/image-id\/55092i3079826662E3FADA\/image-size\/small?v=1.0&amp;px=200\" alt=\"undefined\"><\/li><\/ol>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\"><li>Run the commands in the following PowerShell session with the&nbsp;<strong>Run as Administrator<\/strong>&nbsp;option, which is required for the&nbsp;<em>OnBehalfOf<\/em>&nbsp;parameter.<ul><li>The first command creates a&nbsp;<strong>PSCredential<\/strong>&nbsp;object and stores the specified Windows user name and password in the&nbsp;<strong>$pscreds<\/strong>&nbsp;variable. When you run this command, you are prompted for the password for the user name that you specified.<\/li><li>The second command acquires an access token that is combined with the application so that the token becomes valid for 1 year, 2 years, or never expires, according to your configuration of the registered app in Azure AD. The user name of scanner@contoso.com sets the user context to download labels and label policies from your labeling management center, such as the Office 365 Security &amp; Compliance Center.<\/li><\/ul><\/li><\/ol>\n\n\n<pre class=\"lang:PowerShell nums:False\">$pscreds = Get-Credential DOMAIN\\scanner\n\nSet-AIPAuthentication -AppId \"Web App ID\" -AppSecret \"Password Generated from previous cmd\" -DelegatedUser AIPScannerCloud@tenant.onmicrosoft.com -TenantId \"Your M365 Tenant ID\" -OnBehalfOf $pscreds\n<\/pre>\n\n\n\n<p>Successful OUTPUT:<br>Acquired application access token on behalf of DOMAIN\\scanner<\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"3\"><li>Last Step is to Restart the AIP Scanner Service<\/li><\/ol>\n\n\n<pre class=\"lang:PowerShell nums:False\">Restart-Service AIPScanner\n<\/pre>\n\n\n\n<p><strong>Look to these reference documents for further details:<\/strong><br><em><a rel=\"noreferrer noopener\" href=\"https:\/\/docs.microsoft.com\/en-us\/powershell\/module\/azureinformationprotection\/set-aipauthentication?view=azureipps\" target=\"_blank\">Set-AIPAuthentication<\/a><br><a rel=\"noreferrer noopener\" href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/deploy-aip-scanner-configure-install#get-an-azure-ad-token-for-the-scanner\" target=\"_blank\">Get Azure AD Token for the AIP Scanner<\/a><\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"configure-the-scanner-to-apply-classification-and-protection\">Configure the scanner to apply classification and protection<\/h2>\n\n\n\n<p>The default settings configure the scanner to run once, and in reporting-only mode.<\/p>\n\n\n\n<p>To change these settings, edit the content scan job:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>In the Azure portal, on the&nbsp;<strong>Azure Information Protection &#8211; Content scan jobs<\/strong>&nbsp;pane, select the cluster and content scan job to edit it.<\/li><li>On the Content scan job pane, change the following, and then select&nbsp;<strong>Save<\/strong>:<br><ul><li>From the&nbsp;<strong>Content scan job<\/strong>&nbsp;section: Change the&nbsp;<strong>Schedule<\/strong>&nbsp;to&nbsp;<strong>Always<\/strong><\/li><li>From the&nbsp;<strong>Policy enforcement<\/strong>&nbsp;section: Change&nbsp;<strong>Enforce<\/strong>&nbsp;to&nbsp;<strong>On<\/strong>&nbsp;<br><br>Tip: You may want to change other settings on this pane, such as whether file attributes are changed and whether the scanner can relabel files. Use the information popup help to learn more information about each configuration setting.<br><\/li><\/ul><\/li><li>Make a note of the current time and start the scanner again from the&nbsp;<strong>Azure Information Protection &#8211; Content scan jobs<\/strong>&nbsp;pane:<br><br><img decoding=\"async\" src=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/media\/scanner-scan-now.png\" alt=\"Initiate scan for the Azure Information Protection scanner\"><br><br>Alternatively, run the following command in your PowerShell session:<br><br><\/li><\/ol>\n\n\n<pre class=\"lang:PowerShell nums:False\">Start-AIPScan<\/pre>\n\n\n\n<p>The scanner is now scheduled to run continuously. When the scanner works its way through all configured files, it automatically starts a new cycle so that any new and changed files are discovered.<\/p>\n\n\n\n<h2 class=\"has-text-align-center wp-block-heading\">MUCH MORE TO COME! CHECK OFTEN AND SEND COMMENTS!<\/h2>\n\n\n\n<p class=\"has-small-font-size\"><strong>REFERENCES:<\/strong><br><em><a rel=\"noreferrer noopener\" href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/deploy-aip-scanner-prereqs\" target=\"_blank\">AIP Prerequisites<\/a><br><a rel=\"noreferrer noopener\" href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/information-protection\/deploy-aip-scanner-configure-install\" target=\"_blank\">Install and Configure AIP UL Application<\/a><br><a rel=\"noreferrer noopener\" href=\"https:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=53018\" target=\"_blank\">AIP UL Client Download<\/a><br><a href=\"https:\/\/techcommunity.microsoft.com\/t5\/microsoft-security-and\/azure-information-protection-scanner-express-installation\/ba-p\/265424\" target=\"_blank\" rel=\"noreferrer noopener\">AIP Classic Client Express Installation<\/a><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>With the release of Unified Labeling in Azure and M365, there is now a way to protect your data and label your<\/p>\n<p class=\"link-more\"><a class=\"myButt \" href=\"https:\/\/itblog.ldlnet.net\/index.php\/2020\/09\/29\/installation-and-configuration-of-azure-information-protection-unified-labels-scanner\/\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":769,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[195,267,2,265,194,3,266],"tags":[270,90,272,269,271,8,268,94,273],"class_list":["post-836","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure","category-azure-active-directory","category-general","category-microsoft365","category-office365","category-powershell","category-security-and-compliance","tag-aip","tag-azure","tag-azure-information-protection","tag-compliance","tag-information-protection","tag-powershell","tag-security","tag-security-and-compliance","tag-unified-labels","odd"],"_links":{"self":[{"href":"https:\/\/itblog.ldlnet.net\/index.php\/wp-json\/wp\/v2\/posts\/836","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itblog.ldlnet.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itblog.ldlnet.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itblog.ldlnet.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/itblog.ldlnet.net\/index.php\/wp-json\/wp\/v2\/comments?post=836"}],"version-history":[{"count":16,"href":"https:\/\/itblog.ldlnet.net\/index.php\/wp-json\/wp\/v2\/posts\/836\/revisions"}],"predecessor-version":[{"id":917,"href":"https:\/\/itblog.ldlnet.net\/index.php\/wp-json\/wp\/v2\/posts\/836\/revisions\/917"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itblog.ldlnet.net\/index.php\/wp-json\/wp\/v2\/media\/769"}],"wp:attachment":[{"href":"https:\/\/itblog.ldlnet.net\/index.php\/wp-json\/wp\/v2\/media?parent=836"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itblog.ldlnet.net\/index.php\/wp-json\/wp\/v2\/categories?post=836"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itblog.ldlnet.net\/index.php\/wp-json\/wp\/v2\/tags?post=836"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}