你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
快速入门:使用 Azure SDK for Python 创建 Azure 托管 CCF 资源
Azure 托管 CCF(托管 CCF)是一项用于部署机密应用程序的全新且高度安全的服务。 有关 Azure 托管 CCF 的详细信息,请参阅关于 Azure 托管机密联盟框架。
如果没有 Azure 订阅,请在开始之前创建一个 Azure 免费帐户。
API 参考文档 | 库源代码 | 包(Python 包索引)管理库
先决条件
- Azure 订阅 - 免费创建订阅。
- Azure SDK for Python 支持的 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 for Confidential Ledger 创建了托管 CCF 资源。 要详细了解 Azure 托管 CCF 以及如何将其与应用程序集成,请继续阅读以下文章: