Azure 受控 CCF (受控 CCF) 是一項新的高度安全服務,用於部署機密應用程式。 如需 Azure 受控 CCF 的詳細資訊,請參閱 關於 Azure 受控機密聯盟架構。
如果您沒有 Azure 帳戶,請先建立 免費帳戶 ,再開始。
API 參考文件 | 程式庫原始碼 | 套件(Python套件索引)管理程式庫
先決條件
- Azure 訂用帳戶 - 免費建立訂用帳戶。
- 適用於 Python 的 Azure SDK 支援的 Python 版本。
- 在執行 Windows 或 Linux 的電腦上開啟 OpenSSL。
- Python 套件的最低支援版本為 2.0.0b3。
設定
本快速入門會使用 Azure 身分識別程式庫,以及 Azure CLI 或 Azure PowerShell,向 Azure 服務驗證使用者。 開發人員也可以使用 Visual Studio 或 Visual Studio Code 來驗證其呼叫。 如需詳細資訊,請參閱 使用 Azure 身分識別用戶端程式庫驗證用戶端。
登入 Azure
使用 Azure CLI az login 命令或 Azure PowerShell Connect-AzAccount Cmdlet 登入 Azure。
az login
如果 CLI 或 PowerShell 可以開啟您的預設瀏覽器,它會這樣做並載入 Azure 登入頁面。 否則,請造訪 https://aka.ms/devicelogin 並輸入終端機中顯示的授權碼。
如果出現提示,請在瀏覽器中使用您的帳戶憑據登錄。
安裝套件
在終端機或命令提示字元中,建立適當的專案資料夾,然後建立並啟用 Python 虛擬環境,如 使用 Python 虛擬環境中所述。
安裝 Azure Active Directory 身分識別用戶端程式庫:
pip install azure-identity
安裝 Azure 機密總帳管理平面用戶端程式庫。 支援的最低版本為 2.0.0b3 或更新版本。
pip install azure-mgmt-confidentialledger==2.0.0b3
建立資源群組
資源群組是部署和管理 Azure 資源的邏輯容器。 使用 Azure PowerShell New-AzResourceGroup Cmdlet 在 southcentralus 位置建立名為 myResourceGroup 的資源群組。
New-AzResourceGroup -Name "myResourceGroup" -Location "SouthCentralUS"
註冊資源提供者
建立資源之前,必須先在訂用帳戶中註冊 Azure 受控 CCF 資源類型。
az feature registration create --namespace Microsoft.ConfidentialLedger --name ManagedCCF
az provider register --namespace Microsoft.ConfidentialLedger
建立成員
產生成員的金鑰組。 下列指令完成後,成員的公開金鑰會儲存在 中 member0_cert.pem ,而私密金鑰會儲存在 member0_privk.pem中。
openssl ecparam -out "member0_privk.pem" -name "secp384r1" -genkey
openssl req -new -key "member0_privk.pem" -x509 -nodes -days 365 -out "member0_cert.pem" -"sha384" -subj=/CN="member0"
建立 Python 應用程式
使用管理平面用戶端程式庫
管理平面程式庫 (azure.mgmt.confidentialledger) 允許對受控 CCF 資源進行作業,例如建立和刪除、列出與訂用帳戶相關聯的資源,以及檢視特定資源的詳細數據。 下列程式碼片段會建立並檢視受控 CCF 資源的屬性。
from azure.identity import DefaultAzureCredential
# Import the Azure Managed CCF management plane library
from azure.mgmt.confidentialledger import ConfidentialLedger
import os
sub_id = "0000000-0000-0000-0000-000000000001"
client = ConfidentialLedger(credential=DefaultAzureCredential(), subscription_id=sub_id)
# ********** Create a Managed CCF app **********
app_properties = {
"location": "southcentralus",
"properties": {
"deploymentType": {
"appSourceUri": "",
"languageRuntime": "JS"
},
"memberIdentityCertificates": [ # Multiple members can be supplied
{
"certificate": "-----BEGIN CERTIFICATE-----\nMIIBvzC...f0ZoeNw==\n-----END CERTIFICATE-----",
"tags": { "owner": "ITAdmin1" }
}
],
"nodeCount": 3 # Maximum allowed value is 9
},
"tags": { "costcenter": "12345" }
}
result = client.managed_ccf.begin_create("myResourceGroup", "confidentialbillingapp", app_properties).result()
# ********** Retrieve the Managed CCF app details **********
confidential_billing_app = client.managed_ccf.get("myResourceGroup", "confidentialbillingapp")
# ********** Delete the Managed CCF app **********
result = client.managed_ccf.begin_delete("myResourceGroup", "confidentialbillingapp").result()
清理資源
其他受控 CCF 文章可以建立在此快速入門之上。 如果您打算繼續使用後續的快速入門和教學課程,您可能想要保留這些資源。
否則,當您完成本文中建立的資源時,請使用 Azure CLI az group delete 命令來刪除資源群組及其所有包含的資源。
az group delete --resource-group myResourceGroup
後續步驟
在本快速入門中,您已使用適用於機密分類帳的 Azure Python SDK 建立受控 CCF 資源。 若要深入瞭解 Azure 受控 CCF 以及如何將它與您的應用程式整合,請繼續閱讀下列文章: