まえがき
Azure SQL を構築するため、認証方法の検討を行っています。
その際に、この Azure SQL を使用した Microsoft Entra サービス プリンシパル の方法を試したかったので備忘録として残しておきます。
この記事は、Microsoft Entra ID に登録されているアプリケーションに適用されます。
とあったので、この記事では Microsoft Entra ID にアプリケーションを登録します。
アプリケーションを登録することにより、クライアントIDが見えるようになるため、クライアントIDを用いて、ユーザ割り当てマネージドIDに登録することができます。
(昔はCLIからじゃないと見れなかったような気がしたけど、ポータルでできるようになったんですね。)
手順は以下のページのままできそうです。
https://learn.microsoft.com/ja-jp/azure/healthcare-apis/register-application
新しいアプリケーションを登録する
今回は、Azure Functions アプリを登録する想定です。
- 管理者権限を持ったユーザで、ポータルから Entra ID のページに行きます。
- [管理] -> [アプリの登録] をクリック
- [新規登録]を選択します。
- 名前を入力し、[サポートされているアカウントの種類] で、[この組織のディレクトリ内のアカウントのみ] を選びます。[リダイレクトURI] はWebを選択して、URIは空にしておきます。
- [登録] をクリックします。
アプリケーション ID (クライアント ID)
[概要] のページに行くと、アプリケーションID(クライアントID)を表示することができます。
このIDを用いてユーザ割り当てマネージドIDを作成して登録するので、値をコピーしておきます。
認証設定: 機密かパブリックか
今回はバックエンドアプリなので、機密アプリとして扱います。
- [概要] にある [証明書またはシークレットの追加] リンクをクリックします。
- [新しいクライアントシークレット] をクリックします。
- 説明と有効期限を選択します。有効期限は 6か月が推奨です。3か月、12 か月、24 か月、カスタムの開始日と終了日が他に選べます。
- 作成したら、[値] をコピーします。作成直後じゃないと表示されないので注意
ユーザー割り当てマネージドIDとか使う場合はこのクライアントシークレットはいつ使われるんだろう?🤔
おわりに
次は、ユーザ割り当てマネージドIDの作成と、アプリケーションとの紐づけ、Azure SQL の構築などを行います。
Discussion