Delen via


Quickstart: Een Azure Managed CCF-resource maken met behulp van de Azure SDK voor Java

Azure Managed CCF (Managed CCF) is een nieuwe en zeer veilige service voor het implementeren van vertrouwelijke toepassingen. Zie Over Azure Managed Confidential Consortium Framework voor meer informatie over Azure Managed CCF.

Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.

Broncodepakket voor API-referentiedocumentatiebibliotheek | | (centrale maven-opslagplaats)

Vereisten

Instellingen

In deze quickstart wordt gebruikgemaakt van de Azure Identity-bibliotheek, samen met Azure CLI of Azure PowerShell, om de gebruiker te verifiëren bij Azure Services. Ontwikkelaars kunnen ook Visual Studio of Visual Studi- OpenSSL gebruiken op een computer met Windows of Linux.o Code om hun aanroepen te verifiëren. Zie De client verifiëren met de Azure Identity-clientbibliotheek voor meer informatie.

Aanmelden bij Azure

Meld u aan bij Azure met behulp van de Azure CLI az login command of de Azure PowerShell Verbinding maken-AzAccount cmdlet.

az login

Als de CLI of PowerShell uw standaardbrowser kan openen, gebeurt dit en laadt u een Azure-aanmeldingspagina. Anders gaat u naar https://aka.ms/devicelogin en voert u de autorisatiecode in die wordt weergegeven in uw terminal.

Meld u aan met uw accountreferenties in de browser als u hierom wordt gevraagd.

De afhankelijkheden installeren

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

Een brongroep maken

Een resourcegroep is een logische container waarin Azure-resources worden geïmplementeerd en beheerd. Gebruik de Azure PowerShell New-AzResourceGroup-cmdlet om een resourcegroep met de naam myResourceGroup te maken op de locatie southcentralus .

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

De resourceprovider registreren

Het azure managed CCF-resourcetype moet worden geregistreerd in het abonnement voordat u een resource maakt.

az feature registration create --namespace Microsoft.ConfidentialLedger --name ManagedCCF

az provider register --namespace Microsoft.ConfidentialLedger

Leden maken

Genereer een sleutelpaar voor het lid. Nadat de volgende opdrachten zijn voltooid, wordt de openbare sleutel van het lid opgeslagen en member0_cert.pem wordt de persoonlijke sleutel opgeslagen in 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"

De Java-toepassing maken

Met de Azure SDK voor Java-bibliotheek (azure-resourcemanager-confidentialledger) kunt u bewerkingen uitvoeren op beheerde CCF-resources, zoals het maken en verwijderen, het weergeven van de resources die zijn gekoppeld aan een abonnement en de details van een specifieke resource bekijken. In het volgende codefragment worden de eigenschappen van een beheerde CCF-resource gemaakt en weergegeven.

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

Resources opschonen

Andere beheerde CCF-artikelen kunnen voortbouwen op deze quickstart. Als u van plan bent om door te gaan met de volgende quickstarts en zelfstudies, wilt u deze resources mogelijk behouden.

Als u klaar bent met de resources die in dit artikel zijn gemaakt, gebruikt u de opdracht Azure CLI az group delete om de resourcegroep en alle bijbehorende resources te verwijderen.

az group delete --resource-group myResourceGroup

Volgende stappen

In deze quickstart hebt u een beheerde CCF-resource gemaakt met behulp van de Azure SDK voor Java. Voor meer informatie over Azure Managed CCF en hoe u deze integreert met uw toepassingen, gaat u verder met deze artikelen: