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