Yönetilen çevrimiçi uç noktalarla ağ yalıtımı

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

Yönetilen çevrimiçi uç noktaya makine öğrenmesi modeli dağıtırken, özel uç noktaları kullanarak çevrimiçi uç noktayla iletişimin güvenliğini sağlayabilirsiniz. Bu makalede, yönetilen çevrimiçi uç noktaya gelen iletişimin güvenliğini sağlamak için özel uç noktanın nasıl kullanılabileceğini öğreneceksiniz. Ayrıca, dağıtımlar ve kaynaklar arasında güvenli iletişim sağlamak için çalışma alanı tarafından yönetilen bir sanal ağın nasıl kullanılabileceğini de öğreneceksiniz.

İstemcilerden çevrimiçi uç noktaya gelen puanlama isteklerinin güvenliğini sağlayabilir ve dağıtım, kullandığı Azure kaynakları ve özel kaynaklar arasındaki giden iletişimlerin güvenliğini sağlayabilirsiniz. Gelen ve giden iletişim güvenliği ayrı olarak yapılandırılır. Uç noktalar ve dağıtımlar hakkında daha fazla bilgi için bkz . Uç noktalar ve dağıtımlar nedir?

Aşağıdaki mimari diyagramında, iletişimlerin özel uç noktalardan yönetilen çevrimiçi uç noktaya nasıl aktığı gösterilmektedir. Bir istemcinin sanal ağ akışından, çalışma alanının özel uç noktası üzerinden yönetilen çevrimiçi uç noktaya gelen puanlama istekleri. Dağıtımlardan hizmetlere giden iletişimler, çalışma alanının yönetilen sanal ağından bu hizmet örneklerine giden özel uç noktalar aracılığıyla işlenir.

Diagram showing inbound communication via a workspace private endpoint and outbound communication via private endpoints of a workspace managed virtual network.

Not

Bu makale, çalışma alanının yönetilen sanal ağını kullanarak ağ yalıtımına odaklanır. Azure Machine Learning'in bir uç noktadaki her dağıtım için yönetilen bir sanal ağ oluşturduğu eski ağ yalıtımı yönteminin açıklaması için Ek'e bakın.

Sınırlamalar

  • Azure Machine Learning çalışma alanınızda v1_legacy_mode bayrağı devre dışı bırakılmalıdır (false). Bu bayrak etkinleştirilirse yönetilen çevrimiçi uç nokta oluşturamazsınız. Daha fazla bilgi için bkz. v2 API ile ağ yalıtımı.

  • Azure Machine Learning çalışma alanınızda 24 Mayıs 2022'ye kadar oluşturulmuş bir özel uç nokta varsa, çevrimiçi uç noktalarınızı özel uç nokta kullanacak şekilde yapılandırmadan önce çalışma alanının özel uç noktasını yeniden oluşturmanız gerekir. Çalışma alanınıza özel uç nokta oluşturma hakkında daha fazla bilgi için bkz. Azure Machine Learning çalışma alanı için özel uç nokta yapılandırma.

    İpucu

    Çalışma alanının ne zaman oluşturulduğunu onaylamak için çalışma alanı özelliklerini de kontrol edebilirsiniz.

    Studio'da bölümüne gidin Directory + Subscription + Workspace (Studio'nun sağ üst kısmı) ve öğesini seçin View all properties in Azure Portal. "Genel Bakış" sayfasının sağ üst kısmındaN JSON görünümünü seçin ve ardından en son API sürümünü seçin. Bu sayfada değerini de kontrol properties.creationTimeedebilirsiniz.

    Alternatif olarak CLI ile, my_ml_client.workspace.get("my-workspace-name") SDK ile veya curl REST API ile bir çalışma alanında kullanabilirsinizaz ml workspace show.

  • Çevrimiçi uç noktalarla ağ yalıtımı kullandığınızda, çalışma alanınızdan farklı bir kaynak grubundan çalışma alanıyla ilişkili kaynakları (Azure Container Registry (ACR), Depolama hesabı, Key Vault ve Uygulama Analizler) kullanabilirsiniz. Ancak bu kaynakların çalışma alanınızla aynı aboneliğe ve kiracıya ait olması gerekir.

Not

