Início rápido: criar um recurso do Azure Managed CCF usando o SDK do Azure para Python
O Azure Managed CCF (Managed CCF) é um serviço novo e altamente seguro para implantar aplicativos confidenciais. Para obter mais informações sobre o CCF Gerenciado do Azure, confira Sobre o Confidential Consortium Framework Gerenciado do Azure.
Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.
Documentação de referência da API | Código-fonte da biblioteca | Biblioteca de Gerenciamento de Pacotes (Índice de Pacotes Python)
Pré-requisitos
- Uma assinatura do Azure – crie uma gratuitamente.
- Versões do Python compatíveis com o SDK do Azure para Python.
- OpenSSL em um computador executando Windows ou Linux.
- A versão mínima suportada do pacote Python é 2.0.0b3.
Instalação
Este guia de início rápido usa a biblioteca da Identidade do Azure com a CLI do Azure ou o Azure PowerShell para autenticar usuários nos serviços do Azure. Os desenvolvedores também podem usar o Visual Studio ou o Visual Studio Code para autenticar as chamadas. Para obter mais informações, confira Autenticar o cliente com a biblioteca de clientes da Identidade do Azure.
Entrar no Azure
Entre no Azure usando o comando az login da CLI do Azure ou o cmdlet Connect-AzAccount do Azure PowerShell.
az login
Se a CLI ou o PowerShell puder abrir o navegador padrão, ele o fará e carregará uma página de entrada do Azure. Caso contrário, acesse https://aka.ms/devicelogin e insira o código de autorização exibido no terminal.
Se solicitado, entre com suas credenciais de conta no navegador.
Instalar os pacotes
Em um terminal ou prompt de comando, crie uma pasta de projeto adequada e depois crie e ative um ambiente virtual do Python conforme descrito em Usar ambientes virtuais do Python.
Instale a biblioteca de clientes da identidade do Azure Active Directory:
pip install azure-identity
Instale a biblioteca de clientes do plano de gerenciamento de razão confidencial do Azure. A versão mínima suportada é 2.0.0b3 ou posterior.
pip install azure-mgmt-confidentialledger==2.0.0b3
Criar um grupo de recursos
Um grupo de recursos é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados. Use o cmdlet New-AzResourceGroup do Azure PowerShell para criar um grupo de recursos chamado myResourceGroup na localização southcentralus.
New-AzResourceGroup -Name "myResourceGroup" -Location "SouthCentralUS"
Registre o provedor de recursos
O tipo de recurso do Azure Managed CCF deve ser registrado na assinatura antes de criar um recurso.
az feature registration create --namespace Microsoft.ConfidentialLedger --name ManagedCCF
az provider register --namespace Microsoft.ConfidentialLedger
Criar membros
Gere um par de chaves para o membro. Depois que os comandos a seguir forem concluídos, a chave pública do membro será salva em member0_cert.pem
e a chave privada será salva em 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"
Criar o aplicativo do Python
Usar a biblioteca de clientes do plano de gerenciamento
A biblioteca do plano de gerenciamento (azure.mgmt.confidentialledger) permite operações em recursos do Managed CCF, como criação e exclusão, listagem dos recursos associados a uma assinatura e exibição dos detalhes de um recurso específico. A parte de código a seguir cria e exibe as propriedades de um recurso do Managed 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()
Limpar os recursos
Outros artigos do CCF gerenciado podem se basear neste início rápido. Se você planeja continuar trabalhando com os guias de início rápido e tutoriais subsequentes, convém deixar esses recursos em vigor.
Caso contrário, quando tiver concluído os recursos criados neste artigo, use o comando az group delete da CLI do Azure para excluir o grupo de recursos e todos os recursos que ele contém.
az group delete --resource-group myResourceGroup
Próximas etapas
Neste início rápido, você criou um recurso ccf gerenciado usando o SDK do Python do Azure para Razão Confidencial. Para saber mais sobre o Azure Managed CCF e como integrá-lo aos seus aplicativos, continue com estes artigos: