記事公開日
Power Automateで、個人契約のAWSにアクセスしないように制御する方法

こんにちは。 DXソリューション営業本部の高山です。
今回は「企業のAWS S3バケットへのアクセスを許可しつつ、個人契約のバケットへのアクセスを禁止する」方法を解説します。
シナリオとしては「Power Automateでファイルをアップロードする際、組織の重要なデータが、管理者の意図しない個人契約のAWS S3バケットにアップロードされる」ケースを想定します。
具体的なデータ損失防止策として、Power Automate DLP(Data Loss Prevention)ポリシーを設定します。
DLP(Data Loss Prevention)について
企業の機密情報を守るためには、ファイルやデータが「どこから、どうやって」外部に流出するのかを抑えることが重要です。
Microsoftには大きく分けて2種類のDLP(Data Loss Prevention)があります。
-
ユーザーの行動とデータ(コンテンツ)に対するDLP(Microsoft Purview)
-
サービス間の連携(コネクタ)に対する DLP(Power Automate)
ここで注意したいのは、Power Automateはクラウド上で自動実行されるため、「Power Automateのコネクタを経由して自動で外部にファイルをアップロードされる動き」をPower AutomateのDLP "以外" では防げないという点です。
一方で、Power AutomateのDLPでは対応できない、以下のような脅威に対しては、Purview DLPが効果を発揮します。
- Purview DLPが適しているシナリオ
- 機密データの内容を保護する: 従業員がクレジットカード番号や個人情報を含むファイルを、個人のメールアドレスに添付して送信したり、USBメモリにコピーしたりする行為をブロックします。
また、エンドポイントDLPを使用することで、Power Automateなどの自動フローを介さず、ユーザーが直接行うPC上での操作(例:Webブラウザへのドラッグ&ドロップ、USBへのコピーなど)によるデータ流出を防ぐのに優れています。
- 機密データの内容を保護する: 従業員がクレジットカード番号や個人情報を含むファイルを、個人のメールアドレスに添付して送信したり、USBメモリにコピーしたりする行為をブロックします。
そのため、データ保護としてDLPを導入する場合は要件に応じて適切なソリューションとソリューションが利用可能なライセンスを準備することが重要です。
Power AutomateとAWS S3を接続する
実際の検証内容を基に説明します。
まず、S3にアクセスするための方法についてですが、コネクタを構成してAWS側に接続します。
Power Automateには「標準コネクタ」として、Microsoft 365の各種サービスや、AWS、Salesforce、Google Workspaceなど、多くのサードパーティ製SaaSと接続するためのコネクタが標準で用意されています。
標準コネクタ
Amazon S3の標準コネクタにはアップロード機能がないため、今回の検証では使用できませんでした。
コネクタのリファレンス Amazon S3
また、公開元がMicrosoft では無い Amazon S3 Bucket というコネクタも存在しますが、プレビュー版であるため 本検証では使用しません。
コネクタのリファレンス Amazon S3 Bucket (Independent Publisher) (プレビュー)
カスタムコネクタ
標準コネクタを使用することが出来ないため、カスタムコネクタで組織ごとのオリジナルコネクタを作成し、DLPポリシーを適用します。
カスタム コネクタの概要
手順の概要は以下の通りです。
①【AWS側】S3 バケットを用意する。
S3 バケットを作成します。(詳細な設定値は割愛)
IAMで処理を実行するロールを作成します。(詳細な設定値は割愛)
※ 本稿では、検証用のため「AmazonS3FullAccess」ポリシーを許可します。
「ARN」をコピーします。※後述の手順で使用します。
②【AWS側】API Gateway で API を作成する。
リソースを作成します。(詳細な設定値は割愛)
次にメソッドを作成します。(詳細な設定値は割愛)
実行ロールには先ほどコピーした「ARN」値を貼り付けます。
APIをデプロイします。(ステージは任意の名前を付けて新規作成します)
ステージを開き、URLを控えます。※後述の手順で使用します。
以上でAWS側の準備は完了です。
③【Power Automate 側】カスタムコネクタを設定する。
Power Automateの管理画面からカスタムコネクタを新規作成します。
以下、設定例です。(詳細な設定値は割愛)
※ 赤枠部分に事前に控えたAPIのURLを設定します。
各種必要な値を設定します。(詳細な設定値は割愛)
以上でPower AutomateとAWS S3の接続は完了です。
Power Automateのフローを作成
今回は検証用なのでトリガーは "手動" とし、SharePoint Online上のファイルをカスタムコネクタを使用して Amazon S3にアップロードします。
具体的には、標準コネクタの「ファイル コンテンツの取得」アクションでSharePoint Online上のコンテンツを取得し、作成したカスタムコネクタの FileContentにセットします。
Filenameにアップロードするファイル名を指定します。
フローを保存後、実行すると SharePoint Online上の指定したファイルがAWS S3 のバケットに格納されます。
PowerAutomate管理センターのデータポリシーでアップロード先を制限する
さて検証の準備が完了したので、ここからが本題です。
現状、ユーザーは自由にカスタムコネクタを作成できるため、組織のファイルが個人用のAWS S3にアップロードされるリスクがあります。
このリスクを回避するために、カスタムコネクタの作成を管理者のみに制限すると、市民開発者による業務改善が妨げられる可能性があります。
そのため、「ユーザーが自由にカスタムコネクタを作成できるものの、管理者が承認したカスタムコネクタのみ利用可能」とする制御を設定します。
具体的には
- カスタムコネクタの利用は基本的に "ブロック" する。
- ユーザーからカスタムコネクタの作成後 利用申請があった場合、テナント管理者が審査の上、ホワイトリスト形式で登録する。
という運用ルールと制御です。

①【Power Automate 側】DLPポリシーを作成する。
テナント管理者の設定で、DLP の データポリシーを作成し、カスタムコネクタの接続先 URL を*(アスタリスク)でブロックし、優先順位を最下位に設定します。次に許可するカスタムコネクタのアクセス先(今回はAmazon S3のURL)をブロックのパターンより上位に設定します。

![]() |
![]() |
管理者が "許可していない" コネクタを指定した場合の挙動 | 管理者が "許可した" コネクタを指定した場合の挙動 |
この設定により、管理者が承認したカスタムコネクタのみがPower Automateで利用可能になります。
管理者が事前にカスタムコネクタのURLを監査することで、ユーザーによる意図しないデータ流出のリスクを防止できます。
おわりに
本検証により、Power Automate DLPを活用することで、組織のデータが意図しないAWS S3バケットにアップロードされるリスクを効果的に排除できることが分かりました。標準コネクタをブロックしつつ、カスタムコネクタの利用を「ホワイトリスト」形式で管理することで、セキュリティを確保しつつ、ユーザーの市民開発を制限しすぎないバランスの取れた運用が可能です。具体的には、ユーザーは自由にカスタムコネクタを作成できますが、その利用には管理者の承認プロセスを必須とすることで、安全な環境を維持できます。
この方法を導入することで、データガバナンスを強化し、企業のデータ資産を保護しながら、Power Automateの利便性を最大限に活かすことができると考えています。
なお、Microsoft Purviewを使用したデータの監査パッケージもご用意しております。
ご興味のある方は、お気軽にお問い合わせください。
Microsoft Cloud Service - Microsoft Purview 監査パッケージ
※このブログで参照されている、Microsoft、Azure、Azure OpenAI、PowerAppsその他のマイクロソフト製品およびサービスは、米国およびその他の国におけるマイクロソフトの商標または登録商標です。
※その他の会社名、製品名は各社の登録商標または商標です。