Alibaba Cloud API Gatewayは、Alibaba Cloud App、JSON Web Token (JWT) プラグイン、サードパーティ認証pug-inなど、クライアントからのリクエストを認証するための複数の方法を提供します。 Alibaba Cloud Appメソッドはさらに、署名とAppCodeの2つの認証モードを提供します。 このトピックでは、アプリケーションのAppCodeに基づいて簡易認証方法を使用する方法について説明します。
注意事項
シンプルな認証により、複雑な署名プロセスが不要になります。 ただし、AppCodes
は送信中にプレーンテキストとして公開されるため、セキュリティ上のリスクがあります。 このモードを使用するときは注意が必要です。
クライアントとAPI Gateway間でHTTPS通信が使用されていることを確認します。 HTTP経由でデータを送信しないでください。 シンプル認証モードでは、AppCodesはプレーンテキストで送信されます。 暗号化されていないHTTPプロトコルを使用すると、パケットをキャプチャする攻撃者はプレーンテキストのAppCodesを簡単に取得できます。
概要
リクエストの署名方法の詳細については、「ダイジェスト認証を使用したAPIの呼び出し」をご参照ください。
AppCodeベースの単純認証では、API呼び出し元はAPI Gatewayによって発行された
AppCodes
を使用して認証されます。 発信者は、AppCodes
をリクエストヘッダーまたはQuery
パラメーターとして渡し、IDを認証します。 これにより、API
を効率的に呼び出すことができます。 次の項目では、AppCodeベースのシンプル認証の仕組みについて説明します。AppCode認証をサポートするAPIを作成します。
アプリケーションを作成し、アプリケーションに対して
AppCode
を発行します。アプリケーションにAPIの呼び出しを許可します。
AppCode
を使用してAPIを呼び出し、その間にAppCodeがID認証に使用されます。
AppCode認証をサポートするAPIの作成
API Gatewayコンソールにログインします。 左側のナビゲーションウィンドウで、[APIの管理] > [APIグループ] を選択します。 [APIグループ] ページで、右上隅の [グループの作成] をクリックします。
[グループの作成] ページで、[インスタンス] を作成したAPI Gatewayインスタンスに設定し、[グループ名] および [BasePath] パラメーターを設定し、[確認] をクリックします。
左側のナビゲーションウィンドウで、[APIの管理] > [API] を選択します。 [API] ページで、右上隅の [APIの作成] をクリックします。
[APIの作成] ウィザードの [基本情報] ステップで、[グループ] ドロップダウンリストから作成したAPIグループを選択し、[API名] パラメーターを設定し、[認証方法] を [Alibaba Cloud App] に設定し、[AppCode認証] を [AppCode認証 (ヘッダー) の有効化] または [AppCode認証 (ヘッダーとクエリ) の有効化] に設定します。
次の表に、AppCode認証の4つのオプションを示します。
オプション
説明
Alibaba Cloud MarketplaceへのAPIパブリッシュ後の有効化
デフォルトでは、このオプションは選択されていません。 このオプションを選択すると、APIがAlibaba Cloud Marketplaceに公開された後、認証用のリクエストヘッダーとしてAppCodesを渡すことができます。
AppCode認証の無効化
APIがAlibaba Cloud Marketplaceに公開されているかどうかに関係なく、リクエストに署名する必要があります。
AppCode認証の有効化 (ヘッダー)
APIがAlibaba Cloud Marketplaceに公開されているかどうかに関係なく、AppCodesを認証用のリクエストヘッダーとして渡すことができます。
AppCode認証の有効化 (ヘッダーとクエリ)
APIがAlibaba Cloud Marketplaceに公開されているかどうかに関係なく、認証用のリクエストヘッダーまたはクエリパラメーターとしてAppCodesを渡すことができます。
署名アルゴリズムを選択し、[次へ] をクリックします。
[APIリクエストの定義] ステップで、APIを呼び出すために送信されるリクエストの要件を定義します。 詳細については、「1.2リクエスト情報の設定」をご参照ください。 次に、[次へ] をクリックします。
[バックエンドサービスの定義] ステップで、APIのバックエンドサービスを設定します。 詳細については、「1.3バックエンドサービスの設定」をご参照ください。 次に、[保存] をクリックします。
注: APIのリクエストパラメーターを定義する場合、リクエストに
AppCode
ヘッダーまたはheader
パラメーターを含める必要があることを定義する必要はありません。APIが作成されたら、さらにデバッグするために環境に公開できます。
アプリケーションの作成
API Gatewayコンソールにログインします。 左側のナビゲーションウィンドウで、[APIの呼び出し] > [アプリ] を選択します。 アプリページで、右上隅の [アプリの作成] をクリックします。
[アプリの作成] ダイアログボックスで、[アプリ名] を設定し、[確認] をクリックします。
作成されたアプリケーションに対して
AppCode
が自動的に生成されます。 [アプリの詳細] ページで、[アプリ] ページのアプリケーションの名前をクリックして、アプリコードを確認できます。Alibaba Cloud MarketplaceからAPIを購入した場合、購入時にマーケットプレイスがアプリケーションを作成します。
アプリケーションにAPIを呼び出す権限を付与する
API Gatewayコンソールにログインします。 左側のナビゲーションウィンドウで、[APIの管理] > [] [API] を選択します。 [API] ページで、作成したAPIを見つけ、[操作] 列の /> [権限付与] をクリックします。
[権限付与] ダイアログボックスで、[ステージ] 、[権限付与有効期間] 、および [権限付与のアプリの選択] パラメーターを設定します。 [承認するアプリの選択] ドロップダウンリストから [マイアプリ] を選択し、[検索] をクリックします。 アカウントのアプリケーションが自動的に表示されます。 作成したアプリケーションを選択し、[選択済みの追加] をクリックしてアプリケーションを追加します。 次に、[確認] をクリックします。
ID認証にAppCodeを使用
シンプル認証は2つのモードをサポートします。 リクエストのヘッダー
セクションまたはクエリ
セクションにAppCode
を配置できます。
方法1: AppCodeをヘッダーセクションに追加
リクエスト
ヘッダー
にAuthorization
パラメーターを追加します。Authorizationパラメーターの値は、APPCODE + Space + AppCode値の形式である必要があります。 形式:
Authorization:APPCODE AppCode value
例:
Authorization:APPCODE 3F2504E04F8911D39A0C0305E82C3301
重要バックエンドサービスがHTTP関数の場合、Authorizationパラメーターはバックエンドサービスに渡されません。 代わりに、HTTP関数のAuthorizationパラメーターによってパラメーターが上書きされます。 [クエリ] セクションにAppCodesを配置することを推奨します。
方法2: クエリセクションにAppCodeを追加する
リクエストの
クエリ
セクションにAppCode
パラメーターを追加します。 AppCodeは、appcode
、appCode
、APPCODE
、APPCode
として記述することもできます。パラメーターの値は、発行されたAppCodeです。
例:
http://www.aliyum.com?AppCode=3F2504E04F8911D39A0C0305E82C3301