演習 - サブスクリプション キーを使って API を呼び出す
サブスクリプション キーは、API へのアクセスを制限する方法の 1 つです。
靴の会社の例では、NorthWind Shoes は連携しているサプライヤーが直接 Inventory API にアクセスできるようにしたいと考えています。 パートナーのアクセスは、API へのすべての呼び出しに対してサブスクリプション キーを使って制限する必要があります。
ここでは、自分の API 用のサブスクリプション キーを取得します。 次に、サブスクリプション キーがある場合とない場合での API へのアクセスをテストします。
サブスクリプション キーを取得する
パートナーは、オンボード プロセスの一部として各自のキーを付与されます。 この演習では、NorthWindShoes API 専用のサブスクリプションを追加します。 キーを受け取ったら、API 呼び出しでキーを使用する場合の標準のプロセスに従います。
Azure portal メニューまたは [ホーム] ページで [すべてのリソース] を選び、お使いの API Management インスタンスを選びます。
左側のメニュー ペインの [API] で、[サブスクリプション] を選択します。
[+ サブスクリプション] を選び、各設定に次の値を入力します。 [作成] を選択します。
設定 値 名前 NorthWind
表示名 NorthWind subscription
スコープ [API] を選び、ドロップダウン リストから [NorthWindShoes Products] (NorthWindShoes 製品) を選びます。 [Northwind subscription] (Northwind サブスクリプション) のコンテキスト メニュー (...) を選んでから、[キーの表示/非表示] を選びます。
[主キー] の [クリックしてコピー] ボタンを選びます。
メモ帳などの場所に、このキーを保存します。
API 呼び出しでサブスクリプション キーを使う
次の手順は、サブスクリプション キーを使って、公開した API への開発者のアクセスをテストすることです。
Cloud Shell で次のコマンドを実行して、API の Products 操作にアクセスします。
<apim gateway>
はゲートウェイの名前に置き換えます。curl https://<apim gateway>.azure-api.net/api/Products
"401、サブスクリプション キーがないため、アクセスが拒否されました" というメッセージが表示されます。
今度は、サブスクリプション キーを含めて curl 要求を再実行します。
Cloud Shell で次のコマンドを実行します。
<primary key>
は前に保存したキーに置き換え、<apim gateway>
はゲートウェイの名前に置き換えます。curl --header "Ocp-Apim-Subscription-Key: <primary key>" https://<apim gateway>.azure-api.net/api/Products
これで API にアクセスできるようになり、コンソールに返された製品の一覧が表示されるはずです。