御成門プログラマーの技術日記

Microsoft AzureやAngularなどの技術情報を発信します。

Azure Key Vault でアクセスポリシーをつかったアクセス構成が廃止されているのでアクセス制御(IAM)を使った制御を考える

Azure Key Vault のアクセスポリシー機能がAzure Portal から新規作成したリソースで使えなくなっていたので、新しいアクセス設定方法(代替手段)のロールベースのアクセス制御を利用した方法を改めて紹介します。

新規作成した Azure Key Vault のアクセスポリシー機能が利用できなくなりました

ある日、新しく Azure Key Vault を作っていました。アクセスポリシーのメニューからページに遷移すると、「アクセスポリシーを利用できません」の文字が。

前々から言われていましたが、ついにAzure Key Vaut のアクセスポリシー機能がなくなり、RBACによるアクセス制御に移行したようですね。
ちなみに既存で作成され、アクセスポリシーを使用しているリソースについては、現在のところまだアクセスポリシーの設定が可能なようです。

Azure のロールベースアクセス制御(RBAC)を使用してKey Vault のアクセス制御を行う

ロールベースのアクセス制御を用いた Azure Key Vault のアクセス制御方法については公式ページで紹介されているのでそちらを参照いただければと思います。
Azure RBAC を使用して Azure キー コンテナーへのアクセス許可をアプリケーションに付与する | Microsoft Learn

Key Vault 操作用のAzure組み込みロールも上記ページで紹介されていますが、こちらでも紹介します。日本語でポータルを使用しているとロール名も日本語になっているので紐づけやすいように日本語ロール名も併記しておきます。

ロール名(英語) Portal上の日本語での表記 説明
Key Vault Administrator キー コンテナー管理者 証明書、キー、シークレットの操作が可能。ロールの付与は不可
Key Vault Reader キー コンテナー閲覧者 証明書、キー、シークレットのメタデータの閲覧が可能。機密値は読み取り不可
Key Vault Certificates Officer キー コンテナー証明書責任者 アクセス管理以外の証明書の操作が可能
Key Vault Certificate User Key Vault Certificate User(なぜかポータルで英語のまま) 証明書の内容を読み込み可能
Key Vault Crypto Officer キー コンテナー暗号化責任者 アクセス管理以外のキーの操作が可能
Key Vault Crypto Service Encryption User キー コンテナー暗号化サービスの暗号化 キーのメタデータの閲覧、折り返しと折り返し解除が可能
Key Vault Crypto User キー コンテナー暗号化ユーザー キーを使用した暗号化操作が可能
Key Vault Crypto Service Release User Key Vault Crypto Service Release User(英語のまま) キーのリリースが可能です。
Key Vault Secrets Officer キー コンテナー シークレット責任者 アクセス許可以外のシークレットの操作が可能
Key Vault Secrets User キー コンテナー シークレット ユーザー シークレットの閲覧が可能
Key Vault Data Access Administrator Key Vault データ アクセス管理者 上記のKey Vault ロールの割り当てが可能

おおまかに言うとユーザー(User)が閲覧者で、責任者(Officer)が登録、変更、削除などの操作が可能な権限ですね。

ロールの付与の方法ですが、通常のAzure Portal のアクセス制御(IAM)からロールをユーザーやグループ、サービスプリンシパル単位に設定するだけで可能です。 Key Vault の特性上、マネージドIDへの付与を行い、他のAzureリソースからの許可も行うことが多いと思いますが、アクセス制御(IAM)から割り当てが可能です。

いつもどおりのロール付与の画面のため説明はいらないかなと思います

ロールを付与すると、アクセスポリシーのとき同様、付与されたアクセス権限の内容を行使できるようになると思います。以上がAzure Key vault のアクセスポリシーを使ったアクセス制御の方法でした。