Kullanıcı tarafından atanan yönetilen kimliği dış kimlik sağlayıcısına güvenecek şekilde yapılandırma
Bu makalede, Microsoft Entra Id'de kullanıcı tarafından atanan yönetilen kimlikte federasyon kimliği kimlik bilgilerinin nasıl yönetileceğini açıklanmaktadır. Federasyon kimliği kimlik bilgileri, kullanıcı tarafından atanan yönetilen kimlik ile dış kimlik sağlayıcısı (IdP) arasında bir güven ilişkisi oluşturur. Sistem tarafından atanan yönetilen kimlikte federasyon kimliği kimlik bilgilerinin yapılandırılması desteklenmez.
Kullanıcı tarafından atanan yönetilen kimliğinizi bir dış IdP'ye güvenecek şekilde yapılandırdıktan sonra, dış yazılım iş yükünüzü Microsoft kimlik platformu bir erişim belirteci için dış IdP'den belirteç değişimi yapmak üzere yapılandırın. Dış iş yükü, gizli dizileri yönetmeye gerek kalmadan (desteklenen senaryolarda) Microsoft Entra korumalı kaynaklara erişmek için erişim belirtecini kullanır. Belirteç değişimi iş akışı hakkında daha fazla bilgi edinmek için iş yükü kimlik federasyonu hakkında bilgi edinin.
Bu makalede, kullanıcı tarafından atanan yönetilen kimlikte federasyon kimlik bilgilerini oluşturmayı, listelemeyi ve silmeyi öğreneceksiniz.
Önemli noktalar ve kısıtlamalar
Bir uygulamaya veya kullanıcı tarafından atanan yönetilen kimliğe en fazla 20 federasyon kimliği kimlik bilgisi eklenebilir.
Federasyon kimliği kimlik bilgilerini yapılandırdığınızda, sağlamanız gereken birkaç önemli bilgi vardır:
veren ve konu , güven ilişkisini ayarlamak için gereken önemli bilgi parçalarıdır. ve
subject
bileşimiissuer
uygulamada benzersiz olmalıdır. Dış yazılım iş yükü bir erişim belirteci için dış belirteci değiştirmek Microsoft kimlik platformu istediğinde, federasyon kimliği kimlik bilgilerinin veren ve konu değerleri dış belirteçte sağlanan vesubject
taleplerine göreissuer
denetlenir. Bu doğrulama denetimi geçerse, Microsoft kimlik platformu dış yazılım iş yüküne bir erişim belirteci oluşturur.veren , dış kimlik sağlayıcısının URL'sidir ve değiştirilmekte olan dış belirtecin talebiyle eşleşmelidir
issuer
. Gerekli. Talepteissuer
değerde baştaki veya sondaki boşluk varsa belirteç değişimi engellenir. Bu alanın karakter sınırı 600 karakterdir.konu , dış yazılım iş yükünün tanımlayıcısıdır ve değiştirilmekte olan
sub
dış belirtecin (subject
) talebiyle eşleşmelidir. her IdP kendi biçimini kullandığı için özne sabit bir biçime sahip değildir. Bazen GUID, bazen iki nokta üst üste ayrılmış tanımlayıcı, bazen rastgele dizeler. Bu alanın karakter sınırı 600 karakterdir.Önemli
Konu ayarı değerleri, GitHub iş akışı yapılandırmasındaki yapılandırmayla tam olarak eşleşmelidir. Aksi takdirde, Microsoft kimlik platformu gelen dış belirteci arar ve erişim belirteci değişimini reddeder. Hata almazsınız, değişim hatasız başarısız olur.
Önemli
Konu ayarına yanlışlıkla yanlış dış iş yükü bilgileri eklerseniz, federasyon kimliği kimlik bilgileri hatasız başarıyla oluşturulur. Belirteç değişimi başarısız olana kadar hata görünür olmaz.
hedef kitleleri , dış belirteçte görüntülenebilen hedef kitleleri listeler. Gerekli. 600 karakter sınırı olan tek bir hedef kitle değeri eklemeniz gerekir. Önerilen değer "api://AzureADTokenExchange"dir. Microsoft kimlik platformu gelen belirteçteki talepte neleri
aud
kabul etmesi gerektiğini söyler.name , federasyon kimliği kimlik bilgilerinin benzersiz tanımlayıcısıdır. Gerekli. Bu alanın karakter sınırı 3-120 karakterdir ve URL kolay olmalıdır. Alfasayısal, tire veya alt çizgi karakterleri desteklenir, ilk karakter yalnızca alfasayısal olmalıdır. Oluşturulduktan sonra sabittir.
description , federasyon kimliği kimlik bilgilerinin kullanıcı tarafından sağlanan açıklamasıdır. isteğe bağlı. Açıklama Microsoft Entra Id tarafından doğrulanmaz veya denetlenmiyor. Bu alanın sınırı 600 karakterdir.
Joker karakterler hiçbir federasyon kimliği kimlik bilgisi özellik değerinde desteklenmez.
Desteklenen bölgeler, federasyon kimlik bilgileri güncelleştirmelerini yayma zamanı, desteklenen verenler ve daha fazlası hakkında daha fazla bilgi edinmek için Bkz . Federasyon kimlik bilgileri için önemli noktalar ve kısıtlamalar.
Önkoşullar
- Azure kaynakları için yönetilen kimlikleri bilmiyorsanız genel bakış bölümüne göz atın. Sistem tarafından atanan ve kullanıcı tarafından atanan yönetilen kimlik arasındaki farkı gözden geçirmeyi unutmayın.
- Henüz bir Azure hesabınız yoksa devam etmeden önce ücretsiz bir hesaba kaydolun.
- Aşağıdaki adımlarda ihtiyacınız olan dış IdP ve yazılım iş yükünüzün bilgilerini alın.
- Kullanıcı tarafından atanan yönetilen kimlik oluşturmak ve federasyon kimliği kimlik bilgilerini yapılandırmak için hesabınızın Katkıda Bulunan veya Sahip rolü ataması gerekir.
- Kullanıcı tarafından atanan yönetilen kimlik oluşturma
- Aşağıdaki adımlarda ihtiyacınız olan kullanıcı tarafından atanan yönetilen kimliğin adını bulun.
Kullanıcı tarafından atanan yönetilen kimlikte federasyon kimliği kimlik bilgilerini yapılandırma
Microsoft Entra yönetim merkezinde, oluşturduğunuz kullanıcı tarafından atanan yönetilen kimliğe gidin. Sol gezinti çubuğundaki Ayarlar'ın altında Federasyon kimlik bilgileri'ni ve ardından Kimlik Bilgisi Ekle'yi seçin.
Federasyon kimlik bilgisi senaryosu açılan kutusunda senaryonuzu seçin.
Azure kaynaklarını dağıtan GitHub Actions
GitHub eylemleri için federasyon kimliği eklemek için şu adımları izleyin:
Varlık türü için Ortam, Dal, Çekme isteği veya Etiket'i seçin ve değeri belirtin. Değerlerin GitHub iş akışındaki yapılandırmayla tam olarak eşleşmesi gerekir. Daha fazla bilgi için örnekleri okuyun.
Federasyon kimlik bilgileri için bir Ad ekleyin.
Veren, hedef kitleler ve Konu tanımlayıcısı alanları, girdiğiniz değerlere göre otomatik olarak doldurulur.
Federasyon kimlik bilgilerini yapılandırmak için Ekle'yi seçin.
GitHub iş akışınız için Microsoft Entra yönetilen kimliğinizdeki aşağıdaki değerleri kullanın:
AZURE_CLIENT_ID
yönetilen kimlik İstemci KimliğiAZURE_SUBSCRIPTION_ID
Abonelik Kimliği.Aşağıdaki ekran görüntüsünde yönetilen kimlik kimliğinin ve abonelik kimliğinin nasıl kopyalanması gösterilmektedir.
AZURE_TENANT_ID
Dizin (kiracı) kimliği. Microsoft Entra kiracı kimliğinizi bulmayı öğrenin.
Varlık türü örnekleri
Dal örneği
Ana dalda bir gönderme veya çekme isteği olayı tarafından tetiklenen bir iş akışı için:
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
Bir Dal Varlık türüve gitHub dal adı olarak "main" belirtin.
Ortam örneği
"production" adlı bir ortama bağlı işler için:
on:
push:
branches:
- main
jobs:
deployment:
runs-on: ubuntu-latest
environment: production
steps:
- name: deploy
# ...deployment-specific steps
Ortam varlık türünüve GitHub ortam adını "production" olarak belirtin.
Etiket örneği
Örneğin, "v2" adlı etikete gönderilerek tetiklenen bir iş akışı için:
on:
push:
# Sequence of patterns matched against refs/heads
branches:
- main
- 'mona/octocat'
- 'releases/**'
# Sequence of patterns matched against refs/tags
tags:
- v2
- v1.*
Bir Etiket Varlık türüve "v2" GitHub etiket adı belirtin.
Çekme isteği örneği
Çekme isteği olayı tarafından tetiklenen bir iş akışı için Bir Çekme isteği Varlık türü belirtin
Azure kaynaklarına erişen Kubernetes
Küme veren URL'si, Ad Alanı, Hizmet hesabı adı ve Ad alanlarını doldurun:
- Kümeyi veren URL , yönetilen küme için OIDC veren URL'si veya kendi kendine yönetilen bir küme için OIDC Veren URL'sidir .
- Hizmet hesabı adı , Bir Pod'da çalışan işlemler için bir kimlik sağlayan Kubernetes hizmet hesabının adıdır.
- Ad alanı , hizmet hesabı ad alanıdır.
- Ad , federasyon kimlik bilgilerinin adıdır ve daha sonra değiştirilemez.
Federasyon kimlik bilgilerini yapılandırmak için Ekle'yi seçin.
Diğer
Açılan menüden Diğer veren senaryoyu seçin.
Aşağıdaki alanları belirtin (örnek olarak Google Cloud'da çalışan bir yazılım iş yükü kullanarak):
- Ad , federasyon kimlik bilgilerinin adıdır ve daha sonra değiştirilemez.
- Konu tanımlayıcısı: dış kimlik sağlayıcısı tarafından verilen belirteçteki taleple eşleşmelidir
sub
. Google Cloud'un kullanıldığı bu örnekte konu, kullanmayı planladığınız hizmet hesabının Benzersiz Kimliği'dir. - Veren: Dış kimlik sağlayıcısı tarafından verilen belirteçteki taleple eşleşmelidir
iss
. OIDC Bulma belirtimiyle uyumlu bir URL. Microsoft Entra Id, belirteci doğrulamak için gereken anahtarları getirmek için bu veren URL'sini kullanır. Google Cloud için veren "https://accounts.google.com".
Federasyon kimlik bilgilerini yapılandırmak için Ekle'yi seçin.
Kullanıcı tarafından atanan yönetilen kimlikte federasyon kimliği kimlik bilgilerini listeleme
Microsoft Entra yönetim merkezinde, oluşturduğunuz kullanıcı tarafından atanan yönetilen kimliğe gidin. Sol gezinti çubuğundaki Ayarlar'ın altında Federasyon kimlik bilgileri'ni seçin.
Kullanıcı tarafından atanan yönetilen kimlikte yapılandırılan federasyon kimliği kimlik bilgileri listelenir.
Kullanıcı tarafından atanan yönetilen kimlikten federasyon kimliği kimlik bilgilerini silme
Microsoft Entra yönetim merkezinde, oluşturduğunuz kullanıcı tarafından atanan yönetilen kimliğe gidin. Sol gezinti çubuğundaki Ayarlar'ın altında Federasyon kimlik bilgileri'ni seçin.
Kullanıcı tarafından atanan yönetilen kimlikte yapılandırılan federasyon kimliği kimlik bilgileri listelenir.
Belirli bir federasyon kimliği kimlik bilgilerini silmek için bu kimlik bilgisi için Sil simgesini seçin.
Önkoşullar
- Azure kaynakları için yönetilen kimlikleri bilmiyorsanız genel bakış bölümüne göz atın. Sistem tarafından atanan ve kullanıcı tarafından atanan yönetilen kimlik arasındaki farkı gözden geçirmeyi unutmayın.
- Henüz bir Azure hesabınız yoksa devam etmeden önce ücretsiz bir hesaba kaydolun.
- Aşağıdaki adımlarda ihtiyacınız olan dış IdP ve yazılım iş yükünüzün bilgilerini alın.
- Kullanıcı tarafından atanan yönetilen kimlik oluşturmak ve federasyon kimliği kimlik bilgilerini yapılandırmak için hesabınızın Katkıda Bulunan veya Sahip rolü ataması gerekir.
- Kullanıcı tarafından atanan yönetilen kimlik oluşturma
- Aşağıdaki adımlarda ihtiyacınız olan kullanıcı tarafından atanan yönetilen kimliğin adını bulun.
Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz . Azure Cloud Shell'de Bash için hızlı başlangıç.
CLI başvuru komutlarını yerel olarak çalıştırmayı tercih ediyorsanız Azure CLI'yı yükleyin . Windows veya macOS üzerinde çalışıyorsanız Azure CLI’yi bir Docker kapsayıcısında çalıştırmayı değerlendirin. Daha fazla bilgi için bkz . Docker kapsayıcısında Azure CLI'yi çalıştırma.
Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz . Azure CLI ile oturum açma.
İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.
Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
Kullanıcı tarafından atanan yönetilen kimlikte federasyon kimliği kimlik bilgilerini yapılandırma
Kullanıcı tarafından atanan yönetilen kimliğinizde (adla belirtilen) yeni bir federasyon kimliği kimlik bilgisi oluşturmak için az identity federated-credential create komutunu çalıştırın. Adı, vereni, konuyu ve diğer parametreleri belirtin.
az login
# set variables
location="centralus"
subscription="{subscription-id}"
rg="fic-test-rg"
# user assigned identity name
uaId="fic-test-ua"
# federated identity credential name
ficId="fic-test-fic-name"
# create prerequisites if required.
# otherwise make sure that existing resources names are set in variables above
az account set --subscription $subscription
az group create --location $location --name $rg
az identity create --name $uaId --resource-group $rg --location $location --subscription $subscription
# Create/update a federated identity credential
az identity federated-credential create --name $ficId --identity-name $uaId --resource-group $rg --issuer 'https://aks.azure.com/issuerGUID' --subject 'system:serviceaccount:ns:svcaccount' --audiences 'api://AzureADTokenExchange'
Kullanıcı tarafından atanan yönetilen kimlikte federasyon kimliği kimlik bilgilerini listeleme
Kullanıcı tarafından atanan yönetilen kimlikte yapılandırılan tüm federasyon kimliği kimlik bilgilerini okumak için az identity federated-credential list komutunu çalıştırın:
az login
# Set variables
rg="fic-test-rg"
# User assigned identity name
uaId="fic-test-ua"
# Read all federated identity credentials assigned to the user-assigned managed identity
az identity federated-credential list --identity-name $uaId --resource-group $rg
Kullanıcı tarafından atanan yönetilen kimlikte federasyon kimliği kimlik bilgilerini alma
Federasyon kimliği kimlik bilgilerini (kimliğe göre) göstermek için az identity federated-credential show komutunu çalıştırın:
az login
# Set variables
rg="fic-test-rg"
# User assigned identity name
uaId="fic-test-ua"
# Federated identity credential name
ficId="fic-test-fic-name"
# Show the federated identity credential
az identity federated-credential show --name $ficId --identity-name $uaId --resource-group $rg
Kullanıcı tarafından atanan yönetilen kimlikten federasyon kimliği kimlik bilgilerini silme
Mevcut kullanıcı tarafından atanan kimlik altında federasyon kimliği kimlik bilgilerini silmek için az identity federated-credential delete komutunu çalıştırın.
az login
# Set variables
# in Linux shell remove $ from set variable statement
$rg="fic-test-rg"
# User assigned identity name
$uaId="fic-test-ua"
# Federated identity credential name
$ficId="fic-test-fic-name"
az identity federated-credential delete --name $ficId --identity-name $uaId --resource-group $rg
Önkoşullar
- Azure kaynakları için yönetilen kimlikleri bilmiyorsanız genel bakış bölümüne göz atın. Sistem tarafından atanan ve kullanıcı tarafından atanan yönetilen kimlik arasındaki farkı gözden geçirmeyi unutmayın.
- Henüz bir Azure hesabınız yoksa devam etmeden önce ücretsiz bir hesaba kaydolun.
- Aşağıdaki adımlarda ihtiyacınız olan dış IdP ve yazılım iş yükünüzün bilgilerini alın.
- Kullanıcı tarafından atanan yönetilen kimlik oluşturmak ve federasyon kimliği kimlik bilgilerini yapılandırmak için hesabınızın Katkıda Bulunan veya Sahip rolü ataması gerekir.
- Örnek betikleri çalıştırmak için iki seçeneğiniz vardır:
- Kod bloklarının sağ üst köşesindeki Deneyin düğmesini kullanarak açabileceğiniz Azure Cloud Shell'i kullanın.
- Sonraki bölümde açıklandığı gibi betikleri Azure PowerShell ile yerel olarak çalıştırın.
- Kullanıcı tarafından atanan yönetilen kimlik oluşturma
- Aşağıdaki adımlarda ihtiyacınız olan kullanıcı tarafından atanan yönetilen kimliğin adını bulun.
Azure PowerShell'i yerel olarak yapılandırma
Cloud Shell kullanmak yerine bu makalede Azure PowerShell'i yerel olarak kullanmak için:
Henüz yüklemediyseniz Azure PowerShell'in en son sürümünü yükleyin.
Azure'da oturum açın.
Connect-AzAccount
PowerShellGet'in en son sürümünü yükleyin.
Install-Module -Name PowerShellGet -AllowPrerelease
Sonraki adım için
Exit
bu komutu çalıştırdıktan sonra geçerli PowerShell oturumunu kapatmanız gerekebilir.Bu makalede kullanıcı
Az.ManagedServiceIdentity
tarafından atanan yönetilen kimlik işlemlerini gerçekleştirmek için modülünü yükleyin.Install-Module -Name Az.ManagedServiceIdentity
Kullanıcı tarafından atanan yönetilen kimlikte federasyon kimliği kimlik bilgilerini yapılandırma
New-AzFederatedIdentityCredentials komutunu çalıştırarak kullanıcı tarafından atanan yönetilen kimliğinizde yeni bir federasyon kimliği kimlik bilgisi oluşturun (adla belirtilir). Adı, vereni, konuyu ve diğer parametreleri belirtin.
New-AzFederatedIdentityCredentials -ResourceGroupName azure-rg-test -IdentityName uai-pwsh01 `
-Name fic-pwsh01 -Issuer "https://kubernetes-oauth.azure.com" -Subject "system:serviceaccount:ns:svcaccount"
Kullanıcı tarafından atanan yönetilen kimlikte federasyon kimliği kimlik bilgilerini listeleme
Kullanıcı tarafından atanan yönetilen kimlikte yapılandırılan tüm federasyon kimliği kimlik bilgilerini okumak için Get-AzFederatedIdentityCredentials komutunu çalıştırın:
Get-AzFederatedIdentityCredentials -ResourceGroupName azure-rg-test -IdentityName uai-pwsh01
Kullanıcı tarafından atanan yönetilen kimlikte federasyon kimliği kimlik bilgilerini alma
Federasyon kimliği kimlik bilgilerini (ada göre) göstermek için Get-AzFederatedIdentityCredentials komutunu çalıştırın:
Get-AzFederatedIdentityCredentials -ResourceGroupName azure-rg-test -IdentityName uai-pwsh01 -Name fic-pwsh01
Kullanıcı tarafından atanan yönetilen kimlikten federasyon kimliği kimlik bilgilerini silme
Remove-AzFederatedIdentityCredentials komutunu çalıştırarak mevcut kullanıcı tarafından atanan kimlik altındaki federasyon kimliği kimlik bilgilerini silin.
Remove-AzFederatedIdentityCredentials -ResourceGroupName azure-rg-test -IdentityName uai-pwsh01 -Name fic-pwsh01
Önkoşullar
- Azure kaynakları için yönetilen kimlikleri bilmiyorsanız genel bakış bölümüne göz atın. Sistem tarafından atanan ve kullanıcı tarafından atanan yönetilen kimlik arasındaki farkı gözden geçirmeyi unutmayın.
- Henüz bir Azure hesabınız yoksa devam etmeden önce ücretsiz bir hesaba kaydolun.
- Aşağıdaki adımlarda ihtiyacınız olan dış IdP ve yazılım iş yükünüzün bilgilerini alın.
- Kullanıcı tarafından atanan yönetilen kimlik oluşturmak ve federasyon kimliği kimlik bilgilerini yapılandırmak için hesabınızın Katkıda Bulunan veya Sahip rolü ataması gerekir.
- Kullanıcı tarafından atanan yönetilen kimlik oluşturma
- Aşağıdaki adımlarda ihtiyacınız olan kullanıcı tarafından atanan yönetilen kimliğin adını bulun.
Şablon oluşturma ve düzenleme
Resource Manager şablonları, bir Azure kaynak grubu tarafından tanımlanan yeni veya değiştirilmiş kaynakları dağıtmanıza yardımcı olur. Şablon düzenleme ve dağıtım için hem yerel hem de portal tabanlı çeşitli seçenekler sağlanır. Şunları yapabilirsiniz:
- Sıfırdan şablon oluşturmak veya mevcut ortak veya hızlı başlangıç şablonunu temel almak için Azure Market özel bir şablon kullanın.
- Şablonu dışarı aktararak var olan bir kaynak grubundan türetme. Bunları özgün dağıtımdan veya dağıtımıngeçerli durumundan dışarı aktarabilirsiniz.
- Yerel bir JSON düzenleyicisi (VS Code gibi) kullanın ve ardından PowerShell veya Azure CLI kullanarak karşıya yükleyip dağıtın.
- Şablon oluşturmak ve dağıtmak için Visual Studio Azure Kaynak Grubu projesini kullanın.
Kullanıcı tarafından atanan yönetilen kimlikte federasyon kimliği kimlik bilgilerini yapılandırma
Federasyon kimliği kimlik bilgileri ve üst kullanıcı tarafından atanan kimlik, aşağıdaki şablonun aracı olarak oluşturulabilir veya güncelleştirilebilir. ARM şablonlarını Azure portalından dağıtabilirsiniz.
Tüm şablon parametreleri zorunlu.
Federasyon kimliği kimlik bilgisi adı uzunluğu için 3-120 karakter sınırı vardır. Alfasayısal, tire, alt çizgi olmalıdır. İlk simge yalnızca alfasayısaldır.
Federasyon kimliği kimlik bilgilerine tam olarak bir hedef kitle eklemeniz gerekir. Hedef kitle, belirteç değişimi sırasında doğrulanır. Varsayılan değer olarak "api://AzureADTokenExchange" kullanın.
List, Get ve Delete işlemleri şablonla kullanılamaz. Bu işlemler için Azure CLI'ya bakın. Varsayılan olarak, tüm alt federasyon kimliği kimlik bilgileri eşzamanlılık algılama mantığını tetikleyen ve dağıtımın 409 çakışmalı http durum koduyla başarısız olmasına neden olan paralel olarak oluşturulur. Bunları sırayla oluşturmak için dependsOn özelliğini kullanarak bir bağımlılıklar zinciri belirtin.
Her tür otomasyonun aynı üst kimlik altında sıralı olarak federasyon kimliği kimlik bilgileri oluşturduğundan emin olun. Farklı yönetilen kimlikler altında federasyon kimliği kimlik bilgileri herhangi bir kısıtlama olmadan paralel olarak oluşturulabilir.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {},
"parameters": {
"location": {
"type": "string",
"defaultValue": "westcentralus",
"metadata": {
"description": "Location for identities resources. FIC should be enabled in this region."
}
},
"userAssignedIdentityName": {
"type": "string",
"defaultValue": "FIC_UA",
"metadata": {
"description": "Name of the User Assigned identity (parent identity)"
}
},
"federatedIdentityCredential": {
"type": "string",
"defaultValue": "testCredential",
"metadata": {
"description": "Name of the Federated Identity Credential"
}
},
"federatedIdentityCredentialIssuer": {
"type": "string",
"defaultValue": "https://aks.azure.com/issuerGUID",
"metadata": {
"description": "Federated Identity Credential token issuer"
}
},
"federatedIdentityCredentialSubject": {
"type": "string",
"defaultValue": "system:serviceaccount:ns:svcaccount",
"metadata": {
"description": "Federated Identity Credential token subject"
}
},
"federatedIdentityCredentialAudience": {
"type": "string",
"defaultValue": " api://AzureADTokenExchange",
"metadata": {
"description": "Federated Identity Credential audience. Single value is only supported."
}
}
},
"resources": [
{
"type": "Microsoft.ManagedIdentity/userAssignedIdentities",
"apiVersion": "2018-11-30",
"name": "[parameters('userAssignedIdentityName')]",
"location": "[parameters('location')]",
"tags": {
"firstTag": "ficTest"
},
"resources": [
{
"type": "Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials",
"apiVersion": "2022-01-31-PREVIEW",
"name": "[concat(parameters('userAssignedIdentityName'), '/', parameters('federatedIdentityCredential'))]",
"dependsOn": [
"[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('userAssignedIdentityName'))]"
],
"properties": {
"issuer": "[parameters('federatedIdentityCredentialIssuer')]",
"subject": "[parameters('federatedIdentityCredentialSubject')]",
"audiences": [
"[parameters('federatedIdentityCredentialAudience')]"
]
}
}
]
}
]
}
Önkoşullar
- Azure kaynakları için yönetilen kimlikleri bilmiyorsanız genel bakış bölümüne göz atın. Sistem tarafından atanan ve kullanıcı tarafından atanan yönetilen kimlik arasındaki farkı gözden geçirmeyi unutmayın.
- Henüz bir Azure hesabınız yoksa devam etmeden önce ücretsiz bir hesaba kaydolun.
- Aşağıdaki adımlarda ihtiyacınız olan dış IdP ve yazılım iş yükünüzün bilgilerini alın.
- Kullanıcı tarafından atanan yönetilen kimlik oluşturmak ve federasyon kimliği kimlik bilgilerini yapılandırmak için hesabınızın Katkıda Bulunan veya Sahip rolü ataması gerekir.
- Bu makaledeki tüm komutları bulutta veya yerel olarak çalıştırabilirsiniz:
- Bulutta çalıştırmak için Azure Cloud Shell'i kullanın.
- Yerel olarak çalıştırmak için curl ve Azure CLI'yı yükleyin.
- Kullanıcı tarafından atanan yönetilen kimlik oluşturma
- Aşağıdaki adımlarda ihtiyacınız olan kullanıcı tarafından atanan yönetilen kimliğin adını bulun.
Taşıyıcı erişim belirteci alma
Yerel olarak çalıştırıyorsanız Azure CLI aracılığıyla Azure'da oturum açın.
az login
az account get-access-token komutunu kullanarak erişim belirteci alın.
az account get-access-token
Kullanıcı tarafından atanan yönetilen kimlikte federasyon kimliği kimlik bilgilerini yapılandırma
Belirtilen kullanıcı tarafından atanan yönetilen kimlikte federasyon kimliği kimlik bilgilerini oluşturun veya güncelleştirin.
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/provider
s/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/federatedIdenti
tyCredentials/<FEDERATED IDENTITY CREDENTIAL NAME>?api-version=2022-01-31-preview' -X PUT -d '{"properties": "{ "properties": { "issuer": "<ISSUER>", "subject": "<SUBJECT>", "audiences": [ "api://AzureADTokenExchange" ] }}"}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/federatedIdentityCredentials/<FEDERATED IDENTITY CREDENTIAL NAME>?api-version=2022-01-31-preview
{
"properties": {
"issuer": "https://oidc.prod-aks.azure.com/IssuerGUID",
"subject": "system:serviceaccount:ns:svcaccount",
"audiences": [
"api://AzureADTokenExchange"
]
}
}
İstek üst bilgileri
İstek üst bilgisi | Açıklama |
---|---|
İçerik Türü | Gerekli. application/json olarak ayarlayın. |
Yetkilendirme | Gerekli. Geçerli Bearer bir erişim belirteci olarak ayarlayın. |
İstek gövdesi
Veri Akışı Adı | Açıklama |
---|---|
properties.audiences | Gerekli. Verilen belirteçte görüntülenebilen hedef kitlelerin listesi. |
properties.issuer | Gerekli. Güvenilecek verenin URL'si. |
properties.subject | Gerekli. Dış kimliğin tanımlayıcısı. |
Kullanıcı tarafından atanan yönetilen kimlikte federasyon kimliği kimlik bilgilerini listeleme
Belirtilen kullanıcı tarafından atanan yönetilen kimlik üzerindeki tüm federasyon kimliği kimlik bilgilerini listeleyin.
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/<RESOURCE NAME>/federatedIdentityCredentials?api-version=2022-01-31-preview' -H "Content-Type: application/json" -X GET -H "Authorization: Bearer <ACCESS TOKEN>"
GET
https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/<RESOURCE NAME>/federatedIdentityCredentials?api-version=2022-01-31-preview
İstek üst bilgileri
İstek üst bilgisi | Açıklama |
---|---|
İçerik Türü | Gerekli. application/json olarak ayarlayın. |
Yetkilendirme | Gerekli. Geçerli Bearer bir erişim belirteci olarak ayarlayın. |
Kullanıcı tarafından atanan yönetilen kimlikte federasyon kimliği kimlik bilgilerini alma
Belirtilen kullanıcı tarafından atanan yönetilen kimlikte federasyon kimliği kimlik bilgilerini alın.
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/<RESOURCE NAME>/federatedIdentityCredentials/<FEDERATED IDENTITY CREDENTIAL RESOURCENAME>?api-version=2022-01-31-preview' -X GET -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
GET
https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/<RESOURCE NAME>/federatedIdentityCredentials/<FEDERATED IDENTITY CREDENTIAL RESOURCENAME>?api-version=2022-01-31-preview
İstek üst bilgileri
İstek üst bilgisi | Açıklama |
---|---|
İçerik Türü | Gerekli. application/json olarak ayarlayın. |
Yetkilendirme | Gerekli. Geçerli Bearer bir erişim belirteci olarak ayarlayın. |
Kullanıcı tarafından atanan yönetilen kimlikten federasyon kimliği kimlik bilgilerini silme
Belirtilen kullanıcı tarafından atanan yönetilen kimlikte federasyon kimliği kimlik bilgilerini silin.
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/<RESOURCE NAME>/federatedIdentityCredentials/<FEDERATED IDENTITY CREDENTIAL RESOURCENAME>?api-version=2022-01-31-preview' -X DELETE -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
DELETE
https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/<RESOURCE NAME>/federatedIdentityCredentials/<FEDERATED IDENTITY CREDENTIAL RESOURCENAME>?api-version=2022-01-31-preview
İstek üst bilgileri
İstek üst bilgisi | Açıklama |
---|---|
İçerik Türü | Gerekli. application/json olarak ayarlayın. |
Yetkilendirme | Gerekli. Geçerli Bearer bir erişim belirteci olarak ayarlayın. |
Sonraki adımlar
- Dış kimlik sağlayıcıları tarafından oluşturulan gerekli JWT biçimi hakkında bilgi için onay biçimi hakkında bilgi edinin.