Key Vault でシークレットとキーを管理し RBAC でアクセス制御する

Key Vault を RBAC 認可モードで作成し、自分に Key Vault Administrator ロールを割り当ててシークレット 2 件とキー 1 件を管理します。CLI での取得からローテーションまでを一通り体験します。

中級50Azure 実環境

ラボ概要

アプリケーションが使うデータベースのパスワードや API キーをソースコードや設定ファイルに直接書いてしまうと、漏えいや更新漏れの原因になります。Azure Key Vault は、こうした機密情報(シークレット)や暗号化キーを一元管理するためのマネージド サービスです。アプリケーションは実行時に Key Vault から値を取得するだけになり、資格情報の更新も Key Vault 側で完結します。

このラボでは、Key Vault を推奨方式である Azure RBAC 認可モードで作成します。RBAC モードでは、Key Vault を作成した本人でもロールを割り当てるまで中身にアクセスできません。実際に権限エラーを体験してから自分に Key Vault Administrator ロールを割り当てることで、コントロールプレーン(リソースの管理)とデータプレーン(シークレットやキーへのアクセス)の権限が分離されていることを確認します。その後、シークレット 2 件と RSA キー 1 件を作成し、CLI での取得とローテーション(バージョン追加)まで一通り操作します。

Key Vault のアクセス制御は AZ-500 の中心的なトピックであり、AZ-104 でも RBAC によるアクセス管理として出題される領域です。試験対策としてだけでなく、実務でのシークレット管理の基本形をそのまま身に付けられる内容にしています。

学習目標

  • Key Vault を RBAC 認可モードで作成し、アクセス ポリシー方式との違いを説明できる
  • コントロールプレーンとデータプレーンの権限分離を、権限エラーの実体験を通じて理解する
  • リソース スコープを限定して Key Vault Administrator ロールを割り当てられる
  • az CLI でシークレットの作成・取得・一覧表示ができる
  • RSA キーを作成し、シークレットとキーの用途の違いを説明できる
  • シークレットとキーのローテーションを実行し、バージョン管理の動作を確認できる

前提

  • Azure ポータルにサインイン済みであること(サンドボックス環境の資格情報を使用します)
  • 作成するリソースはすべて japaneast リージョンに配置します
  • 作業は割り当て済みのサンドボックス リソースグループ 1 つの中だけで行います。新しいリソースグループの作成や、サブスクリプション設定の変更はできません
  • 操作は主に Azure Cloud Shell (Bash) の az CLI で行います。事前のツール インストールは不要です

ラボの構成

  1. 1Cloud Shell を起動して変数を準備する
  2. 2Key Vault を RBAC 認可モードで作成する
  3. 3自分に Key Vault Administrator ロールを割り当てる
  4. 4シークレットを 2 件作成する
  5. 5暗号化キーを作成する
  6. 6シークレットを取得しローテーションする
  7. 7(任意)Key Vault にタグを付与する
  8. 8動作確認
  9. 9完了チェックリスト
  10. 10後片付け

詳細な手順は、ラボ開始後に画面内のガイドとして表示されます。

構成図

参考リソース