Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Microsoft Azure Managed CCF (Managed CCF) ist ein neuer und hochgradig sicherer Dienst für die Bereitstellung vertraulicher Anwendungen. Weitere Informationen zu Azure Managed CCF finden Sie unter Azure Managed Confidential Consortium Framework.
Wenn Sie nicht über ein Azure-Konto verfügen, erstellen Sie ein kostenloses Konto , bevor Sie beginnen.
API-Referenzdokumentation | Quellcode | der BibliothekPaket (npm)
Voraussetzungen
- Ein Azure-Abonnement – kostenlos erstellen.
- Node.js Versionen, die vom Azure SDK für JavaScript unterstützt werden.
- OpenSSL auf einem Computer unter Windows oder Linux.
Konfiguration
Diese Schnellstartanleitung verwendet die Azure Identity-Bibliothek zusammen mit Azure CLI oder Azure PowerShell zum Authentifizieren von Benutzern bei Azure Services. Entwickler können auch Visual Studio oder Visual Studio Code verwenden, um ihre Anrufe zu authentifizieren. Weitere Informationen finden Sie unter Authentifizieren des Clients mit der Azure Identity-Clientbibliothek.
Anmelden bei Azure
Melden Sie sich mit dem Azure CLI az-Anmeldebefehl oder dem Azure PowerShell Connect-AzAccount-Cmdlet bei Azure an.
Wenn die CLI oder PowerShell Ihren Standardbrowser öffnen kann, wird dies ausgeführt und eine Azure-Anmeldeseite geladen. https://aka.ms/devicelogin Besuchen Sie andernfalls den Autorisierungscode, der in Ihrem Terminal angezeigt wird, und geben Sie ihn ein.
Wenn Sie dazu aufgefordert werden, melden Sie sich mit Ihren Kontoanmeldeinformationen im Browser an.
Initialisieren eines neuen npm-Projekts
Erstellen Sie in einem Terminal oder einer Eingabeaufforderung einen geeigneten Projektordner, und initialisieren Sie ein npm Projekt. Sie können diesen Schritt überspringen, wenn Sie über ein vorhandenes Knotenprojekt verfügen.
cd <work folder>
npm init -y
Installieren der Pakete
Installieren Sie die Azure Active Directory-Identitätsclientbibliothek.
npm install --save @azure/identity
Installieren Sie die Clientbibliothek der Azure Confidential Ledger-Verwaltungsebene.
npm install -save @azure/arm-confidentialledger@1.3.0-beta.1
Installieren des TypeScript-Compilers und der Tools global
npm install -g typescript
Erstellen einer Ressourcengruppe
Eine Ressourcengruppe ist ein logischer Container, in dem Azure-Ressourcen bereitgestellt und verwaltet werden. Verwenden Sie das Azure PowerShell New-AzResourceGroup-Cmdlet , um eine Ressourcengruppe mit dem Namen "myResourceGroup" am Standort "southcentralus " zu erstellen.
New-AzResourceGroup -Name "myResourceGroup" -Location "SouthCentralUS"
Registrieren des Ressourcenanbieters
Der Azure Managed CCF-Ressourcentyp muss im Abonnement registriert werden, bevor eine Ressource erstellt wird.
az feature registration create --namespace Microsoft.ConfidentialLedger --name ManagedCCF
az provider register --namespace Microsoft.ConfidentialLedger
Mitglieder erstellen
Generieren Sie ein Schlüsselpaar für das Element. Nach Abschluss der folgenden Befehle wird der öffentliche Schlüssel des Mitglieds gespeichert member0_cert.pem , und der private Schlüssel wird gespeichert 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"
Erstellen der JavaScript-Anwendung
Verwenden der Clientbibliothek der Verwaltungsebene
Das Azure SDK für JavaScript- und TypeScript-Bibliothek azure/arm-confidentialledger ermöglicht Vorgänge auf verwalteten CCF-Ressourcen, z. B. Erstellung und Löschung, Auflisten der ressourcen, die einem Abonnement zugeordnet sind, und Anzeigen der Details einer bestimmten Ressource.
Um die folgenden Beispiele auszuführen, speichern Sie die Codeausschnitte in einer Datei mit einer .ts Erweiterung in Ihrem Projektordner, und kompilieren Sie es als Teil Ihres TypeScript-Projekts, oder kompilieren Sie das Skript separat in JavaScript, indem Sie Folgendes ausführen:
tsc <filename.ts>
Die kompilierte JavaScript-Datei hat denselben Namen, aber eine *.js Erweiterung. Führen Sie dann das Skript in nodeJS aus:
node <filename.js>
Der folgende TypeScript-Beispielcode erstellt und zeigt die Eigenschaften einer verwalteten CCF-Ressource an.
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);
}
})();
Löschen der verwalteten CCF-Ressource
Der folgende Codeabschnitt löscht die verwaltete CCF-Ressource. Andere verwaltete CCF-Artikel können auf dieser Schnellstartanleitung aufbauen. Wenn Sie beabsichtigen, mit nachfolgenden Schnellstarts und Lernprogrammen fortzufahren, sollten Sie diese Ressourcen beibehalten.
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);
}
})();
Bereinigen von Ressourcen
Andere verwaltete CCF-Artikel können auf dieser Schnellstartanleitung aufbauen. Wenn Sie beabsichtigen, mit nachfolgenden Schnellstarts und Lernprogrammen fortzufahren, sollten Sie diese Ressourcen beibehalten.
Wenn Sie mit den in diesem Artikel erstellten Ressourcen fertig sind, verwenden Sie andernfalls den Befehl zum Löschen der Azure CLI az group , um die Ressourcengruppe und alle enthaltenen Ressourcen zu löschen.
az group delete --resource-group myResourceGroup
Nächste Schritte
In dieser Schnellstartanleitung haben Sie eine verwaltete CCF-Ressource mithilfe des Azure Python SDK für vertrauliches Ledger erstellt. Weitere Informationen zu Azure Managed CCF und zur Integration in Ihre Anwendungen finden Sie in den folgenden Artikeln: