Elastic IP Address (EIP) APIとVirtual Private Cloud (VPC) APIは同じエンドポイントを共有します。 EIP APIを呼び出すには、HTTPまたはHTTPS GETリクエストをEIP APIのエンドポイントに送信する必要があります。 呼び出す API に対応するリクエストパラメーターを追加する必要があります。 API操作を呼び出した後、システムは応答を返します。 要求および応答は、UTF-8で符号化される。
リクエスト構造
EIP API操作はRPCプロトコルを使用します。 HTTPまたはHTTPS GETリクエストを送信して、EIP API操作を呼び出すことができます。
http(s):// Endpoint/?Action=xx&Parameters
- Endpoint: EIP APIのエンドポイント。 エンドポイントが
vpc.aliyuncs.com
されます。 - Action:実行中の操作の名前を設定します。 たとえば、EIPを作成するには、ActionパラメーターをAllocateEipAddressに設定する必要があります。
- Version: 呼び出すAPIのバージョン。 現在のEIP APIのバージョンは2016-04-28です。
- Parameters:API のリクエストパラメーターを設定します。 複数のパラメーターを指定する場合は、アンパサンド (&) で区切ります。
リクエストパラメータには、共通リクエストパラメータとAPI操作固有パラメータの両方が含まれます。 共通パラメータには、APIのバージョン番号や認証情報などの情報が含まれます。 詳細については、「共通パラメーター」をご参照ください。
https://vpc.aliyuncs.com/?Action=AllocateEipAddress
&Format=xml
&バージョン=2016-04-28
&署名=xxxx % xxxx % 3D
&SignatureMethod=HMAC-SHA1
&SignatureNonce=15215528852396
&SignatureVersion=1.0
&AccessKeyId=キーテスト
&タイムスタンプ=2012-06-01T12:00:00Z
...
API権限付与
アカウントのセキュリティを確保するために、APIをResource Access Management (RAM) ユーザーとして呼び出すことを推奨します。 EIP APIをRAMユーザーとして呼び出すには、必要なアクセス許可を含むアクセス許可ポリシーを作成し、そのポリシーをRAMユーザーにアタッチする必要があります。
RAMユーザーに許可できるEIPリソースとAPI操作の詳細については、「RAM の権限付与」をご参照ください。
署名:
リクエストがHTTPまたはHTTPSを使用するかどうかのセキュリティを確保するために、すべてのAPIリクエストに署名する必要があります。 Alibaba Cloud はリクエストの署名を使用して、API の呼び出し元を確認します。
EIPは、AccessKeyペアで対称暗号化を実装して、リクエスト送信者のIDを検証します。 AccessKeyペアは、Alibaba CloudアカウントとRAMユーザーに発行されるID認証情報です。 ユーザー名とパスワードのペアと同様に、AccessKeyペアはAccessKey IDとAccessKeyシークレットで構成されます。 AccessKey IDはユーザーの ID を検証するために使用され、AccessKey secret は署名文字列を暗号化して検証するために使用されます。 AccessKey Secret は、機密情報として厳密に取り扱う必要があります。
次の形式でRPC APIリクエストに署名を追加する必要があります。
https:// endpoint/?SignatureVersion=1.0&SignatureMethod=HMAC-SHA1&Signature=XXXX % 3D&SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e 0axxxxxxxx
例としてAllocateEipAddressを取り上げます。 AccessKey IDはtestid
で、AccessKey secretはtestsecret
です。 リクエストが署名される前のURLは次のとおりです。
http://vpc.aliyuncs.com/?Action=AllocateEipAddress
&タイムスタンプ=2016-05-23T12:46:24Z
&フォーマット=XML
&AccessKeyId=testid
&SignatureMethod=HMAC-SHA1
&SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e0axxxxxxxx
&バージョン=2016-04-28
&SignatureVersion=1.0
- リクエストパラメーターを使用して、文字列記号を作成します。
GET&% 2F&AccessKeyId % 3Dtestid&Action % 3DAllocateEipAddress&Format % 3DXML&SignatureMethod % 3DHMAC-SHA1&SignatureNonce % 3D3ee8c1b8-83d3-44af-a94f-4e0axxxxxxxx&SignatureVersion % 3D1.0&TimeStamp % 3D2016-02-23T12% 253A46% 253A24Z&バージョン % 3D2004-28
- 署名する文字列のHMAC値を計算します。
HMAC値を計算するキーとして、AccessKey secretにアンパサンド (&) を追加します。 この例のキーは、
testsecret&
とします。CT9X0VtwR86fNWS********juE=
- リクエストに署名文字列を追加します。
http://vpc.aliyuncs.com/?Action=AllocateEipAddress &タイムスタンプ=2016-05-23T12:46:24Z &フォーマット=XML &AccessKeyId=testid &SignatureMethod=HMAC-SHA1 &SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e0axxxxxxxx &バージョン=2016-04-28 &SignatureVersion=1.0 &署名=CT9X0VtwR86fNWS ******** juE=