Bu makalede açıklanan ağ yalıtımı, veri düzlemi işlemleri, yani puanlama isteklerinden (veya model sunma) kaynaklanan işlemler için geçerlidir. Denetim düzlemi işlemleri (kimlik doğrulama anahtarları oluşturma, güncelleştirme, silme veya alma istekleri gibi) genel ağ üzerinden Azure Resource Manager'a gönderilir.

Gelen puanlama isteklerinin güvenliğini sağlama

Azure Machine Learning çalışma alanı için özel bir uç nokta kullanarak istemciden yönetilen çevrimiçi uç noktaya güvenli gelen iletişim mümkündür. İstemcinin sanal ağındaki bu özel uç nokta, yönetilen çevrimiçi uç noktanın çalışma alanıyla iletişim kurar ve yönetilen çevrimiçi uç noktanın istemciden gelen puanlama isteklerini alabileceği anlamına gelir.

Bir istemcinin yalnızca çalışma alanının özel uç noktası üzerinden erişebilmesi için çevrimiçi uç noktaya yönelik puanlama isteklerinin güvenliğini sağlamak için uç nokta bayrağını olarak disabledayarlayınpublic_network_access. Uç noktayı oluşturduktan sonra, isterseniz genel ağ erişimini etkinleştirmek için bu ayarı güncelleştirebilirsiniz.

Uç noktanın public_network_access bayrağını olarak disabledayarlayın:

az ml online-endpoint create -f endpoint.yml --set public_network_access=disabled

olduğunda public_network_accessdisabled, gelen puanlama istekleri çalışma alanının özel uç noktası kullanılarak alınır ve uç noktaya ortak ağlardan ulaşılamaz.

Alternatif olarak, olarak ayarlarsanız public_network_accessenableduç nokta İnternet'ten gelen puanlama isteklerini alabilir.

Çalışma alanı tarafından yönetilen sanal ağ ile giden erişimin güvenliğini sağlama

Bir dağıtımdan hizmetlere giden iletişimin güvenliğini sağlamak için, Azure Machine Learning'in çalışma alanı için yönetilen bir sanal ağ oluşturabilmesi için Azure Machine Learning çalışma alanınızda yönetilen sanal ağ yalıtımını etkinleştirmeniz gerekir. Çalışma alanı içindeki tüm yönetilen çevrimiçi uç noktalar (ve işlem kümeleri ve işlem örnekleri gibi çalışma alanı için yönetilen işlem kaynakları) otomatik olarak bu çalışma alanı yönetilen sanal ağını kullanır ve uç noktalar altındaki dağıtımlar, yönetilen sanal ağın çalışma alanının kaynaklarıyla iletişim için özel uç noktalarını paylaşır.

Yönetilen bir sanal ağ ile çalışma alanınızın güvenliğini sağlarken, egress_public_access yönetilen çevrimiçi dağıtımlar bayrağı artık geçerli olmaz. Yönetilen çevrimiçi dağıtımı oluştururken bu bayrağı ayarlamaktan kaçının.

Çalışma alanı tarafından yönetilen bir sanal ağ ile giden iletişim için Azure Machine Learning:

  • Azure Depolama, Azure Key Vault ve Azure Container Registry gibi çalışma alanı tarafından kullanılan Azure kaynaklarıyla iletişim için kullanılacak yönetilen sanal ağ için özel uç noktalar oluşturur.
  • Dağıtımların Microsoft Container Registry'ye (MCR) erişmesine izin verir. Bu, seçilmiş ortamları veya MLflow kod içermeyen dağıtımı kullanmak istediğinizde yararlı olabilir.
  • Kullanıcıların özel kaynaklara özel uç nokta giden kuralları yapılandırmalarına ve genel kaynaklar için giden kuralları (hizmet etiketi veya FQDN) yapılandırmalarına olanak tanır. Giden kurallarını yönetme hakkında daha fazla bilgi için bkz . Giden kurallarını yönetme.

Ayrıca, çalışma alanı tarafından yönetilen sanal ağdan giden trafik için iki yalıtım modu yapılandırabilirsiniz:

  • Yönetilen sanal ağdan gelen tüm İnternet giden trafiğine izin vermek için İnternet'e giden trafiğe izin ver
  • Özel uç noktaları, FQDN giden kurallarını ve hizmet etiketi giden kurallarını kullanarak giden trafiği denetlemek için yalnızca onaylı gidenlere izin verin.

