Rövid útmutató: Felügyelt Azure CCF-erőforrás létrehozása az Azure SDK for Java használatával
Az Azure Managed CCF (Managed CCF) egy új és rendkívül biztonságos szolgáltatás a bizalmas alkalmazások üzembe helyezéséhez. Az Azure Managed CCF-ről további információt az Azure Managed Confidential Consortium Frameworkről szóló cikkben talál.
Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.
API-referenciadokumentáció Kódtár forráskódcsomagja | (maven központi adattár) |
Előfeltételek
- Azure-előfizetés – hozzon létre egyet ingyenesen.
- Az Azure SDK for Java által támogatott Java Development Kit (JDK) verziók.
- OpenSSL windowsos vagy Linux rendszerű számítógépen.
Beállítás
Ez a rövid útmutató az Azure Identity library és az Azure CLI vagy az Azure PowerShell használatával hitelesíti a felhasználót az Azure Servicesben. A fejlesztők windowsos vagy Linux-kódot futtató számítógépen is használhatják a Visual Studiót a hívásaik hitelesítéséhez. További információ: Az ügyfél hitelesítése az Azure Identity ügyfélkódtárával.
Bejelentkezés az Azure-ba
Jelentkezzen be az Azure-ba az Azure CLI az login paranccsal vagy az Azure PowerShell Connect-AzAccount parancsmaggal.
az login
Ha a parancssori felület vagy a PowerShell meg tudja nyitni az alapértelmezett böngészőt, az azt teszi, és betölt egy Azure-bejelentkezési lapot. Ellenkező esetben keresse fel https://aka.ms/devicelogin és adja meg a terminálban megjelenő engedélyezési kódot.
Ha a rendszer kéri, jelentkezzen be a fiók hitelesítő adataival a böngészőben.
A függőségek telepítése
<dependency>
<groupId>com.azure.resourcemanager</groupId>
<artifactId>azure-resourcemanager-confidentialledger</artifactId>
<version>1.0.0-beta.3</version>
</dependency>
Erőforráscsoport létrehozása
Az erőforráscsoport olyan logikai tároló, amelybe a rendszer üzembe helyezi és kezeli az Azure-erőforrásokat. Az Azure PowerShell New-AzResourceGroup parancsmaggal hozzon létre egy myResourceGroup nevű erőforráscsoportot a southcentralus helyén.
New-AzResourceGroup -Name "myResourceGroup" -Location "SouthCentralUS"
Az erőforrás-szolgáltató regisztrálása
Az azure-beli felügyelt CCF-erőforrástípust regisztrálni kell az előfizetésben, mielőtt létrehoz egy erőforrást.
az feature registration create --namespace Microsoft.ConfidentialLedger --name ManagedCCF
az provider register --namespace Microsoft.ConfidentialLedger
Tagok létrehozása
Hozzon létre egy kulcspárt a tag számára. A következő parancsok végrehajtása után a rendszer menti member0_cert.pem
a tag nyilvános kulcsát, és a titkos kulcsot a program a következőbe member0_privk.pem
menti:
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"
A Java-alkalmazás létrehozása
Az Azure SDK for Java-kódtár (azure-resourcemanager-confidentialledger) lehetővé teszi a felügyelt CCF-erőforrásokon végzett műveleteket, például a létrehozást és törlést, az előfizetéshez társított erőforrások felsorolását és egy adott erőforrás részleteinek megtekintését. Az alábbi kódrészlet egy felügyelt CCF-erőforrás tulajdonságait hozza létre és tekinti meg.
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());
}
}
Az erőforrások eltávolítása
Más felügyelt CCF-cikkek erre a rövid útmutatóra építhetnek. Ha további rövid útmutatókkal és oktatóanyagokkal szeretné folytatni a munkát, érdemes lehet ezeket az erőforrásokat a helyén hagyni.
Ellenkező esetben, ha végzett a cikkben létrehozott erőforrásokkal, az Azure CLI az group delete paranccsal törölje az erőforráscsoportot és annak összes benne foglalt erőforrását.
az group delete --resource-group myResourceGroup
Következő lépések
Ebben a rövid útmutatóban létrehozott egy felügyelt CCF-erőforrást az Azure SDK for Java használatával. Ha többet szeretne megtudni az Azure Managed CCF-ről és arról, hogyan integrálható az alkalmazásokkal, folytassa az alábbi cikkekkel: