安全金鑰釋放 (SKR) 只能根據 Microsoft Azure 證明 (MAA) 產生的宣告,釋出標示為可匯出的金鑰。 MAA 宣告與 SKR 原則定義之間有緊密整合。 可在這裡找到由受信任執行環境 (TEE) 提出的 MAA 宣告。
請遵循原則文法,以取得如何自訂 SKR 原則的更多範例。
Intel SGX 應用程式記憶體保護區 SKR 原則範例
範例 1:INTEL SGX 型 SKR 原則,用於在 MAA 宣告過程中驗證 MR 簽署者 (SGX 記憶體保護區簽署者) 詳細數據
{
"anyOf": [
{
"authority": "https://sharedeus2.eus2.attest.azure.net",
"allOf": [
{
"claim": "x-ms-sgx-mrsigner",
"equals": "9fa48b1629bd246a1de3d38fb7df97f6554cd65d6b3b72e85b86848ae6b578ba"
}
]
}
],
"version": "1.0.0"
}
範例 2:INTEL SGX 型 SKR 原則,用於在 MAA 宣告過程中驗證 MR 簽署者 (SGX 記憶體保護區簽署者) 或 MR 記憶體保護區詳細資料
{
"anyOf": [
{
"authority": "https://sharedeus2.eus2.attest.azure.net",
"allOf": [
{
"claim": "x-ms-sgx-mrsigner",
"equals": "9fa48b1629bd246a1de3d38fb7df97f6554cd65d6b3b72e85b86848ae6b578ba"
},
{
"claim": "x-ms-sgx-mrenclave",
"equals": "9fa48b1629bg677jfsaawed7772e85b86848ae6b578ba"
}
]
}
],
"version": "1.0.0"
}
範例 3:Intel SGX 型 SKR 原則,用於在 MAA 宣告過程中驗證 MR 簽署者 (SGX 記憶體保護區簽署者) 和 MR 記憶體保護區,其中包含最小 SVN 號碼詳細資料
{
"anyOf": [
{
"authority": "https://sharedeus2.eus2.attest.azure.net",
"allOf": [
{
"claim": "x-ms-sgx-mrsigner",
"equals": "9fa48b1629bd246a1de3d38fb7df97f6554cd65d6b3b72e85b86848ae6b578ba"
},
{
"claim": "x-ms-sgx-mrenclave",
"equals": "9fa48b1629bg677jfsaawed7772e85b86848ae6b578ba"
},
{
"claim": "x-ms-sgx-svn",
"greater": 1
}
]
}
],
"version": "1.0.0"
}
以 AMD SEV-SNP 為基礎的機密虛擬機器 VM TEE SKR 政策範例
範例 1:一個 SKR 原則,以驗證是否符合 Azure 規範的 CVM,並在真正的 AMD SEV-SNP 硬體上執行,且 MAA URL 授權單位分散到許多區域。
{
"version": "1.0.0",
"anyOf": [
{
"authority": "https://sharedweu.weu.attest.azure.net",
"allOf": [
{
"claim": "x-ms-attestation-type",
"equals": "sevsnpvm"
},
{
"claim": "x-ms-compliance-status",
"equals": "azure-compliant-cvm"
}
]
},
{
"authority": "https://sharedeus2.weu2.attest.azure.net",
"allOf": [
{
"claim": "x-ms-attestation-type",
"equals": "sevsnpvm"
},
{
"claim": "x-ms-compliance-status",
"equals": "azure-compliant-cvm"
}
]
}
]
}
範例 2:一個 SKR 原則,以驗證 CVM 是否為符合 Azure 規範的 CVM,並在真正的 AMD SEV-SNP 硬體上執行,且為已知的虛擬機器識別碼。 (VMID 在 Azure 中是唯一的,請在下例中編輯宣告中的「等於」部分,使用所需且唯一的 VMID)
{
"version": "1.0.0",
"allOf": [
{
"authority": "https://sharedweu.weu.attest.azure.net",
"allOf": [
{
"claim": "x-ms-isolation-tee.x-ms-attestation-type",
"equals": "sevsnpvm"
},
{
"claim": "x-ms-isolation-tee.x-ms-compliance-status",
"equals": "azure-compliant-cvm"
},
{
"claim": "x-ms-azurevm-vmid",
"equals": "<PLACE YOUR VMID here - for example - B958DC88-E41D-47F1-8D20-E57B6B7E9825>"
}
]
}
]
}
受信任啟動虛擬機(vTPM)SKR 政策範例
安全金鑰釋放不限於機密運算服務。
受信任啟動虛擬機(第二代,安全啟動 + vTPM)也會產生一個 MAA 認證憑證,且發布政策可對其 vTPM 測量開機聲明進行門檻限制——securebootx-ms-azurevm-attested-pcr-values.pcrN。 這些宣稱不需要 AMD SEV-SNP 或 Intel TDX 硬體。 機密運算同時保護記憶體中釋放的金鑰資料,防止主機取得。 當需要保護時使用。 完整攻略請參閱「保護 Azure VM 智慧財產權,採用認證門檻的安全金鑰釋出」。
範例 1: 一個可信啟動 SKR 政策,用來驗證啟用安全啟動的虛擬機(證明真實的可信啟動平台及驗證的 vTPM 報價)。
{
"version": "1.0.0",
"anyOf": [
{
"authority": "https://sharedweu.weu.attest.azure.net",
"allOf": [
{
"claim": "secureboot",
"equals": true
}
]
}
]
}
範例 2: 可信啟動 SKR 政策,另外透過比對特定的 PCR 值來固定已啟動的映像檔(通常 pcr4 用於開機載入程式/核心,pcr7 用於安全開機狀態)。 讀取已知良好證明標記的期望值,然後將它們替換成以下程式碼。 遭到竄改、重新製作映像或更換磁碟的虛擬機,會量測到不同的 PCR 值,因此將遭拒絕。
{
"version": "1.0.0",
"anyOf": [
{
"authority": "https://sharedweu.weu.attest.azure.net",
"allOf": [
{
"claim": "secureboot",
"equals": true
},
{
"claim": "x-ms-azurevm-attested-pcr-values.pcr4",
"equals": "<BASE64_PCR4>"
},
{
"claim": "x-ms-azurevm-attested-pcr-values.pcr7",
"equals": "<BASE64_PCR7>"
}
]
}
]
}
Azure 容器執行個體 (ACI) 上機密容器的 SKR 原則範例
範例 1:ACI 上的機密容器會在容器群組啟動時,驗證已啟動的容器及容器設定中繼資料,並額外驗證其是否為 AMD SEV-SNP 硬體。
注意
容器中繼資料是以 Rego 為基礎的原則雜湊,如本範例所示。
{
"version": "1.0.0",
"anyOf": [
{
"authority": "https://fabrikam1.wus.attest.azure.net",
"allOf": [
{
"claim": "x-ms-attestation-type",
"equals": "sevsnpvm"
},
{
"claim": "x-ms-compliance-status",
"equals": "azure-compliant-uvm"
},
{
"claim": "x-ms-sevsnpvm-hostdata",
"equals": "532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25"
}
]
}
]
}