Örneğin, çalışma alanınızın yönetilen sanal ağında yönetilen çevrimiçi uç nokta altında iki dağıtım olduğunu varsayalım; her iki dağıtım da iletişim kurmak için çalışma alanının özel uç noktalarını kullanabilir:

  • Azure Machine Learning çalışma alanı
  • Çalışma alanıyla ilişkili Azure Depolama blobu
  • Çalışma alanı için Azure Container Registry
  • The Azure Key Vault
  • (İsteğe bağlı) özel uç noktaları destekleyen ek özel kaynaklar.

Çalışma alanı tarafından yönetilen sanal ağın yapılandırmaları hakkında daha fazla bilgi edinmek için bkz . Yönetilen sanal ağ mimarisi.

Ağ yalıtımı yapılandırması senaryoları

Azure Machine Learning çalışma alanınızın ve yönetilen çevrimiçi uç noktanızın her birinin gelen iletişimini yapılandırmak için kullanabileceğiniz bir public_network_access bayrağı vardır. Öte yandan, bir dağıtımdan giden iletişim çalışma alanının yönetilen sanal ağına bağlıdır.

Yönetilen çevrimiçi uç noktayla iletişim

Yönetilen çevrimiçi uç noktanın yapay zeka modeli kullanan bir dağıtımı olduğunu ve uç noktaya puanlama istekleri göndermek için bir uygulama kullanmak istediğinizi varsayalım. Yönetilen çevrimiçi uç nokta için hangi ağ yalıtımı yapılandırmasını kullanacağınıza aşağıdaki gibi karar vekleyebilirsiniz:

Gelen iletişim için:

Uygulama İnternet'te genel kullanıma açıksa, uygulamadan gelen puanlama isteklerini alabilmesi için uç nokta için etkinleştirmenizpublic_network_access gerekir.

Bununla birlikte, uygulamanın özel olduğunu (örneğin, kuruluşunuzdaki bir iç uygulama) olduğunu söyleyebilirsiniz. Bu senaryoda yapay zeka modelinin İnternet'te kullanıma açmak yerine yalnızca kuruluşunuzda kullanılmasını istiyorsunuz. Bu nedenle, yalnızca çalışma alanının özel uç noktası aracılığıyla gelen puanlama isteklerini alabilmesi için uç noktaları public_network_access devre dışı bırakmanız gerekir.

Giden iletişim (dağıtım) için:

Dağıtımınızın özel Azure kaynaklarına (Azure Depolama blobu, ACR ve Azure Key Vault gibi) erişmesi gerektiğini veya dağıtımın İnternet'e erişmesinin kabul edilemez olduğunu varsayalım. Bu durumda, çalışma alanının yönetilen sanal ağını yalnızca onaylanan giden yalıtım moduyla etkinleştirmeniz gerekir. Bu yalıtım modu, dağıtımdan yalnızca onaylanan hedeflere giden iletişime olanak tanır ve böylece veri sızdırmaya karşı koruma sağlar. Ayrıca, daha özel veya genel kaynaklara erişime izin vermek için çalışma alanı için giden kuralları ekleyebilirsiniz. Daha fazla bilgi için bkz . Yönetilen sanal ağı yalnızca onaylanan gidene izin verecek şekilde yapılandırma.

Ancak, dağıtımınızın İnternet'e erişmesini istiyorsanız, çalışma alanının yönetilen sanal ağını İnternet'e giden yalıtım moduna izin ver ile kullanabilirsiniz. İnternet'e erişebilmenin dışında, ihtiyacınız olan özel Azure kaynaklarına erişmek için yönetilen sanal ağın özel uç noktalarını da kullanabilirsiniz.

Son olarak, dağıtımınızın özel Azure kaynaklarına erişmesi gerekmiyorsa ve İnternet erişimini denetlemeniz gerekmiyorsa, çalışma alanı tarafından yönetilen bir sanal ağ kullanmanız gerekmez.

Azure Machine Learning çalışma alanına gelen iletişim

Gelen çalışma alanı erişimini etkinleştirmek veya devre dışı bırakmak için Azure Machine Learning çalışma alanınızın bayrağını kullanabilirsiniz public_network_access . Genellikle, çalışma alanınıza gelen iletişimin güvenliğini sağlarsanız (çalışma alanının public_network_access bayrağını devre dışı bırakarak) yönetilen çevrimiçi uç noktanızla gelen iletişimin güvenliğini de sağlamak istersiniz.

