Aracılığıyla paylaş


Bağlayıcı uç nokta filtrelemesi (önizleme)

[Bu makale, yayın öncesi belgelerine dahildir ve değiştirilebilir.]

Bağlayıcı uç nokta filtrelemesi, yöneticilerin uygulamalar, akışlar veya sohbet botları oluştururken hangi belirli uç noktalara bağlanabileceğini yönetmesine olanak tanır. Bir veri kaybı önleme (DLP) ilkesi içinde yapılandırılır ve yalnızca altı bağlayıcı için kullanılabilir:

  • HTTP
  • HTTP with Microsoft Entra ID (AD)
  • HTTP Web Kancası
  • SQL Server (Azure Synapse veri ambarına erişmek için SQL Server Bağlayıcısı kullanmayı içerir)
  • Azure Blob Storage
  • SMTP

Bir oluşturucu; uygulamasını, akışını veya sohbet botunu engellenmiş bir uç noktaya bağlamaya çalıştığında, bir DLP hata iletisiyle karşılaşır.

Uyarı

Uç nokta filtreleme kuralları ortam değişkenleri, özel girdiler veya çalışma zamanında dinamik olarak oluşturulan herhangi bir uç nokta üzerinde zorlanmaz. Uygulama, akış veya sohbet botu tasarımcılarında yalnızca statik uç noktalar değerlendirilir. Daha fazla bilgi için bkz. Bilinen kısıtlamalar.

Önemli

Önizleme özellikleri, üretimde kullanıma yönelik değildir ve sınırlı işlevselliğe sahip olabilir. Bu özellikler, müşterilerin erken erişim elde etmesi ve geri bildirim sağlaması amacıyla resmi sürümden önce kullanıma sunulur.

DLP ilkelerinize uç nokta filtreleme kuralları ekleme

Veri İlkeleri'ndeki Önceden Oluşturulmuş Bağlayıcılar sayfasındaki Uç nokta yapılandırabilir sütunu, uç nokta filtreleme yeteneğinin bağlayıcı için desteklenip desteklenmediğini gösterir.

Önceden Oluşturulmuş Bağlayıcılar sayfasındaki yapılandırılabilir uç nokta.

Uç nokta yapılandırabilir sütununun değeri Evet ise sağ tıklayıp Bağlayıcıyı yapılandır>Bağlayıcı uç noktaları'nı seçerek bu özelliği kullanabilirsiniz.

Bağlayıcıyı yapılandır > Bağlayıcı uç noktaları.

İzin verilen veya Reddedilen URL şablonlarının sıralı listesini belirtebileceğiniz bir yan panel açar. Listedeki son satır her zaman, o bağlayıcıdaki tüm uç noktalar için geçerli olan joker karakter (*) için bir kural olacaktır. Varsayılan olarak, * deseni yeni DLP ilkeleri için İzin Ver olarak ayarlanmıştır ancak bunu İzin Ver veya Reddet olarak etiketleyebilirsiniz.

Özel bağlayıcılar için İzin Ver ve Reddet URL desenlerinin sıralı listesini belirtin.

Yeni kural ekleme

Yeni kuralları Uç nokta ekle'yi seçerek ekleyebilirsiniz. Yeni kurallar kalıp listesinin sonuna sondan ikinci kural olarak eklenir. Bunun nedeni * işaretinin her zaman listedeki son girdi olmasıdır. Ancak, Düzen açılır listesini kullanarak veya Yukarı Taşı ya da Aşağı Taşı seçeneğini belirleyerek desenlerin sırasını güncelleyebilirsiniz.

Yeni kural eklemek için Uç nokta ekle'yi seçin.

Desen eklendikten sonra, belirli bir satırı seçip ardından Sil seçeneğini belirleyerek bu desenleri düzenleyebilir veya silebilirsiniz.

Deseni silin.

Bağlayıcı uç nokta filtreleme kurallarınızı ve tanımlandıkları DLP ilkesini kaydettikten sonra, hedeflenen ortamlarda anında zorlanırlar. Aşağıda, bir oluşturucunun bulut akışını izin verilmeyen bir HTTP uç noktasına bağlamaya çalıştığı bir örnek yer almaktadır.

