Server Load Balancer (SLB) API を呼び出すと、HTTP GETリクエストが SLB の API サービスアドレスに送信され、システムはそのリクエストに設定されているパラメーターに従って応答します。 リクエストとレスポンスはどちらも UTF-8 に符号化されます。
リクエスト構文
SLB API は RPC スタイルを使用します。 HTTP リクエストを送信して SLB API を呼び出すことができます。
http://Endpoint/?Action=xx&Parameters
- Endpoint:SLB API のエンドポイントは slb.aliyuncs.com となります。
- Action:操作の名前です。 たとえば、作成した SLB インスタンスをクエリする必要がある場合、操作は DescribeLoadBalancers です。
- Version:API のバージョンです。 SLB API のバージョンは 2014-05-15 です。
- Parameters :リクエストパラメータです。 アンパーサンド (&) を使用して複数のパラメーターを区切ります。
リクエストパラメーターは、共通パラメーターと API 固有パラメーターで構成されます。 共通パラメーターには、他のパラメーターの中でも、API バージョンと ID 認証情報が含まれています。 詳細は、「共通パラメータ」をご参照ください。
https://slb.aliyuncs.com/?Action=DescribeLoadBalancers
&Format=xml
&Version=2014-05-15
&Signature=xxxx%xxxx%3D
&SignatureMethod=HMAC-SHA1
&SignatureNonce=15215528852396
&SignatureVersion=1.0
&AccessKeyId=key-test
&TimeStamp=2012-06-01T12:00:00Z
…
RAM ユーザーの認証
アカウントのセキュリティを維持するために、RAM ユーザーの Access Key (AK) を使用した API の呼び出しを推奨します。 RAM ユーザーの AK を使用して API を呼び出す前に、対応するポリシーをそれらにアタッチすることによって RAM ユーザーに権限を付与する必要があります。
詳細は、「RAM権限付与」をご参照ください。
リクエスト署名
API を呼び出すたびに、 SLB サービスは署名情報をリクエストに含めて認証を要求します。
SLB では、リクエスト送信者の ID は AccessKeyID と AccessKeySecret のペア (つまりAK) と対称暗号方式を使用して認証されます。 AK は、Alibaba Cloud から Alibaba Cloud アカウントおよび RAM ユーザーに対して発行される認証のための証明書です。 ログインパスワードに似ています。 AccessKeyID は、訪問者の身元を識別するために使用されます。 AccessKeySecret は、署名文字列を暗号化するために使用される鍵です。 サーバーは AccessKeySecret を使用して署名文字列を復号化します。 AccessKeySecret は機密に保たれなければなりません。
https://endpoint/?SignatureVersion=1.0&SignatureMethod=HMAC-SHA1&Signature=CT9X0VtwR86fNWSnsc6v8YGOjuE%3D&SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e0ad82fd6cf
testid
、AccessKeySecret が testsecret
の場合、署名の URL は以下になります。
http://slb.aliyuncs.com/?Action=DescribeLoadBalancers
&TimeStamp=2016-02-23T12:46:24Z
&Format=XML
&AccessKeyId=testid
&SignatureMethod=HMAC-SHA1
&SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e0ad82fd6cf
&Version=2014-05-26
&SignatureVersion=1.0
- リクエストパラメータを使用して署名する文字列を作成します。
GET&%2F&AccessKeyId%3Dtestid&Action%3DDescribeRegions&Format%3DXML&SignatureMethod%3DHMAC-SHA1&SignatureNonce%3D3ee8c1b8-83d3-44af-a94f-4e0ad82fd6cf&SignatureVersion%3D1.0&TimeStamp%3D2016-02-23T12%253A46%253A24Z&Version%3D2014-05-26
- 署名する文字列の HMAC 値を計算します。
AccessKeySecret の後にアンパサンド (&) を追加して、HMAC 値のキーを追加します。 この例では、キーを
testsecret&
とします。CT9X0VtwR86fNWSnsc6v8YGOjuE=
- リクエスト URL に署名を追加します。
http://slb.aliyuncs.com/?Action=DescribeLoadBalancers &TimeStamp=2016-02-23T12:46:24Z &Format=XML &AccessKeyId=testid &SignatureMethod=HMAC-SHA1 &SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e0ad82fd6cf &Version=2014-05-26 &SignatureVersion=1.0 &Signature=CT9X0VtwR86fNWSnsc6v8YGOjuE%3D