Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Azure AD Pod Identityについて

Azure AD Pod Identityについて

Azure Kubernetes×スタートアップ+Build速報 - MSTechNight #10のLTで
ご紹介させていただきました。

SSSSSSSSSSSSHHHHHHHHHH

June 11, 2020
Tweet

More Decks by SSSSSSSSSSSSHHHHHHHHHH

Other Decks in Technology

Transcript

  1. 今回の内容 ⚫ AAD Pod Identityを3ステップで理解する 3 1 ベースとなる知識 • Azure

    ADの”地味な”役割 • Service Principal • Managed ID 2 使い方 • ラベルを振ってURLを叩くだけ 3 実装例 • Application Gateway Ingress Controller • Azure Key Vault Provider for Secrets Store CSI Driver
  2. まとめ Azure AD Pod Identityの役割 9 AKS上で動くアプリケー ションのためのID/認証サ ポート基盤 AKS上で動くアプリケーショ

    ンからパスワードなしに Azure上のリソースに安全に アクセスできるようにする
  3. 使い方(準備編) 11 1. AKSにAAD Pod Identityをデプロイする 2. マネージドIDをAzureに作成する 3. AzureIdentity,

    AzureIdentityBindingと呼ば れるCRDファイル※をデプロイする ※PodとマネージドIDの紐づけ情報を提供します 4. マネージドIDを使用したいアプリケー ションのPodにラベルをつける
  4. 例: Podのマニフェストファイル 12 apiVersion: v1 kind: Pod metadata: name: demo

    labels: aadpodidbinding: $IDENTITY_NAME spec: containers: - name: demo (以下略)
  5. 使い方(アプリケーション側) 13 Azure Blob Storage AIMS 1. Azure Instance Metadata

    service endpoint にリクエストを投げる ※http://169.254.169.254/metadata/identit y/oauth2/token 1 2 3 Azure Blob Storageにアクセスする 2. Azure ADの認証トークン を取得する 3. 認証トークンをヘッダーに乗せて BlobStorageにアクセスする
  6. 実装例1: Application Gateway Ingress Controller ⚫ AzureのManaged WAFであるApplication GatewayをAKSのIngress Controllerとして

    使用できるようにする 15 参考: https://github.com/Azure/application-gateway-kubernetes-ingress ここでAzure AD Pod Idenitityが使 用されている
  7. 実装例2: Azure Key Vault Provider for Secrets Store CSI Driver

    ⚫ Azure Key Vaultに安全にアクセスして秘匿情 報を取得するためのCSIドライバー ⚫ Azure Key Vaultにアクセスする認証方法とし てServicePrinicipalの代わりにAAD Pod Identityが選択できる ⚫ 絶賛開発中ですが気になる方は下記URLに動 作手順が記載されているのでご覧ください https://github.com/Azure/secrets-store-csi- driver-provider-azure/blob/master/docs/pod- identity-mode.md 16
  8. まとめ AAD Pod IdentityとはAKS上で動くアプリケーション からパスワードを必要とせずにAzure上のリソース に安全にアクセスできるようにするための仕組み 17 1 ベースとなる知識 (Service

    Principal, Managed ID) 2 使い方 • ラベルを振ってURLを叩くだけ 3 実装例 • Application Gateway Ingress Controller • Azure Key Vault Provider for Secrets Store CSI Driver
  9. 参考文献 18 ⚫ AAD Pod IdentityのGitHubウェブサイト https://github.com/Azure/aad-pod-identity ※開発元プロジェクト ⚫ AAD

    Pod Concept Design https://github.com/Azure/aad-pod- identity/blob/master/docs/design/concept.png ⚫ Pod Identity(MS Azureチームによる技術ブログ) https://medium.com/microsoftazure/pod-identity-5bc0ffb7ebe7 ※“How does it work?” がシンプルに内部で行っている処理を開設し ている ⚫ Azure Kubernetes Service の Machine Learning Web サービスで Azure AD ID を使用する https://docs.microsoft.com/ja-jp/azure/machine-learning/how-to- use-azure-ad-identity ※具体的にアプリケーションにどうやって実装すればいいかわかり やすい。Microsoft SDKを利用している場合、いい感じに処理が隠蔽 されていることがわかる。 ⚫ https://github.com/Azure/AKS/issues/1480