管理執行個體加密金鑰 (XMLA)
您可以使用 XML for Analysis (XMLA) 中的 SetEncryptionKey 命令,來為 MicrosoftSQL ServerAnalysis Services 執行個體設定或重設執行個體加密金鑰。
安全性注意事項 |
---|
只有伺服器管理員可以執行 SetEncryptionKey 命令。 |
執行個體加密金鑰只能使用用以加密該金鑰的相同帳戶來解密。因此,必須先解密和擷取執行個體加密金鑰,才能變更 Analysis Services 執行個體所使用的服務帳戶,並在變更服務帳戶之後立即加密它。否則,執行個體無法再解密資料庫加密金鑰,這些金鑰可用來加密和解密儲存在資料庫中的秘密 (例如資料來源的密碼)。
若要為 Analysis Services 執行個體正確地變更服務帳戶,必須執行下列步驟:
呼叫 XMLA Discover 方法以解密現有執行個體加密金鑰,並擷取 DISCOVER_MASTER_KEY 結構描述資料列集。
安全性注意事項 只有伺服器管理員可以擷取 DISCOVER_MASTER_KEY 結構描述資料列集。
變更 Analysis Services 執行個體的服務帳戶。
透過使用新服務帳戶來使用 SetEncryptionKey 命令,將擷取的執行個體加密金鑰加密。
如果您未先擷取執行個體加密金鑰就變更服務帳戶,Analysis Services 執行個體就無法再從該執行個體的資料庫讀取加密的資訊,並且會發生錯誤。若要修正這個問題,您可以將服務帳戶變更回先前指定的使用者帳戶,然後執行先前的處理序,以正確地變更服務帳戶。
指定加密金鑰
SetEncryptionKey 命令的 Key 屬性包含加密金鑰的字串表示。Key 屬性應該設定為 DISCOVER_MASTER_KEY 結構描述資料列集中的 KEY 資料行值,這個資料列集是在變更 Analysis Services 執行個體的服務帳戶之前擷取的。
重設加密金鑰
您也可以使用 SetEncryptionKey 命令重設加密金鑰。若要重設加密金鑰,請將 SetEncryptionKey 命令的 Reset 屬性設定為 true。Analysis Services 會執行下列動作,以重設執行個體加密金鑰:
解密執行個體加密金鑰、資料庫加密金鑰以及該執行個體上資料庫中所含的秘密。
變更執行個體加密金鑰的值。
以新的執行個體加密金鑰加密所有項目。
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" />