3
2

[Azure] マネージド ID のトークンをみてみよう

Last updated at Posted at 2024-07-25

こんにちは、アーキテクトのやまぱんです。
補足コメントや質問、いいね、拡散、是非お願いします🥺!
間違ってたら優しく教えてください!

きっかけ

マネージド ID の トークンの中身がみれるらしいので見てみましょう

トークンの内容をみてみよう

トークンはBASE64でエンコードされているので、以下のMicrosoft(マイクロソフト)が運営しているサイトでデコードして人が読める形で確認可能。
このサイトは主にAzure AD(Azure Active Directory)やMicrosoftの認証サービスを利用する開発者向けに、JWT(JSON Web Token)のデコードおよびデバッグツールを提供しています。

JWT(JSON Web Token)をデコードし、その内容を表示するためのWebサイトです。以下の機能を提供します。

  • JWTのデコード: JWTを入力すると、そのヘッダー、ペイロード、署名をデコードして表示します。
  • クレームの確認: デコードされたJWTのクレームを確認し、トークンに含まれている情報を簡単に閲覧できます。
  • エラーの特定: 不正なJWTやエラーがある場合、それを識別し、どの部分に問題があるかを示します。

実際のトークンを載せるのは良くないのでまずはサンプル

MS Learn にあるサンプルを使います。

jwt
eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Imk2bEdrM0ZaenhSY1ViMkMzbkVRN3N5SEpsWSIsImtpZCI6Imk2bEdrM0ZaenhSY1ViMkMzbkVRN3N5SEpsWSJ9.eyJhdWQiOiJlZjFkYTlkNC1mZjc3LTRjM2UtYTAwNS04NDBjM2Y4MzA3NDUiLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC9mYTE1ZDY5Mi1lOWM3LTQ0NjAtYTc0My0yOWYyOTUyMjIyOS8iLCJpYXQiOjE1MzcyMzMxMDYsIm5iZiI6MTUzNzIzMzEwNiwiZXhwIjoxNTM3MjM3MDA2LCJhY3IiOiIxIiwiYWlvIjoiQVhRQWkvOElBQUFBRm0rRS9RVEcrZ0ZuVnhMaldkdzhLKzYxQUdyU091TU1GNmViYU1qN1hPM0libUQzZkdtck95RCtOdlp5R24yVmFUL2tES1h3NE1JaHJnR1ZxNkJuOHdMWG9UMUxrSVorRnpRVmtKUFBMUU9WNEtjWHFTbENWUERTL0RpQ0RnRTIyMlRJbU12V05hRU1hVU9Uc0lHdlRRPT0iLCJhbXIiOlsid2lhIl0sImFwcGlkIjoiNzVkYmU3N2YtMTBhMy00ZTU5LTg1ZmQtOGMxMjc1NDRmMTdjIiwiYXBwaWRhY3IiOiIwIiwiZW1haWwiOiJBYmVMaUBtaWNyb3NvZnQuY29tIiwiZmFtaWx5X25hbWUiOiJMaW5jb2xuIiwiZ2l2ZW5fbmFtZSI6IkFiZSAoTVNGVCkiLCJpZHAiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMjIyNDcvIiwiaXBhZGRyIjoiMjIyLjIyMi4yMjIuMjIiLCJuYW1lIjoiYWJlbGkiLCJvaWQiOiIwMjIyM2I2Yi1hYTFkLTQyZDQtOWVjMC0xYjJiYjkxOTQ0MzgiLCJyaCI6IkkiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJsM19yb0lTUVUyMjJiVUxTOXlpMmswWHBxcE9pTXo1SDNaQUNvMUdlWEEiLCJ0aWQiOiJmYTE1ZDY5Mi1lOWM3LTQ0NjAtYTc0My0yOWYyOTU2ZmQ0MjkiLCJ1bmlxdWVfbmFtZSI6ImFiZWxpQG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJGVnNHeFlYSTMwLVR1aWt1dVVvRkFBIiwidmVyIjoiMS4wIn0.D3H6pMUtQnoJAGq6AHd

↑をコピー&ペーストします。
以下のように確認可能です。
image.png

実際のマネージド ID のアクセストークン を見てみる

#すきやねんAzure のセッションの中ではこちらのPowerShellでトークンを取得して、実際のトークンを使ってデコードしてました。
https://github.com/hiyoshino/Sukiyanen_ManagedID/blob/main/scripts/demoscript3.ps1

上記をベースに以下のスクリプトを作成

# Set the resource URL
$resource = "https://management.azure.com/"

# Construct the IMDS URL
$authuri = "http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=" + $resource

# Get the token from IMDS
$authContext = Invoke-WebRequest -Uri $authuri -Method GET -Headers @{Metadata="true"}

# Extract the token from the response
$authResponse = $authContext.Content | ConvertFrom-Json
$accessToken = $authResponse.access_token

# Display the access token
$accessToken
  • 実行イメージ
    Azure VM であることがわかるように DNS サフィックスも表示しています。
    image.png

得られたトークンを https://jwt.ms/ に張り付けて、確認

参考までに下記のような情報が確認できます。
image.png

以上!

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2