使用 Windows Server 檔案分類基礎結構的 RMS 保護 (FCI)

使用本文取得指示和腳本,以使用 Azure 資訊保護 用戶端和 PowerShell 來設定檔案伺服器資源管理員和檔案分類基礎結構 (FCI)。

此解決方案可讓您自動保護執行 Windows Server 之檔案伺服器上的資料夾中的所有檔案,或自動保護符合特定準則的檔案。 例如,已分類為包含機密或敏感性資訊的檔案。 此解決方案會直接從 Azure 資訊保護連線到 Azure Rights Management 服務,以保護檔案,因此您必須為組織部署此服務。

注意

雖然 Azure 資訊保護包含 支援檔案分類基礎結構的連接器 ,但該解決方案僅支援原生保護,例如 Office 檔案。

若要使用 Windows Server 檔案分類基礎結構支援多個檔案類型,您必須使用 PowerShell AzureInformationProtection 模組,如本文所述。 Azure 資訊保護 Cmdlet,例如 Azure 資訊保護 用戶端,支援一般保護以及原生保護,這表示 Office 檔以外的檔案類型可以受到保護。 如需詳細資訊,請參閱 Azure 資訊保護用戶端系統管理員指南中 Azure 資訊保護 用戶端 支援的檔案類型。

下列指示適用于 Windows Server 2012 R2 或 Windows Server 2012。 如果您執行其他支援的 Windows 版本,您可能需要調整一些步驟,以取得作業系統版本與本文中所述的差異。

使用 Windows Server FCI 保護 Azure Rights Management 的必要條件

這些指示的必要條件:

  • 在您將使用檔案分類基礎結構執行檔案資源管理員的每個檔案伺服器上:

    • 您已將檔案伺服器資源管理員安裝為檔案服務角色的其中一個角色服務。

    • 您已識別出本機資料夾,其中包含使用 Rights Management 保護的檔案。 例如,C:\FileShare。

    • 您已安裝 AzureInformationProtection PowerShell 模組,並設定此課程模組連線至 Azure Rights Management 服務的必要條件。

      AzureInformationProtection PowerShell 模組隨附于 Azure 資訊保護 用戶端。 如需安裝指示,請參閱 從 Azure 資訊保護 系統管理員指南安裝適用于使用者的 Azure 資訊保護 用戶端。 如有需要,您可以只使用 PowerShellOnly=true 參數來安裝 PowerShell 模組。

      使用此 PowerShell 模組 的必要條件包括啟用 Azure Rights Management 服務、建立服務主體,以及如果您的租使用者不在北美洲,請編輯登錄。 開始本文中的指示之前,請確定您有 BposTenantId、 AppPrincipalId Symmetric 金鑰 的值 ,如這些必要條件中所述。

    • 如果您想要變更特定副檔名的預設保護層級(原生或一般),您已編輯登錄,如從系統管理員指南變更檔案 的預設保護層級一節中所述

    • 您有網際網路連線,而且如果 Proxy 伺服器需要這些設定,您就已設定電腦設定。 例如:netsh winhttp import proxy source=ie

  • 您已同步處理內部部署的 Active Directory使用者帳戶與 Microsoft Entra ID 或 Microsoft 365,包括其電子郵件地址。 所有使用者在受 FCI 和 Azure Rights Management 服務保護之後,可能需要存取檔案。 如果您未執行此步驟(例如,在測試環境中),可能會封鎖使用者存取這些檔案。 如果您需要此需求的詳細資訊,請參閱 準備 Azure 資訊保護 的使用者和群組。

  • 此案例不支援部門範本,因此您必須使用未針對範圍設定的範本,或使用 Set-AipServiceTemplateProperty Cmdlet 和 EnableInLegacyApps 參數。

設定檔案伺服器 Resource Manager FCI 以進行 Azure Rights Management 保護的指示

