Rychlý start: Správa tajných kódů pomocí klientské knihovny Azure Key Vault Go
V tomto rychlém startu se dozvíte, jak pomocí sady Azure SDK for Go vytvářet, načítat, vypisovat a odstraňovat tajné kódy ze služby Azure Key Vault.
Do trezoru klíčů Azure můžete uložit různé typy objektů . Když ukládáte tajné kódy do trezoru klíčů, nemusíte je ukládat do kódu, což pomáhá zlepšit zabezpečení vašich aplikací.
Začněte s balíčkem azsecrets a zjistěte, jak spravovat tajné kódy v trezoru klíčů Azure pomocí Go.
Požadavky
- Předplatné Azure. Pokud ještě předplatné nemáte, můžete si ho zdarma vytvořit.
- Nainstalovaná verze Go 1.18 nebo novější.
- Nainstalované Rozhraní příkazového řádku Azure
Nastavení
Pro účely tohoto rychlého startu použijete balíček azidentity k ověření v Azure pomocí Azure CLI. Další informace o různých metodách ověřování najdete v tématu Ověřování Azure pomocí sady Azure SDK for Go.
Přihlášení k webu Azure Portal
V Azure CLI spusťte následující příkaz:
az login
Pokud Azure CLI dokáže otevřít váš výchozí prohlížeč, provede to na přihlašovací stránce Azure Portal.
Pokud se stránka neotevře automaticky, přejděte na https://aka.ms/devicelogina zadejte autorizační kód, který se zobrazí v terminálu.
Přihlaste se k Azure Portal pomocí přihlašovacích údajů svého účtu.
Vytvoření skupiny prostředků a instance trezoru klíčů
Spusťte následující příkazy Azure CLI:
az group create --name quickstart-rg --location eastus
az keyvault create --name quickstart-kv --resource-group quickstart-rg
Vytvoření nového modulu Go a instalace balíčků
Spusťte následující příkazy Go:
go mod init kvSecrets
go get -u github.com/Azure/azure-sdk-for-go/sdk/keyvault/azsecrets
go get -u github.com/Azure/azure-sdk-for-go/sdk/azidentity
Ukázka kódu
Vytvořte soubor s názvem main.go a vložte do něj následující kód:
package main
import (
"context"
"fmt"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/keyvault/azsecrets"
)
func main() {
mySecretName := "secretName01"
mySecretValue := "secretValue"
vaultURI := os.Getenv("AZURE_KEY_VAULT_URI")
// Create a credential using the NewDefaultAzureCredential type.
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
// Establish a connection to the Key Vault client
client, err := azsecrets.NewClient(vaultURI, cred, nil)
// Create a secret
params := azsecrets.SetSecretParameters{Value: &mySecretValue}
_, err = client.SetSecret(context.TODO(), mySecretName, params, nil)
if err != nil {
log.Fatalf("failed to create a secret: %v", err)
}
// Get a secret. An empty string version gets the latest version of the secret.
version := ""
resp, err := client.GetSecret(context.TODO(), mySecretName, version, nil)
if err != nil {
log.Fatalf("failed to get the secret: %v", err)
}
fmt.Printf("secretValue: %s\n", *resp.Value)
// List secrets
pager := client.NewListSecretsPager(nil)
for pager.More() {
page, err := pager.NextPage(context.TODO())
if err != nil {
log.Fatal(err)
}
for _, secret := range page.Value {
fmt.Printf("Secret ID: %s\n", *secret.ID)
}
}
// Delete a secret. DeleteSecret returns when Key Vault has begun deleting the secret.
// That can take several seconds to complete, so it may be necessary to wait before
// performing other operations on the deleted secret.
delResp, err := client.DeleteSecret(context.TODO(), mySecretName, nil)
if err != nil {
log.Fatalf("failed to delete secret: %v", err)
}
fmt.Println(delResp.ID.Name() + " has been deleted")
}
Spuštění kódu
Před spuštěním kódu vytvořte proměnnou prostředí s názvem
KEY_VAULT_NAME
. Nastavte hodnotu proměnné prostředí na název trezoru klíčů, který jste vytvořili dříve.export KEY_VAULT_NAME=quickstart-kv
Aplikaci Go spustíte spuštěním následujícího příkazu:
go run main.go
secretValue: createdWithGO Secret ID: https://quickstart-kv.vault.azure.net/secrets/quickstart-secret Secret ID: https://quickstart-kv.vault.azure.net/secrets/secretName quickstart-secret has been deleted
Příklady kódu
Další příklady najdete v dokumentaci k modulu .
Vyčištění prostředků
Spuštěním následujícího příkazu odstraňte skupinu prostředků a všechny její zbývající prostředky:
az group delete --resource-group quickstart-rg
Další kroky
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro