演習 - サブスクリプション キーを使って API を呼び出す

完了

サブスクリプション キーは、API へのアクセスを制限する方法の 1 つです。

靴の会社の例では、NorthWind Shoes は連携しているサプライヤーが直接 Inventory API にアクセスできるようにしたいと考えています。 パートナーのアクセスは、API へのすべての呼び出しに対してサブスクリプション キーを使って制限する必要があります。

ここでは、自分の API 用のサブスクリプション キーを取得します。 次に、サブスクリプション キーがある場合とない場合での API へのアクセスをテストします。

サブスクリプション キーを取得する

パートナーは、オンボード プロセスの一部として各自のキーを付与されます。 この演習では、NorthWindShoes API 専用のサブスクリプションを追加します。 キーを受け取ったら、API 呼び出しでキーを使用する場合の標準のプロセスに従います。

  1. Azure portal メニューまたは [ホーム] ページで [すべてのリソース] を選び、お使いの API Management インスタンスを選びます。

  2. 左側のメニュー ペインの [API] で、[サブスクリプション] を選択します。

  3. [+ サブスクリプション] を選び、各設定に次の値を入力します。 [作成] を選択します。

    設定
    名前 NorthWind
    表示名 NorthWind subscription
    スコープ [API] を選び、ドロップダウン リストから [NorthWindShoes Products] (NorthWindShoes 製品) を選びます。
  4. [Northwind subscription] (Northwind サブスクリプション) のコンテキスト メニュー (...) を選んでから、[キーの表示/非表示] を選びます。

  5. [主キー][クリックしてコピー] ボタンを選びます。

  6. メモ帳などの場所に、このキーを保存します。

API 呼び出しでサブスクリプション キーを使う

次の手順は、サブスクリプション キーを使って、公開した API への開発者のアクセスをテストすることです。

  1. Cloud Shell で次のコマンドを実行して、API の Products 操作にアクセスします。<apim gateway> はゲートウェイの名前に置き換えます。

    curl https://<apim gateway>.azure-api.net/api/Products
    

    "401、サブスクリプション キーがないため、アクセスが拒否されました" というメッセージが表示されます。

  2. 今度は、サブスクリプション キーを含めて curl 要求を再実行します。

  3. Cloud Shell で次のコマンドを実行します。<primary key> は前に保存したキーに置き換え、<apim gateway> はゲートウェイの名前に置き換えます。

    curl --header "Ocp-Apim-Subscription-Key: <primary key>" https://<apim gateway>.azure-api.net/api/Products
    

    これで API にアクセスできるようになり、コンソールに返された製品の一覧が表示されるはずです。