Open1

キーコンテナー(Key Vault)

しみゆーしみゆー

🌟キーコンテナ

英語では、Key Vaultとも。どちらも同じ意味として認識してよい。

  • キー
  • シークレット
  • 証明書

などの秘匿情報を管理するサービス

キー

データ暗号化に使用する暗号化キーを作成する。アクセス管理もできる

シークレット

キーバリュー形式で秘匿情報を格納する。アクセスも管理できる

証明書

TLS/SSLで利用する証明書を管理する

🌟キーコンテナの使い方

シークレットでSQLサーバの接続文字列を管理するときの概略

  • 接続文字列をシークレットに登録しておく
  • VMからキーコンテナにアクセスするために、マネージドID作成する
  • 作成したマネージドIDをVMに付与する
  • キーコンテナ側で、マネージドIDへアクセス許可の設定を行う
    • 指定したVMのみキーコンテナにアクセスできるようになった
  • VMからキーコンテナにアクセスして、接続文字列を取得
  • その接続文字列をもって、SQLサーバにアクセスする

キーコンテナの作成方法

  • 基本
    • Key Vault名
    • 地域
    • 価格レベル
    • 削除されたコンテナーを保持する日数:7~90で選択できる
  • ネットワーク
    • 接続方法
      • プライベートエンドポイントを選択するとキーコンテナへの設定がPortal上からできなくなる
      • ここでは、選択されたネットワークを使用
    • 仮想ネットワーク(既存を選ぶか新規作成か)

シークレットの作成

作成の前に

デフォルトだと、キーコンテナ作成時に設定した仮想ネットワークからのみアクセスが可能となっている。そのため、Azure Portalからシークレット等を作ることができない。

“ネットワーク” → ファイアウォールのIPアドレス → 自分のローカルマシンのIPアドレスを入力 → 保存

これで、シークレット等の作成ができる。

シークレットの作成

シークレットとして管理したい情報をキーバリュー形式で保存していく。

  • アップロードオプション
  • 名前(キーとなる値)
  • 値(バリュー)

🌟マネージドID

マネージドIDの作成

  • 基本
    • サブスクリプション、リソースグループ、リージョン
    • 名前

仮想マシンにマネージドIDを付与する

  • ユーザー割当済を選択
  • 追加ボタン
  • サブスクリプションごとに作成されているマネージドIDが表示されるので、その中から選択

🌟キーコンテナヘのアクセスを管理する

  • 該当のキーコンテナのページに行く
  • 設定→アクセスポリシーを表示
    • アクセスポリシーの追加
    • キー、シークレット、証明書、それぞれに取得や一覧表示、作成、削除等の操作ごとに権限を付与・削除できる
    • プリンシパルの選択
      • ここでマネージドIDを選択する

この設定をすることで、このマネージドIDに対して、アクセス許可が設定される。

この後、このマネージドIDを付与されているVMがここで許可された操作ができるようになる。