Uç nokta filtreleme kuralları nedeniyle DLP hatası.

Bilinen sınırlamalar

  • Çalışma zamanı sırasında ortam değişkenleri, dinamik olarak bağlı uç noktalar ve özel girişler üzerinde uç nokta filtreleme uygulaması şu anda zorunlu kılınmamaktadır. Yalnızca tasarım sırasında bir uygulama, akış veya sohbet botu oluşturulurken bilinen ve seçilen sabit uç noktalar zorlanır. Bu, bağlantıların Microsoft Entra ID ile doğrulanması durumunda SQL Server ve Azure Blob Depolama için bağlayıcı uç nokta filtreleme kurallarının uygulanmadığı anlamına gelir. Aşağıdaki iki ekran görüntüsünde, bir oluşturucu SQL Server ve veritabanını değişkenler içinde tanımlayan ve ardından bu değişkenleri bağlantı tanımına girdi olarak kullanan bir bulut akışı oluşturmuştur. Bu nedenle, uç nokta filtreleme kuralları değerlendirilmez ve bulut akışı başarıyla yürütülebilir.

    Bulut akışı SQL'e bağlanmak için değişkenler kullanır.Bulut akışı başarıyla çalışır.

  • DLP bağlayıcı eylem kurallarının ve uç nokta kurallarının uygulanabilmesi için 1 Ekim 2020'den önce yayınlanan bazı Power Apps uygulamalarının yeniden yayınlanması gerekir. Aşağıdaki betik, yöneticiler ve oluşturucuların, bu yeni DLP ayrıntılı denetim kurallarına göre yeniden yayımlanması gereken uygulamaları tanımlamalarına olanak sağlar:

    Add-PowerAppsAccount
    
    $GranularDLPDate = Get-Date -Date "2020-10-01 00:00:00Z"
    
    ForEach ($app in Get-AdminPowerApp){
    
        $versionAsDate = [datetime]::Parse($app.LastModifiedTime)
    
        $olderApp = $versionAsDate -lt $GranularDLPDate
    
        $wasBackfilled = $app.Internal.properties.executionRestrictions -ne $null -and $app.Internal.properties.executionRestrictions.dataLossPreventionEvaluationResult -ne $null -and ![string]::IsNullOrEmpty($app.Internal.properties.executionRestrictions.dataLossPreventionEvaluationResult.lastAdvancedBackfillDate) 
    
        If($($olderApp -and !$wasBackfilled)){
            Write-Host "App must be republished to be Granular DLP compliant: " $app.AppName " "  $app.Internal.properties.displayName " " $app.Internal.properties.owner.email
        } 
        Else{ 
            Write-Host "App is already Granular DLP compliant: " $app.AppName 
        }
    }
    

Uç nokta giriş biçimleri ve örnekleri

Her bağlayıcının, uç noktanın anlamından farklı bir anlamı vardır. Ayrıca bazı uç noktalar birden çok biçimde tanımlanabilir. Bu nedenle uç noktaların, uygulama ve akış oluştururken geliştiricilerin bunları kullanmasını engellemek için tüm olası biçimlerde girilmesi gerekir. Yöneticiler, uç nokta filtreleme kuralı oluştururken uç noktanın tam adını girebilir veya joker karakter (*) ile eşleşen desen kullanabilir. Bu kurallar, uç nokta desenlerinin sıralı listesinde girilir ve sunulur, yani numaraya göre artan düzende değerlendirilirler. Tüm bağlayıcılar için son kuralın her zaman * İzin Ver veya * Reddet olacağını unutmayın. İzin Ver varsayılan değerdir ve bu değer Reddet olarak değiştirilebilir.

Aşağıdaki kılavuzda, izin vermek veya reddetmek için kural oluştururken bağlayıcı bitiş noktalarının nasıl girileceği açıklanmaktadır.

SQL Server

