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

完了

サブスクリプション キーを使って、API へのアクセスを制限できます。

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

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

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

パートナーは、オンボード プロセスの一部として各自のキーを付与されます。 この演習では、管理者キーを使用します。 キーを受け取ったら、API 呼び出しでキーを使用する場合と同じプロセスに従います。

  1. サンドボックスをアクティブ化したときと同じアカウントを使用して、Azure portal にサインインします。

  2. Azure portal のメニューまたは [ホーム] ページで [すべてのリソース] を選択し、お使いの API ゲートウェイを選択します。

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

  4. [Built-in all-access subscription](組み込みの全アクセス サブスクリプション) のコンテキスト メニュー (...) を選んでから、[キーの表示/非表示] を選びます。

  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 にアクセスできるようになり、コンソールに返された製品の一覧が表示されるはずです。