Megosztás a következőn keresztül:


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

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.pemmenti:

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: