初めてのAzure REST API(PostmanやREST API ブラウザー)

Azure,Resource Group

Azureのリソース操作方法にはAzure PortalやAzure PowerShell、Azure CLIがあります。
それ以外にもAzure REST APIを使う事でAzureのリソース操作が出来ます。

今回はAzure REST APIの操作をブラウザとPostmanを利用して実施してみました。
Postman利用した場合では、Azure ADでのサービスプリンシパル作成、Postmanセットアップ、アクセストークン取得、Azureリソースまで一連の流れを纏めてます。
Azureリソース操作の例は、リソースグループ一覧取得としています。

※PostmanはWebAPI開発用ツールです。Token設定、APIエンドポイントへのリクエスト送信、レスポンスまでが利用ができます。

スポンサーリンク

REST APIブラウザーを使ってAzureリソースを操作

REST APIブラウザーを使ってリソースグループの一覧を取得します。

Azure REST APIの概要

Azure REST API(Azure Representational State Transfer API)とは、Azure の各サービスごとに用意されている REST API です。
Azure REST APIを使ってAzureリソースの操作が出来ます。

Azure REST API リファレンス
Azure REST API を使ってみよう

仮想マシン(Azure VM)を例にとると、作成、起動、停止、削除、設定変更と言った一通りの操作が可能です。

Azure REST APIリファレンス(Virtual Machines)

仮想マシン(Azure VM)のREST APIリファレンスを見ると、各種操作が用意されている事が分かります。

Virtual Machines

ブラウザでAzure REST APIを利用可能

REST APIブラウザーが提供されています。
AzureリソースをREST APIブラウザーを使って操作出来ます。

REST API ブラウザー
「Try It」を使用する方法

REST API ブラウザーを使ってみる

REST APIブラウザーを使ってリソースグループの一覧を取得してみます。

REST APIブラウザー

