Yönetilen çevrimiçi uç noktalar için kimlik doğrulaması

ŞUNLAR IÇIN GEÇERLIDIR: Azure CLI ml uzantısı v2 (geçerli)Python SDK azure-ai-ml v2 (geçerli)

Bu makalede, çevrimiçi uç noktalar bağlamında kimlik ve izin kavramları açıklanmaktadır. Azure RBAC'i destekleyen Microsoft Entra Kimlikleri hakkında bir tartışmayla başlıyoruz. Microsoft Entra kimliğinin amacına bağlı olarak, bunu kullanıcı kimliği veya uç nokta kimliği olarak adlandırıyoruz.

Kullanıcı kimliği, uç nokta ve dağıtımlarını oluşturmak için kullanabileceğiniz veya uç noktalarla veya çalışma alanlarıyla etkileşim kurmak için kullanabileceğiniz bir Microsoft Entra Kimliğidir. Başka bir deyişle, bir kimlik uç noktalara, dağıtımlara veya çalışma alanlarına istekler gönderdiğinde kullanıcı kimliği olarak kabul edilebilir. Kullanıcı kimliği, uç noktalarda veya çalışma alanlarında denetim düzlemi ve veri düzlemi işlemleri gerçekleştirmek için uygun izinlere ihtiyaç duyar.

Uç nokta kimliği, dağıtımlarda kullanıcı kapsayıcısını çalıştıran bir Microsoft Entra Kimliğidir. Başka bir deyişle, kimlik uç noktayla ilişkiliyse ve dağıtım için kullanıcı kapsayıcısı için kullanılıyorsa, buna uç nokta kimliği denir. Uç nokta kimliğinin gerektiğinde kaynaklarla etkileşime geçmek için kullanıcı kapsayıcısı için de uygun izinlere sahip olması gerekir. Örneğin, uç nokta kimliğinin Azure Container Registry'den görüntü çekmek veya diğer Azure hizmetleriyle etkileşime geçmek için uygun izinlere sahip olması gerekir.

Genel olarak, kullanıcı kimliği ve uç nokta kimliği ayrı izin gereksinimlerine sahip olabilir. Kimlikleri ve izinleri yönetme hakkında daha fazla bilgi için bkz . Çevrimiçi uç noktalar için istemcilerin kimliğini doğrulama. Gizli diziler için otomatik olarak ek izin ekleme özel durumu hakkında daha fazla bilgi için bkz . Kullanıcı kimliği için ek izinler.

Sınırlama

Microsoft Entra Id kimlik doğrulaması (aad_token), yalnızca yönetilen çevrimiçi uç noktalar için desteklenir. Kubernetes çevrimiçi uç noktaları için bir anahtar veya Azure Machine Learning belirteci (aml_token) kullanabilirsiniz.

Kullanıcı kimliği için gereken izinler

Azure kiracınızda Microsoft hesabınızla (örneğin, kullanarakaz login) oturum açtığınızda, kullanıcı kimlik doğrulama adımını (genellikle kimlik doğrulaması olarak bilinir) tamamlarsınız ve kullanıcı olarak kimliğiniz belirlenir. Şimdi, bir çalışma alanı altında çevrimiçi uç nokta oluşturmak istediğinizi varsayalım, bunu yapmak için uygun izne ihtiyacınız olacaktır. Yetkilendirme (genellikle authz olarak bilinir) burada devreye girer.

Kontrol düzlemi işlemleri

Denetim düzlemi işlemleri çevrimiçi uç noktaları denetler ve değiştirir. Bu işlemler çevrimiçi uç noktalarda ve çevrimiçi dağıtımlarda oluşturma, okuma, güncelleştirme ve silme (CRUD) işlemlerini içerir. Çevrimiçi uç noktalar ve dağıtımlar için denetim düzlemi işlemleri gerçekleştirme istekleri Azure Machine Learning çalışma alanına gider.

Denetim düzlemi işlemleri için kimlik doğrulaması

Denetim düzlemi işlemleri için, çalışma alanında bir istemcinin kimliğini doğrulamanın tek bir yolu vardır: Microsoft Entra belirtecini kullanarak.

Kullanım örneğine bağlı olarak, bu belirteci almak için çeşitli kimlik doğrulama iş akışları arasından seçim yapabilirsiniz. Kullanıcı kimliğinizin kaynaklarınıza erişim için uygun bir Azure rol tabanlı erişim denetimine (Azure RBAC) izin verebilmesi de gerekir.

Kontrol düzlemi işlemleri için yetkilendirme

