はじめに
Power AutomateでコネクタもといAPI活用によって、APIキーなど極秘情報の管理に苦労することが多くあります。
アクション 「変数を初期化する」 に入力しておくことも、果たしていいのだろうか・・・と不安に感じることもあります。
この課題を Azure Key Vault の活用で、その負担軽減に繋がると知ったので、
備忘録としてQiitaを残します。
Azure Key Vaultとは
Azureの主要な管理ソリューションです。
機能 | 詳細 |
---|---|
シークレットの管理 | Azure Key Vault を使用すると、トークン、パスワード、証明書、API キー、その他のシークレットを安全に格納し、それらへのアクセスを厳密に制御できます。 |
キー管理 | Azure Key Vault は、キー管理ソリューションとして使用できます。 Azure Key Vault により、データの暗号化に使用される暗号化キーの作成と制御が簡単になります。 |
証明書の管理 | Azure Key Vault では、Azure および内部の接続されているリソースで使用するためのパブリックおよびプライベートの Transport Layer Security/Secure Sockets Layer (TLS/SSL) 証明書を簡単にプロビジョニング、管理、デプロイできます。 |
Step
- Azure Portalで[ Key Vault ]にアクセス
- リソース「Key Vault」の作成
- 命名はご自身で規則性をつけて管理することをお勧めします
- タブ [アクセス構成]に移動
- ここでは他のすべてを標準のままにし、「次へ」
※👆Key Vaultのリソースです
アクセス許可モデルは2つ存在します。
- Azure ロールベースのアクセス制御 (推奨)
- コンテナーのアクセス ポリシー
コンテナーのアクセス ポリシー
この記事で解説するアクセス許可モデルはコンテナーのアクセス ポリシーです。
選択すると、自分のアクセスポリシーが存在します。
こちらはAzureに登録された自身のアドレスの特権になります。
自分でアクセス ポリシーを設定する場合、
アクセス ポリシーにて[+ 作成] をクリックすると、新しいアクセス ポリシーが作成できます。
[シークレットのアクセス許可] > [シークレットの管理操作]
こちらの画面で登録したシークレットに許可する操作を定義できます。
[ 次へ ]をクリックすると[ プリンシパル ]の設定に移ります。
検索して、Azure Portal
に登録している自分のメールアドレスで定義をしてみます。
アプリケーション (省略可能)の部分はスキップしました。
[ ネットワーク ]と[ タグ ]の部分はスキップして、リソースを作成します。
デプロイは数秒で完了します。
完了次第、[リソースに移動]をクリックしましょう。
キーコンテナー
メニューの[オブジェクト] から[シークレット]を選択します。
[+ 生成/インポート]をクリックすると秘密情報を追加できます。
アップロード オプションは
- 手動
- 証明書
の二種類。
-
名前
がKey -
シークレット値
がValue
テスト用に
- key = "Hello"
- value = "Hello world!"
と設定した値をPower Automateで使ってみます。
Power Automateで使用する
さて、ここからPower Automate
に移ります。
まずはAzure Key Vaultとの接続を作成します。
Power Automateを開き、[ 接続 ]に移りましょう。
デフォルトではPower Automateの画面に[ 接続 ]は表示されていません。
詳細 > 接続とクリックしていきます。
接続方法
二種類の接続方法が存在します。
- Default Azure AD application for OAuth
- Service principal authentication
今回は(非推奨)ですがDefault Azure AD application for OAuth
の方法で接続を作成します。
Default Azure AD application for OAuth
手早く済んでしまいますが、非推奨のようです
Azure Key Vault
3. 挙動を確認する
Power Automateのインスタント クラウド フローで挙動を確認してみます。
Azure Key Vaultコネクタから値を取得します。
👆先ほど登録したKey値の名前が選択肢として出現します。
[ 作成 ]アクションに格納するフローにして実行すると・・・
🎉上手くできました!
Advance
さらに右上の[...]から[ 設定 ]に移ってみます。
メニューに
- セキュリティで保護された入力
- セキュリティで保護された出力
と出てきます。
- セキュリティで保護された入力
- 名前(name)を伏せることができる
- セキュリティで保護された出力
- 値(key)を伏せることができる
機密情報が伏せられるようになりました!
とーっても便利ですね! 気に入りました!
しかし今回紹介したのは、非推奨の部分が多いので、
別の機会に「Azure ロールベースのアクセス制御 」について検証し、書き記したいと思います!