すべてのプロダクト
Search
ドキュメントセンター

Cloud Control API:RAM ユーザー管理

最終更新日:May 08, 2025

このトピックでは、アクセスモードを設定し、RAM ユーザーに Cloud Control API 操作を呼び出す権限を付与する方法について説明します。RAM ユーザーを適切に管理することで、セキュリティリスクを軽減し、複数の RAM ユーザー間のコラボレーションをサポートします。

説明

Resource Access Management (RAM) ユーザーは物理的な ID です。この機能を使用すると、Alibaba Cloud アカウントの RAM ユーザーを作成し、RAM ユーザーに権限を付与できます。このようにして、異なる RAM ユーザーが異なるリソースにアクセスするための権限を持つことができます。企業内の複数のユーザーが同時にリソースにアクセスする必要がある場合は、複数の RAM ユーザーを作成し、RAM ユーザーに最小限の権限を割り当てることができます。これにより、ユーザーが Alibaba Cloud アカウントのユーザー名とパスワードまたは AccessKey ペアを共有することを防ぎ、セキュリティリスクを軽減します。

アクセス方法を指定する

Cloud Control API は、コンソールまたは OpenAPI で呼び出すことができます。RAM ユーザーにこの操作を呼び出す権限を付与する場合、アクセス方法を選択する必要があります。RAM ユーザーのアクセス方法と CloudControl API 呼び出し方法のマッピングは次のとおりです。

種類

アクセス方法

呼び出しモード

シナリオ

個人アカウント

コンソールで Cloud Control API にアクセスする

コンソールで Cloud Control API を呼び出す

Cloud Control コンソールで操作する

アプリケーション

OpenAPI で Cloud Control API にアクセスする

OpenAPI 操作で Cloud Control API を呼び出す

アプリケーションを使用して Cloud Control API 操作を呼び出す

説明

RAM ユーザーが個人を表す場合は、RAM ユーザーにコンソールアクセスを選択することをお勧めします。RAM ユーザーがアプリケーションを表す場合は、RAM ユーザーに OpenAPI アクセスを選択することをお勧めします。このようにして、RAM ユーザーは AccessKey ペアを使用して Alibaba Cloud にアクセスできます。

RAM ユーザーの作成時、または既存の RAM ユーザーのアクセス方法の変更時に、アクセス方法を選択できます。詳細については、「RAM ユーザーの作成」をご参照ください。

コンソールで Cloud Control API 操作を呼び出す

次の例は、VPC リソースの詳細を取得する方法を示しています。

VPC コンソール にログインして、VPC の詳細を表示できます。

image

アプリケーションを使用して Cloud Control API 操作を呼び出す

次のコードは、Java で開発されたコードを使用して VPC リソースの詳細を取得する方法を示しています。

package com.aliyun.sample;
import com.aliyun.tea.*;

/*<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>cloudcontrol20220830</artifactId>
  <version>1.1.1</version>
</dependency>*/

public class Sample {

    public static com.aliyun.cloudcontrol20220830.Client createClient() throws Exception {
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                 // System.getenv() は、環境変数から AccessKey ID を取得することを指定します。
                .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));        
        config.endpoint = "cloudcontrol.aliyuncs.com";
        return new com.aliyun.cloudcontrol20220830.Client(config);
    }
    public static void main(String[] args_) throws Exception {
        
        com.aliyun.cloudcontrol20220830.Client client = Sample.createClient();
        String requestPath = "/api/v1/providers/Aliyun/products/VPC/resources/VPC/vpc-m5e6l4XXXXXXXX";
        com.aliyun.cloudcontrol20220830.models.GetResourcesRequest getResourcesRequest = new com.aliyun.cloudcontrol20220830.models.GetResourcesRequest()
                .setRegionId("cn-qingdao");
        com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
        java.util.Map<String, String> headers = new java.util.HashMap<>();
        try {
            GetResourcesResponse getResourcesResponse = client.getResourcesWithOptions(requestPath, getResourcesRequest, headers, runtime);
            System.out.println(new Gson().toJson(getResourcesResponse.getBody()));
        } catch (TeaException error) {
            // エラーメッセージ
            System.out.println(error.getMessage());
            // トラブルシューティングに使用される URL
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        } catch (Exception _error) {
            TeaException error = new TeaException(_error.getMessage(), _error);
            // エラーメッセージ
            System.out.println(error.getMessage());
            // トラブルシューティングに使用される URL
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        }        
    }
}

期待される出力:

{
  "resource": {
    "resourceId": "vpc-m5e6l4XXXXXXXX",
    "resourceAttributes": {
      "IsDefault": false,
      "Status": "Available",
      "Description": "",
      "ResourceGroupId": "rg-acfmyXXXXXXXX",
      "SecondaryCidrBlocks": [],
      "VSwitchIds": [
        "vsw-m5emwh9XXXXXXXX",
        "vsw-m5e7uotXXXXXXXX"
      ],
      "CreateTime": "2025-03-26T07:27:25Z",
      "CidrBlock": "1XX.XXX.X.X/XX",
      "RouterId": "vrt-m5e65XXXXXXXX",
      "UserCidrs": [],
      "VpcId": "vpc-m5e6lXXXXXXXX",
      "VpcName": "caf-qingdao-vpc",
      "RegionId": "cn-qingdao",
      "Ipv6CidrBlock": "",
      "Ipv6CidrBlocks": [
        {
          "Ipv6CidrBlock": ""
        }
      ],
      "Tags": [
        {
          "TagKey": "acs:XXXXXXXX",
          "TagValue": "sub:XXXXXXXX"
        }
      ]
    }
  },
  "requestId": "DDEF766D-C25E-51A8-9DF7-1AAF437B8260"
}

権限の付与

RAM ユーザーを使用して CloudControl API を呼び出す場合は、ビジネス要件に基づいて RAM ユーザーに権限を付与する必要があります。ポリシーは、システムポリシーとカスタムポリシーに分類されます。

重要

RAM ユーザーに権限を付与する場合は、最小権限の原則に従ってください。

次の表に、システムポリシーを示します。

ポリシー

説明

シナリオ

AliyunCloudControlAPIFullAccess

Cloud Control API を管理するための権限。

  • RAM ユーザーにすべての Cloud Control API リソースを管理する権限を付与します。

AliyunCloudControlAPIReadOnlyAccess

Cloud Control API の読み取り専用アクセス権限。

  • RAM ユーザーにすべての Cloud Control API リソースに対する読み取り専用権限を付与します。

システムポリシーが要件を満たせない場合は、カスタムポリシーを作成できます。詳細については、「カスタムポリシー」をご参照ください。

関連情報