LoginSignup
5
2

Power AutomateでAzure Key Vaultを活用しよう Part. 1 - コンテナーのアクセス ポリシー

Last updated at Posted at 2023-10-09

はじめに

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

  1. Azure Portalで[ Key Vault ]にアクセス
  2. リソース「Key Vault」の作成
    • 命名はご自身で規則性をつけて管理することをお勧めします
  3. タブ [アクセス構成]に移動
    • ここでは他のすべてを標準のままにし、「次へ」

image.png

※👆Key Vaultのリソースです

アクセス許可モデルは2つ存在します。

  • Azure ロールベースのアクセス制御 (推奨)
  • コンテナーのアクセス ポリシー

コンテナーのアクセス ポリシー

この記事で解説するアクセス許可モデルコンテナーのアクセス ポリシーです。

image.png

選択すると、自分のアクセスポリシーが存在します。

image.png

こちらはAzureに登録された自身のアドレスの特権になります。

自分でアクセス ポリシーを設定する場合、
アクセス ポリシーにて[+ 作成] をクリックすると、新しいアクセス ポリシーが作成できます。
image.png

[シークレットのアクセス許可] > [シークレットの管理操作]
こちらの画面で登録したシークレットに許可する操作を定義できます。

image.png

[ 次へ ]をクリックすると[ プリンシパル ]の設定に移ります。

これは「誰にアクセス権を与えるか?」設定する画面です。
image.png

検索して、Azure Portalに登録している自分のメールアドレスで定義をしてみます。

アプリケーション (省略可能)の部分はスキップしました。

[ ネットワーク ]と[ タグ ]の部分はスキップして、リソースを作成します。

デプロイは数秒で完了します。
完了次第、[リソースに移動]をクリックしましょう。

キーコンテナー

メニューの[オブジェクト] から[シークレット]を選択します。
[+ 生成/インポート]をクリックすると秘密情報を追加できます。

image.png

アップロード オプションは

  • 手動
  • 証明書

の二種類。

手動で追加する画面は下記のとおりです。
image.png

  • 名前Key
  • シークレット値Value

テスト用に

  • key = "Hello"
  • value = "Hello world!"

と設定した値をPower Automateで使ってみます。

Power Automateで使用する

さて、ここからPower Automateに移ります。
まずはAzure Key Vaultとの接続を作成します。

Power Automateを開き、[ 接続 ]に移りましょう。

デフォルトではPower Automateの画面に[ 接続 ]は表示されていません。

詳細 > 接続とクリックしていきます。

image.png

  1. [ + 新しい接続 ]をクリック
    image.png
  2. [ Azure Key Vault ]を選択 - コネクタの数は膨大なので検索で絞ったほうが速いです
    image.png

接続方法

二種類の接続方法が存在します。

  • Default Azure AD application for OAuth
  • Service principal authentication

今回は(非推奨)ですがDefault Azure AD application for OAuthの方法で接続を作成します。

Default Azure AD application for OAuth

  1. Key Vaultの名前を入力する
    image.png
  2. Azureのアカウントでサインイン

手早く済んでしまいますが、非推奨のようです
Azure Key Vault

3. 挙動を確認する

Power Automateのインスタント クラウド フローで挙動を確認してみます。
Azure Key Vaultコネクタから値を取得します。

image.png

👆先ほど登録したKey値の名前が選択肢として出現します。

[ 作成 ]アクションに格納するフローにして実行すると・・・

image.png

🎉上手くできました!

Advance

さらに右上の[...]から[ 設定 ]に移ってみます。

image.png

メニューに

  • セキュリティで保護された入力
  • セキュリティで保護された出力

と出てきます。

image.png

  • セキュリティで保護された入力
    • 名前(name)を伏せることができる
  • セキュリティで保護された出力
    • 値(key)を伏せることができる

上記を両方ともオンに変更した場合、
image.png

機密情報が伏せられるようになりました!
とーっても便利ですね! 気に入りました!

しかし今回紹介したのは、非推奨の部分が多いので、
別の機会に「Azure ロールベースのアクセス制御 」について検証し、書き記したいと思います!

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2