REST API ブラウザー(https://learn.microsoft.com/ja-jp/rest/api/ )にアクセスします。
Azureを選択します。

Azure REST APIリファレンス一覧が表示されます。

操作内容(対象リソース)に応じて選択します、
リソースグループのリスト表示の場合は、Resource Management サービスを選択します。

※選択サービス名が分からない場合は何か選択してAzure REST API reference検索からでも選択出来ます。

Azure REST API referenceが表示されます。
Azure Resource Managerが選択されています。

Resource Groupsを選択します。

Resource Groupsが表示されます。
一覧表示を行うのでListを選択します。
Resource Groups – Listが表示されます。
Try ITを選択します。

ログイン画面が表示されますのでサインインします。

※間違ったテナントやサブスクリプションを選択して意図しない操作をしない為に、InPrivate ブラウザー等での操作が推奨されています。

Request URLが表示されます。
サブスクリプションを確認しRunを選択します。

※パラメータも指定可能です。リファレンスを参照して設定します。

APIが完了すると結果が表示されます。
Bodyにリソースグループのリストが取得出来ています。

※正常終了時はResponseコードが200となります。

事前準備

Azure REST APIを実行時にはAzure AD(サービスプリンシパル)認証を使います。
事前準備としてAzure ADでサービスプリンシパルを作成・権限付与しています。

    • サービスプリンシパル作成
      • Azure ADでアプリの登録を実施
      • クライアントシークレット作成
      • 権限付与

Postmanを利用しますのでダウンロードしてインストールしています。
設定からトークン取得にあたってはMS社の公式サイトを参考に進めました。

Azure AD 認証を使用して REST で Media Services API にアクセスする

サービスプリンシパルを作成

Azure ADでアプリの登録を行います。

サービスプリンシパル作成
Azure ADのリソースメニューでアプリの登録を選択します。
新規登録を選択します。

アプリケーションの登録設定画面です。
名前とサポートされているアカウントの種類を選択します。
今回名前は”REST-API-Login-TEST”としています。

※リダイレクトURIは省略しても問題ないです。

アプリの登録画面に表示されている事が確認出来ます。
作成したアプリケーションを選択するとトークン取得時に利用するクライアントIDを確認する事が出来ます。

クライアントシークレットの追加

アクセストークン取得時にクライアントシークレットが必要になります。

クライアントシークレット設定
作成したアプリを選択します。
証明書とシークレットを選択します。
新しいクライアントシークレットを選択します。
説明と有効期限を設定した後に追加を選択します。

クライアントシークレットが確認出来ます。

※シークレット値はアクセストークン取得時に利用します。

※セキュリティ的な観点からシークレット値の取り扱いについては注意願います。

アクセス制御設定

サービスプリンシパル(アプリ)に対してAzureリソース操作に必要な権限を付与します。
今回はサブスクリプションに対して閲覧者権限を付与しています。

アクセス制御設定
サブスクリプションのアクセス制御(IAM)でロールの割り当ての追加を選択します。
ロールのタブでは権限を指定します。
閲覧者を選択します。
メンバーに作成したサービスプリンシパルを指定します。
メンバーに指定したサービスプリンシパルが表示されている事を確認します。
レビューと割り当てを選択します。

ロール、スコープ、メンバーを確認しレビューと割り当てを選択します。

  • ロース:閲覧者
  • スコープ:サブスクリプション
  • メンバー:作成したサービスプリンシパル名(REST-API-Login-TEST)
アクセス制御(IAM)を確認すると作成したサービスプリンシパル(REST-API-Login-TEST)が表示されています。

Postmanインストール

Postmanをダウンロード、インストールします。

Postmanインストール
Download PostmanからPostmanをダウンロードします。

ダウンロードしたexeファイル(Postman-win64-Setup.exe)をダブルクリックすると自動的にインストールされます。
インストールが完了するとサインイン画面が表示されます。

※Skip and go to the appを選択するとサインインをスキップ出来ます。(ワークスペースの利用が出来ない等の制限があります。)

利用開始の画面が表示されます。

PostmanでAzure REST APIを実行

PostmanでAzure REST APIを使う為には以下の手順になります。

    • Rest API実行手順
      • Azure AD認証(アクセストークン取得)
        • サービスプリンシパルのクライアントID、クライアントシークレット等を指定
        • アクセストークン取得
      • Azure REST API実行
        • 実行するAzure REST APIを設定
        • 取得したアクセストークンをAuthorizationに設定
        • Azure REST APIを実行

事前準備に続き公式サイトを参考に進めます。

Azure AD 認証を使用して REST で Media Services API にアクセスする

Azure AD認証でアクセストークンを取得

アクセストークンを取得します。
テナント名は自身の環境にあわせて設定します。

アクセストークンの取得

メソッドにはPOSTを指定します。
URLは以下の通り指定します。

https://login.microsoftonline.com/{your-aad-tenant-name.onmicrosoft.com}/oauth2/token

Paramsタブで2つのKeyとValueを設定します。

  • Content-Type:application/x-www-form-urlencoded
  • Keep-Alive:true

Bodyタブで4つのキーとVALUEを設定します。
クライアントIDとクライアントシークレットは作成したサービスプリンシパルの値を確認します。

  • grant_type:client_credentials
  • client_id:作成したサービスプリンシパルのクライアントID
  • client_secret:作成したサービスプリンシパルのシークレット値
  • resource:https://management.azure.com/

※rssourceにはAzure REST APIブラウザー利用時のURLを指定します。

https://management.azure.com/subscriptions/サブスクリプションID/resourcegroups?api-version=2021-04-01

Sendを実行するとアクセストークン取得出来ます。

※成功すると200 OKとなります。

※アクセストークン、シークレット値の取り扱いについては注意願います。これが漏れると第三者に好きな操作をされるなどのセキュリティインシデントになります。

Azure REST APIを使ってリソースグループ一覧を取得

取得したアクセストークンを設定してAzure REST APIを実行します。
Azure REST APIを利用してリソースグループ一覧を取得します。

Azure REST APIを使ってリソースグループ一覧を取得

リクエストするURIを設定します。
URIはリファレンスを参考にして設定します。

Azure REST API reference
Resource Groups – List

 

AuthorizationタブでBearer Tokenを選択します。
取得したアクセストークンを設定します。
Sendを選択しREST APIを実行します。
リソースグループの一覧を取得出来ている事が確認出来ます。

最後に

Azure REST API実行について纏めてみました。
Azure REST APIブラウザーを利用した方法とPostmanを利用した方法の2パターンで手順を纏めています。
Postmanを利用した方法では事前準備としてのサービスプリンシパル作成からアクセストークン取得、Azure REST APIの実行まで一連の流れを纏めています。

今回は流れを確認が目的なのでリソースグループ一覧の確認としていますが色々なリソース操作が出来ます。
今後も引き続き色々試してみたいと思います。

スポンサーリンク