Azure kimlik sağlayıcınızı Azure Kubernetes Service'te (AKS) Azure Key Vault Gizli Dizi Deposu CSI Sürücüsüne bağlama
Azure Kubernetes Service'te (AKS) Gizli Dizi Deposu Kapsayıcı Depolama Arabirimi (CSI) Sürücüsü, Azure Key Vault'unuza kimlik tabanlı çeşitli erişim yöntemleri sağlar. Bu makalede, anahtar kasanıza ve AKS kümenize erişmek için Rol tabanlı erişim denetimi (RBAC) veya OpenID Connect (OIDC) güvenlik modellerinin ne zaman kullanılacağına yönelik bu yöntemler ve en iyi yöntemler özetlenmiştir.
Aşağıdaki erişim yöntemlerinden birini kullanabilirsiniz:
- İş Yükü Kimliği ile Hizmet Bağlayıcısı
- İş Yükü Kimliği
- Kullanıcı tarafından atanan yönetilen kimlik
Hizmet Bağlayıcısı'nı kullanarak Azure Kubernetes Service (AKS) kümesinde Gizli Dizi Deposu CSI Sürücüsü ile Azure Key Vault'a bağlanmayı öğrenin. Bu makalede aşağıdaki görevleri tamamlaacaksınız:
- AKS kümesi ve Azure Key Vault oluşturun.
- AKS kümesi ile Hizmet Bağlayıcısı ile Azure Key Vault arasında bir bağlantı oluşturun.
- Bağlantıyı test etmek için CSI sağlayıcısını kullanan bir
SecretProviderClass
Pod
CRD ve oluşturun. - Kaynakları temizleyin.
Önemli
AKS önizleme özellikleri self servis ve kabul temelinde kullanılabilir. Önizlemeler "olduğu gibi" ve "kullanılabilir" olarak sağlanır ve hizmet düzeyi sözleşmelerinin ve sınırlı garantinin dışında tutulur. AKS önizlemeleri, müşteri desteği tarafından kısmen en iyi çaba temelinde ele alınmaktadır. Bu nedenle, bu özellikler üretim kullanımı için tasarlanmamıştır. Daha fazla bilgi için aşağıdaki destek makalelerine bakın:
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Azure CLI. komutunu kullanarak
az login
oturum açın. - Docker ve kubectl. Kubectl'yi yerel olarak yüklemek için komutunu kullanın
az aks install-cli
. - Kapsayıcılar ve AKS hakkında temel bilgiler. AKS için bir uygulama hazırlayarak başlayın.
- Başlamadan önce, AKS kümenizde Azure Key Vault Gizli Dizi Deposu CSI Sürücüsünü etkinleştirmek üzere Azure Kubernetes Service (AKS) kümesinde Gizli Dizi Deposu CSI Sürücüsü için Azure Key Vault sağlayıcısını kullanma bölümünde yer alan adımları tamamladığınızdan emin olun.
İlk kurulum
Hizmet Bağlayıcısı'nı ilk kez kullanıyorsanız, Hizmet Bağlayıcısı ve Kubernetes Yapılandırma kaynak sağlayıcılarını kaydetmek için az provider register komutunu çalıştırarak başlayın.
az provider register -n Microsoft.ServiceLinker
az provider register -n Microsoft.KubernetesConfiguration
İpucu
ve
az provider show -n "Microsoft.KubernetesConfiguration" --query registrationState
komutlarınıaz provider show -n "Microsoft.ServiceLinker" --query registrationState
çalıştırarak bu kaynak sağlayıcılarının önceden kaydedilip kaydedilmediğini de kontrol edebilirsiniz.İsteğe bağlı olarak, AKS kümesi için desteklenen hedef hizmetlerin listesini almak için Azure CLI komutunu kullanın.
az aks connection list-support-types --output table
Azure kaynakları oluşturma
komutunu kullanarak
az group create
bir kaynak grubu oluşturun.az group create \ --name <resource-group-name> \ --location <location>
komutunu kullanarak
az aks create
bir AKS kümesi oluşturun. Aşağıdaki örnek, yönetilen kimliğin etkinleştirildiği tek düğümlü bir AKS kümesi oluşturur.az aks create \ --resource-group <resource-group-name> \ --name <cluster-name> \ --enable-managed-identity \ --node-count 1
komutunu kullanarak kümeye bağlanın
az aks get-credentials
.az aks get-credentials \ --resource-group <resource-group-name> \ --name <cluster-name>
komutunu kullanarak
az keyvault create
bir Azure anahtar kasası oluşturun.az keyvault create \ --resource-group <resource-group-name> \ --name <key-vault-name> \ --location <location>
komutunu kullanarak
az keyvault secret set
anahtar kasasında bir gizli dizi oluşturun.az keyvault secret set \ --vault-name <key-vault-name> \ --name <secret-name> \ --value <secret-value>
Hizmet Bağlayıcısı ile AKS'de hizmet bağlantısı oluşturma (önizleme)
Azure portalını veya Azure CLI'yi kullanarak Azure Key Vault'a hizmet bağlantısı oluşturabilirsiniz.
Azure portalında AKS küme kaynağınıza gidin.
Hizmet menüsündeki Ayarlar'ın altında Hizmet Bağlayıcısı (Önizleme)Oluştur'u> seçin.
Bağlantı oluştur sayfasında, Temel Bilgiler sekmesinde aşağıdaki ayarları yapılandırın:
- Kubernetes ad alanı: Varsayılanı seçin.
- Hizmet türü: Anahtar Kasası'nı seçin ve Azure Key Vault CSI Sağlayıcısı'nı etkinleştirmek için onay kutusunu seçin.
- Bağlantı adı: Bağlantı için bir ad girin.
- Abonelik: Anahtar kasasını içeren aboneliği seçin.
- Anahtar kasası: Oluşturduğunuz anahtar kasasını seçin.
- İstemci türü: Yok'a tıklayın.
Bağlantıyı oluşturmak için Gözden geçir ve oluştur'u ve ardından Oluştur'u seçin.
Bağlantıyı test edin
Örnek depoyu kopyalama ve bildirim dosyalarını dağıtma
komutunu kullanarak örnek depoyu
git clone
kopyalayın.git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
Dizinleri Azure Key Vault CSI sağlayıcı örneğine değiştirin.
cd serviceconnector-aks-samples/azure-keyvault-csi-provider
secret_provider_class.yaml
Dosyasında aşağıdaki yer tutucuları Azure Key Vault bilgilerinizle değiştirin:- değerini, oluşturduğunuz ve bağladığınız anahtar kasasının adıyla değiştirin
<AZURE_KEYVAULT_NAME>
. - değerini anahtar kasasının kiracı kimliğiyle değiştirin
<AZURE_KEYVAULT_TENANTID>
. - değerini eklentinin
azureKeyvaultSecretsProvider
kimlik istemci kimliğiyle değiştirin<AZURE_KEYVAULT_CLIENTID>
. - değerini, oluşturduğunuz anahtar kasası gizli dizisiyle değiştirin
<KEYVAULT_SECRET_NAME>
. Örneğin,ExampleSecret
.
- değerini, oluşturduğunuz ve bağladığınız anahtar kasasının adıyla değiştirin
SecretProviderClass
komutunu kullanarak CRD'yi dağıtınkubectl apply
.kubectl apply -f secret_provider_class.yaml
Pod
komutunu kullanarak bildirim dosyasını dağıtınkubectl apply
.komutu, AKS kümenizin varsayılan ad alanında adlı
sc-demo-keyvault-csi
bir pod oluşturur.kubectl apply -f pod.yaml
Bağlantıyı doğrulama
komutunu kullanarak pod'un başarıyla oluşturulduğunu
kubectl get
doğrulayın.kubectl get pod/sc-demo-keyvault-csi
Pod başlatıldıktan sonra, dağıtım YAML'nizde belirtilen birim yolundaki bağlı içerik kullanılabilir.
komutunu kullanarak gizli dizi deposunda tutulan gizli dizileri
kubectl exec
gösterin.kubectl exec sc-demo-keyvault-csi -- ls /mnt/secrets-store/
komutunu kullanarak bir gizli dizi
kubectl exec
görüntüleyin.Bu örnek komut adlı
ExampleSecret
bir test gizli dizisi gösterir.kubectl exec sc-demo-keyvault-csi -- cat /mnt/secrets-store/ExampleSecret
CSI Sürücüsü önkoşulları
- Başlamadan önce, AKS kümenizde Azure Key Vault Gizli Dizi Deposu CSI Sürücüsünü etkinleştirmek üzere Azure Kubernetes Service (AKS) kümesinde Gizli Dizi Deposu CSI Sürücüsü için Azure Key Vault sağlayıcısını kullanma bölümünde yer alan adımları tamamladığınızdan emin olun.
- Microsoft Entra İş Yükü Kimliği hem Windows hem de Linux kümelerini destekler.
Microsoft Entra İş Yükü Kimliği ile erişim
Microsoft Entra İş Yükü Kimliği, pod üzerinde çalışan bir uygulamanın yazılımdaki iş yükleri gibi diğer Azure hizmetlerinde kimlik doğrulaması yapmak için kullandığı bir kimliktir. Gizli Depolama CSI Sürücüsü, dış kimlik sağlayıcılarıyla federasyon sağlamak için yerel Kubernetes özellikleriyle tümleşir.
Bu güvenlik modelinde AKS kümesi belirteç veren işlevi görür. Microsoft Entra Id daha sonra genel imzalama anahtarlarını bulmak ve bir Microsoft Entra belirteci için takas etmeden önce hizmet hesabı belirtecinin orijinalliğini doğrulamak için OIDC kullanır. İş yükünüzün bir Microsoft Entra belirteci için birimine yansıtılan bir hizmet hesabı belirtecini değiştirmesi için, Azure SDK'daki Azure Identity istemci kitaplığına veya Microsoft Kimlik Doğrulama Kitaplığı'na (MSAL) ihtiyacınız vardır
Not
- Bu kimlik doğrulama yöntemi, Microsoft Entra pod ile yönetilen kimliğin (önizleme) yerini alır. Azure Kubernetes Service'teki açık kaynak Microsoft Entra pod yönetilen kimliği (önizleme) 24.10.2022 itibarıyla kullanım dışı bırakılmıştır.
- Microsoft Entra İş Yükü Kimliği hem Windows hem de Linux kümelerini destekler.
İş yükü kimliğini yapılandırma
komutunu kullanarak
az account set
aboneliğinizi ayarlayın.export SUBSCRIPTION_ID=<subscription id> export RESOURCE_GROUP=<resource group name> export UAMI=<name for user assigned identity> export KEYVAULT_NAME=<existing keyvault name> export CLUSTER_NAME=<aks cluster name> az account set --subscription $SUBSCRIPTION_ID
komutunu kullanarak
az identity create
yönetilen kimlik oluşturun.Not
Bu adımda, iş yükü kimliği etkinleştirilmiş bir AKS kümeniz olduğu varsayılır. Etkinleştirmediyseniz, etkinleştirmek için bkz . Mevcut bir AKS kümesinde iş yükü kimliğini etkinleştirme.
az identity create --name $UAMI --resource-group $RESOURCE_GROUP export USER_ASSIGNED_CLIENT_ID="$(az identity show --resource-group $RESOURCE_GROUP --name $UAMI --query 'clientId' -o tsv)" export IDENTITY_TENANT=$(az aks show --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --query identity.tenantId -o tsv)
komutunu kullanarak iş yükü kimliğine anahtar kasası gizli dizilerine, erişim anahtarlarına ve sertifikalara erişim izni veren bir rol ataması
az role assignment create
oluşturun.Önemli
- Anahtar kasanız ile
--enable-rbac-authorization
ayarlandıysa ve kullanıyorsanızkey
veyacertificate
yazdıysanız, izinleri vermek için rolü atayınKey Vault Certificate User
. - Anahtar kasanız ile
--enable-rbac-authorization
ayarlandıysa ve tür kullanıyorsanızsecret
rolü atayınKey Vault Secrets User
. - Anahtar kasanız ile
--enable-rbac-authorization
ayarlı değilse komutunu ,--certificate-permissions get
veya parametresiyle--key-permissions get
kullanarakaz keyvault set-policy
anahtarlar, sertifikalar veya--secret-permissions get
gizli diziler için erişim vermek üzere bir anahtar kasası ilkesi oluşturabilirsiniz. Örneğin:
az keyvault set-policy --name $KEYVAULT_NAME --key-permissions get --object-id $IDENTITY_OBJECT_ID
export KEYVAULT_SCOPE=$(az keyvault show --name $KEYVAULT_NAME --query id -o tsv) # Example command for key vault with RBAC enabled using `key` type az role assignment create --role "Key Vault Certificate User" --assignee $USER_ASSIGNED_CLIENT_ID --scope $KEYVAULT_SCOPE
- Anahtar kasanız ile
komutunu kullanarak AKS kümesi OIDC Veren URL'sini
az aks show
alın.Not
Bu adımda, OIDC Veren URL'si etkinleştirilmiş bir AKS kümeniz olduğu varsayılır. Etkinleştirmediyseniz, etkinleştirmek için bkz . AKS kümesini OIDC Veren ile güncelleştirme.
export AKS_OIDC_ISSUER="$(az aks show --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --query "oidcIssuerProfile.issuerUrl" -o tsv)" echo $AKS_OIDC_ISSUER
Microsoft Entra uygulaması, hizmet hesabı veren ve konu arasında bir federasyon kimliği kimlik bilgisi oluşturun. Aşağıdaki komutları kullanarak Microsoft Entra uygulamasının nesne kimliğini alın. ve
serviceAccountNamespace
değerleriniserviceAccountName
Kubernetes hizmet hesabı adı ve ad alanıyla güncelleştirdiğinden emin olun.export SERVICE_ACCOUNT_NAME="workload-identity-sa" # sample name; can be changed export SERVICE_ACCOUNT_NAMESPACE="default" # can be changed to namespace of your workload 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} EOF
komutunu kullanarak
az identity federated-credential create
yönetilen kimlik, hizmet hesabı veren ve konu arasında federasyon kimliği kimlik bilgilerini oluşturun.export FEDERATED_IDENTITY_NAME="aksfederatedidentity" # can be changed as needed az identity federated-credential create --name $FEDERATED_IDENTITY_NAME --identity-name $UAMI --resource-group $RESOURCE_GROUP --issuer ${AKS_OIDC_ISSUER} --subject system:serviceaccount:${SERVICE_ACCOUNT_NAMESPACE}:${SERVICE_ACCOUNT_NAME}
komutunu ve aşağıdaki YAML betiğini kullanarak
kubectl apply
birSecretProviderClass
dağıtın.cat <<EOF | kubectl apply -f - # This is a SecretProviderClass example using workload identity to access your key vault apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name: azure-kvname-wi # needs to be unique per namespace spec: provider: azure parameters: usePodIdentity: "false" clientID: "${USER_ASSIGNED_CLIENT_ID}" # Setting this to use workload identity keyvaultName: ${KEYVAULT_NAME} # Set to the name of your key vault cloudName: "" # [OPTIONAL for Azure] if not provided, the Azure environment defaults to AzurePublicCloud objects: | array: - | objectName: secret1 # Set to the name of your secret objectType: secret # object types: secret, key, or cert objectVersion: "" # [OPTIONAL] object versions, default to latest if empty - | objectName: key1 # Set to the name of your key objectType: key objectVersion: "" tenantId: "${IDENTITY_TENANT}" # The tenant ID of the key vault EOF
Not
yerine
objectName
kullanırsanızobjectAlias
YAML betiğini hesaba eklemek için güncelleştirin.Not
öğesinin
SecretProviderClass
düzgün çalışması için Azure Key Vault'unuzu bölümde bunlara başvurmadan önce gizli diziler, anahtarlar veya sertifikalarla doldurmayıobjects
unutmayın.komutunu ve aşağıdaki YAML betiğini kullanarak
kubectl apply
örnek bir pod dağıtın.cat <<EOF | kubectl apply -f - # This is a sample pod definition for using SecretProviderClass and workload identity to access your key vault kind: Pod apiVersion: v1 metadata: name: busybox-secrets-store-inline-wi labels: azure.workload.identity/use: "true" spec: serviceAccountName: "workload-identity-sa" containers: - name: busybox image: registry.k8s.io/e2e-test-images/busybox:1.29-4 command: - "/bin/sleep" - "10000" volumeMounts: - name: secrets-store01-inline mountPath: "/mnt/secrets-store" readOnly: true volumes: - name: secrets-store01-inline csi: driver: secrets-store.csi.k8s.io readOnly: true volumeAttributes: secretProviderClass: "azure-kvname-wi" EOF
CSI Sürücüsü önkoşulları
- Başlamadan önce, AKS kümenizde Azure Key Vault Gizli Dizi Deposu CSI Sürücüsünü etkinleştirmek üzere Azure Kubernetes Service (AKS) kümesinde Gizli Dizi Deposu CSI Sürücüsü için Azure Key Vault sağlayıcısını kullanma bölümünde yer alan adımları tamamladığınızdan emin olun.
Yönetilen kimlikle erişim
Microsoft Entra Yönetilen Kimliği, bir yöneticinin diğer Azure hizmetlerinde kimlik doğrulaması yapmak için kullandığı bir kimliktir. Yönetilen kimlik, dış kimlik sağlayıcılarıyla federasyon yapmak için RBAC kullanır.
Bu güvenlik modelinde, yönetilen rolü paylaşan ekip üyelerine veya kiracılara kümenizin kaynaklarına erişim vekleyebilirsiniz. Rol, anahtar kasasına ve diğer kimlik bilgilerine erişmek için kapsam için denetlendi. AKS Kümenizde Gizli Dizi Deposu CSI Sürücüsü için Azure Key Vault sağlayıcısını etkinleştirdiğinizde bir kullanıcı kimliği oluşturmuştur.
Yönetilen kimliği yapılandırma
komutunu ve eklenti tarafından oluşturulan kullanıcı tarafından atanan yönetilen kimliği kullanarak
az aks show
anahtar kasanıza erişin. Ayrıca, bir oluştururkenSecretProviderClass
sonraki adımlarda kullanacağınız kimliğinclientId
değerini de almanız gerekir.az aks show --resource-group <resource-group> --name <cluster-name> --query addonProfiles.azureKeyvaultSecretsProvider.identity.objectId -o tsv az aks show --resource-group <resource-group> --name <cluster-name> --query addonProfiles.azureKeyvaultSecretsProvider.identity.clientId -o tsv
Alternatif olarak, aşağıdaki komutları kullanarak yeni bir yönetilen kimlik oluşturabilir ve bunu sanal makine (VM) ölçek kümenize veya kullanılabilirlik kümenizdeki her vm örneğine atayabilirsiniz.
az identity create --resource-group <resource-group> --name <identity-name> az vmss identity assign --resource-group <resource-group> --name <agent-pool-vmss> --identities <identity-resource-id> az vm identity assign --resource-group <resource-group> --name <agent-pool-vm> --identities <identity-resource-id> az identity show --resource-group <resource-group> --name <identity-name> --query 'clientId' -o tsv
komutunu kullanarak anahtar kasası gizli dizilerine, erişim anahtarlarına ve sertifikalara erişim izni veren bir rol ataması
az role assignment create
oluşturun.Önemli
- Anahtar kasanız ile
--enable-rbac-authorization
ayarlandıysa ve kullanıyorsanızkey
veyacertificate
yazdıysanız rolü atayınKey Vault Certificate User
. - Anahtar kasanız ile
--enable-rbac-authorization
ayarlandıysa ve tür kullanıyorsanızsecret
rolü atayınKey Vault Secrets User
. - Anahtar kasanız ile
--enable-rbac-authorization
ayarlı değilse komutunu ,--certificate-permissions get
veya parametresiyle--key-permissions get
kullanarakaz keyvault set-policy
anahtarlar, sertifikalar veya--secret-permissions get
gizli diziler için erişim vermek üzere bir anahtar kasası ilkesi oluşturabilirsiniz. Örneğin:
az keyvault set-policy --name $KEYVAULT_NAME --key-permissions get --object-id $IDENTITY_OBJECT_ID
export IDENTITY_OBJECT_ID="$(az identity show --resource-group <resource-group> --name <identity-name> --query 'principalId' -o tsv)" export KEYVAULT_SCOPE=$(az keyvault show --name <key-vault-name> --query id -o tsv) # Example command for key vault with RBAC enabled using `key` type az role assignment create --role "Key Vault Certificate User" --assignee $USER_ASSIGNED_CLIENT_ID --scope $KEYVAULT_SCOPE
- Anahtar kasanız ile
Aşağıdaki YAML'yi kullanarak bir
SecretProviderClass
oluşturun. Anahtar kasanızdan alınacak ,keyvaultName
,tenantId
ve nesneleri içinuserAssignedIdentityID
kendi değerlerinizi kullandığınızdan emin olun.# This is a SecretProviderClass example using user-assigned identity to access your key vault apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name: azure-kvname-user-msi spec: provider: azure parameters: usePodIdentity: "false" useVMManagedIdentity: "true" # Set to true for using managed identity userAssignedIdentityID: <client-id> # Set the clientID of the user-assigned managed identity to use keyvaultName: <key-vault-name> # Set to the name of your key vault cloudName: "" # [OPTIONAL for Azure] if not provided, the Azure environment defaults to AzurePublicCloud objects: | array: - | objectName: secret1 objectType: secret # object types: secret, key, or cert objectVersion: "" # [OPTIONAL] object versions, default to latest if empty - | objectName: key1 objectType: key objectVersion: "" tenantId: <tenant-id> # The tenant ID of the key vault
Not
yerine
objectName
kullanıyorsanızobjectAlias
YAML betiğini güncelleştirdiğinizden emin olun.Not
öğesinin
SecretProviderClass
düzgün çalışması için Azure Key Vault'unuzu bölümde bunlara başvurmadan önce gizli diziler, anahtarlar veya sertifikalarla doldurmayıobjects
unutmayın.SecretProviderClass
komutunu kullanarakkubectl apply
kümenize uygulayın.kubectl apply -f secretproviderclass.yaml
Aşağıdaki YAML'yi kullanarak bir pod oluşturun.
# This is a sample pod definition for using SecretProviderClass and the user-assigned identity to access your key vault kind: Pod apiVersion: v1 metadata: name: busybox-secrets-store-inline-user-msi spec: containers: - name: busybox image: registry.k8s.io/e2e-test-images/busybox:1.29-4 command: - "/bin/sleep" - "10000" volumeMounts: - name: secrets-store01-inline mountPath: "/mnt/secrets-store" readOnly: true volumes: - name: secrets-store01-inline csi: driver: secrets-store.csi.k8s.io readOnly: true volumeAttributes: secretProviderClass: "azure-kvname-user-msi"
komutunu kullanarak podu
kubectl apply
kümenize uygulayın.kubectl apply -f pod.yaml
Key Vault gizli dizilerini doğrulama
Pod başlatıldıktan sonra, dağıtım YAML'nizde belirtilen birim yolundaki bağlı içerik kullanılabilir. Gizli dizilerinizi doğrulamak ve bir test gizli dizisi yazdırmak için aşağıdaki komutları kullanın.
Aşağıdaki komutu kullanarak gizli dizi deposunda tutulan gizli dizileri gösterin.
kubectl exec busybox-secrets-store-inline-user-msi -- ls /mnt/secrets-store/
Aşağıdaki komutu kullanarak depoda bir gizli dizi görüntüleyin. Bu örnek komut, test gizli dizisini
ExampleSecret
gösterir.kubectl exec busybox-secrets-store-inline-user-msi -- cat /mnt/secrets-store/ExampleSecret
Sertifikaları ve anahtarları alma
Azure Key Vault tasarımı anahtarlar, gizli diziler ve sertifikalar arasında keskin ayrımlar yapar. Key Vault hizmetinin sertifika özellikleri, anahtar ve gizli dizi özelliklerinden yararlanacak şekilde tasarlanmıştır. Anahtar kasası sertifikası oluşturduğunuzda, aynı ada sahip adreslenebilir bir anahtar ve gizli dizi oluşturur. Bu anahtar kimlik doğrulama işlemlerine izin verir ve gizli dizi, sertifika değerinin gizli dizi olarak alınmasına izin verir.
Anahtar kasası sertifikası genel x509 sertifika meta verilerini de içerir. Anahtar kasası, sertifikanızın hem genel hem de özel bileşenlerini bir gizli dizide depolar. içindeki öğesini belirterek objectType
SecretProviderClass
her bir bileşeni elde edebilirsiniz. Aşağıdaki tabloda hangi nesnelerin sertifikanızla ilişkili çeşitli kaynaklarla eşlendiği gösterilmektedir:
Object | Dönüş değeri | Sertifika zincirinin tamamını döndürür |
---|---|---|
key |
Gizlilik Artırılmış Posta (PEM) biçimindeki ortak anahtar. | Yok |
cert |
PEM biçimindeki sertifika. | Hayır |
secret |
PEM biçimindeki özel anahtar ve sertifika. | Yes |
Mevcut kümelerde eklentiyi devre dışı bırakma
Not
Eklentiyi devre dışı bırakmadan önce, kullanımda olmadığından SecretProviderClass
emin olun. Eklenti mevcutken SecretProviderClass
devre dışı bırakılmaya çalışılıyorsa hata oluşur.
Eklenti ile komutunu kullanarak
az aks disable-addons
mevcut bir kümede Gizli Dizi Deposu CSI Sürücüsü için Azure Key Vault sağlayıcısınıazure-keyvault-secrets-provider
devre dışı bırakın.az aks disable-addons --addons azure-keyvault-secrets-provider --resource-group myResourceGroup --name myAKSCluster
Not
Eklentiyi devre dışı bırakdığınızda, mevcut iş yüklerinde herhangi bir sorun olmamalıdır veya bağlı gizli dizilerde güncelleştirmeler görünmelidir. Pod yeniden başlatılırsa veya ölçeği artırma olayının bir parçası olarak yeni bir pod oluşturulursa, sürücü artık çalışmadığından pod başlatılamaz.
Sonraki adımlar
Bu makalede, Azure Key Vault'unuza erişmek için bir kimlik oluşturmayı ve sağlamayı öğrendiniz. Hizmet Bağlayıcısı tümleştirmesi, AKS iş yükleri ve Azure yedekleme hizmetleri için bağlantı yapılandırmasını basitleştirmeye yardımcı olur. Kimlik doğrulaması ve ağ yapılandırmalarını güvenli bir şekilde işler ve Azure hizmetlerine bağlanmak için en iyi yöntemleri izler. Daha fazla bilgi için bkz . Aks kümesinde Gizli Dizi Deposu CSI Sürücüsü için Azure Key Vault sağlayıcısını kullanma ve Hizmet Bağlayıcısı'na giriş.
Ek yapılandırma seçeneklerini yapılandırmak veya sorun giderme gerçekleştirmek istiyorsanız bkz . AKS'de Gizli Dizi Deposu CSI Sürücüsü ile Azure Key Vault sağlayıcısı için yapılandırma seçenekleri ve sorun giderme kaynakları.
Azure Kubernetes Service