Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Microsoft Azure Managed CCF (Managed CCF) est un service nouveau et hautement sécurisé pour le déploiement d’applications confidentielles. Pour plus d’informations sur Azure Managed CCF, consultez About Azure Managed Confidential Consortium Framework.
Si vous n’avez pas de compte Azure, créez un compte gratuit avant de commencer.
Documentation de | référence sur l’APICode | source de la bibliothèquePackage (npm)
Prerequisites
- Un abonnement Azure : créez-en un gratuitement.
- Node.js versions prises en charge par le Kit de développement logiciel (SDK) Azure pour JavaScript.
- OpenSSL sur un ordinateur exécutant Windows ou Linux.
Coup monté
Ce guide de démarrage rapide utilise la bibliothèque d’identités Azure, ainsi qu’Azure CLI ou Azure PowerShell, pour authentifier l’utilisateur auprès des services Azure. Les développeurs peuvent également utiliser Visual Studio ou Visual Studio Code pour authentifier leurs appels. Pour plus d’informations, consultez Authentifier le client avec la bibliothèque de client Azure Identity.
Se connecter à Azure
Connectez-vous à Azure à l’aide de la commande Azure CLI az login ou de l’applet de commande Azure PowerShell Connect-AzAccount .
az login
Si l’interface CLI ou PowerShell peut ouvrir votre navigateur par défaut, elle le fera et chargera une page de connexion Azure. Sinon, visitez https://aka.ms/devicelogin et entrez le code d’autorisation affiché dans votre terminal.
Si vous y êtes invité, connectez-vous avec les informations d’identification de votre compte dans le navigateur.
Initialiser un nouveau projet npm
Dans un terminal ou une invite de commandes, créez un dossier de projet approprié et initialisez un npm projet. Vous pouvez ignorer cette étape si vous avez un projet de nœud existant.
cd <work folder>
npm init -y
Installer les packages
Installez la bibliothèque de client d’identité Azure Active Directory.
npm install --save @azure/identity
Installez la bibliothèque cliente du plan de gestion du registre confidentiel Azure.
npm install -save @azure/arm-confidentialledger@1.3.0-beta.1
Installer globalement le compilateur et les outils TypeScript
npm install -g typescript
Créer un groupe de ressources
Un groupe de ressources est un conteneur logique dans lequel les ressources Azure sont déployées et gérées. Utilisez l’applet de commande Azure PowerShell New-AzResourceGroup pour créer un groupe de ressources nommé myResourceGroup à l’emplacement southcentralus .
New-AzResourceGroup -Name "myResourceGroup" -Location "SouthCentralUS"
Inscrire le fournisseur de ressources
Le type de ressource Azure Managed CCF doit être inscrit dans l’abonnement avant de créer une ressource.
az feature registration create --namespace Microsoft.ConfidentialLedger --name ManagedCCF
az provider register --namespace Microsoft.ConfidentialLedger
Créer des membres
Générez une paire de clés pour le membre. Une fois les commandes suivantes terminées, la clé publique du membre est enregistrée member0_cert.pem et la clé privée est enregistrée dans 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"
Créer l’application JavaScript
Utiliser la bibliothèque cliente du plan de gestion
Le Kit de développement logiciel (SDK) Azure pour JavaScript et la bibliothèque TypeScript azure/arm-confidentialledger autorise les opérations sur les ressources CCF gérées, telles que la création et la suppression, la liste des ressources associées à un abonnement et l’affichage des détails d’une ressource spécifique.
Pour exécuter les exemples ci-dessous, enregistrez les extraits de code dans un fichier avec une .ts extension dans votre dossier de projet et compilez-le dans le cadre de votre projet TypeScript, ou compilez le script en JavaScript séparément en exécutant :
tsc <filename.ts>
Le fichier JavaScript compilé aura le même nom, mais une *.js extension. Exécutez ensuite le script dans nodeJS :
node <filename.js>
L’exemple de code TypeScript suivant crée et affiche les propriétés d’une ressource CCF managée.
import { ConfidentialLedgerClient, ManagedCCFProperties, ManagedCCF, KnownLanguageRuntime, DeploymentType, MemberIdentityCertificate } from "@azure/arm-confidentialledger";
import { DefaultAzureCredential } from "@azure/identity";
// Please replace these variables with appropriate values for your project
const subscriptionId = "0000000-0000-0000-0000-000000000001";
const rgName = "myResourceGroup";
const ledgerId = "testApp";
const memberCert0 = "-----BEGIN CERTIFICATE-----\nMIIBvjCCAUSgAwIBAg...0d71ZtULNWo\n-----END CERTIFICATE-----";
const memberCert1 = "-----BEGIN CERTIFICATE-----\nMIIBwDCCAUagAwIBAgI...2FSyKIC+vY=\n-----END CERTIFICATE-----";
async function main() {
console.log("Creating a new instance.")
const client = new ConfidentialLedgerClient(new DefaultAzureCredential(), subscriptionId);
const properties = <ManagedCCFProperties> {
deploymentType: <DeploymentType> {
appSourceUri: "",
languageRuntime: KnownLanguageRuntime.JS
},
memberIdentityCertificates: [
<MemberIdentityCertificate>{
certificate: memberCert0,
encryptionkey: "",
tags: {
"owner":"member0"
}
},
<MemberIdentityCertificate>{
certificate: memberCert1,
encryptionkey: "",
tags: {
"owner":"member1"
}
},
],
nodeCount: 3,
};
const mccf = <ManagedCCF> {
location: "SouthCentralUS",
properties: properties,
}
const createResponse = await client.managedCCFOperations.beginCreateAndWait(rgName, ledgerId, mccf);
console.log("Created. Instance id: " + createResponse.id);
// Get details of the instance
console.log("Getting instance details.");
const getResponse = await client.managedCCFOperations.get(rgName, ledgerId);
console.log(getResponse.properties?.identityServiceUri);
console.log(getResponse.properties?.nodeCount);
// List mccf instances in the RG
console.log("Listing the instances in the resource group.");
const instancePages = await client.managedCCFOperations.listByResourceGroup(rgName).byPage();
for await(const page of instancePages){
for(const instance of page)
{
console.log(instance.name + "\t" + instance.location + "\t" + instance.properties?.nodeCount);
}
}
console.log("Delete the instance.");
await client.managedCCFOperations.beginDeleteAndWait(rgName, ledgerId);
console.log("Deleted.");
}
(async () => {
try {
await main();
} catch(err) {
console.error(err);
}
})();
Supprimer la ressource CCF gérée
L’élément de code suivant supprime la ressource CCF gérée. D’autres articles de CCF managés peuvent s’appuyer sur ce guide de démarrage rapide. Si vous envisagez de continuer à travailler avec des guides de démarrage rapide et des didacticiels suivants, vous souhaiterez peut-être laisser ces ressources en place.
import { ConfidentialLedgerClient, ManagedCCFProperties, ManagedCCF, KnownLanguageRuntime, DeploymentType, MemberIdentityCertificate } from "@azure/arm-confidentialledger";
import { DefaultAzureCredential } from "@azure/identity";
const subscriptionId = "0000000-0000-0000-0000-000000000001"; // replace
const rgName = "myResourceGroup";
const ledgerId = "confidentialbillingapp";
async function deleteManagedCcfResource() {
const client = new ConfidentialLedgerClient(new DefaultAzureCredential(), subscriptionId);
console.log("Delete the instance.");
await client.managedCCFOperations.beginDeleteAndWait(rgName, ledgerId);
console.log("Deleted.");
}
(async () => {
try {
await deleteManagedCcfResource();
} catch(err) {
console.error(err);
}
})();
Nettoyer les ressources
D’autres articles de CCF managés peuvent s’appuyer sur ce guide de démarrage rapide. Si vous envisagez de continuer à travailler avec des guides de démarrage rapide et des didacticiels suivants, vous souhaiterez peut-être laisser ces ressources en place.
Sinon, lorsque vous avez terminé d’utiliser les ressources créées dans cet article, utilisez la commande Azure CLI az group delete pour supprimer le groupe de ressources et toutes ses ressources contenues.
az group delete --resource-group myResourceGroup
Étapes suivantes
Dans ce guide de démarrage rapide, vous avez créé une ressource CCF managée à l’aide du Kit de développement logiciel (SDK) Azure Python pour le registre confidentiel. Pour en savoir plus sur Azure Managed CCF et comment l’intégrer à vos applications, passez à ces articles :