Denetim düzlemi işlemleri için kullanıcı kimliğinizin kaynaklarınıza erişim için uygun bir Azure rol tabanlı erişim denetimine (Azure RBAC) izin verilmesi gerekir. Özellikle, çevrimiçi uç noktalarda ve dağıtımlarda CRUD işlemleri için, rolün aşağıdaki eylemlerle atanmış olması için kimliğe ihtiyacınız vardır:

İşlem Gerekli Azure RBAC rolü Rolün atandığı kapsam
Çevrimiçi uç noktalarda ve dağıtımlarda oluşturma/güncelleştirme işlemleri Sahip, katkıda bulunan veya izin veren herhangi bir rol Microsoft.MachineLearningServices/workspaces/onlineEndpoints/write çalışma alanı
Çevrimiçi uç noktalarda ve dağıtımlarda silme işlemleri Sahip, katkıda bulunan veya izin veren herhangi bir rol Microsoft.MachineLearningServices/workspaces/onlineEndpoints/delete çalışma alanı
Azure Machine Learning stüdyosu aracılığıyla çevrimiçi uç noktalarda ve dağıtımlarda işlemleri oluşturma/güncelleştirme/silme Sahip, katkıda bulunan veya izin veren herhangi bir rol Microsoft.Resources/deployments/write çalışma alanının ait olduğu kaynak grubu
Çevrimiçi uç noktalarda ve dağıtımlarda okuma işlemleri Sahip, katkıda bulunan veya izin veren herhangi bir rol Microsoft.MachineLearningServices/workspaces/onlineEndpoints/read çalışma alanı
Çalışma alanından çevrimiçi uç noktaları (aml_tokenhem yönetilen hem de Kubernetes) çağırmak için bir Azure Machine Learning belirteci () getirme Sahip, katkıda bulunan veya izin veren herhangi bir rol Microsoft.MachineLearningServices/workspaces/onlineEndpoints/token/action endpoint
Çevrimiçi uç noktaları (hem yönetilen hem de Kubernetes) çalışma alanından çağırmak için bir anahtar getirme Sahip, katkıda bulunan veya izin veren herhangi bir rol Microsoft.MachineLearningServices/workspaces/onlineEndpoints/listKeys/action endpoint
Çevrimiçi uç noktalar için anahtarları yeniden oluşturma (hem yönetilen hem de Kubernetes) Sahip, katkıda bulunan veya izin veren herhangi bir rol Microsoft.MachineLearningServices/workspaces/onlineEndpoints/regenerateKeys/action endpoint
Yönetilen çevrimiçi uç noktaları çağırmak için bir Microsoft Entra belirteci (aad_token) getirme Rol gerektirmez. uygulanamaz

Not

Oturum açtıktan sonra Microsoft Entra belirtecinizi (aad_token) doğrudan Microsoft Entra Id'den getirebilirsiniz ve çalışma alanında ek Azure RBAC iznine ihtiyacınız yoktur.

Varsayılan gizli dizi depolarına erişim zorunlu kılma sırasında kullanıcı kimliği için ek izinler

Gizli dizi ekleme özelliğini kullanmayı planlıyorsanız ve uç noktalarınızı oluştururken varsayılan gizli dizi depolarına erişimi zorunlu kılmak için bayrağını ayarlarsanız, kullanıcı kimliğinizin çalışma alanı bağlantılarından gizli dizileri okuma iznine sahip olması gerekir.

Uç nokta sistem tarafından atanan bir kimlikle (SAI) oluşturulduğunda ve bayrak varsayılan gizli dizi depolarına erişimi zorunlu kılmak üzere ayarlandığında, kullanıcı kimliğinizin uç noktayı oluştururken ve uç nokta altında dağıtımları oluştururken çalışma alanı bağlantılarından gizli dizileri okuma izinlerine sahip olması gerekir. Bu kısıtlama yalnızca gizli dizileri okuma izni olan bir kullanıcı kimliğinin uç nokta kimliğine gizli dizileri okuma izni vermesini sağlar.

  • Bir kullanıcı kimliği çalışma alanı bağlantılarından gizli dizileri okuma izinlerine sahip değilse ancak varsayılan gizli dizi depolarına erişimi zorunlu kılmak için sai ve uç nokta bayrağı ayarlanmış uç nokta oluşturmaya çalışırsa, uç nokta oluşturma reddedilir.

  • Benzer şekilde, bir kullanıcı kimliği çalışma alanı bağlantılarından gizli dizileri okuma izinlerine sahip değilse, ancak varsayılan gizli dizi depolarına erişimi zorlamak için sai ve uç nokta bayrağı ayarlanmış uç nokta altında bir dağıtım oluşturmaya çalışırsa, dağıtım oluşturma reddedilir.