請遵循這些指示,使用 PowerShell 腳本作為自訂工作,自動保護資料夾中的所有檔案。 依照下列循序執行這些程式:

  1. 儲存 PowerShell 腳本

  2. 建立 Rights Management 的分類屬性 (RMS)

  3. 建立分類規則 (RMS 分類)

  4. 設定分類排程

  5. 建立自訂檔案管理工作 (使用 RMS 保護檔案)

  6. 手動執行規則和工作來測試設定

在這些指示結束時,您所選資料夾中的所有檔案都會分類為 RMS 的自訂屬性,然後這些檔案會受到 Rights Management 的保護。 對於選擇性地保護某些檔案而非其他檔案的較複雜組態,您可以接著建立或使用不同的分類屬性和規則,以及只保護這些檔案的檔案管理工作。

請注意,如果您變更用於 FCI 的 Rights Management 範本,則執行腳本來保護檔案的電腦帳戶不會自動取得更新的範本。 若要這樣做,請在腳本中找出批註化 Get-RMSTemplate -Force 命令,並移除 # 批註字元。 下載更新的範本時(腳本至少執行一次),您可以批註化這個額外的命令,這樣每次都不會不必要地下載範本。 如果範本的變更足以重新保護檔案伺服器上的檔案,您可以使用具有檔案匯出或完全控制許可權的帳戶執行 Protect-RMSFile Cmdlet,以互動方式執行此動作。 如果您發佈想要用於 FCI 的新範本,您也必須執行 Get-RMSTemplate -Force

