Udemy 新コース: 作って学ぶAI Builder!

ソリューションを活用してKey Vault 名を含めず安全・便利にキー情報を共有する

ソリューションで設定できる環境変数にAzure Key Vault のシークレットを設定できます。

実際にはPower Platform にはシークレットが保存されずに、実際のシークレットは Azure Key Vault にのみ保存されます。

この機能を用いることで、Key Vault のコネクタを利用せずにDataverse のアクションでシークレットを取得できます。これにより、Key Vault 名を共有せずにエンドユーザーに シークレットを利用させることができます。

Azure Key Vault シークレットの環境変数を使用する – Power Apps | Microsoft Learn

以前、Azure Key Vault のコネクタ経由での接続の関連説明です。

前提条件

  • Microsoft.PowerPlatform リソース プロバイダーをAzureサブスクリプションに登録されている必要があります。
  • Key Vault へのアクセス手段は、Azure ロールベースのセキュリティが推奨です。
  • Azure Key Vault内でアクセス権限をアサートするために使用される セキュリティ ロール に最近変更がありました。 前の手順には、Key Vault 閲覧者 ロールの割り当てが含まれていました。 以前にKey Vault閲覧者 ロールを使用してキー コンテナーを設定している場合は、Key Vaultシークレット ユーザー ロールを追加して、ユーザーにシークレットを取得するための十分な権限があることを確認してください。
  • Azure Key Vault には、 Key Vault Secrets ユーザー ロールが Dataverse サービス プリンシパルに付与されている必要があります。 付与されていないと以下のようなメッセージが表示されます。

Dataverse サービスプリンシパルへのアクセス付与

Key Vault を選択し、Dataverse にニーコンテナーシークレットユーザーのロールを割り当てます。

Power Platform ソリューションを作成する

ソリューションを作成します。

作成後、新規から環境変数を追加します。

環境変数ではシークレットを選択し、更にストアはAzure Key Vault を選択します。

以下の情報を入力します。

環境変数に入力を求められている項目は、このようにAzure Portal から取得します。

これで保存します。

環境変数を作成することができました。

クラウドフローでのKey Vault の利用

この環境変数を利用して、Key Vault を利用してみます。ソリューション内でフローを作成します。

以下のように作成します。

新しいステップを選択し、Microsoft Dataverse コネクタを選択してから、行動タブでバインドされていないアクションを実行するを選択します。

ドロップダウン リストから RetrieveEnvironmentVariableSecretValueという名前の付いたアクションを選択します。

前のセクションで追加した環境変数の一意の名前 (表示名ではない) を指定します。

このようにすると、実行専用のユーザーに接続作成時にKey Vault 名を入力させるという手間を省くことができます。

設定から

セキュリティで保護された出力をオンにします。

ここまでできれば環境変数を経由してフローを作詞制することができました。

テストを実行してみます。

出力に値は表示されませんが、問題なく実行することができました。

Power Automate フローの共有

このフローを実行専用のユーザーに共有してみます。

実行のみのユーザーを編集します。

以下のように設定します。

セキュリティグループ KVUser はKey Vault のシークレットユーザーの権限が与えられているEntra ID のセキュリティグループです。実際には皆さんの組織で利用しているセキュリティグループをご利用ください。Dataverse のバインドされたアクションへのアクセス権がない場合があるため、所有者の接続を利用しています。

KVUserに所属するユーザーから実行してみます。

ユーザーは接続を作成することなく実行することができました。

Key Vault コネクタを利用するときよりも、Key Vault 名を入力する手間がなく便利です。

以上、ご参考になれば幸いです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Index