(1) uç nokta bir UAI ile oluşturulduğunda veya (2) uç nokta BIR SAI kullansa bile varsayılan gizli dizi depolarına erişimi zorunlu kacak şekilde ayarlanmadığında , kullanıcı kimliğinizin çalışma alanı bağlantılarından gizli dizileri okuma izinlerine sahip olması gerekmez. Bu durumda, uç nokta kimliğine gizli dizileri okuma izni otomatik olarak verilmez, ancak gerekirse uygun roller atayarak uç nokta kimliğine bu izni el ile verilebiliyor. Rol atamasının otomatik veya el ile yapılıp yapılmadığına bakılmaksızın, ortam değişkenlerini dağıtım tanımında gizli dizi başvuruları ile eşlediyseniz gizli dizi alma ve ekleme tetiklenmeye devam eder ve bunu yapmak için uç nokta kimliğini kullanır.

Azure Machine Learning çalışma alanında yetkilendirmeyi yönetme hakkında daha fazla bilgi için bkz . Azure Machine Learning'e erişimi yönetme.

Gizli dizi ekleme hakkında daha fazla bilgi için bkz . Çevrimiçi uç noktalarda gizli dizi ekleme.

Veri düzlemi işlemleri

Veri düzlemi işlemleri çevrimiçi uç noktaları değiştirmez, uç noktalarla etkileşime geçmek için verileri kullanır. Veri düzlemi işlemine örnek olarak, çevrimiçi bir uç noktaya puanlama isteği göndermek ve bu istekten bir yanıt almak yer alır. Çevrimiçi uç noktalar ve dağıtımlar için veri düzlemi işlemleri gerçekleştirme istekleri uç noktanın puanlama URI'sine gider.

Veri düzlemi işlemleri için kimlik doğrulaması

Veri düzlemi işlemleri için bir uç noktanın puanlama URI'sine istek göndermek için istemcinin kimliğini doğrulamanın üç yolu arasından seçim yapabilirsiniz:

  • anahtar
  • Azure Machine Learning belirteci (aml_token)
  • Microsoft Entra belirteci (aad_token)

Veri düzlemi işlemleri için istemcilerin kimliğini doğrulama hakkında daha fazla bilgi için bkz . Çevrimiçi uç noktalar için istemcilerin kimliğini doğrulama.

Veri düzlemi işlemleri için yetkilendirme

Veri düzlemi işlemleri için, kullanıcı kimliğinizin kaynaklarınıza erişim için uygun bir Azure rol tabanlı erişim denetimine (Azure RBAC) izin verebilmesi gerekir; ancak uç nokta Microsoft Entra belirtecini (aad_token) kullanacak şekilde ayarlanmışsa. Özellikle, çevrimiçi uç noktalarda ve dağıtımlarda veri düzlemi işlemleri için, rolün aşağıdaki eylemlerle atanmış olması için kimliğe ihtiyacınız vardır:

İşlem Gerekli Azure RBAC rolü Rolün atandığı kapsam
Anahtar () veya Azure Machine Learning belirteci (keyaml_token) ile çevrimiçi uç noktaları çağırın. Rol gerektirmez. Uygulanamaz
Yönetilen çevrimiçi uç noktaları Microsoft Entra belirteci (aad_token ile) çağırın. Sahip, katkıda bulunan veya izin veren herhangi bir rol Microsoft.MachineLearningServices/workspaces/onlineEndpoints/score/action endpoint
Microsoft Entra belirteci ()aad_token ile Kubernetes çevrimiçi uç noktalarını çağırın. Kubernetes çevrimiçi uç noktası, veri düzlemi işlemleri için Microsoft Entra belirtecini desteklemez. Uygulanamaz

Uç nokta kimliği için gereken izinler

Çevrimiçi dağıtım, kullanıcı kapsayıcınızı uç nokta kimliğiyle, yani uç noktayla ilişkilendirilmiş yönetilen kimlikle çalıştırır. Uç nokta kimliği, Azure RBAC'yi destekleyen bir Microsoft Entra Kimliğidir. Bu nedenle, işlemleri gerçekleştirmek için gereken izinleri denetlemek için uç nokta kimliğine Azure rolleri atayabilirsiniz. Bu uç nokta kimliği, sistem tarafından atanan bir kimlik (SAI) veya kullanıcı tarafından atanan bir kimlik (UAI) olabilir. Uç noktayı oluştururken BIR SAI mi yoksa UAI mi kullanacağınıza karar vekleyebilirsiniz.

  • Sistem tarafından atanan bir kimlik için, uç noktayı oluşturduğunuzda kimlik otomatik olarak oluşturulur ve temel izinlere sahip roller (Azure Container Registry çekme izni ve depolama blobu veri okuyucusu gibi) otomatik olarak atanır.
  • Kullanıcı tarafından atanan bir kimlik için önce kimliği oluşturmanız ve ardından uç noktayı oluştururken bunu uç noktayla ilişkilendirmeniz gerekir. Ayrıca gerektiğinde UAI'ye uygun rolleri atamak sizin sorumluluğundadır.

