Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure hizmetlerini kullanan otomatik araçlar, Azure kaynaklarının güvenli olduğundan emin olmak için her zaman kısıtlanmış izinlere sahip olmalıdır. Bu nedenle, Azure uygulamaların tam ayrıcalıklı bir kullanıcı olarak oturum açması yerine hizmet ilkeleri sunar. Azure hizmet sorumlusu, uygulamalar, barındırılan hizmetler ve otomatik araçlarla kullanılmak üzere oluşturulmuş bir kimliktir. Bu kimlik kaynaklara erişmek için kullanılır.
Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:
- Hizmet sorumlusu oluşturma
- Hizmet sorumlusu ve parola kullanarak oturum açma
- Hizmet sorumlusu ve sertifika kullanarak oturum açma
- Hizmet sorumlusu rollerini yönetme
- Hizmet sorumlusu kullanarak Azure kaynağı oluşturma
- Hizmet sorumlusu kimlik bilgilerini sıfırlama
Önkoşullar
- Bir abonelikte, bir hizmet sorumlusu oluşturmak için
User Access Administrator
veyaRole Based Access Control Administrator
izinlerine veya daha yüksek izinlere sahip olmanız gerekir. Azure rol tabanlı erişim denetimi (Azure RBAC) için kullanılabilen rollerin listesi için bkz . Azure yerleşik rolleri.
Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için Azure Cloud Shell'de Bash için Hızlı Başlangıç kısmına bakın.
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.
Hizmet sorumlusu oluşturma
Hizmet sorumlusu oluşturmak için az ad sp create-for-rbac Azure CLI reference komutunu kullanın. Bu örnekte parametre --name
belirtilmez, bu nedenle zaman damgası içeren bir ad otomatik olarak oluşturulur.
az ad sp create-for-rbac
Çıkış konsolu:
{
"appId": "myAppId",
"displayName": "myServicePrincipalName",
"password": "myServicePrincipalPassword",
"tenant": "myTentantId"
}
Kaynak adlandırma kurallarına uygun değilseniz ve daha sonra yeni hizmet sorumlunuz için bir rol ve kapsam oluşturmayı planlıyorsanız, az ad sp create-for-rbac
parametresiz komut kabul edilebilir bir çözümdür. Ancak, bir rol ve kapsam olmadan, yeni hizmet sorumlusunun kaynaklara erişimi yoktur. Sadece var.
Parametresiz bir hizmet sorumlusu oluşturduğunuzda şu adımları da tamamlayın:
- Sistem tarafından atanan parolanızı bir kez daha alamayacağınız için kaydedin. Parolayı kaybederseniz hizmet sorumlusu kimlik bilgilerini sıfırlama bölümünde açıklandığı gibi az ad sp credential reset komutunu kullanarak sıfırlayın.
- Yeni hizmet sorumlusunun rol atamasını, az role assignment create komutunu kullanarak, Hizmet sorumlusu rollerini yönetme bölümünde açıklandığı gibi ayarlayın.
Uyarı
Hesabınızda bir hizmet sorumlusu oluşturma izni yoksa, az ad sp create-for-rbac
"İşlemi tamamlamak için yetersiz ayrıcalıklar" hata mesajını döndürür. Hizmet sorumlusu oluşturmak için Microsoft Entra yöneticinize başvurun.
Microsoft Entra ID dizininde "Kullanıcılar uygulama kaydedebilir" ayarının Hayır olarak ayarlandığı bir durumda, aşağıdaki Microsoft Entra ID yerleşik rollerinden birinin üyesi olmalısınız (şu eylemi içermelidir: microsoft.directory/applications/createAsOwner
veya microsoft.directory/applications/create
):
- Uygulama Geliştirici
- Uygulama Yöneticisi
- Bulut Uygulaması Yöneticisi
- Genel Yönetici
- Karma Kimlik Yöneticisi
Microsoft Entra Id'deki kullanıcı ayarları hakkında daha fazla bilgi için bkz . Kimlerin uygulama oluşturabileceğini kısıtlama.
Rol ve kapsam ile hizmet ilkesi oluşturun
En iyi yöntem olarak, hizmet sorumlusu oluşturduğunuzda her zaman belirli bir --role
ve --scopes
atayın. Şu adımları izleyin:
Doğru rolü belirleyin.
Rol belirlerken her zaman en az ayrıcalık ilkesini kullanın. Örneğin, hizmet sorumlusunun
contributor
yalnızca bir kaynak grubu içinde Azure depolamaya erişmesi gerekiyorsa, hizmet sorumlusuna abonelik için izin vermeyin. Depolama blobu veri katkıda bulunanı gibi bir uzman rolü düşünün. Azure RBAC'deki kullanılabilir rollerin tam listesi için bkz . Azure yerleşik rolleri.Scopes parametresi için bir değer alın.
Yeni hizmet sorumlusunun erişmesi gereken Azure kaynağının Kaynak Kimliğini bulun ve kopyalayın. Bu bilgiler genellikle her kaynağın Azure portalının Özellikler veya Uç Noktalar sayfasında bulunur. Burada yaygın
--scopes
örnekler verilmiştir, ancak gerçek bir biçim ve değer için Kaynak Kimliğinize güvenebilirsiniz.Kapsam Örnek Abonelik /subscriptions/mySubscriptionID
Kaynak grubu /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName
Sanal makine /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMname
Depolama hesabı dosya hizmeti /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.Storage/storageAccounts/myStorageAccountName/fileServices/default
Veri fabrikası /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.DataFactory/factories/myDataFactoryName
Diğer kapsam örnekleri için bkz . Azure RBAC kapsamını anlama.
Hizmet sorumlusunu oluşturun.
Bu örnekte, RG1 kaynak grubundaki tüm kaynaklar için okuyucu izinleriyle myServicePrincipalName1 adlı yeni bir hizmet sorumlusu oluşturulur.
# Bash script az ad sp create-for-rbac --name myServicePrincipalName1 \ --role reader \ --scopes /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG1
--scopes
parametresi, boşlukla ayrılmış kapsam listesini kabul eder. Bu örnekte, myRG1 kaynak grubundaki tüm kaynaklar için okuyucu izinleriyle myServicePrincipalName2 adlı yeni bir hizmet sorumlusu oluşturulur. Bu hizmet sorumlusuna myRG2'de bulunan myVM için okuyucu izinleri de verilir.# Bash script az ad sp create-for-rbac --name myServicePrincipalName2 \ --role reader \ --scopes /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG2/providers/Microsoft.Compute/virtualMachines/myVM
Yeni hizmet sorumlunuza çok az veya çok fazla izin vermenize karar verirseniz, hizmet sorumlusu rollerini yöneterek izinleri değiştirin.
Değişkenleri kullanarak hizmet sorumlusu oluşturma
Değişkenleri kullanarak bir hizmet sorumlusu da oluşturabilirsiniz:
# Bash script
let "randomIdentifier=$RANDOM*$RANDOM"
servicePrincipalName="msdocs-sp-$randomIdentifier"
roleName="azureRoleName"
subscriptionID=$(az account show --query id --output tsv)
# Verify the ID of the active subscription
echo "Using subscription ID $subscriptionID"
resourceGroup="myResourceGroupName"
echo "Creating SP for RBAC with name $servicePrincipalName, with role $roleName and in scopes /subscriptions/$subscriptionID/resourceGroups/$resourceGroup"
az ad sp create-for-rbac --name $servicePrincipalName \
--role $roleName \
--scopes /subscriptions/$subscriptionID/resourceGroups/$resourceGroup
Hizmet sorumlusu özelliklerinin tam listesini almak için az ad sp list komutunu kullanın ve Mevcut bir hizmet sorumlusunu alın.
Uyarı
komutunu kullanarak az ad sp create-for-rbac
bir Azure hizmet sorumlusu oluşturduğunuzda, çıkışta korumanız gereken kimlik bilgileri bulunur. Bu kimlik bilgilerini kodunuza eklemediğinizden emin olun veya kaynak denetiminizdeki kimlik bilgilerini denetleyin. Alternatif olarak, kimlik bilgilerini kullanma gereksinimini önlemek için varsa yönetilen kimlikleri kullanmayı göz önünde bulundurun.
Sonraki Adımlar
Azure hizmet sorumlusu oluşturmayı öğrendiğinize göre, hizmet sorumlularını parola tabanlı kimlik doğrulamasıyla kullanmayı öğrenmek için sonraki adıma geçin.