SQL Server bağlantı uç noktalarının, <Server_name, database_name> biçiminde listelenmesi gerekir. Dikkat edilmesi gereken birkaç nokta:

  • Sunucu adı, geliştiricilere göre çeşitli biçimlerde girilebilir. Bu nedenle, bir uç noktayı gerçekten belirtmek için uç noktanın tüm olası biçimlerde girilmesi gerekir. Örneğin, şirket içi kurulumlar <machine_name\named_instance, database_name> veya <IP address, custom port, database_name> biçiminde olabilir. Bu durumda, uç nokta için iki biçimde izin ver veya engelle kuralları uygulamanız gerekir. Örneğin:

    • WS12875676\Servername1,MktingDB öğesini engelle
    • 11.22.33.444,1401,MktingDB öğesini engelle
  • localhost gibi ilgili adresleri işlemek için özel bir mantık yoktur. Bu nedenle, *localhost* öğesini engellerseniz geliştiricilerin SQL Server uç noktasının parçası olarak localhost öğesi ile uç noktaları kullanması engellenir. Ancak mutlak adres de yönetici tarafından engellenmedikçe mutlak adresi kullanarak uç noktaya erişmeleri durdurulmayacaktır.

Aşağıdaki örneklere bakın:

  • Yalnızca Azure SQL Server kurulumlarına izin verin:

    1. *.database.windows.net* adresine izin ver
    2. * öğesini reddet
  • Yalnızca belirli bir IP aralığına izin verin: (izin verilmeyen IP adreslerinin, geliştirici tarafından yine de <machine_name\named_instance> biçiminde girilebileceğini unutmayın.)

    1. 11.22.33* öğesine izin ver
    2. * öğesini reddet

Dataverse

Dataverse uç noktaları, 7b97cd5c-ce38-4930-9497-eec2a95bf5f7 gibi kuruluş kimliği ile temsil edilir. Şu anda yalnızca Dataverse bağlayıcısının, uç nokta filtreleme kapsamında olduğunu lütfen unutmayın. Dataverse dynamics ve Dataverse geçerli bağlayıcıları kapsamda değildir. Ayrıca Dataverse'in yerel kurulumunun (geçerli ortam olarak da bilinir) hiçbir zaman bir ortam içindeki kullanımı engellenemez. Bu, belirli bir ortam içinde geliştiricilerin her zaman Dataverse geçerli ortamına erişebileceği anlamına gelir.

Bu nedenle, aşağıdakileri belirten bir kural vardır:

  1. 7b97cd5c-ce38-4930-9497-eec2a95bf5f7 öğesine izin ver
  2. * öğesini reddet

Bu aslında şu anlama gelir:

  1. Dataverse current environment öğesine izin ver
  2. 7b97cd5c-ce38-4930-9497-eec2a95bf5f7 öğesine izin ver
  3. * öğesini reddet

Dataverse current environment öğesine izin ver, her zaman açıkça belirli bir ortam için Dataverse uç noktası filtreleme listesindeki ilk kuraldır.

Azure Blob Depolama

Azure Blob Depolama uç noktaları, Azure depolama hesabı adı ile temsil edilir.

SMTP

SMTP uç noktaları, <SMTP server address, port number> biçiminde temsil edilir.

Aşağıdaki, örnek bir senaryodur:

  1. smtp.gmail.com,587 öğesini reddet
  2. * öğesine izin ver

HTTP with Microsoft Entra ID, HTTP Web Kancası ve HTTP bağlayıcılar

Tüm HTTP bağlayıcıları için uç noktalar, URL deseni ile temsil edilir. Microsoft Entra bağlayıcısı olan HTTP'nin Web kaynağı al eylemi kapsam dışıdır.

Aşağıdaki, örnek bir senaryodur:

Yalnızca https://management.azure.com/ içindeki Azure abonelikleri sayfasına erişime izin verin.

  1. https://management.azure.com/subscriptions* adresine izin ver
  2. https://management.azure.com/* adresini reddet
  3. * öğesini reddet

Uç nokta filtreleme için PowerShell desteği

