Bagikan melalui


Mulai cepat: Membuat sumber daya Azure Managed CCF menggunakan Azure SDK untuk Java

Azure Managed CCF (Managed CCF) adalah layanan baru dan sangat aman untuk menyebarkan aplikasi rahasia. Untuk informasi selengkapnya tentang Azure Managed CCF, lihat Tentang Azure Managed Confidential Consortium Framework.

Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

Dokumentasi | referensi API Paket kode | sumber pustaka (repositori pusat maven)

Prasyarat

Siapkan

Mulai cepat ini menggunakan pustaka Azure Identity dengan Azure CLI atau Azure PowerShell untuk mengautentikasi pengguna ke Azure Services. Pengembang juga dapat menggunakan Visual Studio di komputer yang menjalankan Kode Windows atau Linux untuk mengautentikasi panggilan mereka. Untuk informasi selengkapnya, lihat Mengautentikasi klien dengan pustaka klien Azure Identity.

Masuk ke Azure

Masuk ke Azure menggunakan perintah login az Azure CLI atau cmdlet Connect-AzAccount Azure PowerShell.

az login

Jika CLI atau PowerShell dapat membuka browser default Anda, CLI atau PowerShell akan membuka browser dan memuat halaman masuk Azure. Jika tidak, buka https://aka.ms/devicelogin dan masukkan kode otorisasi yang ditampilkan di terminal Anda.

Jika diminta, masuk menggunakan info masuk akun Anda di browser.

Instal Dependensi

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

Buat grup sumber daya

Grup sumber daya adalah kontainer logis yang disebarkan dan dikelola oleh sumber daya Azure. Gunakan cmdlet Azure PowerShell New-AzResourceGroup untuk membuat grup sumber daya bernama myResourceGroup di lokasi southcentralus.

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

Mendaftarkan penyedia sumber

Jenis sumber daya Azure Managed CCF harus didaftarkan dalam langganan sebelum membuat sumber daya.

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

az provider register --namespace Microsoft.ConfidentialLedger

Membuat anggota

Buat pasangan kunci untuk anggota. Setelah perintah berikut selesai, kunci umum anggota disimpan dan member0_cert.pem kunci privat disimpan di 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"

Membuat aplikasi Java

Pustaka Azure SDK for Java (azure-resourcemanager-confidentialledger) memungkinkan operasi pada sumber daya CCF Terkelola, seperti pembuatan dan penghapusan, mencantumkan sumber daya yang terkait dengan langganan, dan melihat detail sumber daya tertentu. Bagian kode berikut membuat dan melihat properti sumber daya CCF Terkelola.

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

Membersihkan sumber daya

Artikel CCF Terkelola lainnya dapat dibuat berdasarkan mulai cepat ini. Jika Anda berencana untuk terus bekerja dengan mulai cepat dan tutorial berikutnya, Anda mungkin ingin meninggalkan sumber daya ini di tempat.

Jika tidak, setelah Anda selesai dengan sumber daya yang dibuat dalam artikel ini, gunakan perintah az group delete Azure CLI untuk menghapus grup sumber daya dan semua sumber daya yang terkandung.

az group delete --resource-group myResourceGroup

Langkah berikutnya

Dalam mulai cepat ini, Anda membuat sumber daya CCF Terkelola dengan menggunakan Azure SDK untuk Java. Untuk mempelajari selengkapnya tentang Azure Managed CCF dan cara mengintegrasikannya dengan aplikasi Anda, lanjutkan ke artikel berikut: