管理執行個體加密金鑰 (XMLA)

您可以使用 XML for Analysis (XMLA) 中的 SetEncryptionKey 命令,來為 MicrosoftSQL ServerAnalysis Services 執行個體設定或重設執行個體加密金鑰。

安全性注意事項安全性注意事項

只有伺服器管理員可以執行 SetEncryptionKey 命令。

執行個體加密金鑰只能使用用以加密該金鑰的相同帳戶來解密。因此,必須先解密和擷取執行個體加密金鑰,才能變更 Analysis Services 執行個體所使用的服務帳戶,並在變更服務帳戶之後立即加密它。否則,執行個體無法再解密資料庫加密金鑰,這些金鑰可用來加密和解密儲存在資料庫中的秘密 (例如資料來源的密碼)。

若要為 Analysis Services 執行個體正確地變更服務帳戶,必須執行下列步驟:

  1. 呼叫 XMLA Discover 方法以解密現有執行個體加密金鑰,並擷取 DISCOVER_MASTER_KEY 結構描述資料列集。

    安全性注意事項安全性注意事項

    只有伺服器管理員可以擷取 DISCOVER_MASTER_KEY 結構描述資料列集。

  2. 變更 Analysis Services 執行個體的服務帳戶。

  3. 透過使用新服務帳戶來使用 SetEncryptionKey 命令,將擷取的執行個體加密金鑰加密。

如果您未先擷取執行個體加密金鑰就變更服務帳戶,Analysis Services 執行個體就無法再從該執行個體的資料庫讀取加密的資訊,並且會發生錯誤。若要修正這個問題,您可以將服務帳戶變更回先前指定的使用者帳戶,然後執行先前的處理序,以正確地變更服務帳戶。

指定加密金鑰

SetEncryptionKey 命令的 Key 屬性包含加密金鑰的字串表示。Key 屬性應該設定為 DISCOVER_MASTER_KEY 結構描述資料列集中的 KEY 資料行值,這個資料列集是在變更 Analysis Services 執行個體的服務帳戶之前擷取的。

重設加密金鑰

您也可以使用 SetEncryptionKey 命令重設加密金鑰。若要重設加密金鑰,請將 SetEncryptionKey 命令的 Reset 屬性設定為 true。Analysis Services 會執行下列動作,以重設執行個體加密金鑰:

  1. 解密執行個體加密金鑰、資料庫加密金鑰以及該執行個體上資料庫中所含的秘密。

  2. 變更執行個體加密金鑰的值。

  3. 以新的執行個體加密金鑰加密所有項目。

Analysis Services 執行個體的目前服務帳戶,是用以解密舊執行個體加密金鑰,並加密新執行個體加密金鑰。當重設執行個體加密金鑰時,請勿為該命令的 Key 屬性指定任何值。

範例

說明

下列範例會將執行個體加密金鑰設定為 Key 中指定的值。

程式碼

<SetEncryptionKey xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">
  <Key>
    BSyB3nTLvkCR3GwLwMNAyQEAAAAEAAAA/////wECAAAJZgAAAKQAAEAcOEA0JbXfBxXfL+l/0BMA
    ylnQiDhI9Fgm/QoOAR3NIikzEQPPBNOGSILZfVQqPUiBXuSBnrR/VUI6pLa9AgAFLIHedMu+QJHc
    bAvAw0DJ
  </Key>
</SetEncryptionKey>

說明

下列範例會重設執行個體加密金鑰。

程式碼

<SetEncryptionKey Reset="true" xmlns="https://schemas.microsoft.com/analysisservices/2003/engine" />