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
- Langganan Azure - membuat secara gratis.
- Versi Java Development Kit (JDK) yang didukung oleh Azure SDK untuk Java.
- OpenSSL di komputer yang menjalankan Windows atau Linux.
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: