Freigeben über


Schnellstart: Erstellen einer azure managed CCF-Ressource mit dem Azure SDK für Java

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 (maven zentrales Repository)

Voraussetzungen

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 Visual Studio auch auf einem Computer unter Windows oder Linux 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.

Installieren der Abhängigkeiten

<dependency>
    <groupId>com.azure.resourcemanager</groupId>
    <artifactId>azure-resourcemanager-confidentialledger</artifactId>
    <version>1.0.0-beta.3</version>
</dependency>

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 Java-Anwendung

Das Azure SDK für Java-Bibliothek (azure-resourcemanager-confidentialledger) ermöglicht Vorgänge für verwaltete CCF-Ressourcen, z. B. Erstellen und Löschen, Auflisten der ressourcen, die einem Abonnement zugeordnet sind, und Anzeigen der Details einer bestimmten Ressource. Der folgende Codeabschnitt erstellt und zeigt die Eigenschaften einer verwalteten CCF-Ressource an.

import com.azure.core.management.AzureEnvironment;
import com.azure.core.management.exception.ManagementException;
import com.azure.core.management.profile.AzureProfile;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.azure.resourcemanager.confidentialledger.ConfidentialLedgerManager;
import com.azure.resourcemanager.confidentialledger.fluent.models.ManagedCcfInner;
import com.azure.resourcemanager.confidentialledger.models.DeploymentType;
import com.azure.resourcemanager.confidentialledger.models.LanguageRuntime;
import com.azure.resourcemanager.confidentialledger.models.ManagedCcfProperties;
import com.azure.resourcemanager.confidentialledger.models.MemberIdentityCertificate;
import java.util.*;

public class AzureJavaSdkClient {
    public static void main(String[] args) {
      try {
          AzureProfile profile = new AzureProfile("<tenant id>","<subscription id>", AzureEnvironment.AZURE);
          ConfidentialLedgerManager manager = ConfidentialLedgerManager.authenticate(new DefaultAzureCredentialBuilder().build(), profile);

          MemberIdentityCertificate member0 = new MemberIdentityCertificate()
              .withCertificate("-----BEGIN CERTIFICATE-----\nMIIBvjCCAUSgAwIBAgIUA0YHcPpUCtd...0Yet/xU4G0d71ZtULNWo\n-----END CERTIFICATE-----")
              .withTags(Map.of("Dept", "IT"));
          List<MemberIdentityCertificate> members = new ArrayList<MemberIdentityCertificate>();
          members.add(member0);

          DeploymentType deployment = new DeploymentType().withAppSourceUri("").withLanguageRuntime(LanguageRuntime.JS);
          ManagedCcfProperties properties = new ManagedCcfProperties()
              .withDeploymentType(deployment)
              .withNodeCount(5)
              .withMemberIdentityCertificates(members);

          ManagedCcfInner inner = new ManagedCcfInner().withProperties(properties).withLocation("southcentralus");

          // Send Create request
          manager.serviceClient().getManagedCcfs().create("myResourceGroup", "confidentialbillingapp", inner);

          // Print the Managed CCF resource properties
          ManagedCcfInner app = manager.serviceClient().getManagedCcfs().getByResourceGroup("myResourceGroup", "confidentialbillingapp");
          printAppInfo(app);

          // Delete the resource
          manager.serviceClient().getManagedCcfs().delete("myResourceGroup", "confidentialbillingapp");
        } catch (ManagementException ex) {
            // The x-ms-correlation-request-id is located in the Header
            System.out.println(ex.getResponse().getHeaders().toString());
            System.out.println(ex);
        }
    }

    private static void printAppInfo(ManagedCcfInner app) {
        System.out.println("App Name: " + app.name());
        System.out.println("App Id: " + app.id());
        System.out.println("App Location: " + app.location());
        System.out.println("App type: " + app.type());
        System.out.println("App Properties Uri: " + app.properties().appUri());
        System.out.println("App Properties Language Runtime: " + app.properties().deploymentType().languageRuntime());
        System.out.println("App Properties Source Uri: " + app.properties().deploymentType().appSourceUri());
        System.out.println("App Properties NodeCount: " + app.properties().nodeCount());
        System.out.println("App Properties Identity Uri: " + app.properties().identityServiceUri());
        System.out.println("App Properties Cert 0: " + app.properties().memberIdentityCertificates().get(0).certificate());
        System.out.println("App Properties Cert tags: " + app.properties().memberIdentityCertificates().get(0).tags());
    }
}

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 SDK für Java erstellt. Weitere Informationen zu Azure Managed CCF und zur Integration in Ihre Anwendungen finden Sie in den folgenden Artikeln: