前回の投稿で、DLPポリシーをCSVに出力するPowerShellスクリプトについて説明しました。そのCSVを入力情報として新しいDLPポリシーを作成するPowerShellスクリプトを作成しました。
参考(前回の投稿):
DLPポリシーに含まれているコネクタをPowerShellを使って割当先グループ(ビジネス、非ビジネス、ブロック済み)ごとにCSVに一覧出力する
https://qiita.com/wataruf01/items/34d0b44c7178efd74650
使い方
前回の投稿と同じく以下のモジュールを使います。インストール未実施のPCを使ってDLPポリシーの作成を行う場合は、スクリプトの実行前に管理者権限で下記インストールコマンドを実行してください。
Install-Module -Name Microsoft.PowerApps.Administration.PowerShell
Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber
次に、入力用のCSVです。前回の投稿で記載している「GetDLPPolicy.ps1」を使って出力したCSVを用意してください。
必要に応じて、割当先のGroupの変更を行ってください。
※CSVで指定されてないコネクタは自動で"既定のグループ"に割り当てられます。
以下のソースコードがDLPポリシーの設定用PowerShellスクリプトです。
以下の箇所はテナントによって置き換えてください。
・実行アカウントのID/パスワード
・作成するDLPポリシーの名前
・入力用CSVのファイルパス
# 実行アカウント
$adminUserName = "XXX@XXX.onmicrosoft.com"
$securePassword = "XXX" | ConvertTo-SecureString -AsPlainText -Force
Add-PowerAppsAccount -Username $adminUserName -Password $securePassword
# ポリシーの名前
$newDLPPolicyName = "XXXX"
# 入力用CSVのファイルパス
$inputCSVFilePath = ".\DLPPolicy.csv"
# DLPポリシーを作成する
$newDLPPolicy = New-DlpPolicy -DisplayName $newDLPPolicyName -EnvironmentType "AllEnvironments"
# 入力用CSVからコネクタの情報をインポートする
$csv = Import-Csv -Path $inputCSVFilePath -Encoding UTF8 | select Group,Name,ID,Type
$allConnectors = $csv | Group-Object -Property Group
# CSVから取得したコネクタ情報を割当先ごとにグループ化する
$BusinessDataConnectors = $allConnectors | Where Name -EQ "BusinessDataGroup"
$NonBusinessDataConnectors = $allConnectors | Where Name -EQ "NonBusinessDataGroup"
$BlockedConnectors = $allConnectors | Where Name -EQ "BlockedGroup"
# 「ビジネス」グループに割り当てるコネクタを定義する
$BusinessDataConnectorsGroup = `
[PSCustomObject]@{
classification = "Confidential"
connectors = $BusinessDataConnectors.Group | Select Name,ID,Type
}
# 「非ビジネス」グループに割り当てるコネクタを定義する
$NonBusinessDataConnectorsGroup = `
[PSCustomObject]@{
classification = "General"
connectors = $NonBusinessDataConnectors.Group | Select Name,ID,Type
}
# 「ブロック済み」グループに割り当てるコネクタを定義する
$BlockedConnectorsGroup =
[PSCustomObject]@{
classification = "Blocked"
connectors = $BlockedConnectors.Group | Select Name,ID,Type
}
# 定義したコネクタ情報をDLPポリシーにセットする
$allConnectorGroups = @()
$allConnectorGroups += $BlockedConnectorsGroup
$allConnectorGroups += $BusinessDataConnectorsGroup
$allConnectorGroups += $NonBusinessDataConnectorsGroup
$newDLPPolicy.connectorGroups = $AllConnectorGroups
# DLPポリシーの設定を更新する
Set-DlpPolicy -PolicyName $newDLPPolicy.name -UpdatedPolicy $newDLPPolicy
スクリプトを実行するとDLPポリシーの作成が行われます。
このスクリプトでは下記の設定は割愛しています。そのため、このスクリプトでポリシーを作成したあとにPowerPlatform管理センターで手動で行う等の対応を行ってください。
・既定のグループ
・スコープ
・カスタムコネクタ
参考
この投稿のスクリプトは下記ページを参考にして作成しました。
DLP Policy für Power Platform Services erstellen
https://blog.topedia.com/2020/10/dlp-policy-fur-power-platform-services-erstellen/