儲存 Windows PowerShell 腳本

  1. 使用檔案伺服器資源管理員複製適用于 Azure RMS 保護的 Windows PowerShell 腳本 內容。 將腳本的內容貼到您自己的電腦上,並將 RMS-Protect-FCI.ps1 檔案 命名為 。

  2. 檢閱腳本並進行下列變更:

    • 搜尋下列字串,並將它取代為您搭配 Set-RMSServerAuthentication Cmdlet 使用的您自己的 AppPrincipalId,以連線到 Azure Rights Management 服務:

      <enter your AppPrincipalId here>
      

      例如,腳本看起來可能像這樣:

      [Parameter(Mandatory = $false)]

      [Parameter(Mandatory = $false)] [string]$AppPrincipalId = "b5e3f76a-b5c2-4c96-a594-a0807f65bba4",

    • 搜尋下列字串,並將其取代為您搭配 Set-RMSServerAuthentication Cmdlet 使用的您自己的對稱金鑰,以連線到 Azure Rights Management 服務:

      <enter your key here>
      

      例如,腳本看起來可能像這樣:

      [Parameter(Mandatory = $false)]

      [string]$SymmetricKey = "zIeMu8zNJ6U377CLtppkhkbl4gjodmYSXUVwAO5ycgA="

    • 搜尋下列字串,並將它取代為您搭配 Set-RMSServerAuthentication Cmdlet 使用的您自己的 BposTenantId (租使用者識別碼),以連線到 Azure Rights Management 服務:

      <enter your BposTenantId here>
      

      例如,腳本看起來可能像這樣:

      [Parameter(Mandatory = $false)]

      [string]$BposTenantId = "23976bc6-dcd4-4173-9d96-dad1f48efd42",

  3. 簽署腳本。 如果您未簽署腳本(更安全),您必須在執行腳本的伺服器上設定 Windows PowerShell。 例如,使用 [以管理員istrator 選項執行 Windows PowerShell 會話 ,然後輸入: Set-ExecutionPolicy RemoteSigned 。 不過,此設定可讓所有未簽署的腳本在此伺服器上儲存時執行(較不安全)。

    如需簽署 Windows PowerShell 腳本的詳細資訊,請參閱 PowerShell 文件庫中的about_Signing

  4. 使用檔案分類基礎結構,在執行檔案資源管理員的每個檔案伺服器上本機儲存檔案。 例如,將檔案儲存在 C:\RMS-Protection 中。 如果您使用不同的路徑或資料夾名稱,請選擇不包含空格的路徑和資料夾。 使用 NTFS 許可權保護此檔案,讓未經授權的使用者無法修改它。

您現在已準備好開始設定檔案伺服器資源管理員。

建立 Rights Management 的分類屬性 (RMS)

  • 在 [檔案伺服器資源管理員] 的 [分類管理] 中,建立新的本機屬性:

    • 名稱 :輸入 RMS

    • 描述 :類型 Rights Management 保護

    • 屬性類型 :選取 [ 是/否]

    • :選取 [ 是]

我們現在可以建立使用這個屬性的分類規則。

建立分類規則 (RMS 分類)

  • 建立新的分類規則:

    • 一般索引標籤:

      • 名稱 :RMS 的類型 分類

      • 已啟用:保留預設值,也就是已選取此核取方塊。

      • 描述 :輸入 將 Rights Management 資料夾名稱 > 資料夾中的所有檔案 < 分類。

        以您選擇的資料夾名稱取代 < 資料夾 > 名稱。 例如, 將 Rights Management 的 C:\FileShare 資料夾中的所有檔案分類

      • 範圍 :新增您選擇的資料夾。 例如, C:\FileShare

        請勿選取核取方塊。

    • 在 [ 分類] 索引標籤上:

    • 分類方法 :選取 資料夾分類器

    • 屬性 名稱:選取 RMS

    • 屬性值 :選取 [ 是]

雖然您可以手動執行分類規則,但針對進行中的作業,您希望此規則依排程執行,以便使用 RMS 屬性分類新檔案。

設定分類排程

  • 在 [ 自動分類] 索引標籤上:

    • 啟用固定排程 :選取此核取方塊。

    • 設定要執行之所有分類規則的排程,其中包括使用 RMS 屬性來分類檔案的新規則。

    • 允許新檔案 的連續分類:選取此核取方塊,以便分類新的檔案。

    • 選擇性:進行您想要的任何其他變更,例如設定報表和通知的選項。

現在您已完成分類設定,即可設定管理工作,以將 RMS 保護套用至檔案。

建立自訂檔案管理工作 (使用 RMS 保護檔案)

  • 在 [檔案管理工作 ] 中 ,建立新的檔案管理工作:

    • 一般索引標籤:

      • 工作名稱 :輸入 使用 RMS 保護檔案

      • 保持選取 [ 啟用] 核取方塊。

      • 描述 :使用 Rights Management 輸入保護資料夾名稱 > 中的 < 檔案,以及使用 Windows PowerShell 腳本的範本。

        以您選擇的資料夾名稱取代 < 資料夾 > 名稱。 例如, 使用 Rights Management 保護 C:\FileShare 中的檔案,以及使用 Windows PowerShell 腳本的範本

      • 範圍 :選取您選擇的資料夾。 例如, C:\FileShare

        請勿選取核取方塊。

    • 在 [ 動作] 索引標籤上:

      • 類型 :選取 [自訂]

      • 可執行檔 :指定下列專案:

        C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
        

        如果 Windows 不在 C: 磁片磁碟機上,請修改此路徑或流覽至此檔案。

      • 引數 :指定下列專案,提供您自己的路徑 > 和 < 範本識別碼 > 值 < :

        -Noprofile -Command "<path>\RMS-Protect-FCI.ps1 -File '[Source File Path]' -TemplateID <template GUID> -OwnerMail '[Source File Owner Email]'"
        

        例如,如果您將腳本複製到 C:\RMS-Protection,而您從必要條件識別的範本識別碼是 e6ee2481-26b9-45e5-b34a-f744eacd53b0,請指定下列內容:

        -Noprofile -Command "C:\RMS-Protection\RMS-Protect-FCI.ps1 -File '[Source File Path]' -TemplateID e6ee2481-26b9-45e5-b34a-f744eacd53b0 -OwnerMail '[Source File Owner Email]'"

        在此命令中, [來源檔案路徑] [來源檔案擁有者電子郵件] 都是 FCI 特定的變數,因此請輸入這些變數,如同上述命令中所示。 FCI 會使用第一個變數來自動指定資料夾中的已識別檔案,而第二個變數則是讓 FCI 自動擷取已識別檔案的具名擁有者的電子郵件地址。 這個命令會針對 資料夾中的每一個檔案重複執行,在我們的範例中,是 C:\FileShare 資料夾中的每個檔案,另外還有 RMS 做為檔案分類屬性。

        注意

        -OwnerMail [來源檔案擁有者電子郵件] 參數和值可確保檔案的原始擁有者在受到保護之後,會授與檔案的 Rights Management 擁有者。 此組態可確保原始檔案擁有者擁有自己檔案的所有 Rights Management 許可權。 當網域使用者建立檔案時,系統會使用檔案擁有者屬性中的使用者帳戶名稱,自動從 Active Directory 擷取電子郵件地址。 若要這樣做,檔案伺服器必須位於與使用者相同的網域或信任網域中。

        盡可能將原始擁有者指派給受保護的檔,以確保這些使用者能夠繼續完全控制他們建立的檔案。 不過,如果您使用 [來源檔案擁有者電子郵件] 變數做為上述命令,而且檔案沒有定義為擁有者的網域使用者(例如,本機帳戶是用來建立檔案,因此擁有者會顯示 SYSTEM),腳本就會失敗。

        對於沒有網域使用者作為擁有者的檔案,您可以自行複製並儲存這些檔案做為網域使用者,以便您成為這些檔案的擁有者。 或者,如果您有許可權,您可以手動變更擁有者。 或者,您也可以提供特定的電子郵件地址(例如您自己的或 IT 部門的組位址),而不是 [來源檔案擁有者電子郵件] 變數,這表示使用此腳本保護的所有檔案都會使用此電子郵件地址來定義新的擁有者。

    • 以下列方式 執行命令:選取 [本機系統]

    • 在 [ 條件] 索引標籤上:

      • 屬性 :選取 RMS

      • 運算子 :選取 等於

      • :選取 [ 是]

    • 在 [ 排程] 索引標籤上:

      • 執行位置 :設定您慣用的排程。

        讓腳本有足夠的時間完成。 雖然此解決方案會保護資料夾中的所有檔案,但每次都會針對每個檔案執行一次腳本。 雖然這比同時保護所有檔案需要更長的時間,但 Azure 資訊保護 用戶端支援,但 FCI 的這個逐檔案組態更強大。 例如,當您使用 [來源檔案擁有者電子郵件] 變數時,受保護的檔案可以有不同的擁有者(保留原始擁有者),而且如果您稍後將設定變更為選擇性地保護檔案,而不是資料夾中的所有檔案,則需要此逐檔案動作。

      • 在新檔案 上持續執行:選取此核取方塊。

手動執行規則和工作來測試設定

  1. 執行分類規則:

    1. 按一下 [ 分類規則 > ] [立即執行所有規則的分類]

    2. 按一下 [ 等候分類完成 ],然後按一下 [ 確定 ]。

  2. 等候 [ 執行中的分類 ] 對話方塊關閉,然後在自動顯示的報表中檢視結果。 您應該會看到 [屬性 ] 欄位和資料夾中的檔案數目 1 。 使用檔案總管並檢查所選資料夾中檔案的屬性來確認。 在 [ 分類 ] 索引標籤上,您應該會看到 RMS 作為其 [值 ] 的屬性名稱和 [是 ]。

  3. 執行檔案管理工作:

    1. 按一下 [ 檔案管理工作 > ] [立即使用 RMS > 執行檔案管理工作保護檔案]

    2. 按一下 [ 等候工作完成 ],然後按一下 [ 確定 ]。

  4. 等候 [執行中 檔案管理工作 ] 對話方塊關閉,然後在自動顯示的報告中檢視結果。 您應該會在 [檔案] 欄位中看到所選資料夾中 的檔案數目。 確認您所選資料夾中的檔案現在受到 Rights Management 保護。 例如,如果您選擇的資料夾是 C:\FileShare,請在 Windows PowerShell 會話中輸入下列命令,並確認沒有檔案的狀態為 [未受保護的 ] :

    foreach ($file in (Get-ChildItem -Path C:\FileShare -Force | where {!$_.PSIsContainer})) {Get-RMSFileStatus -f $file.PSPath}
    

    提示

    一些疑難排解秘訣:

    • 如果您在 報表中看到 0 ,而不是資料夾中的檔案數目,此輸出表示腳本未執行。 首先,在 Windows PowerShell ISE 中載入腳本以驗證腳本內容,並嘗試在相同的 PowerShell 會話中執行腳本本身,以查看是否顯示任何錯誤。 未指定引數時,腳本會嘗試連線並驗證至 Azure Rights Management 服務。

    • 如果腳本本身在 Windows PowerShell ISE 中執行,但未發生錯誤,請嘗試從 PowerShell 會話執行腳本,並指定要保護的檔案名,而不使用 -OwnerEmail 參數:

      powershell.exe -Noprofile -Command "<path>\RMS-Protect-FCI.ps1 -File '<full path and name of a file>' -TemplateID <template GUID>"
      
      • 如果腳本在此 Windows PowerShell 會話中成功執行,請檢查檔案管理工作動作中的 Executive Argument 專案 。 如果您已指定 -OwnerEmail [來源檔案擁有者電子郵件] ,請嘗試移除此參數。

        如果檔案管理工作在沒有 -OwnerEmail [來源檔案擁有者電子郵件] 的情況下 成功運作,請檢查未受保護的檔案是否具有列為檔案擁有者的網域使用者,而不是 SYSTEM 。 若要進行這項檢查,請使用檔案屬性的 [ 安全性] 索引標籤,然後按一下 [ 進階 ]。 [擁有者 ] 值會在檔案名 之後立即顯示。 此外,請確認檔案伺服器位於相同的網域或受信任的網域中,以從Active Directory 網域服務查閱使用者的電子郵件地址。

    • 如果您在報表中看到正確的檔案數目,但檔案未受到保護,請嘗試使用 Protect-RMSFile Cmdlet 手動保護檔案,以查看是否顯示任何錯誤。

當您確認這些工作已成功執行時,您可以關閉檔案資源管理員。 排程的工作執行時,會自動分類並保護新檔案。

如果您變更 Rights Management 範本,則需要採取動作

如果您變更腳本所參考的 Rights Management 範本,則執行腳本來保護檔案的電腦帳戶不會自動取得更新的範本。 在腳本中,找出 Set-RMS連線ion 函式中的批註化 Get-RMSTemplate -Force 命令,並在行開頭移除批註字元。 下次執行腳本時,會下載更新的範本。 若要將效能優化,讓範本不會不必要地下載,您可以再次批註化這一行。

如果範本的變更足以重新保護檔案伺服器上的檔案,您可以使用具有檔案匯出或完全控制許可權的帳戶執行 Protect-RMSFile Cmdlet,以互動方式執行此動作。

如果您發佈要用於 FCI 的新範本,並在自訂檔案管理工作的引數行中變更範本識別碼,請在腳本中執行這一行。

修改指示以選擇性地保護檔案

當您有上述指示運作時,即可輕鬆修改它們,以取得更複雜的設定。 例如,使用相同腳本來保護檔案,但僅適用于包含個人識別資訊的檔案,而且可能選取具有更嚴格許可權的範本。

若要進行這項修改,請使用其中一個內建分類屬性(例如 ,個人識別資訊 ),或建立您自己的新屬性。 然後建立使用這個屬性的新規則。 例如,您可以選取 [內容分類器 ],選擇 值為 High 的個人識別資訊 屬性,並設定字串或運算式模式,以識別要針對此屬性設定的檔案(例如字串「 出生日期 」)。

現在,您只需要建立使用相同腳本但可能使用不同的範本的新檔案管理工作,並設定您剛才設定之分類屬性的條件。 例如,選取 [運算子] 值設定為 [等於 ] 和 [高 ] 值的個人識別資訊 屬性,而不是我們先前設定的條件( RMS 屬性 等於 )。

下一步

您可能想知道: Windows Server FCI 與 Azure 資訊保護 掃描器之間的差異為何?