Aşağıdaki grafik, Azure Machine Learning çalışma alanınıza ve yönetilen çevrimiçi uç noktanıza gelen iletişimin güvenliğini sağlamaya yönelik tipik bir iş akışını gösterir. En iyi güvenlik için, her ikisine de genel İnternet üzerinden erişilememelerini sağlamak için çalışma alanı ve yönetilen çevrimiçi uç nokta bayraklarını devre dışı bırakmanızı public_network_access öneririz. Çalışma alanının özel uç noktası yoksa, uygun DNS çözümlemesini eklediğinizden emin olarak bir uç nokta oluşturabilirsiniz. Ardından, çalışma alanının özel uç noktasını kullanarak yönetilen çevrimiçi uç noktaya erişebilirsiniz.

A screenshot showing a typical workflow for securing inbound communication to your workspace and managed online endpoint.

Not

Yönetilen çevrimiçi uç noktalar çalışma alanının özel uç noktasını paylaşır. DNS kayıtlarını özel DNS bölgesine privatelink.api.azureml.msel ile ekliyorsanız, çalışma alanının altındaki tüm uç noktaları özel uç noktaya yönlendirmek için joker karakter *.<per-workspace globally-unique identifier>.inference.<region>.privatelink.api.azureml.ms içeren bir A kaydı eklenmelidir.

Çalışma alanınız ve özel uç noktanız için DNS çözümlemesi hakkında daha fazla bilgi için bkz . Çalışma alanınızı özel dns sunucusuyla kullanma.

Ek

Eski ağ yalıtım yöntemiyle giden erişimin güvenliğini sağlama

Yönetilen çevrimiçi uç noktalar için, uç noktadaki her dağıtım için bir Azure Machine Learning yönetilen sanal ağı kullanarak dağıtımlar ve kaynaklar arasındaki giden iletişimin güvenliğini de sağlayabilirsiniz. Güvenli giden iletişim, bu hizmet örneklerine özel uç noktalar kullanılarak da işlenir.

Not

Bu eski yöntem yerine Çalışma alanı tarafından yönetilen sanal ağ ile giden erişimi güvenli hale getirin bölümünde açıklanan yaklaşımı kullanmanızı kesinlikle öneririz.

Kullandığı Azure kaynakları dahil olmak üzere bir dağıtım ile dış kaynaklar arasındaki iletişimi kısıtlamak için şunları sağlamanız gerekir:

  • Dağıtımın egress_public_network_access bayrağı şeklindedir disabled. Bu bayrak, dağıtımın gerektirdiği model, kod ve görüntülerin indirilmesinin özel bir uç noktayla güvenliğinin sağlanmasını sağlar. Dağıtımı oluşturduktan sonra bayrağı güncelleştiremez (etkinleştiremez veya devre dışı bırakamazsınız).egress_public_network_access Dağıtımı güncelleştirirken bayrağı değiştirme girişimi bir hatayla başarısız oluyor.

  • Çalışma alanı, özel uç nokta üzerinden Azure kaynaklarına erişim sağlayan özel bir bağlantıya sahiptir.

  • Çalışma alanının etkinleştirilebilen veya devre dışı bırakılabilir bir public_network_access bayrağı vardır. Genel giden kullanan bir yönetilen çevrimiçi dağıtım kullanmayı planlıyorsanız, çalışma alanını da genel erişime izin verecek şekilde yapılandırmanız gerekir. Bunun nedeni, çevrimiçi dağıtımdan giden iletişimin çalışma alanı API'sine yönelik olmasıdır. Dağıtım genel gideni kullanacak şekilde yapılandırıldığında, çalışma alanının bu genel iletişimi kabul edebilmesi gerekir (genel erişime izin ver).

Birden çok dağıtımınız olduğunda ve yönetilen bir çevrimiçi uç noktadaki her dağıtım için öğesini yapılandırdığınızda egress_public_network_accessdisabled , her dağıtımın kendi bağımsız Azure Machine Learning yönetilen sanal ağı vardır. Azure Machine Learning, her sanal ağ için aşağıdaki hizmetlerle iletişim için üç özel uç nokta oluşturur:

  • Azure Machine Learning çalışma alanı
  • Çalışma alanıyla ilişkili Azure Depolama blobu
  • Çalışma alanı için Azure Container Registry

