2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

DLPポリシーに含まれているコネクタをPowerShellを使って割当先グループ(ビジネス、非ビジネス、ブロック済み)ごとにCSVに一覧出力する

Last updated at Posted at 2021-09-21

image.png

Power Platform 管理センターでDLPポリシーの設定や設定確認を実施したことがあるからはご存じかと思いますが、DLPポリシーの設定画面はかなり操作性が悪いです。そのため、DLPポリシーをひとつ設定する作業(設定後の値確認も含む)で1時間前後かかる場合があります。

この作業を短縮するために設定確認用のPowerShellスクリプトを作りました。

設定用のスクリプトについては以下の投稿に記載しています。
https://qiita.com/wataruf01/items/90218c7e7dd0958b3db3

使い方

まずは、スクリプトを実行するために必要なモジュールをPCにインストールします。管理者権限で下記コマンドを実行してください。

モジュールのインストールコマンド
Install-Module -Name Microsoft.PowerApps.Administration.PowerShell
Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber

モジュールのインストールが完了したら、下記スクリプトを使います。
以下の2箇所はテナントによって置き換えてください。
・実行アカウントのID/パスワード
・対象のDLPポリシーのID

DLPポリシーをCSVに出力するスクリプト
# 実行アカウント
$adminUserName  = "XXX@XXX.onmicrosoft.com"
$securePassword = "XXX" | ConvertTo-SecureString -AsPlainText -Force
Add-PowerAppsAccount -Username $adminUserName -Password $securePassword

# 対象のDLPポリシーを指定
$dlpPolicy = Get-DlpPolicy -PolicyName "XXXX-XXXX-XXX-XXXX-XXXX"

$connectors = @()

$businessDataGroup = $DLPPolicy.connectorGroups | where classification -EQ "Confidential"
foreach($connector in $businessDataGroup.connectors)
{
    $obj = New-Object PSObject
    $obj | Add-Member -MemberType NoteProperty -Name Policy -Value $DLPPolicy.displayName
    $obj | Add-Member -MemberType NoteProperty -Name Group  -Value "BusinessDataGroup"
    $obj | Add-Member -MemberType NoteProperty -Name Name   -Value $connector.name
    $obj | Add-Member -MemberType NoteProperty -Name ID     -Value $connector.id
    $obj | Add-Member -MemberType NoteProperty -Name Type   -Value $connector.type
    $connectors += $obj
}

$nonBusinessDataGroup = $DLPPolicy.connectorGroups | where classification -EQ "General"
foreach($connector in $nonBusinessDataGroup.connectors)
{
    $obj = New-Object PSObject
    $obj | Add-Member -MemberType NoteProperty -Name Policy -Value $DLPPolicy.displayName
    $obj | Add-Member -MemberType NoteProperty -Name Group  -Value "NonBusinessDataGroup"
    $obj | Add-Member -MemberType NoteProperty -Name Name   -Value $connector.name
    $obj | Add-Member -MemberType NoteProperty -Name ID     -Value $connector.id
    $obj | Add-Member -MemberType NoteProperty -Name Type   -Value $connector.type
    $connectors += $obj
}

$blockedGroup = $DLPPolicy.connectorGroups | where classification -EQ "Blocked"
foreach($connector in $blockedGroup.connectors)
{
    $obj = New-Object PSObject
    $obj | Add-Member -MemberType NoteProperty -Name Policy -Value $DLPPolicy.displayName
    $obj | Add-Member -MemberType NoteProperty -Name Group  -Value "BlockedGroup"
    $obj | Add-Member -MemberType NoteProperty -Name Name   -Value $connector.name
    $obj | Add-Member -MemberType NoteProperty -Name ID     -Value $connector.id
    $obj | Add-Member -MemberType NoteProperty -Name Type   -Value $connector.type
    $connectors += $obj
}

$connectors | Export-Csv -Path .\DLPPolicy.csv -Encoding UTF8 -NoTypeInformation

テナントによって置き換える対象は以下の2つです。

ひとつめ。実行アカウントのID/パスワード。
$adminUserName = "XXX@XXX.onmicrosoft.com"
$securePassword = "XXX" | ConvertTo-SecureString -AsPlainText -Force

ふたつめ。対象チームのID。
#対象のDLPポリシーを指定
$dlpPolicy = Get-DlpPolicy -PolicyName "XXXX-XXXX-XXX-XXXX-XXXX"

対象のDLPポリシーのIDはPower Platform 管理センターから入手できます。該当のDLPポリシーを開いたときにアドレスバーに表示されるGUIDがそのDLPポリシーのIDです。

image.png

image.png

この部分をコピーして先ほどのスクリプトで使用します。

コマンドは新旧の2つがある。新しいほうを使用すること

Power Platform関連のコマンドを検索すると2種類のコマンドが見つかります。片方は旧コマンドで片方が新しく登場したほうです。コマンド名に「Admin」が付いていないほうが新しいコマンドです。

例:
既存のポリシーを取得する
・旧コマンド: Get-AdminDlpPolicy
・新コマンド: Get-DlpPolicy

これからPower PowerPlatform関連のスクリプトを作成する際は新コマンドを使うようにしたほうがよいです。

参考:
吉田の備忘録「Power Apps の特定のデータ損失ポリシーにカスタムコネクタを追加する方法」
https://memo.tyoshida.me/power-platform/powerapps/power-apps-dlp-custom-connector-powershell/

以上です。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?