VPN GatewayとVirtual Private Cloud (VPC) は同じAPIエンドポイントを使用します。 HTTP GETリクエストを送信して、VPN Gateway APIを呼び出すことができます。 呼び出す API に対応するリクエストパラメーターを追加する必要があります。 API操作を呼び出した後、システムは応答を返します。 リクエストとレスポンスは UTF-8 でエンコードされます。

リクエスト構文

VPN Gateway API操作は、リモートプロシージャコール (RPC) プロトコルを使用します。 HTTP GETリクエストを送信することで、VPN Gateway API操作を呼び出すことができます。

リクエスト構文は次のとおりです。
http://Endpoint/?Action=xx&Parameters
説明:
  • Endpoint: VPN Gateway APIのエンドポイント。 エンドポイントがvpc.aliyuncs.comされます。
  • Action: 実行する操作の名前。 たとえば、VPNゲートウェイを作成するには、ActionパラメーターをCreateVpnGatewayに設定する必要があります。
  • Version: 呼び出すVPN Gateway APIのバージョン番号。 VPN Gateway APIのバージョンは2016-04-28です。
  • Parameters:API のリクエストパラメーターを設定します。 複数のパラメーターを指定する場合は、アンパサンド (&) で区切ります。

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

次の例は、CreateVpnGateway操作を呼び出してVPNゲートウェイを作成する方法を示しています。
説明 以下のコードは読みやすくするために編集されています。
https://vpc.aliyuncs.com/?Action=CreateVpnGateway
&Format=xml
&バージョン=2016-04-28
&署名=xxxx % xxxx % 3D
&SignatureMethod=HMAC-SHA1
&SignatureNonce=15215528852396
&SignatureVersion=1.0
&AccessKeyId=キーテスト
&タイムスタンプ=2012-06-01T12:00:00Z
…

承認

アカウントのセキュリティを確保するために、VPN Gateway APIをRAMユーザーとして呼び出すことを推奨します。 VPN Gateway APIをRAMユーザーとして呼び出す前に、RAMユーザーを作成し、RAMユーザーに必要な権限を付与する必要があります。

RAMユーザーに使用を許可できるVPN gatewayリソースとAPI操作の詳細については、「RAM の権限付与」をご参照ください。

署名

セキュリティを確保するには、すべての API リクエストに署名する必要があります。 Alibaba Cloud はリクエストの署名を使用して、API の呼び出し元を確認します。

VPN Gatewayは、AccessKeyペアで対称暗号化を実装して、リクエスト送信者のIDを検証します。 AccessKey ペアは、Alibaba Cloud アカウントと RAM ユーザーに発行される ID 資格情報です。 AccessKeyペアは、ユーザー名とパスワードのペアに似ています。 AccessKey ペアは、AccessKey ID と AccessKey Secret で構成されます。 AccessKey IDはユーザーの ID を検証するために使用され、AccessKey secret は署名文字列を暗号化して検証するために使用されます。 AccessKey Secret は、機密情報として厳密に取り扱う必要があります。

RPC API操作を呼び出すには、次の形式で署名をAPIリクエストに追加する必要があります。

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

例としてCreateVpnGatewayを取り上げます。 AccessKey IDがtestidで、AccessKey secretがtestsecretであると仮定すると、次のコードは、リクエストが署名される前のリクエストURLを示します。

http://vpc.aliyuncs.com/?Action=CreateVpnGateway
&タイムスタンプ=2016-05-23T12:46:24Z
&フォーマット=XML
&AccessKeyId=testid
&SignatureMethod=HMAC-SHA1
&SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e0axxxxxxxx
&バージョン=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 値を計算します。

    HMAC値を計算するキーとして、AccessKey secretにアンパサンド (&) を追加します。 この例のキーは、testsecret&とします。

    CT9X0VtwR86fNWS********juE=
  3. リクエストに署名文字列を追加します。
    http://vpc.aliyuncs.com/?Action=CreateVpnGateway
    &タイムスタンプ=2016-05-23T12:46:24Z
    &フォーマット=XML
    &AccessKeyId=testid
    &SignatureMethod=HMAC-SHA1
    &SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e0axxxxxxxx
    &バージョン=2014-05-26
    &SignatureVersion=1.0
    &署名=XXXX % 3D