Örneğin, yönetilen çevrimiçi uç noktanın egress_public_network_access iki dağıtımı için bayrağını disabled olarak ayarlarsanız, toplam altı özel uç nokta oluşturulur. Her dağıtım çalışma alanı, blob ve kapsayıcı kayıt defteriyle iletişim kurmak için üç özel uç nokta kullanır.

Önemli

Azure Machine Learning, dağıtımın yönetilen sanal ağı ile istemcinizin sanal ağı arasında eşlemeyi desteklemez. Dağıtımın gerektirdiği kaynaklara güvenli erişim için kaynaklarla iletişim kurmak için özel uç noktaları kullanırız.

Aşağıdaki diyagramda, çalışma alanının özel uç noktasından yönetilen çevrimiçi uç noktaya akan istemcinin sanal ağından gelen puanlama istekleri gösterilmektedir. Diyagramda ayrıca her biri kendi Azure Machine Learning yönetilen sanal ağında yer alan iki çevrimiçi dağıtım gösterilmektedir. Her dağıtımın sanal ağında Azure Machine Learning çalışma alanıyla giden iletişim için üç özel uç nokta, çalışma alanıyla ilişkilendirilmiş Azure Depolama blobu ve çalışma alanı için Azure Container Registry bulunur.

Diagram of overall network isolation with the legacy method.

özel uç noktaları devre dışı bırakmak egress_public_network_access ve oluşturmak için:

az ml online-deployment create -f deployment.yml --set egress_public_network_access=disabled

Özel uç noktaların oluşturulmasını onaylamak için önce çalışma alanıyla ilişkili depolama hesabını ve kapsayıcı kayıt defterini denetleyin (bkz . Yapılandırma dosyası indirme), Azure portalından her kaynağı bulma ve menünün altındaki sekmeyi Private endpoint connectionsNetworking kontrol etme.

Önemli

  • Daha önce belirtildiği gibi, yönetilen çevrimiçi uç nokta dağıtımından çalışma alanı API'sine giden iletişim. Uç nokta genel gideni kullanacak şekilde yapılandırıldığında (başka bir deyişle, public_network_access uç nokta bayrağı olarak enabledayarlanır), çalışma alanının bu genel iletişimi kabul edebilmesi gerekir (public_network_access olarak ayarlanmış enabledçalışma alanı bayrağı).
  • Bayrağı olarak ayarlanmış disabledçevrimiçi dağıtımlar oluşturulduğundaegress_public_network_access, yalnızca güvenli kaynaklara (çalışma alanı, blob ve kapsayıcı kayıt defteri) erişebilirler. Örneğin, dağıtımda diğer depolama hesaplarına yüklenen model varlıkları kullanılıyorsa model indirme işlemi başarısız olur. Model varlıklarının çalışma alanıyla ilişkili depolama hesabında olduğundan emin olun.
  • egress_public_network_access olarak ayarlandığındadisabled, dağıtım yalnızca sanal ağda güvenliği sağlanan çalışma alanıyla ilişkili kaynaklara erişebilir. Tam tersine, egress_public_network_access olarak ayarlandığında enableddağıtım yalnızca genel erişime sahip kaynaklara erişebilir, bu da sanal ağda güvenliği sağlanan kaynaklara erişemeyeceği anlamına gelir.

Aşağıdaki tabloda çevrimiçi uç nokta için gelen ve giden iletişim yapılandırılırken desteklenen yapılandırmalar listelenir:

Yapılandırma Gelen
(Endpoint özelliği)
Giden
(Dağıtım özelliği)
Destekleniyor mu?
güvenli giden iletişimle güvenli gelen iletişim public_network_access devre dışı egress_public_network_access devre dışı Evet
genel giden iletişimle güvenli gelen iletişim public_network_access devre dışı egress_public_network_access etkin
Dağıtım giden çalışma alanı API'sine olduğundan çalışma alanı da genel erişime izin vermelidir.
Yes
güvenli giden iletişimle genel gelen iletişim public_network_access etkin egress_public_network_access devre dışı Evet
genel giden iletişimle genel gelen iletişim public_network_access etkin egress_public_network_access etkin
Dağıtım giden çalışma alanı API'sine olduğundan çalışma alanı da genel erişime izin vermelidir.
Yes

Sonraki adımlar