Uç nokta kimliği için otomatik rol ataması

Uç nokta kimliği sistem tarafından atanan bir kimlikse, kolaylık sağlamak için bazı roller uç nokta kimliğine atanır.

Rol Açıklama Otomatik rol ataması koşulu
AcrPull Uç nokta kimliğinin çalışma alanıyla ilişkili Azure Container Registry'den (ACR) görüntü çekmesine izin verir. Uç nokta kimliği, sistem tarafından atanan bir kimliktir (SAI).
Storage Blob Data Reader Uç nokta kimliğinin çalışma alanının varsayılan veri deposundan blobları okumasına izin verir. Uç nokta kimliği, sistem tarafından atanan bir kimliktir (SAI).
AzureML Metrics Writer (preview) Uç nokta kimliğinin çalışma alanına ölçüm yazmasına izin verir. Uç nokta kimliği, sistem tarafından atanan bir kimliktir (SAI).
Azure Machine Learning Workspace Connection Secrets Reader1 Uç nokta kimliğinin çalışma alanı bağlantılarından gizli dizileri okumasına izin verir. Uç nokta kimliği, sistem tarafından atanan bir kimliktir (SAI). Uç nokta, varsayılan gizli dizi depolarına erişimi zorlamak için bir bayrakla oluşturulur. Uç noktayı oluşturan kullanıcı kimliği, çalışma alanı bağlantılarından gizli dizileri okumak için aynı izne sahiptir. 2

1 Rol hakkında Azure Machine Learning Workspace Connection Secrets Reader daha fazla bilgi için bkz . Kimliğe izin atama.

2 Uç nokta kimliği SAI olsa bile, zorlama bayrağı ayarlanmadıysa veya kullanıcı kimliği izinlere sahip değilse, bu rol için otomatik rol ataması yoktur. Daha fazla bilgi için bkz . Gizli dizi ekleme ile çevrimiçi uç nokta dağıtma.

Uç nokta kimliği kullanıcı tarafından atanan bir kimlikse, otomatik rol ataması yoktur. Bu durumda, gerektiğinde uç nokta kimliğine rolleri el ile atamanız gerekir.

Yetkilendirme için izinleri ve kapsamı seçme

Azure RBAC, belirli kapsamlarda izin verilen ve/veya reddedilen eylemler kümesiyle rol tanımlamanızı ve atamanızı sağlar. Bu rolleri ve kapsamları iş gereksinimlerinize göre özelleştirebilirsiniz. Aşağıdaki örnekler başlangıç noktası görevi görür ve gerektiğinde genişletilebilir.

Kullanıcı kimliği örnekleri

  • Denetim düzlemi işlemleri için önceki tabloda listelenen tüm işlemleri ve veri düzlemi işlemleri tablosunu denetlemek için, izin eylemini Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*/actionsiçeren yerleşik bir rol AzureML Data Scientist kullanmayı düşünebilirsiniz.
  • Belirli bir uç noktanın işlemlerini denetlemek için kapsamını /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>/onlineEndpoints/<endpointName>kullanmayı göz önünde bulundurun.
  • Çalışma alanında tüm uç noktaların işlemlerini denetlemek için kapsamını /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>kullanmayı göz önünde bulundurun.

Uç nokta kimliği örnekleri

  • Kullanıcı kapsayıcısının blobları okumasına izin vermek için, izin verileri eylemini Microsoft.Storage/storageAccounts/blobServices/containers/blobs/readiçeren yerleşik bir rol Storage Blob Data Reader kullanmayı göz önünde bulundurun.

Denetim düzlemi işlemleriyle ilgili yönergeler hakkında daha fazla bilgi için bkz . Azure Machine Learning'e erişimi yönetme. Rol tanımı, kapsamı ve rol ataması hakkında daha fazla bilgi için bkz . Azure RBAC. Atanan rollerin kapsamını anlamak için bkz . Azure RBAC kapsamını anlama.