Hızlı Başlangıç: Go için Azure SDK'sını kullanarak Azure Yönetilen CCF kaynağı oluşturma
Azure Yönetilen CCF (Yönetilen CCF), gizli uygulamaları dağıtmak için yeni ve son derece güvenli bir hizmettir. Yönetilen CCF hakkında daha fazla bilgi için bkz . Azure Yönetilen Gizli Konsorsiyum Çerçevesi Hakkında.
Bu hızlı başlangıçta Go için Azure SDK kitaplığını kullanarak Yönetilen CCF kaynağı oluşturmayı öğreneceksiniz.
Azure aboneliğiniz yoksa başlamadan önce birücretsiz Azure hesabı oluşturun.
API başvuru belgeleri | Kitaplık kaynak kodu | Paketi (Go)
Ön koşullar
- Azure aboneliği - ücretsiz bir abonelik oluşturun.
- 1,18 veya daha yüksek bir değere gidin.
- Windows veya Linux çalıştıran bir bilgisayarda OpenSSL .
Kurulum
Yeni go uygulaması oluşturma
- Komut kabuğunda aşağıdaki komutu çalıştırarak adlı
managedccf-app
bir klasör oluşturun:
mkdir managedccf-app && cd managedccf-app
go mod init github.com/azure/resourcemanager/confidentialledger
Modülleri yükleme
- Azure Gizli Kayıt Defteri modülünü yükleyin.
go get -u github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/confidentialledger/armconfidentialledger@v1.2.0-beta.1
Bu hızlı başlangıç için Go için Azure Identity modülünü de yüklemeniz gerekir.
go get -u github.com/Azure/azure-sdk-for-go/sdk/azidentity
Kaynak grubu oluşturma
Kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır. Southcentralus konumunda myResourceGroup adlı bir kaynak grubu oluşturmak için Azure PowerShell New-AzResourceGroup cmdlet'ini kullanın.
New-AzResourceGroup -Name "myResourceGroup" -Location "SouthCentralUS"
Kaynak sağlayıcısını kaydetme
Kaynak oluşturmadan önce Azure Yönetilen CCF kaynak türünün aboneliğe kaydedilmesi gerekir.
az feature registration create --namespace Microsoft.ConfidentialLedger --name ManagedCCF
az provider register --namespace Microsoft.ConfidentialLedger
Üye oluşturma
Üye için bir anahtar çifti oluşturun. Aşağıdaki komutlar tamamlandıktan sonra, üyenin ortak anahtarı öğesine member0_cert.pem
kaydedilir ve özel anahtar öğesine member0_privk.pem
kaydedilir.
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"
Go uygulamasını oluşturma
Yönetim düzlemi kitaplığı, yönetilen CCF kaynaklarında oluşturma ve silme, abonelikle ilişkili kaynakları listeleme ve belirli bir kaynağın ayrıntılarını görüntüleme gibi işlemlere olanak tanır. Aşağıdaki kod parçası, Yönetilen CCF kaynağının özelliklerini oluşturur ve görüntüler.
Main.go dosyasının en üstüne aşağıdaki yönergeleri ekleyin:
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"
)
Kimlik doğrulaması yapma ve istemci fabrikası oluşturma
Bu hızlı başlangıçta oturum açmış kullanıcı, yerel geliştirme için tercih edilen yöntem olan Azure Yönetilen CCF'de kimlik doğrulaması yapmak için kullanılır. Bu örnekte Azure Identity modülünden 'NewDefaultAzureCredential()' sınıfı kullanılmaktadır. Bu sınıf, kimlik sağlamak için farklı seçeneklere sahip farklı ortamlarda aynı kodun kullanılmasına olanak tanır.
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("Failed to obtain a credential: %v", err)
}
Azure Resource Manager istemci fabrikası oluşturma ve belirteç kimlik bilgilerini kullanarak kimlik doğrulaması yapma.
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)
}
Yönetilen CCF kaynağı oluşturma
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)
}
Yönetilen CCF kaynağının özelliklerini alma
Aşağıdaki kod parçası, önceki adımda oluşturulan Yönetilen CCF kaynağını alır.
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)
Bir Kaynak Grubundaki Yönetilen CCF kaynaklarını listeleme
Aşağıdaki kod parçası, kaynak grubundaki Yönetilen CCF kaynaklarını alır.
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)
}
}
Yönetilen CCF kaynağını silme
Aşağıdaki kod parçası Yönetilen CCF kaynağını siler. Diğer Yönetilen CCF makaleleri bu hızlı başlangıcı temel alabilir. Sonraki hızlı başlangıçlar ve öğreticilerle çalışmaya devam etmek istiyorsanız, bu kaynakları yerinde bırakmak isteyebilirsiniz.
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)
}
Kaynakları temizleme
Diğer Yönetilen CCF makaleleri bu hızlı başlangıcı temel alabilir. Sonraki hızlı başlangıçlar ve öğreticilerle çalışmaya devam etmek istiyorsanız, bu kaynakları yerinde bırakmak isteyebilirsiniz.
Aksi takdirde, bu makalede oluşturulan kaynakları tamamladığınızda, kaynak grubunu ve içerdiği tüm kaynakları silmek için Azure CLI az group delete komutunu kullanın.
az group delete --resource-group contoso-rg
Sonraki adımlar
Bu hızlı başlangıçta, Gizli Kayıt Defteri için Azure Python SDK'sını kullanarak bir Yönetilen CCF kaynağı oluşturdunuz. Azure Yönetilen CCF ve uygulamalarınızla tümleştirme hakkında daha fazla bilgi edinmek için şu makalelere geçin: