🍇

AzureAppServiceの構成のアプリケーション設定に秘密鍵を登録する

2023/09/27に公開

手順

1. リソースの作成からKey Vaultを作成する

1

2. キーコンテナーを作成する。

2

3. アクセス制御に(IAM)から権限を付与する

シークレットを登録しようとすると「この操作はRBACで許可されていません。」と表示され登録できないのでアクセス制御(IAM)から登録できる権限を付与します。
3-1

  1. ロールの割り当ての追加を行います。
    3-2
  2. ロールはキーコンテナー管理者を選択しユーザを選択します。
    3-3

4. 秘密鍵を登録する

画面のシークレット > 生成/インポートから秘密鍵を登録しても正しく読み込んでもらえないのでAzureCLIで登録します。

  1. Azureにログインします。

    az login

  2. 秘密鍵のファイルを用意して登録します。

    ここではsecret.txtを用意しました。中身は----BEGIN PRIVATE KEY----- が1行目で最終行が----END PRIVATE KEY---—です。

    az keyvault secret set --vault-name "SharedConnectionKey" --name "APP-PRIVATE-KEY" --file "secret.txt"

  3. シークレットに—nameで指定したキーが登録されていれば成功です。
    4-3

  4. シークレット識別子をメモしておきます。
    4-4

5. アプリにキーを読み取る権限を付与する

  1. 状態をオンに変更します。
    5-1

  2. Azureロールの割り当てからアプリにキーを読み取る権限を付与します。
    5-2

6. AzureAppServiceの構成からアプリケーション設定を追加する

  1. アプリケーション設定から追加する
    6-1

  2. 先程4.4でメモしたシークレット識別子をSecretUri=の後に記載する
    @Microsoft.KeyVault(SecretUri=シークレット識別子)

    6-2

  3. OKで追加して構成を保存します。

  4. キーコンテナーの参照にチェックマークが付けば完了です。
    ※追加直後はiマークがついていて少し時間が経ってから更新するとチェックマークになります。
    6-3

参考リンク

Discussion