Azure Container AppsとDapr -Secrets API対応とManaged IDサポートについて-

2.8K Views

October 14, 22

スライド概要

profile-image

SIer所属のインフラ屋さんです

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Azure Container AppsとDapr - Secrets API対応とManaged IDサポートについて 2022/10/14 GEEKERS NITE #1 SHUNSUKE YOSHIKAWA

2.

自己紹介 Shunsuke Yoshikawa Twitter: https://twitter.com/ussvgr Qiita: https://qiita.com/ussvgr ⚫ 所属: 株式会社エーピーコミュニケーションズ ⚫ 普段の仕事: Azure×コンテナ中心のインフラ構築(AKSとかContainer Appsとか) ⚫ 愛知県在住(Microsoft Ignite 2022とコレのために出張してきました) ⚫ 会社のブログにAzureネタを書いてます APC技術ブログ(https://techblog.ap-com.co.jp/)

3.

Ignite 2022、ご覧になられましたか?

4.

いろいろなアップデートが発表されました https://news.microsoft.com/ignite-2022-book-of-news/ja/

5.

Book of Newsには載ってなかったけど… https://azure.microsoft.com/en-us/updates/generally-available-dapr-secrets-api-support/ https://azure.microsoft.com/en-us/updates/generally-available-dapr-support-for-managedidentity-in-azure-container-apps/

6.

Dapr secrets API Support Azure Container AppsのDaprでsecrets APIが使えるようになった。 保管された秘匿情報に対しDaprからアクセスできるようになる。 主な対応サービスは以下のとおり。 ⚫ GCP Secret Manager ⚫ AWS Secret Manager ⚫ HashiCorp Vault ⚫ Azure Key Vault

7.

Dapr support for Managed Identity Azure Container AppsのDaprからAzureリソースにアクセスする際に マネージドIDを使って認証できるようになった。 Daprの定義として個々のリソースに対する認証情報を設定しなくても、 対象のリソースに接続できるようになる。

8.

こんなことができるな…? Azure Key Vaultにお手軽にアクセスできる平和な世界 Azure Container Apps アプリケーション コンテナ シークレットを要求 マネージドIDで認証し シークレットを取得

9.

試してみよう まずは環境づくり # リソース名とリージョンの定義 rgName=rg-sample location=japaneast caeName=cae-sample kvName=kvdaprmanagedidtest # リソースグループ作成 az group create --location $location --name $rgName # Container Apps環境作成 az containerapp env create -n $caeName -g $rgName -l $location # Key Vault作成 az keyvault create -n $kvName -g $rgName -l $location

10.

試してみよう Container Apps用のDapr定義ファイルは以下のとおり。 Key Vaultの情報は名前のみで、 認証に関する情報が含まれていないことに注目! componentType: secretstores.azure.keyvault version: v1 metadata: - name: vaultName value: kvdaprmanagedidtest az containerapp env dapr-component set -n $caeName -g $rgName ¥ --dapr-component-name azurekeyvault --yaml azurekeyvault.yaml

11.

試してみよう DaprとマネージドIDを有効化したContainer Appsを作成する acaName=aca-sample az containerapp create -n $acaName -g $rgName ¥ --environment $caeName --system-assigned ¥ --enable-dapr ¥ --dapr-app-id sampleapp ¥ --image nginx:latest

12.

試してみよう Key Vaultにシークレットを作成する az keyvault secret set --vault-name $kvName ¥ --name testSecret --value 'This is Test Value!'

13.

試してみよう Key VaultのアクセスポリシーでContainer AppsのマネージドIDに シークレットの取得 権限を付与する

14.

試してみた アプリケーションコンテナから以下のエンドポイントにアクセスすることで Key Vault内のシークレットの値を読み出すことができた! curl http://localhost:${DAPR_HTTP_PORT}/v1.0/secrets/azurekeyvault/testSecret {"testSecret":"This is Test Value!"}

15.

まとめ ⚫ 認証情報を持たせることなく、 安全に秘匿情報を扱える素敵な世界が実現できた。 ⚫ Azure Container Apps+Daprで 扱えるリソースが増えたのがうれしい。 ⚫ Igniteでは他にもたくさんアップデートがあったので、 「あなたの一推し」を教えてください!

16.

Thank You!