İlke için uç nokta filtreleme kurallarını yapılandırma

İlke için uç nokta filtreleme kurallarını içeren nesneye aşağıda bağlayıcı yapılandırmaları olarak başvurulur.

Bağlayıcı yapılandırmaları nesnesi aşağıdaki yapıya sahiptir:

$ConnectorConfigurations = @{ 
  connectorActionConfigurations = @() # used for connector action rules
  endpointConfigurations = @( # array – one entry per 
    @{  
      connectorId # string
      endpointRules = @( # array – one entry per rule 
        @{ 
          order # number 
          endpoint # string
          behavior # supported values: Allow/Deny
        }
      ) 
    }
  ) 
}

Notlar

  • Tüm URL'lerin kurallar kapsamında olmasını sağlamak üzere her bağlayıcı için son kuralın her zaman URL'ye * uygulanması gerekir
  • Her bağlayıcı için kuralların sıra özelliği, 1'den N'ye kadar sayılarla doldurulmalıdır. Burada N, o bağlayıcı için kural sayısıdır.

DLP ilkesi için mevcut bağlayıcı yapılandırmalarını alma

Get-PowerAppDlpPolicyConnectorConfigurations 

DLP ilkesi için bağlayıcı yapılandırmaları oluşturma

New-PowerAppDlpPolicyConnectorConfigurations

DLP ilkesi için bağlayıcı yapılandırmalarını güncelleştirme

Set-PowerAppDlpPolicyConnectorConfigurations

Örnek

Hedef:

SQL Server bağlayıcısı için:

  • "myservername.database.windows.net" sunucusunun "testdatabase" veritabanını reddet
  • "myservername.database.windows.net" sunucusunun diğer tüm veritabanlarına izin ver
  • Diğer tüm sunucuları reddet

SMTP bağlayıcısı için:

  • Gmail'e izin ver (sunucu adresi: smtp.gmail.com, bağlantı noktası: 587)
  • Diğer tüm sunucuları reddet

HTTP bağlayıcısı için:

  • https://mywebsite.com/allowedPath1ve https://mywebsite.com/allowedPath2 uç noktalarına izin ver
  • Diğer tüm URL'leri reddet

Not

Aşağıdaki cmdlet'te, PolicyName benzersiz GUID'i ifade eder. Get-DlpPolicy cmdlet'ini çalıştırarak DLP GUID'ini alabilirsiniz.

$ConnectorConfigurations = @{ 
  endpointConfigurations = @(
    @{  
      connectorId = "/providers/Microsoft.PowerApps/apis/shared_sql" 
      endpointRules = @(
        @{ 
          order = 1 
          endpoint = "myservername.database.windows.net,testdatabase" 
          behavior = "Deny"
        }, 
        @{ 
          order = 2 
          endpoint = "myservername.database.windows.net,*" 
          behavior = "Allow"
        }, 
        @{ 
          order = 3
          endpoint = "*" 
          behavior = "Deny"
        } 
      ) 
    }, 
    @{  
      connectorId = "/providers/Microsoft.PowerApps/apis/shared_smtp" 
      endpointRules = @(
        @{ 
          order = 1 
          endpoint = "smtp.gmail.com,587" 
          behavior = "Allow"
        }, 
        @{ 
          order = 2 
          endpoint = "*" 
          behavior = "Deny"
        } 
      ) 
    },
    @{  
      connectorId = "http" 
      endpointRules = @(
        @{ 
          order = 1 
          endpoint = "https://mywebsite.com/allowedPath1" 
          behavior = "Allow"
        }, 
        @{ 
          order = 2
          endpoint = "https://mywebsite.com/allowedPath2" 
          behavior = "Allow"
        }, 
        @{ 
          order = 3
          endpoint = "*" 
          behavior = "Deny"
        } 
      ) 
    } 
  ) 
}
New-PowerAppDlpPolicyConnectorConfigurations -TenantId $TenantId -PolicyName $PolicyName -NewDlpPolicyConnectorConfigurations $ConnectorConfigurations