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.
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.
İ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.
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.
Desen eklendikten sonra, belirli bir satırı seçip ardından Sil seçeneğini belirleyerek bu desenleri düzenleyebilir veya silebilirsiniz.
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.
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.
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 engelle11.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ı olaraklocalhost
öğ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:
*.database.windows.net*
adresine izin ver*
öğ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.)11.22.33*
öğesine izin ver*
öğ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:
7b97cd5c-ce38-4930-9497-eec2a95bf5f7
öğesine izin ver*
öğesini reddet
Bu aslında şu anlama gelir:
Dataverse current environment
öğesine izin ver7b97cd5c-ce38-4930-9497-eec2a95bf5f7
öğesine izin ver*
öğ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:
smtp.gmail.com,587
öğesini reddet*
öğ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.
https://management.azure.com/subscriptions*
adresine izin verhttps://management.azure.com/*
adresini reddet*
öğ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/allowedPath1
vehttps://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