Kimlik doğrulaması için hizmet sorumlusu kullanma
Bazen etkileşimli kimlik doğrulaması kullanmak veya kullanıcı hesabı olarak kimlik doğrulaması yapmak uygun değildir. Bu durumlar bir web hizmetinden, başka bir çalışan rolünden veya otomatik bir sistemden iş göndermek istediğinizde ortaya çıkabilir. Bir seçenek yönetilen kimlik yapılandırmaktır, bir diğer seçenek de bu makalede açıklanacak bir Hizmet Sorumlusu kullanmaktır.
Önkoşul: Hizmet sorumlusu ve uygulama gizli dizisi oluşturma
Hizmet sorumlusu olarak kimlik doğrulaması yapmak için önce bir hizmet sorumlusu oluşturmanız gerekir.
Hizmet sorumlusu oluşturmak için erişim atayın ve bir kimlik bilgisi oluşturun:
Azure AD uygulaması oluşturma:
Not
Yeniden yönlendirme URI'sini ayarlamanız gerekmez.
- Oluşturulduktan sonra Uygulama (istemci) kimliğini ve Dizin (kiracı) Kimliğini yazın.
Uygulama olarak oturum açmak için bir kimlik bilgisi oluşturun:
- Uygulamanızın ayarlarında Sertifikalar & gizli diziler'i seçin.
- İstemci Gizli Dizileri'nin altında Yeni Gizli Dizi Oluştur'u seçin.
- Bir açıklama ve süre sağlayın, ardından Ekle'yi seçin.
- Gizli anahtarın değerini hemen güvenli bir yere kopyalayın; bir daha göremezsiniz!
Hizmet sorumlunuza çalışma alanınıza erişim izinleri verin:
- Azure portalını açın.
- Arama çubuğuna çalışma alanınızı oluşturduğunuz kaynak grubunun adını girin. Sonuçlarda kaynak grubunu seçin.
- Kaynak grubuna genel bakış sayfasında Erişim denetimi (IAM) öğesini seçin.
- Rol Ataması Ekle'yi seçin.
- Hizmet sorumlusunu arayın ve seçin.
- Katkıda Bulunan veya Sahip rolünü atayın.
Not
Kaynak grubunda veya çalışma alanında rol ataması oluşturmak için rol ataması kapsamında sahip veya kullanıcı erişim yöneticisi olmanız gerekir. Aboneliğinizde Hizmet Sorumlusu oluşturma izniniz yoksa, Azure aboneliğinin sahibinden veya yöneticisinden izin istemeniz gerekir.
Yalnızca kaynak grubu veya çalışma alanı düzeyinde izinleriniz varsa, aşağıdakileri kullanarak Katkıda Bulunan rolü altında hizmet sorumlusunu oluşturabilirsiniz:
az ad sp create-for-rbac --role Contributor --scopes /subscriptions/<SUBSCRIPTION-ID>
Hizmet sorumlusu olarak kimlik doğrulaması
Seçenek 1: Ortam değişkenlerini kullanma: Nesne oluşturmada Workspace
kullanılan varsayılan kimlik bilgisi DefaultAzureCredential'dır ve bu da çeşitli kimlik doğrulaması türlerini dener.
İlki EnvironmentCredential'tır ve bununla birlikte hizmet sorumlusu kimlik bilgilerini aşağıdaki ortam değişkenleri aracılığıyla geçirirsiniz:
- AZURE_TENANT_ID: Hizmet sorumlusunun kiracısının kimliği. 'directory' kimliği olarak da adlandırılır.
- AZURE_CLIENT_ID: Hizmet sorumlusunun istemci kimliği.
- AZURE_CLIENT_SECRET: hizmet sorumlusunun istemci gizli dizilerinden biri.
Seçenek 2: ClientSecretCredential'i kullanma: Nesnenin örneği oluşturulurken Workspace
clientSecretCredential geçirin veya özelliği ayarlayıncredentials
.
from azure.identity import ClientSecretCredential
tenant_id = os.environ["AZURE_TENANT_ID"]
client_id = os.environ["AZURE_CLIENT_ID"]
client_secret = os.environ["AZURE_CLIENT_SECRET"]
credential = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
workspace.credentials = credential
Not
workspace.login()
yöntemi kullanım dışı bırakıldı ve artık gerekli değil. Hizmete ilk kez bir çağrı olduğunda, oluşturucuda veya credentials
özelliğinde Workspace
geçirilen kimlik bilgileri kullanılarak bir kimlik doğrulaması denenecektir. Hiçbir kimlik bilgisi geçirilmezse DefaultAzureCredential tarafından birkaç kimlik doğrulama yöntemi denenir.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin