VPN Gateway と VPC は同じサービスアドレス (エンドポイン) を使用します。 つまり、VPN Gateway API を呼び出すと、HTTP GET リクエストが VPN Gateway の API エンドポイントに送信され、システムはリクエストに設定されたパラメーターに従って応答します。 リクエストとレスポンスはどちらも UTF-8 に符号化されます。

リクエストの構文

VPN Gateway API は RPC スタイルを使用します。 HTTP GET リクエストを送信して、VPN Gateway API を呼び出すことができます。

VPN Gateway API リクエストの構造は次のとおりです。
http://Endpoint/?Action=xx&Parameters
ここでは、
  • Endpoint: VPN Gateway API のエンドポイントはvpc.aliyuncs.com です。
  • Action: アクションの名前です。 たとえば、VPN Gateway を作成する必要がある場合、アクションは CreateVpnGateway です。
  • Version: API のバージョンです。 VPN API のバージョンは 2016-04-28 です 。
  • Parameters :リクエストパラメータです。 アンパーサンド (&) を使用して複数のパラメーターを区切ります。

    リクエストパラメーターには、共通パラメーターと API 固有パラメーターが含まれます。 共通パラメーターには、他のパラメーターとともに、API バージョンと ID 認証情報が含まれています。 詳細については、「共通パラメーター」をご参照ください。

下記は、CreateVpnGateway を呼び出して VPN Gateway を作成する例です。
以下のコードは読みやすくするために編集されています。
https://vpc.aliyuncs.com/?Action=CreateVpnGateway
&Format=xml 
&Version=2016-04-28 
&Signature=xxxx%xxxx%3D
&SignatureMethod=HMAC-SHA1 
&SignatureNonce=15215528852396 
&SignatureVersion=1.0 
&AccessKeyId=key-test 
&Timestamp=2012-06-01T12:00:00Z 
…

API 認証

アカウントのセキュリティを維持するために、RAM ユーザーの AK (Access Key) を使用した API の呼び出しを推奨します。 RAM ユーザーの AK を使用して API を呼び出す前に、対応するポリシーをそれらにアタッチすることによって RAM ユーザーに権限を付与する必要があります。

VPN Gateway API に関連するポリシーの詳細については、「RAM の権限付与」をご参照ください。

署名の要求

認証は、API 呼び出しごとに VPN Gateway サービスによって要求されます。これは、リクエストに署名情報を含めることによって提供されます。

VPN Gateway では、リクエスト送信者の ID は AccessKeyID と AccessKeySecret のペア (つまり AK) と対称暗号方式を使用して認証されます。 AK は、Alibaba Cloud から Alibaba Cloud アカウントおよび RAM ユーザーに対して発行される認証のための証明書です。 ログインパスワードに似ています。 AccessKeyID は、訪問者の身元を識別するために使用されます。 AccessKeySecret は、署名文字列を暗号化するために使用される鍵です。 サーバーは AccessKeySecret を使用して署名文字列を復号化します。 AccessKeySecret は機密に保たれなければなりません。

API 呼び出しのリクエストは、次の形式で署名されています。

https://endpoint/?SignatureVersion=1.0&SignatureMethod=HMAC-SHA1&Signature=XXXX%3D&SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e0axxxxxxxx

API 呼び出しの CreateVpnGateway を例として取り上げます。 AccessKey ID が testid、AccessKey Secret が testsecret の場合、署名の URL は下記のとおりです。

http://vpc.aliyuncs.com/?Action=CreateVpnGateway
&Timestamp=2016-05-23T12:46:24Z 
&Format=XML 
&AccessKeyId=testid 
&SignatureMethod=HMAC-SHA1 
&SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e0axxxxxxxx 
&Version=2014-05-26 
&SignatureVersion=1.0 
署名を計算するには、次の手順を実行します。
  1. リクエストパラメータを使用して署名する文字列を作成します。
    GET&%2F&AccessKeyId%3Dtestid&Action%3DCreateVpnGateway&Format%3DXML&SignatureMethod%3DHMAC-SHA1&SignatureNonce%3D3ee8c1b8-83d3-44af-a94f-4e0axxxxxxxx&SignatureVersion%3D1.0&TimeStamp%3D2016-02-23T12%253A46%253A24Z&Version%3D2014-05-15
    .
  2. 署名する文字列の HMAC 値を計算します。

    AccessKeySecret の後にアンパサンド (&) を追加して、HMAC 値のキーを追加します。 この例では、キーを testsecret& とします。

    CT9X0VtwR86fNWS********juE=
  3. リクエストパラメーターに署名を追加します。
    http://vpc.aliyuncs.com/?Action=CreateVpnGateway
    &Timestamp=2016-05-23T12:46:24Z 
    &Format=XML
    &AccessKeyId=testid
    &SignatureMethod=HMAC-SHA1
    &SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e0axxxxxxxx
    &Version=2014-05-26
    &SignatureVersion=1.0
    &Signature=XXXX%3D