edit-icon download-icon

クロスアカウントアクセスの例

最終更新日: Oct 04, 2016

前提

ユーザー taro@aliyun.com が、LoadBalancerId 139a00604ad-cn-east-hangzhou-01 の Server Load Balancer インスタンスを作成したとします。

目的

ここでは、taro@aliyun.com が hanako@aliyun.com によるインスタンスの管理を許可します。

  • hanako@aliyun.com が Server Load Balancer API を介してインスタンスで実行できる操作は、SetLoadBalancerStatus (LoadBalancer ステータスの設定)、DescribeLoadBalancerAttribute (LoadBalancer 情報の照会)、AddBackendServers (バックエンドサーバーの追加)、RemoveBackendServers (バックエンドサーバーの削除) の 4 つのみです。

権限付与の手順

上記の操作を承認するために、Taro は以下の手順を実行する必要があります。

  1. RAM で Taro のユーザー領域に Hanako を追加します。

    Taro の ID で RAM の AddUser インターフェイスを呼び出します。

    パラメーター UserName=ALIYUN$hanako@aliyun.com;

    1. https://ram.aliyuncs.com/?Action=AddUser
    2. &UserName=ALIYUN$hanako@aliyun.com
    3. &<other common request parameter>
  2. 権限付与ポリシーを準備します。

    ポリシーは JsonString であり、その JSON 構造には次の要素が含まれている必要があります。

    1. {
    2. "Version": "1",
    3. "Statement":[
    4. {
    5. "Effect": "Allow",
    6. "Action": ["slb:SetLoadBalancerStatus","slb:DescribeLoadBalancerAttribute", "slb: AddBackendServers","slb:RemoveBackendServers"],
    7. "Resource": ["acs:slb:*:LoadBalancerId/139a00604ad-cn-east-hangzhou-01"]
    8. }]
    9. }
  3. Taro が RAM の PutPolicy インターフェイスを呼び出し、Hanako のポリシーを設定します。

    パラメーター PolicyName の値 web_front_server_policy は、Taro がポリシーに指定した名前です。

    1. https://ram.aliyuncs.com/?Action=PutUserPolicy
    2. &UserName=ALIYUN$hanako@aliyun.com
    3. &PolicyName=web_slb_policy
    4. &PolicyDocument=$the policy prepared in Step 2
    5. &<other common request parameter>
  4. この時までに、Hanako は SetLoadBalancerStatus (LoadBalancer ステータスの設定) など、Server Load Balancer インスタンスを操作する Server Load Balancer API 呼び出しを開始します。

    この呼び出しを実行するには、パラメーター ResourceOwnerAccount を使用して、Taro のリソースを操作するためにこの API が呼び出されることを示します。

    1. https://slb.aliyuncs.com/?Action=SetLoadBalancerStatus
    2. &LoadBalancerId=139a00604ad-cn-east-hangzhou-01
    3. &ResourceOwnerAccount=taro@aliyun.com
    4. &<other common request parameter>

権限付与の取り消し

  • Hanako の権限を取り消すには、Taro は RAM の DeleteUserPolicy を呼び出してポリシーを削除する必要があります。

    1. https://ram.aliyuncs.com/?Action=DeleteUserPolicy
    2. &UserName=ALIYUN$hanako@aliyun.com
    3. &PolicyName=web_slb_policy
    4. &<other common request parameter>
  • この Server Load Balancer インスタンスに再度アクセスするために Server Load Balancer API を呼び出すと、Hanako は拒否され、次の応答を受け取ります。

    1. {
    2. "RequestId": "7463B73D-35CC-4D19-A010-6B8D65D242EF",
    3. "HostId": "slb.aliyuncs.com",
    4. "Code": " Forbidden",
    5. "Message": " User not authorized to operate on the specified resource."
    6. }