Share via


快速入門:使用 Azure SDK for Python 建立 Azure 受控 CCF 資源

Azure 受控 CCF (受控 CCF) 是部署機密應用程式新型且高度安全的服務。 如需 Azure 受控 CCF 的詳細資訊,請參閱關於 Azure 受控機密聯盟架構

如果您沒有 Azure 訂用帳戶,請在開始之前先建立 Azure 免費帳戶

API 參考文件 | 程式庫原始程式碼 | 套件 (Python Package Index) 管理程式庫

必要條件

設定

本快速入門使用 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 及如何與應用程式整合,請繼續閱讀下列文章: