Share via


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:

  1. Azure AD uygulaması oluşturma:

    Not

    Yeniden yönlendirme URI'sini ayarlamanız gerekmez.

    1. Oluşturulduktan sonra Uygulama (istemci) kimliğini ve Dizin (kiracı) Kimliğini yazın.
  2. Uygulama olarak oturum açmak için bir kimlik bilgisi oluşturun:

    1. Uygulamanızın ayarlarında Sertifikalar & gizli diziler'i seçin.
    2. İstemci Gizli Dizileri'nin altında Yeni Gizli Dizi Oluştur'u seçin.
    3. Bir açıklama ve süre sağlayın, ardından Ekle'yi seçin.
    4. Gizli anahtarın değerini hemen güvenli bir yere kopyalayın; bir daha göremezsiniz!
  3. Hizmet sorumlunuza çalışma alanınıza erişim izinleri verin:

    1. Azure portalını açın.
    2. Arama çubuğuna çalışma alanınızı oluşturduğunuz kaynak grubunun adını girin. Sonuçlarda kaynak grubunu seçin.
    3. Kaynak grubuna genel bakış sayfasında Erişim denetimi (IAM) öğesini seçin.
    4. Rol Ataması Ekle'yi seçin.
    5. Hizmet sorumlusunu arayın ve seçin.
    6. 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 WorkspaceclientSecretCredential 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.