注意
テスト エンジンは非推奨 となり、今後のリリースで削除される予定です。 Power Platform および Dynamics 365 サービスのテスト自動化機能には、Power Platform Playwright サンプルを使用します。
この技術ドキュメントでは、Power Apps テスト エンジンの認証メカニズムのセキュリティ アーキテクチャについて説明します。 認証方法の選択と構成に関するユーザー向けのガイダンスについては、認証ガイドを参照してください。
認証方法の概要
Test Engine では、次の 2 つの主要な認証方法がサポートされています。
- ストレージ状態の認証 - 永続的なブラウザー Cookie とストレージ状態に基づく
- 証明書ベースの認証 - X.509 証明書と Dataverse 統合に基づく
どちらの方法も、多要素認証 (MFA) や条件付きアクセス ポリシーなど、最新のセキュリティ要件をサポートするように設計されています。
ストレージ 状態認証アーキテクチャ
ストレージ 状態認証方式は、Playwright のブラウザー コンテキスト管理を使用して、認証トークンを安全に格納して再利用します。
Windows Data Protection の実装
ローカル ストレージ状態の実装では、セキュリティで保護されたストレージに Windows Data Protection API (DPAPI) を使用します。
セキュリティに関する考慮事項
ストレージ 状態セキュリティ アーキテクチャは、次のものを提供します。
- DPAPI 暗号化を使用した保存時の認証トークンの保護
- Microsoft Entra MFA と条件付きアクセス ポリシーのサポート
- Playwright のブラウザコンテキストによるサンドボックスの分離
- Microsoft Entra セッションの有効期間ポリシーへの準拠
証明書ベースの認証アーキテクチャ
証明書ベースの認証は Dataverse と統合され、X.509 証明書を使用して保存情報のセキュリティと暗号化を強化します。
Dataverse ストレージの実装
Dataverse の実装は、保護キーのセキュアなストレージにカスタム XML リポジトリを使用します。
暗号化技術
以下のセクションでは、保存および転送中の認証データを保護するために Test Engine で使用される暗号化アルゴリズムとキー管理方法について説明します。
AES-256-CBC + HMACSHA256
既定では、データ値は AES-256-CBC と HMACSHA256 の組み合わせで暗号化されます。
このアプローチでは、次のことが可能になります。
- AES-256 暗号化による機密性
- HMAC 検証による完全性
- データ ソースの認証
データ保護 API の統合
テスト エンジンは、キーの管理と暗号化のために ASP.NET Core の Data Protection API と統合されます。
カスタム XML リポジトリの実装
Test Engine は、カスタム IXmlRepository を実装して Dataverse を統合します。
条件付きアクセスと MFA の互換性
テスト エンジンの認証アーキテクチャは、Microsoft Entra条件付きアクセス ポリシーとシームレスに連携するように設計されています。
高度なセキュリティに関する考慮事項
次のセクションでは、認証データの保護を強化し、エンタープライズ環境での安全な運用をサポートするその他のセキュリティ機能と統合について説明します。
Dataverse セキュリティ モデルの統合
Test Engine では、Dataverse の堅牢なセキュリティ モデルが使用されます。
- レコードレベルのセキュリティ - 保存されている認証データへのアクセスを制御します
- 共有モデル - テスト認証コンテキストのセキュアな共有を可能にします
- 監査 - 機密性の高い認証データへのアクセスを追跡します
- 列レベルのセキュリティ - 機密性の高いフィールドを綿密に保護
Azure CLI トークン管理
Dataverse 認証の場合、Test Engine はアクセス トークンを安全に取得します。
セキュリティのベスト プラクティス
Test Engine 認証を実装する場合は、次のセキュリティのベスト プラクティスを考慮してください。
- 最小特権アクセス - テスト アカウントに必要最小限のアクセス許可を付与します
- 定期的な証明書ローテーション - 証明書を定期的に更新します
- CI/CD 変数のセキュリティ保護 - 機密データを含むパイプライン変数を保護します
- アクセスの監査 - 認証リソースへのアクセスを監視します
- 環境の分離 - テストに個別の環境を使用します
未来のセキュリティの向上
認証セキュリティ アーキテクチャの将来的な機能強化には、次のようなものがあります。
- シークレット管理を強化するためのAzure Key Vaultとの統合
- Azure環境でのマネージド ID のサポート
- ログ記録とセキュリティ監視機能の強化
- クロスプラットフォーム シナリオ向けのより多くの保護プロバイダー
関連記事
ASP.NET Core のデータ保護
Windows Data Protection API
Microsoft Entra 認証
Dataverse セキュリティ モデル
X.509 証明書ベース認証