Azure Logic Apps'te bağlayıcı kullanımını engelleme
Şunlar için geçerlidir: Azure Logic Apps (Tüketim + Standart)
Kuruluşunuz Azure Logic Apps'te yönetilen bağlayıcılarını kullanarak kısıtlı veya onaylanmamış kaynaklara bağlanmaya izin vermiyorsa, mantıksal uygulama iş akışlarında bu bağlantıları oluşturma ve kullanma özelliğini engelleyebilirsiniz. Azure İlkesi ile, engellemek istediğiniz bağlayıcılar için bağlantı oluşturmayı veya kullanmayı engelleyen ilkeler tanımlayabilir ve uygulayabilirsiniz. Örneğin, güvenlik nedeniyle belirli sosyal medya platformlarına veya diğer hizmetlere ve sistemlere bağlantıları engellemek isteyebilirsiniz.
Bu makalede, Azure portalını kullanarak belirli bağlantıları engelleyen bir ilkenin nasıl ayarlanacağı gösterilmektedir, ancak ilke tanımlarını başka yollarla oluşturabilirsiniz. Örneğin Azure REST API, Azure PowerShell, Azure CLI ve Azure Resource Manager şablonlarını kullanabilirsiniz. Daha fazla bilgi için bkz . Öğretici: Uyumluluğu zorunlu kılmak için ilke oluşturma ve yönetme.
Önkoşullar
Bir Azure hesabı ve aboneliği Aboneliğiniz yoksa ücretsiz bir Azure hesabı oluşturun.
Engellemek istediğiniz bağlayıcının başvuru kimliği. Daha fazla bilgi için bkz . Bağlayıcı başvuru kimliğini bulma.
Bağlayıcı başvuru kimliğini bulma
Engellemek istediğiniz bağlantıya sahip bir mantıksal uygulamanız varsa Azure portalının adımlarını izleyin. Aksi takdirde şu adımları izleyin:
Bağlayıcı başvuru belgesi
Azure Logic Apps için Bağlayıcılar'a göz atın.
Engellemek istediğiniz bağlayıcının başvuru sayfasını bulun.
Örneğin, kullanım dışı bırakılan Instagram bağlayıcısını engellemek istiyorsanız şu sayfaya gidin:
https://learn.microsoft.com/connectors/instagram/
Sayfanın URL'sinden, sonunda eğik çizgi (
/
gibiinstagram
) olmadan bağlayıcı başvuru kimliğini kopyalayın ve kaydedin.Daha sonra ilke tanımınızı oluştururken, tanımın koşul deyiminde bu kimliği kullanırsınız, örneğin:
"like": "*managedApis/instagram"
Azure portal
Azure portalında mantıksal uygulama iş akışınızı bulun ve açın.
Mantıksal uygulama menüsünde aşağıdaki seçeneklerden birini belirleyin:
Tüketim mantığı uygulaması: Geliştirme Araçları'nın altında API bağlantıları'nı seçin.
Standart mantıksal uygulama: İş Akışları'nın altında Bağlantılar'ı seçin. Bağlantılar bölmesinde, henüz seçili değilse API Bağlantıları'nı seçin.
API bağlantıları bölmesinde bağlantıyı seçin. Bağlantı bölmesi açıldığında, sağ üst köşede JSON Görünümü'nü seçin.
Aşağıdaki biçime
api
sahip birid
özellik ve değer içeren nesnesini bulun:"id": "/subscriptions/{Azure-subscription-ID}/providers/Microsoft.Web/locations/{Azure-region}/managedApis/{connection-name}"
Aşağıdaki örnekte Bir Instagram bağlantısının
id
özelliği ve değeri gösterilmektedir:"id": "/subscriptions/xxxxxXXXXXxxxxxXXXXXxxxxxXXXXX/providers/Microsoft.Web/locations/westus/managedApis/instagram"
Özellik değerinden
id
, sonundaki bağlayıcı başvuru kimliğini kopyalayın ve kaydedin; örneğin,instagram
.Daha sonra ilke tanımınızı oluştururken, tanımın koşul deyiminde bu kimliği kullanırsınız, örneğin:
"like": "*managedApis/instagram"
Blok oluşturma bağlantıları
Mantıksal uygulama iş akışında bağlantı oluşturmayı tamamen engellemek için şu adımları izleyin:
Azure portalı arama kutusuna ilke yazın ve İlke'yi seçin.
İlke menüsünde, Yazma'nın altında Tanımlar'ı seçin. Tanımlar bölmesi araç çubuğunda İlke tanımı'nı seçin.
İlke tanımı bölmesinde, örnek altında açıklanan özelliklere göre ilke tanımınıza ilişkin bilgileri sağlayın:
Özellik Zorunlu Değer Açıklama Tanım konumu Yes < Azure-subscription-name> İlke tanımı için kullanılacak Azure aboneliği 1. Aboneliğinizi bulmak için üç nokta (...) düğmesini seçin.
2. Abonelik listesinden aboneliğinizi bulun ve seçin.
3. İşiniz bittiğinde Seç'i seçin.Ad Yes < policy-definition-name> İlke tanımı için kullanılacak ad Açıklama Hayır < policy-definition-name> İlke tanımı için açıklama Kategori Yes Mantıksal uygulamalar İlke tanımı için mevcut bir kategorinin veya yeni kategorinin adı İlke uygulama Yes Etkin Bu ayar, çalışmanızı kaydederken ilke tanımının etkinleştirilip etkinleştirilmeymeyeceğini veya devre dışı bırakılıp bırakılmayacağını belirtir. İlkE KURALI altında JSON düzenleme kutusu bir ilke tanımı şablonuyla önceden doldurulur. Aşağıdaki tabloda açıklanan özelliklere göre ve bu söz dizimini izleyerek bu şablonu ilke tanımınızla değiştirin:
{ "mode": "All", "policyRule": { "if": { "field": "Microsoft.Web/connections/api.id", "like": "*managedApis/{connector-name}" }, "then": { "effect": "deny" } }, "parameters": {} }
Özellik Değer Açıklama mode
All
İlkenin değerlendireceği kaynak türlerini belirleyen mod. Bu senaryo, ilkeyi
All
Azure kaynak gruplarına, aboneliklere ve tüm kaynak türlerine uygulayan olarak ayarlarmode
.Daha fazla bilgi için bkz . İlke tanımı yapısı - mod.
if
{condition-to-evaluate}
İlke kuralının ne zaman zorunlu kılındığını belirleyen koşul Bu senaryoda,
{condition-to-evaluate}
içindeki değerinapi.id
üzerinde eşleşip eşleşmediğini*managedApis/{connector-name}
belirler. Bu değer joker karakterMicrosoft.Web/connections/api.id
(*) değerini belirtir.Daha fazla bilgi için bkz . İlke tanımı yapısı - İlke kuralı.
field
Microsoft.Web/connections/api.id
Koşulla field
karşılaştıracak değerBu senaryoda,
field
bağlayıcı özelliğindekiapi.id
değerine erişmek için diğer adıMicrosoft.Web/connections/api.id
olan öğesini kullanır.like
*managedApis/{connector-name}
Değeri karşılaştırmak field
için kullanılacak mantıksal işleç ve değerBu senaryoda,
like
işleç ve joker karakter (*) karakteri, kuralın bölgeden bağımsız olarak çalıştığından emin olur ve dize,*managedApis/{connector-name}
bağlayıcının engellemek istediğiniz kimliğiyle{connector-name}
eşleşecek değerdir.Örneğin, sosyal medya platformlarına veya veritabanlarına bağlantı oluşturmayı engellemek istediğinizi varsayalım:
- X:
x
- Instagram:instagram
- Facebook:facebook
- Pinterest:pinterest
- SQL Server veya Azure SQL:sql
Bu bağlayıcı kimliklerini bulmak için bu konunun önceki bölümlerinde yer alan Bağlayıcı başvuru kimliğini bulma bölümüne bakın.
then
{effect-to-apply}
Koşul karşılandığında if
uygulanacak etkiBu senaryoda,
{effect-to-apply}
ilkeyle uyumlu olmayan bir isteği veya işlemi engellemek ve başarısız olmaktır.Daha fazla bilgi için bkz . İlke tanımı yapısı - İlke kuralı.
effect
deny
effect
, belirtilen bağlantıyı oluşturmak için isteği engellemektirDaha fazla bilgi için bkz. Azure İlkesi efektlerini anlama - Reddetme.
Örneğin, Instagram bağlayıcısı ile bağlantı oluşturmayı engellemek istediğinizi varsayalım. Kullanabileceğiniz ilke tanımı aşağıdadır:
{ "mode": "All", "policyRule": { "if": { "field": "Microsoft.Web/connections/api.id", "like": "*managedApis/instagram" }, "then": { "effect": "deny" } }, "parameters": {} }
İlkE KURALI kutusu şu şekilde görünür:
Birden çok bağlayıcı için daha fazla koşul ekleyebilirsiniz, örneğin:
{ "mode": "All", "policyRule": { "if": { "anyOf": [ { "field": "Microsoft.Web/connections/api.id", "like": "*managedApis/instagram" }, { "field": "Microsoft.Web/connections/api.id", "like": "*managedApis/x" }, { "field": "Microsoft.Web/connections/api.id", "like": "*managedApis/facebook" }, { "field": "Microsoft.Web/connections/api.id", "like": "*managedApis/pinterest" } ] }, "then": { "effect": "deny" } }, "parameters": {} }
Bitirdiğinizde, Kaydet'i seçin. İlke tanımını kaydettikten sonra, Azure İlkesi ilke tanımına daha fazla özellik değeri oluşturur ve ekler.
Ardından, ilke tanımını ilkeyi zorunlu kılmak istediğiniz yere atamak için bir ilke ataması oluşturun.
Azure İlkesi tanımları hakkında daha fazla bilgi için şu konulara bakın:
- Azure İlkesi tanım yapısı
- Öğretici: Uyumluluğu zorunlu tutmak için ilkeleri oluşturma ve yönetme
- Azure Logic Apps için yerleşik ilke tanımlarını Azure İlkesi
Mantıksal uygulamalarla bağlantıları ilişkilendirmeyi engelleme
Mantıksal uygulama iş akışında bağlantı oluşturduğunuzda, bu bağlantı ayrı Azure kaynağı olarak bulunur. Yalnızca mantıksal uygulama iş akışını silerseniz, bağlantı kaynağı otomatik olarak silinmez ve silinene kadar varolmaya devam eder. Bağlantı kaynağının zaten var olduğu veya mantıksal uygulama dışında kullanmak üzere bağlantı kaynağını oluşturmanız gereken bir senaryonuz olabilir. Kısıtlı veya onaylanmamış bağlantıyı kullanmaya çalışan mantıksal uygulama iş akışlarının kaydedilmesini engelleyen bir ilke oluşturarak bağlantıyı farklı bir mantıksal uygulama iş akışıyla ilişkilendirme özelliğini yine de engelleyebilirsiniz. Bu ilke yalnızca bağlantıyı henüz kullanmayan mantıksal uygulama iş akışlarını etkiler.
Azure portalı arama kutusuna ilke yazın ve İlke'yi seçin.
İlke menüsünde, Yazma'nın altında Tanımlar'ı seçin. Tanımlar bölmesi araç çubuğunda İlke tanımı'nı seçin.
İlke tanımı altında, örnek altında açıklanan özelliklere dayanarak ilke tanımınıza ilişkin bilgileri sağlayın ve örnek olarak Instagram'ı kullanarak devam eder:
Özellik Zorunlu Değer Açıklama Tanım konumu Yes < Azure-subscription-name> İlke tanımı için kullanılacak Azure aboneliği 1. Aboneliğinizi bulmak için üç nokta (...) düğmesini seçin.
2. Abonelik listesinden aboneliğinizi bulun ve seçin.
3. İşiniz bittiğinde Seç'i seçin.Ad Yes < policy-definition-name> İlke tanımı için kullanılacak ad Açıklama Hayır < policy-definition-name> İlke tanımı için açıklama Kategori Yes Mantıksal uygulamalar İlke tanımı için mevcut bir kategorinin veya yeni kategorinin adı İlke uygulama Yes Etkin Bu ayar, çalışmanızı kaydederken ilke tanımının etkinleştirilip etkinleştirilmeymeyeceğini veya devre dışı bırakılıp bırakılmayacağını belirtir. İlkE KURALI altında JSON düzenleme kutusu bir ilke tanımı şablonuyla önceden doldurulur. Aşağıdaki tabloda açıklanan özelliklere göre ve bu söz dizimini izleyerek bu şablonu ilke tanımınızla değiştirin:
{ "mode": "All", "policyRule": { "if": { "value": "[string(field('Microsoft.Logic/workflows/parameters'))]", "contains": "{connector-name}" }, "then": { "effect": "deny" } }, "parameters": {} }
Özellik Değer Açıklama mode
All
İlkenin değerlendireceği kaynak türlerini belirleyen mod. Bu senaryo, ilkeyi
All
Azure kaynak gruplarına, aboneliklere ve tüm kaynak türlerine uygulayan olarak ayarlarmode
.Daha fazla bilgi için bkz . İlke tanımı yapısı - mod.
if
{condition-to-evaluate}
İlke kuralının ne zaman zorunlu kılındığını belirleyen koşul Bu senaryoda ,
{condition-to-evaluate}
dize çıkışının[string(field('Microsoft.Logic/workflows/parameters'))]
dizesini{connector-name}
içerip içermediğini belirler.Daha fazla bilgi için bkz . İlke tanımı yapısı - İlke kuralı.
value
[string(field('Microsoft.Logic/workflows/parameters'))]
Koşulla karşılaştıracak değer Bu senaryoda,
value
nesnesinin içindekiMicrosoft.Logic/workflows/parameters
nesneyi dizeye dönüştüren$connectors
dize çıkışıdır[string(field('Microsoft.Logic/workflows/parameters'))]
.contains
{connector-name}
özelliğiyle value
karşılaştırmak için kullanılacak mantıksal işleç ve değerBu senaryoda işleç,
contains
kuralın nerede{connector-name}
göründüğünden bağımsız olarak çalıştığından emin olur; burada dize,{connector-name}
kısıtlamak veya engellemek istediğiniz bağlayıcının kimliğidir.Örneğin, sosyal medya platformlarına veya veritabanlarına bağlantıların kullanılmasını engellemek istediğinizi varsayalım:
- X:
x
- Instagram:instagram
- Facebook:facebook
- Pinterest:pinterest
- SQL Server veya Azure SQL:sql
Bu bağlayıcı kimliklerini bulmak için bu konunun önceki bölümlerinde yer alan Bağlayıcı başvuru kimliğini bulma bölümüne bakın.
then
{effect-to-apply}
Koşul karşılandığında if
uygulanacak etkiBu senaryoda,
{effect-to-apply}
ilkeyle uyumlu olmayan bir isteği veya işlemi engellemek ve başarısız olmaktır.Daha fazla bilgi için bkz . İlke tanımı yapısı - İlke kuralı.
effect
deny
effect
, belirtilen bağlantıyı kullanan bir mantıksal uygulamayı kaydetme isteğinin kimedeny
veya engellenmesidirDaha fazla bilgi için bkz. Azure İlkesi efektlerini anlama - Reddetme.
Örneğin, Instagram bağlantılarını kullanan mantıksal uygulamaların kaydedilmesini engellemek istediğinizi varsayalım. Kullanabileceğiniz ilke tanımı aşağıdadır:
{ "mode": "All", "policyRule": { "if": { "value": "[string(field('Microsoft.Logic/workflows/parameters'))]", "contains": "instagram" }, "then": { "effect": "deny" } }, "parameters": {} }
İlkE KURALI kutusu şu şekilde görünür:
Bitirdiğinizde, Kaydet'i seçin. İlke tanımını kaydettikten sonra, Azure İlkesi ilke tanımına daha fazla özellik değeri oluşturur ve ekler.
Ardından, ilke tanımını ilkeyi zorunlu kılmak istediğiniz yere atamak için bir ilke ataması oluşturun.
Azure İlkesi tanımları hakkında daha fazla bilgi için şu konulara bakın:
- Azure İlkesi tanım yapısı
- Öğretici: Uyumluluğu zorunlu tutmak için ilkeleri oluşturma ve yönetme
- Azure Logic Apps için yerleşik ilke tanımlarını Azure İlkesi
İlke ataması oluştur
Ardından, ilke tanımını tek bir kaynak grubuna, birden çok kaynak grubuna, Microsoft Entra kiracısına veya Azure aboneliğine uygulamak istediğiniz yere atamanız gerekir. Bu görev için, ilke ataması oluşturmak için şu adımları izleyin:
Azure portalında portal arama kutusuna ilke girin ve İlke'yi seçin.
İlke menüsünde, Yazma'nın altında Atamalar'ı seçin. Atamalar bölmesi araç çubuğunda İlke ata'yı seçin.
İlke ata bölmesindeki Temel bilgiler'in altında ilke ataması için şu bilgileri sağlayın:
Özellik Zorunlu Açıklama Scope Yes İlke atamasını zorunlu kılmak istediğiniz kaynaklar. 1. Kapsam kutusunun yanında üç nokta (...) düğmesini seçin.
2. Abonelik listesinden Azure aboneliğini seçin.
3. İsteğe bağlı olarak, Kaynak Grubu listesinden kaynak grubunu seçin.
4. İşiniz bittiğinde Seç'i seçin.Dışlamalar Hayır İlke atamasının dışında tutulacak tüm Azure kaynakları. 1. Dışlamalar kutusunun yanında üç nokta (...) düğmesini seçin.
2. Kaynak listesinden Seçili Kapsama Ekle kaynağını >seçin.
3. İşiniz bittiğinde Kaydet'i seçin.İlke tanımı Yes Atamak ve uygulamak istediğiniz ilke tanımının adı. Bu örnek, örnek Instagram ilkesi olan "Instagram bağlantılarını engelle" ile devam eder. 1. İlke tanımı kutusunun yanında üç nokta (...) düğmesini seçin.
2. Tür filtresini veya Arama kutusunu kullanarak ilke tanımını bulun ve seçin.
3. İşiniz bittiğinde Seç'i seçin.Atama adı Yes İlke tanımından farklıysa, ilke ataması için kullanılacak ad Atama Kimliği Yes İlke ataması için otomatik olarak oluşturulan kimlik Açıklama Hayır İlke ataması için açıklama İlke uygulama Yes İlke atamasını etkinleştiren veya devre dışı bırakan ayar Atayan Hayır İlke atamasını oluşturan ve uygulayan kişinin adı Örneğin, Instagram örneğini kullanarak ilkeyi bir Azure kaynak grubuna atamak için:
İşiniz bittiğinde Gözden geçir ve oluştur'u seçin.
İlke oluşturduktan sonra, ilkenin geçerlilik kazanması için 15 dakika kadar beklemeniz gerekebilir. Değişiklikler de benzer gecikmeli etkilere sahip olabilir.
İlke etkin olduktan sonra ilkenizi test edebilirsiniz.
Daha fazla bilgi için bkz . Hızlı Başlangıç: Uyumsuz kaynakları tanımlamak için ilke ataması oluşturma.
İlkeyi test etme
İlkenizi denemek için iş akışı tasarımcısında şimdi kısıtlanmış bağlayıcıyı kullanarak bağlantı oluşturmaya başlayın. Instagram örneğine devam edersek, Instagram'da oturum açtığınızda mantıksal uygulamanızın bağlantıyı oluşturamadığı hatasını alırsınız:
İleti şu bilgileri içerir:
Açıklama | Content |
---|---|
Hatanın nedeni | "Resource 'instagram' was disallowed by policy." |
Atama adı | "Block Instagram connections" |
Atama Kimliği | "/subscriptions/xxxxxXXXXXxxxxxXXXXXxxxxxXXXXX/resourceGroups/MyLogicApp-RG/providers/Microsoft.Authorization/policyAssignments/4231890fc3bd4352acb0b673" |
İlke tanımı kimliği | "/subscriptions/xxxxxXXXXXxxxxxXXXXXxxxxxXXXXX/providers/Microsoft.Authorization/policyDefinitions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e" |
Sonraki adımlar
- Azure İlkesi hakkında daha fazla bilgi edinin