Rövid útmutató: Felügyelt Azure CCF-erőforrás létrehozása az Azure SDK for Go 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. A felügyelt CCF-ről további információt az Azure Managed Confidential Consortium Frameworkről szóló cikkben talál.
Ebben a rövid útmutatóban megtudhatja, hogyan hozhat létre felügyelt CCF-erőforrást az Azure SDK for Go-kódtár használatával.
If you don't have an Azure subscription, create an Azure free account before you begin.
API-referenciadokumentáció Kódtár forráskódcsomagja | (Go) |
Előfeltételek
- Azure-előfizetés – hozzon létre egyet ingyenesen.
- Ugrás 1,18-ra vagy újabbra.
- OpenSSL windowsos vagy Linux rendszerű számítógépen.
Beállítás
Új Go-alkalmazás létrehozása
- A parancshéjban futtassa a következő parancsot egy mappa létrehozásához
managedccf-app
:
mkdir managedccf-app && cd managedccf-app
go mod init github.com/azure/resourcemanager/confidentialledger
A modulok telepítése
- Telepítse az Azure Confidential Ledger modult.
go get -u github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/confidentialledger/armconfidentialledger@v1.2.0-beta.1
Ehhez a rövid útmutatóhoz telepítenie kell a Go-hoz készült Azure Identity modult is.
go get -u github.com/Azure/azure-sdk-for-go/sdk/azidentity
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 Go-alkalmazás létrehozása
A felügyeleti sík kódtára lehetővé teszi a felügyelt CCF-erőforrásokon végzett műveleteket, például a létrehozást és a törlést, az előfizetéshez társított erőforrások felsorolását és egy adott erőforrás részleteit. Az alábbi kódrészlet egy felügyelt CCF-erőforrás tulajdonságait hozza létre és tekinti meg.
Adja hozzá a következő irányelveket a main.go elejéhez:
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/confidentialledger/armconfidentialledger"
)
Ügyfél-előállító hitelesítése és létrehozása
Ebben a rövid útmutatóban a bejelentkezett felhasználóval hitelesíthető az Azure Managed CCF, amely a helyi fejlesztés előnyben részesített módszere. Ez a példa az Azure Identity modul "NewDefaultAzureCredential()" osztályát használja, amely lehetővé teszi, hogy ugyanazt a kódot különböző környezetekben használja, és különböző lehetőségeket biztosítson az identitás biztosítására.
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("Failed to obtain a credential: %v", err)
}
Hozzon létre egy Azure Resource Manager-ügyfél-előállítót, és hitelesítse magát a jogkivonat hitelesítő adataival.
ctx := context.Background()
clientFactory, err := armconfidentialledger.NewClientFactory("0000000-0000-0000-0000-000000000001", cred, nil)
if err != nil {
log.Fatalf("Failed to create client: %v", err)
}
Felügyelt CCF-erőforrás létrehozása
appName := "confidentialbillingapp"
rgName := "myResourceGroup"
// Create a new resource
poller, err := clientFactory.NewManagedCCFClient().BeginCreate(ctx, rgName, appName, armconfidentialledger.ManagedCCF{
Location: to.Ptr("SouthCentralUS"),
Tags: map[string]*string{
"Department": to.Ptr("Contoso IT"),
},
Properties: &armconfidentialledger.ManagedCCFProperties{
DeploymentType: &armconfidentialledger.DeploymentType{
AppSourceURI: to.Ptr(""),
LanguageRuntime: to.Ptr(armconfidentialledger.LanguageRuntimeJS),
},
MemberIdentityCertificates: []*armconfidentialledger.MemberIdentityCertificate{
{
Certificate: to.Ptr("-----BEGIN CERTIFICATE-----\nMIIU4G0d7....1ZtULNWo\n-----END CERTIFICATE-----"),
Encryptionkey: to.Ptr(""),
Tags: map[string]any{
"owner": "IT Admin1",
},
}},
NodeCount: to.Ptr[int32](3),
},
}, nil)
if err != nil {
log.Fatalf("Failed to finish the request: %v", err)
}
_, err = poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("Failed to pull the result: %v", err)
}
A felügyelt CCF-erőforrás tulajdonságainak lekérése
Az alábbi kódrészlet lekéri az előző lépésben létrehozott felügyelt CCF-erőforrást.
log.Println("Getting the Managed CCF resource.")
// Get the resource details and print it
getResponse, err := clientFactory.NewManagedCCFClient().Get(ctx, rgName, appName, nil)
if err != nil {
log.Fatalf("Failed to get details of mccf instance: %v", err)
}
// Print few properties of the Managed CCF resource
log.Println("Application name:", *getResponse.ManagedCCF.Properties.AppName)
log.Println("Node Count:", *getResponse.ManagedCCF.Properties.NodeCount)
Felügyelt CCF-erőforrások listázása erőforráscsoportban
Az alábbi kódrészlet lekéri a felügyelt CCF-erőforrásokat az erőforráscsoportban.
pager := clientFactory.NewManagedCCFClient().NewListByResourceGroupPager(rgName, nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("Failed to advance page: %v", err)
}
for _, v := range page.Value {
log.Println("Application Name:", *v.Name)
}
}
A felügyelt CCF-erőforrás törlése
A következő kódrészlet törli a felügyelt CCF-erőforrást. 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.
deletePoller, err := clientFactory.NewManagedCCFClient().BeginDelete(ctx, rgName, appName, nil)
if err != nil {
log.Fatalf("Failed to finish the delete request: %v", err)
}
_, err = deletePoller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("Failed to get the delete result: %v", err)
}
Clean up resources
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 contoso-rg
Következő lépések
Ebben a rövid útmutatóban létrehozott egy felügyelt CCF-erőforrást az Azure Python SDK for Confidential Ledger 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: