Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel erfahren Sie, wie Sie einen Azure Kubernetes Service (AKS) Cluster mit Microsoft Entra Workload ID bereitstellen und konfigurieren. Die Schritte in diesem Artikel umfassen:
- Erstellen Sie einen neuen oder aktualisieren Sie einen vorhandenen AKS-Cluster mithilfe der Azure-CLI oder Terraform, wobei OpenID Connect (OIDC)-Aussteller und Microsoft Entra Workload ID aktiviert sind.
- Erstellen Sie eine Workload-Identität und ein Kubernetes-Dienstkonto.
- Konfigurieren der verwalteten Identität für den Tokenverbund
- Bereitstellen der Workload und Überprüfen der Authentifizierung mit der Workloadidentität
- Gewähren Sie optional einem Pod im Cluster Zugriff auf Geheimnisse in einem Azure-Schlüsseltresor.
Voraussetzungen
- Wenn Sie kein Azure Konto haben, erstellen Sie ein free-Konto bevor Sie beginnen.
- Dieser Artikel erfordert Version 2.47.0 oder höher des Azure CLI. Wenn Sie Azure Cloud Shell verwenden, ist die neueste Version bereits installiert. Führen Sie
az --versionaus, um die Version zu ermitteln. Informationen zum Installieren oder Aktualisieren finden Sie unter Install Azure CLI. - Stellen Sie sicher, dass die Identität, die Sie zum Erstellen Ihres Clusters verwenden, über die erforderlichen Mindestberechtigungen verfügt. Weitere Informationen finden Sie unter Access und Identitätsoptionen für Azure Kubernetes Service (AKS).
- Wenn Sie über mehrere Azure Abonnements verfügen, wählen Sie die entsprechende Abonnement-ID aus, in der die Ressourcen mit dem Befehl
az account setin Rechnung gestellt werden sollen.
- Terraform lokal installiert. Installationsanweisungen finden Sie unter Install Terraform.
Hinweis
Sie können den Dienstconnector verwenden, um einige Schritte automatisch zu konfigurieren. Weitere Informationen finden Sie unter Tutorial: Herstellen einer Verbindung mit Azure Speicherkonto in Azure Kubernetes Service (AKS) mit Service Connector mithilfe von Microsoft Entra Workload ID.
Erstellen der Terraform-Konfigurationsdatei
Terraform-Konfigurationsdateien definieren die Infrastruktur, die Terraform erstellt und verwaltet.
Erstellen Sie eine Datei mit dem Namen
main.tf, und fügen Sie den folgenden Code hinzu, um die Terraform-Version zu definieren und den Azure Anbieter anzugeben:terraform { required_version = ">= 1.5.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~> 4.0" } kubernetes = { source = "hashicorp/kubernetes" version = "~> 2.30" } random = { source = "hashicorp/random" version = "~> 3.6" } } } provider "azurerm" { features {} subscription_id = var.subscription_id } data "azurerm_client_config" "current" {}Fügen Sie den folgenden Code zu
main.tfhinzu, um wiederverwendbare Variablen zu definieren und eindeutige Namen für alle Ressourcen zu generieren.resource "random_string" "suffix" { length = 6 upper = false special = false numeric = true } locals { suffix = random_string.suffix.result resource_group_name = "rg-aks-wi-${local.suffix}" cluster_name = "akswi${local.suffix}" managed_identity_name = "uami-wi-${local.suffix}" federated_credential_name = "fic-wi-${local.suffix}" key_vault_name = lower(substr("kvwi${local.suffix}", 0, 24)) secret_name = "secret-${local.suffix}" service_account_name = "workload-sa-${local.suffix}" service_account_namespace = "default" workload_identity_subject = "system:serviceaccount:${local.service_account_namespace}:${local.service_account_name}" }
Erstellen einer Ressourcengruppe
Erstellen Sie eine Ressourcengruppe mit dem Befehl az group create.
export RANDOM_ID="$(openssl rand -hex 3)"
export RESOURCE_GROUP="myResourceGroup$RANDOM_ID"
export LOCATION="<your-preferred-region>"
az group create --name "${RESOURCE_GROUP}" --location "${LOCATION}"
Fügen Sie dem main.tf den folgenden Code hinzu, um eine Azure Ressourcengruppe zu erstellen. Aktualisieren Sie den Wert location entsprechend Ihrer bevorzugten Azure Region.
resource "azurerm_resource_group" "this" {
name = local.resource_group_name
location = "eastus"
}
Aktivieren Sie den OIDC-Aussteller und die Microsoft Entra Workload-ID auf einem AKS-Cluster
Sie können den OIDC-Aussteller und Microsoft Entra Workload ID für einen neuen oder vorhandenen AKS-Cluster aktivieren.
Erstellen Sie einen AKS-Cluster mithilfe des Befehls az aks create mit dem Parameter --enable-oidc-issuer, um den OIDC-Aussteller und den parameter --enable-workload-identity zu aktivieren, um Microsoft Entra Workload ID zu aktivieren. Im folgenden Beispiel wird ein Cluster mit einem einzelnen Knoten erstellt:
export CLUSTER_NAME="myAKSCluster$RANDOM_ID"
az aks create \
--resource-group "${RESOURCE_GROUP}" \
--name "${CLUSTER_NAME}" \
--enable-oidc-issuer \
--enable-workload-identity \
--generate-ssh-keys
Nach wenigen Minuten ist die Ausführung des Befehls abgeschlossen, und es werden Informationen zum Cluster im JSON-Format zurückgegeben.
Fügen Sie den folgenden Code zu main.tf hinzu, um einen AKS-Cluster mit aktiviertem OIDC-Aussteller und Microsoft Entra Workload ID zu erstellen:
resource "azurerm_kubernetes_cluster" "this" {
name = local.cluster_name
location = azurerm_resource_group.this.location
resource_group_name = azurerm_resource_group.this.name
dns_prefix = local.cluster_name
oidc_issuer_enabled = true
workload_identity_enabled = true
role_based_access_control_enabled = true
default_node_pool {
name = "system"
node_count = 1
vm_size = "Standard_B4ms"
}
identity {
type = "SystemAssigned"
}
}
Abrufen der OIDC-Zertifikataussteller-URL
Rufen Sie die OIDC-Aussteller-URL mithilfe des az aks show Befehls ab, und speichern Sie sie in einer Umgebungsvariable.
export AKS_OIDC_ISSUER="$(az aks show --name "${CLUSTER_NAME}" \
--resource-group "${RESOURCE_GROUP}" \
--query "oidcIssuerProfile.issuerUrl" \
--output tsv)"
Die Umgebungsvariable sollte die URL des Zertifikatausstellers enthalten, ähnlich wie im folgenden Beispiel:
https://eastus.oic.prod-aks.azure.com/00000000-0000-0000-0000-000000000000/11111111-1111-1111-1111-111111111111/
Standardmäßig ist der Zertifikataussteller auf die Verwendung der Basis-URL https://{region}.oic.prod-aks.azure.com/{tenant_id}/{uuid}festgelegt, wobei der Wert für {region} mit dem Speicherort übereinstimmt, an dem der AKS-Cluster bereitgestellt wird. Der Wert {uuid} stellt den OIDC-Schlüssel dar, bei dem es sich um eine zufällig generierte und unveränderliche GUID für jeden Cluster handelt.
Fügen Sie den folgenden Code zu main.tf hinzu, um die OIDC-Aussteller-URL abzurufen.
output "oidc_issuer_url" {
value = azurerm_kubernetes_cluster.this.oidc_issuer_url
}
Erstellen einer verwalteten Identität
Rufen Sie Ihre Abonnement-ID ab, und speichern Sie sie mithilfe des
az account showBefehls in einer Umgebungsvariable.export SUBSCRIPTION="$(az account show --query id --output tsv)"Erstellen Sie eine benutzerseitig zugewiesene verwaltete Identität mit dem Befehl
az identity create.export USER_ASSIGNED_IDENTITY_NAME="myIdentity$RANDOM_ID" az identity create \ --name "${USER_ASSIGNED_IDENTITY_NAME}" \ --resource-group "${RESOURCE_GROUP}" \ --location "${LOCATION}" \ --subscription "${SUBSCRIPTION}"Das folgende Ausgabebeispiel zeigt die erfolgreiche Erstellung einer verwalteten Identität:
{ "clientId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/myResourceGroupxxxxxx/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentityxxxxxx", "location": "eastus", "name": "myIdentityxxxxxx", "principalId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "resourceGroup": "myResourceGroupxxxxxx", "systemData": null, "tags": {}, "tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }Rufen Sie die Client-ID der verwalteten Identität ab, und speichern Sie sie mithilfe des
az identity showBefehls in einer Umgebungsvariable.export USER_ASSIGNED_CLIENT_ID="$(az identity show \ --resource-group "${RESOURCE_GROUP}" \ --name "${USER_ASSIGNED_IDENTITY_NAME}" \ --query 'clientId' \ --output tsv)"
Fügen Sie den folgenden Code zu main.tf hinzu, um eine verwaltete Identität zu erstellen.
resource "azurerm_user_assigned_identity" "this" {
name = local.managed_identity_name
location = azurerm_resource_group.this.location
resource_group_name = azurerm_resource_group.this.name
}
Erstellen eines Kubernetes-Dienstkontos
Stellen Sie mithilfe des Befehls
az aks get-credentialseine Verbindung mit Ihrem AKS-Cluster her.az aks get-credentials --name "${CLUSTER_NAME}" --resource-group "${RESOURCE_GROUP}"Erstellen Sie ein Kubernetes-Dienstkonto, und kommentieren Sie es mit der Client-ID der verwalteten Identität, indem Sie das folgende Manifest mithilfe des
kubectl applyBefehls anwenden.export SERVICE_ACCOUNT_NAME="workload-identity-sa$RANDOM_ID" export SERVICE_ACCOUNT_NAMESPACE="default" cat <<EOF | kubectl apply -f - apiVersion: v1 kind: ServiceAccount metadata: annotations: azure.workload.identity/client-id: "${USER_ASSIGNED_CLIENT_ID}" name: "${SERVICE_ACCOUNT_NAME}" namespace: "${SERVICE_ACCOUNT_NAMESPACE}" EOFDie folgende Ausgabe zeigt die erfolgreiche Erstellung der Workloadidentität:
serviceaccount/workload-identity-sa created
Fügen Sie den folgenden Code zum
main.tfKonfigurieren des Kubernetes-Zugriffs hinzu, um die Erstellung von Kubernetes-Ressourcen zu ermöglichen:data "azurerm_kubernetes_cluster" "this" { name = azurerm_kubernetes_cluster.this.name resource_group_name = azurerm_resource_group.this.name } provider "kubernetes" { host = data.azurerm_kubernetes_cluster.this.kube_config[0].host client_certificate = base64decode(data.azurerm_kubernetes_cluster.this.kube_config[0].client_certificate) client_key = base64decode(data.azurerm_kubernetes_cluster.this.kube_config[0].client_key) cluster_ca_certificate = base64decode(data.azurerm_kubernetes_cluster.this.kube_config[0].cluster_ca_certificate) }Fügen Sie den folgenden Code zu
main.tfhinzu, um ein Kubernetes-Dienstkonto zu erstellen und mit der Client-ID der verwalteten Identität zu annotieren.resource "kubernetes_service_account" "this" { metadata { name = local.service_account_name namespace = local.service_account_namespace annotations = { "azure.workload.identity/client-id" = azurerm_user_assigned_identity.this.client_id } } }
Erstellen von Anmeldeinformationen für eine Verbundidentität
Erstellen Sie mithilfe des az identity federated-credential create-Befehls federierte Identitätsnachweise zwischen der verwalteten Identität, dem Herausgeber des Dienstkontos und dem Subjekt.
export FEDERATED_IDENTITY_CREDENTIAL_NAME="myFedIdentity$RANDOM_ID"
az identity federated-credential create \
--name ${FEDERATED_IDENTITY_CREDENTIAL_NAME} \
--identity-name "${USER_ASSIGNED_IDENTITY_NAME}" \
--resource-group "${RESOURCE_GROUP}" \
--issuer "${AKS_OIDC_ISSUER}" \
--subject system:serviceaccount:"${SERVICE_ACCOUNT_NAMESPACE}":"${SERVICE_ACCOUNT_NAME}" \
--audience api://AzureADTokenExchange
Hinweis
Es dauert einige Sekunden, bis die Anmeldeinformationen für die Verbundidentität nach dem Hinzufügen weitergegeben werden. Wenn eine Tokenanforderung unmittelbar nach dem Hinzufügen der Anmeldeinformationen für die Verbundidentität erfolgt, schlägt die Anforderung möglicherweise fehl, bis der Cache aktualisiert wird. Um dieses Problem zu vermeiden, können Sie eine kleine Verzögerung nach dem Hinzufügen der Verbundidentitäts-Anmeldeinformationen hinzufügen.
Fügen Sie den folgenden Code zu main.tf hinzu, um eine Verbundidentität zwischen der verwalteten Identität, dem Dienstkontoaussteller und dem Subjekt zu erstellen.
resource "azurerm_federated_identity_credential" "this" {
name = local.federated_credential_name
resource_group_name = azurerm_resource_group.this.name
parent_id = azurerm_user_assigned_identity.this.id
issuer = azurerm_kubernetes_cluster.this.oidc_issuer_url
subject = local.workload_identity_subject
audience = ["api://AzureADTokenExchange"]
}
Weitere Informationen zu Verbundidentitätsanmeldeinformationen in Microsoft Entra finden Sie unter Overview der Verbundidentitätsanmeldeinformationen in Microsoft Entra ID.
Erstellen eines Azure Key Vaults unter Verwendung von Azure RBAC-Autorisierung
Das folgende Beispiel zeigt, wie Sie das Azure-Berechtigungsmodell für die rollenbasierte Zugriffssteuerung (Azure RBAC) verwenden, um dem Pod Zugriff auf den Schlüsseltresor zu gewähren. Weitere Informationen zum Azure RBAC-Berechtigungsmodell für Azure Key Vault finden Sie unter Grant-Berechtigung für Anwendungen für den Zugriff auf eine Azure key vault mithilfe von Azure RBAC.
Erstellen Sie einen Schlüsseltresor mit aktiviertem Bereinigungsschutz und aktivierter Azure RBAC-Autorisierung mithilfe des Befehls
az keyvault create. Sie können auch einen vorhandenen Schlüsseltresor verwenden, wenn er sowohl für den Löschschutz als auch für die Azure RBAC-Autorisierung konfiguriert ist.export KEYVAULT_NAME="keyvault-workload-id$RANDOM_ID" # Ensure the key vault name is between 3-24 characters az keyvault create \ --name "${KEYVAULT_NAME}" \ --resource-group "${RESOURCE_GROUP}" \ --location "${LOCATION}" \ --enable-purge-protection \ --enable-rbac-authorizationRufen Sie die ID der Schlüsseltresorressource ab und speichern Sie sie mithilfe des
az keyvault showBefehls in einer Umgebungsvariable.export KEYVAULT_RESOURCE_ID=$(az keyvault show --resource-group "${RESOURCE_GROUP}" \ --name "${KEYVAULT_NAME}" \ --query id \ --output tsv)
Fügen Sie den folgenden Code zu main.tf hinzu, um einen Schlüsseltresor mit Azure RBAC-Autorisierung zu erstellen:
resource "azurerm_key_vault" "this" {
name = local.key_vault_name
location = azurerm_resource_group.this.location
resource_group_name = azurerm_resource_group.this.name
tenant_id = data.azurerm_client_config.current.tenant_id
sku_name = "standard"
rbac_authorization_enabled = true
}
Zuweisen von RBAC-Berechtigungen für die Key Vault-Verwaltung
Rufen Sie die Aufruferobjekt-ID ab, und speichern Sie sie mithilfe des
az ad signed-in-user showBefehls in einer Umgebungsvariable.export CALLER_OBJECT_ID=$(az ad signed-in-user show --query id -o tsv)Weisen Sie sich selbst die rolle Azure RBAC Key Vault Secrets Officer zu, damit Sie mithilfe des Befehls
az role assignment createeinen geheimen Schlüssel im neuen key vault erstellen können.az role assignment create --assignee "${CALLER_OBJECT_ID}" \ --role "Key Vault Secrets Officer" \ --scope "${KEYVAULT_RESOURCE_ID}"
Fügen Sie den folgenden Code zu main.tf hinzu, um sich selbst die Azure RBAC-Rolle Key Vault Secrets Officer zuzuweisen, damit Sie ein Secret im neuen Key Vault erstellen und der verwalteten Identität, die vom Benutzer zugewiesen wird, die Rolle Key Vault Secrets User zuweisen können.
resource "azurerm_role_assignment" "user" {
scope = azurerm_key_vault.this.id
role_definition_name = "Key Vault Secrets Officer"
principal_id = data.azurerm_client_config.current.object_id
}
resource "azurerm_role_assignment" "identity" {
scope = azurerm_key_vault.this.id
role_definition_name = "Key Vault Secrets User"
principal_id = azurerm_user_assigned_identity.this.principal_id
}
Erstellen und Konfigurieren des geheimen Zugriffs
Erstellen Sie ein Geheimnis im Schlüsseltresor mithilfe des Befehls
az keyvault secret set.export KEYVAULT_SECRET_NAME="my-secret$RANDOM_ID" az keyvault secret set \ --vault-name "${KEYVAULT_NAME}" \ --name "${KEYVAULT_SECRET_NAME}" \ --value "Hello\!"Rufen Sie die Prinzipal-ID der vom Benutzer zugewiesenen verwalteten Identität ab, und speichern Sie sie mithilfe des
az identity showBefehls in einer Umgebungsvariable.export IDENTITY_PRINCIPAL_ID=$(az identity show \ --name "${USER_ASSIGNED_IDENTITY_NAME}" \ --resource-group "${RESOURCE_GROUP}" \ --query principalId \ --output tsv)Weisen Sie die Rolle Key Vault Secrets User der vom Benutzer zugewiesenen verwalteten Identität mithilfe des Befehls
az role assignment createzu. Dieser Schritt gibt der verwalteten Identität die Berechtigung, Secrets aus dem Key Vault zu lesen.az role assignment create \ --assignee-object-id "${IDENTITY_PRINCIPAL_ID}" \ --role "Key Vault Secrets User" \ --scope "${KEYVAULT_RESOURCE_ID}" \ --assignee-principal-type ServicePrincipalErstellen Sie eine Umgebungsvariable für die Schlüsseltresor-URL mithilfe des
az keyvault showBefehls.export KEYVAULT_URL="$(az keyvault show \ --resource-group "${RESOURCE_GROUP}" \ --name ${KEYVAULT_NAME} \ --query properties.vaultUri \ --output tsv)"
Fügen Sie den folgenden Code zu main.tf hinzu, um ein Geheimnis im Schlüsseltresor zu erstellen.
resource "azurerm_key_vault_secret" "this" {
name = local.secret_name
value = "Hello from Key Vault"
key_vault_id = azurerm_key_vault.this.id
}
Bereitstellen eines Überprüfungs-Pods und Testen des Zugriffs
Stellen Sie einen Pod bereit, um zu überprüfen, ob die Workload-Identität auf das Secret im Key Vault zugreifen kann. Im folgenden Beispiel wird das bild
ghcr.io/azure/azure-workload-identity/msal-goverwendet, das eine Beispielanwendung enthält, die einen geheimen Schlüssel aus Azure Key Vault mithilfe von Microsoft Entra Workload ID abruft:kubectl apply -f - <<EOF apiVersion: v1 kind: Pod metadata: name: sample-workload-identity-key-vault namespace: ${SERVICE_ACCOUNT_NAMESPACE} labels: azure.workload.identity/use: "true" spec: serviceAccountName: ${SERVICE_ACCOUNT_NAME} containers: - image: ghcr.io/azure/azure-workload-identity/msal-go name: oidc env: - name: KEYVAULT_URL value: ${KEYVAULT_URL} - name: SECRET_NAME value: ${KEYVAULT_SECRET_NAME} nodeSelector: kubernetes.io/os: linux EOFWarten Sie mit dem Befehl
Readydarauf, dass sich der Pod imkubectl wait-Zustand befindet.kubectl wait --namespace ${SERVICE_ACCOUNT_NAMESPACE} --for=condition=Ready pod/sample-workload-identity-key-vault --timeout=120sÜberprüfen Sie, ob die
SECRET_NAMEUmgebungsvariable mithilfe deskubectl describeBefehls im Pod festgelegt ist.kubectl describe pod sample-workload-identity-key-vault | grep "SECRET_NAME:"Wenn der Vorgang erfolgreich ist, sollte die Ausgabe dem folgenden Beispiel ähneln:
SECRET_NAME: ${KEYVAULT_SECRET_NAME}Stellen Sie sicher, dass Pods ein Token abrufen und mithilfe des
kubectl logsBefehls auf die Ressource zugreifen können.kubectl logs sample-workload-identity-key-vaultWenn der Vorgang erfolgreich ist, sollte die Ausgabe dem folgenden Beispiel ähneln:
I0114 10:35:09.795900 1 main.go:63] "successfully got secret" secret="Hello\\!"Wichtig
Azure RBAC-Rollenzuweisungen können bis zu 10 Minuten dauern, bis sie verteilt werden. Wenn der Pod nicht auf das Geheimnis zugreifen kann, müssen Sie möglicherweise warten, bis die Rollenzuweisung weitergegeben ist. Weitere Informationen finden Sie unter Troubleshoot Azure RBAC.
Deaktivieren von Microsoft Entra Workload ID in einem AKS-Cluster
Deaktivieren Sie Microsoft Entra Workload ID auf dem AKS-Cluster, in dem sie aktiviert und konfiguriert wurde, aktualisieren Sie den AKS-Cluster mithilfe des Befehls az aks update mit dem Parameter --disable-workload-identity.
az aks update \
--resource-group "${RESOURCE_GROUP}" \
--name "${CLUSTER_NAME}" \
--disable-workload-identity
Bereitstellen eines Validierungs-Pods
Fügen Sie den folgenden Code zu main.tf hinzu, um einen Überprüfungspod bereitzustellen, der die Workloadidentität verwendet, um auf das Geheimnis im Schlüsseltresor zuzugreifen.
resource "kubernetes_pod" "test" {
metadata {
name = "workload-identity-test"
namespace = local.service_account_namespace
labels = {
"azure.workload.identity/use" = "true"
}
}
spec {
service_account_name = kubernetes_service_account.this.metadata[0].name
container {
name = "test"
image = "ghcr.io/azure/azure-workload-identity/msal-go"
env {
name = "KEYVAULT_URL"
value = azurerm_key_vault.this.vault_uri
}
env {
name = "SECRET_NAME"
value = azurerm_key_vault_secret.this.name
}
}
}
}
Initialisieren Sie Terraform
Initialisieren Sie Terraform im Verzeichnis, das Ihre main.tf Datei enthält, mithilfe des terraform init Befehls. Dieser Befehl lädt den Azure Anbieter herunter, der zum Verwalten von Azure Ressourcen mit Terraform erforderlich ist.
terraform init
Terraform-Ausführungsplan erstellen
Erstellen Sie mit dem Befehl „terraform plan“ einen Terraform-Ausführungsplan. Dieser Befehl zeigt Ihnen die Ressourcen, die Terraform in Ihrem Azure-Abonnement erstellen oder ändern wird.
terraform plan
Terraform-Konfiguration anwenden
Wenden Sie nach der Überprüfung und Bestätigung des Ausführungsplans die Terraform-Konfiguration mit dem terraform apply Befehl an. Dieser Befehl erstellt oder ändert die ressourcen, die in Ihrer main.tf-Datei in Ihrem Azure-Abonnement definiert sind.
terraform apply
Überprüfen Sie die Bereitstellung
Stellen Sie mithilfe des Befehls
az aks get-credentialseine Verbindung mit Ihrem AKS-Cluster her.az aks get-credentials --name <cluster-name> --resource-group <resource-group>Überprüfen Sie den Status des Überprüfungs-Pod mit dem Befehl
kubectl get pods.Sobald der Pod den Zustand
Readyerreicht hat, überprüfen Sie anhand der Pod‑Protokolle, ob er auf das Key‑Vault‑Geheimnis zugreifen kann. Verwenden Sie dazu den Befehlkubectl logs.kubectl logs workload-identity-test
Verwandte Inhalte
In diesem Artikel haben Sie einen Kubernetes-Cluster bereitgestellt und ihn so konfiguriert, dass er die Microsoft Entra Workload ID verwendet, um sich auf die Authentifizierung von Anwendungs-Workloads mit diesen Anmeldeinformationen vorzubereiten. Jetzt können Sie Ihre Anwendung bereitstellen und konfigurieren, um die Workloadidentität mit der neuesten Version der Azure Identity-Clientbibliothek zu verwenden. Wenn Sie Ihre Anwendung nicht neu schreiben können, um die neueste Clientbibliotheksversion zu verwenden, können Sie Ihren Anwendungspod so einrichten, dass die Authentifizierung mithilfe der verwalteten Identität mit einer Workloadidentität als kurzfristige Migrationslösung durchgeführt wird.
Die Integration von Service Connector erleichtert die Verbindungskonfiguration für AKS-Workloads und Azure Sicherungsdienste. Es verarbeitet Authentifizierungs- und Netzwerkkonfigurationen sicher und folgt bewährten Methoden für die Verbindung mit Azure-Diensten. Weitere Informationen finden Sie unter Herstellen einer Verbindung zu Azure OpenAI in Foundry Models in AKS mithilfe von Microsoft Entra Workload Identity und der Einführung in den Dienstconnector.