Guia de início rápido: criar um recurso CCF gerenciado do Azure 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 Azure Managed CCF, consulte Sobre o Azure Managed Confidential Consortium Framework.

Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.

Documentação | de referência da API Pacote de código-fonte | da biblioteca (Python Package Index) Biblioteca de Gestão

Pré-requisitos

Configuração

Este início rápido usa a biblioteca de Identidade do Azure, juntamente com a CLI do Azure ou o Azure PowerShell, para autenticar o usuário nos Serviços do Azure. Os desenvolvedores também podem usar o Visual Studio ou o Visual Studio Code para autenticar suas chamadas. Para obter mais informações, consulte Autenticar o cliente com a biblioteca de cliente do Azure Identity.

Iniciar sessão no Azure

Entre no Azure usando o comando azur CLI az login do Azure ou o cmdlet Azure PowerShell Connect-AzAccount .

az login

Se a CLI ou o PowerShell puder abrir seu navegador padrão, ele fará isso e carregará uma página de entrada do Azure. Caso contrário, visite https://aka.ms/devicelogin e insira o código de autorização exibido no seu terminal.

Se solicitado, inicie sessão com as credenciais da sua conta no browser.

Instalar os pacotes

Em um terminal ou prompt de comando, crie uma pasta de projeto adequada e, em seguida, crie e ative um ambiente virtual Python conforme descrito em Usar ambientes virtuais Python.

Instale a biblioteca de cliente de identidade do Azure Ative Directory:

pip install azure-identity

Instale a biblioteca de cliente 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 contentor lógico no qual os recursos do Azure são implementados e geridos. Use o cmdlet New-AzResourceGroup do Azure PowerShell para criar um grupo de recursos chamado myResourceGroup no local southcentralus.

New-AzResourceGroup -Name "myResourceGroup" -Location "SouthCentralUS"

Registar o fornecedor de recursos

O tipo de recurso 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. Após a conclusão dos comandos a seguir, a chave pública do membro é salva e member0_cert.pem a chave privada é 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 Python

Usar a biblioteca de cliente do plano de gerenciamento

A biblioteca do plano de gerenciamento (azure.mgmt.confidentialledger) permite operações em recursos CCF gerenciados, 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 CCF gerenciado.

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()

Clean up resources (Limpar recursos)

Outros artigos do CCF gerenciado podem se basear neste início rápido. Se você planeja continuar a trabalhar com guias de início rápido e tutoriais subsequentes, convém deixar esses recursos no lugar.

Caso contrário, quando terminar os recursos criados neste artigo, use o comando azur CLI az group delete para excluir o grupo de recursos e todos os recursos contidos.

az group delete --resource-group myResourceGroup

Próximos passos

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 com seus aplicativos, continue nestes artigos: