🐻‍❄️

ユーザ割り当てマネージドIDを作成し、アプリケーションを紐づける

2024/08/19に公開

まえがき

前回の続き ですが、EntraIDに登録したアプリケーションをユーザ割り当てマネージドIDに紐づけます。

ユーザー割り当てマネージド ID を作成する

手順はこちら
https://learn.microsoft.com/ja-jp/entra/identity/managed-identities-azure-resources/how-manage-user-assigned-managed-identities?pivots=identity-mi-methods-azp#create-a-user-assigned-managed-identity

  1. ポータルの検索ボックスに『マネージド』と入力すると、[マネージドID]のメニューが出てくるので、選択します。
  2. [作成]または[マネージドIDの作成]をクリックします。
  3. 『サブスクリプション』『リソースグループ』『リージョン』『名前』を入力します。ここのリージョンは、マネージドIDの作成されるリージョンですが、グローバルに利用可能とのことなので、紐づけるアプリケーションがどこに存在していても問題ないみたいです。
  4. [確認と作成] をクリックして変更を確認します。
  5. [作成]をクリックします。

ユーザー割り当てマネージド ID へのアクセスを管理する

次に、作成したユーザー割り当てマネージド IDにRBAC ロールを割り当てます。
https://learn.microsoft.com/ja-jp/entra/identity/managed-identities-azure-resources/how-manage-user-assigned-managed-identities?pivots=identity-mi-methods-azp#manage-access-to-user-assigned-managed-identities

なお、ここに来る前に、Azure SQL Databse を作成しています。
https://zenn.dev/yukiko_bass/articles/31382c612a9a01

  1. メニューの [Azure ロールの割り当て]を選択します。
  2. [ロールの割り当ての追加]を選択します。
  3. [スコープ]でSQLを選択すると、サブスクリプション内にあるAzure SQL Database のリソースが選択できるようになります。ここでは『SQL DB 共同作成者』を選択しました。
  4. [保存]を選択します。
  5. ユーザー割り当てマネージドIDにSQL DB 共同作成者として、ロールが設定されました。

Read権限を持ったユーザー割り当てマネージドIDも同じ手順で作成します。

補足:Azure ロールの SQL DB Contributor(SQL DB共同作成者)とSQL Server Contributor(SQL Server共同作成者) の違いについて

SQLServerに不慣れなのもあって、サーバーとDatabaseの違いがわからなかったので、Copilotに聞いてみました。

以下、回答

データベースの管理操作と SQL サーバーの管理操作にはいくつかの違いがあります。以下にそれぞれの概要を示します:

データベースの管理操作(SQL DB Contributor)

  • データベースの作成と削除: 新しいデータベースの作成や既存のデータベースの削除を行います。
  • データベースの設定変更: データベースの設定や構成を変更します。
  • バックアップとリストア: データベースのバックアップを取得し、必要に応じてリストアを行います。
  • データベースの監視: データベースのパフォーマンスや状態を監視し、必要な調整を行います。

SQL サーバーの管理操作(SQL Server Contributor)

  • サーバーの設定変更: SQL サーバー全体の設定や構成を変更します。
  • サーバーの監視: サーバーのパフォーマンスや状態を監視し、必要な調整を行います。
  • セキュリティ管理: サーバー全体のセキュリティ設定を管理し、ユーザーやロールのアクセス権を設定します。
  • インスタンス管理: 複数のデータベースインスタンスの管理を行います。

まとめ

  • SQL DB Contributor: データベースレベルでの操作や管理を行います。
  • SQL Server Contributor: サーバーレベルでの操作や管理を行います。

なるほど🤔
ここでは、データベースレベルでいい(というかもっと権限を細かくしたい)ので、SQL DB共同作成者を選択しています。

ユーザー割り当てマネージドID を アプリケーションに割り当てる

あとは、アプリケーションと作成したユーザー割り当てマネージドIDを紐づけるだけです。
今回は Azure Functions と紐づけます。

  1. 紐づける Azure Functions の [設定] -> [ID] を選択します。
  2. [ユーザー割り当て済み]のタブを選択し、[+追加]か[ユーザー割り当てマネージドID] を選択します。
  3. 作成済みのユーザー割り当てマネージドIDが表示されるので、選択して、[追加]をクリックします。

おわりに

ここでは、ユーザー割り当てマネージドIDの作成と、RBACのロールの割り当てを行い、アプリケーションとの紐づけも行いました。
次は、それぞれ作成したユーザー割り当てマネージドIDにSQL Database のロールを付与します。

Discussion