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

Elastic Compute Service:インスタンス RAM ロール

最終更新日:Apr 04, 2025

Elastic Compute Service (ECS) では、インスタンス Resource Access Management (RAM) ロールは、ECS インスタンスにアタッチされる通常のサービスロールであり、インスタンス RAM ロールのプリンシパルは ECS です。 インスタンス RAM ロールを使用すると、AccessKey ペアを提供することなく、ECS インスタンス内から一時的なアクセス認証情報として Security Token Service (STS) トークンを取得できます。 その後、一時的なアクセス認証情報を使用して、他の Alibaba Cloud サービスの API 操作を呼び出すことができます。 一時的なアクセス認証情報は ECS インスタンス内からのみ取得でき、AccessKey ペアを提供する必要はありません。 これにより、Alibaba Cloud アカウントの AccessKey ペアのセキュリティが確保され、RAM を使用してきめ細かいアクセス制御と権限管理を実装できます。

メリット

  • ECS インスタンス内での安全で便利な API 操作呼び出し: プロジェクトが ECS インスタンスにデプロイされている場合、ECS によって提供される機能を使用して、コード内に AccessKey ペアを設定することなく、一時的なアクセス認証情報として STS トークンを取得して API 操作を呼び出すことができます。 これにより、AccessKey ペアの漏洩のリスクが軽減されます。

  • 簡素化された RAM ID スイッチオーバー: サービスのアクセス認証情報として RAM ID の AccessKey ペアを使用する場合、RAM ID を変更するときに構成またはコード内の AccessKey ペアを変更し、サービスを再起動する必要があります。 インスタンス RAM ロールを使用してサービスの一時的なアクセス認証情報として STS トークンを取得する場合、RAM ID を変更するときにインスタンス RAM ロールのみを変更する必要があります。 追加の構成は必要ありません。

  • きめ細かい権限管理: 特定のポリシーを含むインスタンス RAM ロールを異なる ECS インスタンスにアタッチできます。 これにより、ビジネス要件に基づいてきめ細かいアクセス制御を実装できます。

制限事項

インスタンス RAM ロールを ECS インスタンスにアタッチする際には、次の制限事項に注意してください。

  • インスタンス RAM ロールをアタッチする ECS インスタンスは、仮想プライベートクラウド (VPC) 内に存在する必要があります。

  • 1 つの ECS インスタンスには、1 つのインスタンス RAM ロールのみをアタッチできます。

手順

Alibaba Cloud アカウントを使用して後続の操作を実行する場合、インスタンス RAM ロールを構成および使用するための追加の権限をアカウントに付与する必要はありません。 RAM ユーザーまたは RAM ロールを使用して後続の操作を実行する場合は、RAM ユーザーまたは RAM ロールに次の権限を付与します。

権限の例

次の権限を付与します。

  • インスタンス RAM ロールの管理: インスタンス RAM ロールを作成し、RAM ロールに権限を付与するための権限。

  • インスタンス RAM ロールの適用または解除: ECS インスタンスのインスタンスの詳細ページに移動し、インスタンスにインスタンス RAM ロールを適用またはインスタンスからインスタンス RAM ロールを解除するための権限。

  • RAM ロールのクラウドサービスへの転送: ram:PassRole 操作を実行するための権限。

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecs:Describe*",
                "ecs:List*",
                "ecs:AttachInstanceRamRole",
                "ecs:DetachInstanceRAMRole"
            ],
            "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "ram:Describe*",              
            "ram:List*",
            "ram:Get*",
            "ram:CreateRole", 
            "ram:CreatePolicy", 
            "ram:AttachPolicyToRole"
          ],
          "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "ram:PassRole",
            "Resource": "*"
        }
    ]
}

インスタンス RAM ロール作成し、ECS インスタンスに適用する

コンソールを使用する

  1. RAM コンソール にログインし、インスタンス RAM ロールを作成し、RAM ロールに権限を付与します。

    1. プリンシパルが Alibaba Cloud サービスであるインスタンス RAM ロールを作成します。

      左側のナビゲーションウィンドウで、[IDと権限] > [ロール] を選択します。 [ロール] ページで、[ロールの作成] をクリックします。 [ロールの作成] ページで、次のパラメーターを特定の値に設定し、ビジネス要件に基づいて他のパラメーターを構成します。 パラメーター設定については、「信頼できる Alibaba Cloud サービスの RAM ロールの作成」トピックの「通常のサービスロールの作成」セクションを参照してください。

      • プリンシパルタイプ: [クラウドサービス] を選択します。

      • プリンシパル名: [elastic Compute Service] を選択します。

        image

    2. RAM ロールに権限を付与します。

      システムポリシーまたはカスタムポリシーを RAM ロールにアタッチして、特定のリソースへのアクセスまたは管理権限を付与します。 たとえば、AliyunOSSReadOnlyAccess カスタムポリシーを RAM ロールに付与できます。

      説明

      システムポリシーがビジネス要件を満たしていない場合は、RAM ロールの カスタムポリシーを作成 できます。

  2. インスタンス RAM ロールを ECS インスタンスにアタッチします。

    1. ECS コンソール にログインします。

    2. 左側のナビゲーションウィンドウで、[インスタンスとイメージ] > [インスタンス] を選択します。

    3. 上部のナビゲーションバーで、管理するリソースのリージョンとリソースグループを選択します。 地域

    4. インスタンス RAM ロールをアタッチする ECS インスタンスを見つけ、操作列の 图标 > [インスタンス設定] > [RAM ロールの適用/解除] を選択します。

    5. [RAM ロールの適用/解除] ダイアログボックスで、[RAM ロール] ドロップダウンリストから作成したインスタンス RAM ロールを選択し、[OK] をクリックします。

API 操作を呼び出す

  1. インスタンス RAM ロールを作成し、RAM ロールに権限を付与します。

    1. CreateRole 操作を呼び出して、インスタンス RAM ロールを作成します。

      AssumeRolePolicyDocument パラメーターを次のポリシーに設定します。

      {
           "Statement": [
             {
                 "Action": "sts:AssumeRole",
                 "Effect": "Allow",
                 "Principal": {
                   "Service": [
                     "ecs.aliyuncs.com"
                   ]
                 }
             }
           ],
           "Version": "1"
       }
    2. (オプション) CreatePolicy 操作を呼び出して、ポリシーを作成します。

      インスタンス RAM ロールにアタッチできるポリシーがすでにある場合は、この手順をスキップします。

      PolicyDocument パラメーターを次のポリシーに設定します。

      {
           "Statement": [
               {
               "Action": [
                   "oss:Get*",
                   "oss:List*"
               ],
               "Effect": "Allow",
               "Resource": "*"
               }
           ],
           "Version": "1"
       }
    3. AttachPolicyToRole 操作を呼び出して、ポリシーをインスタンス RAM ロールにアタッチします。

  2. AttachInstanceRamRole 操作を呼び出して、インスタンス RAM ロールを ECS インスタンスにアタッチします。

インスタンス RAM ロールの一時的なアクセス認証情報を取得する

メタデータサービスにアクセスすることで、ECS インスタンス内から一時的なアクセス認証情報を取得できます。 一時的なアクセス認証情報の有効性は保証されています。 詳細については、「インスタンスメタデータ」をご参照ください。

方法 1: アプリケーション内で Alibaba Cloud Credentials ツールを使用する

Alibaba Cloud Credentials ツールは、一時的なアクセス認証情報として STS トークンを取得するための ECS メタデータサービスの呼び出しロジックをカプセル化し、一時的なアクセス認証情報の定期的な更新をサポートします。

Python
  1. Credentials ツールをインストールします。

    説明

    セキュリティ強化モードで一時的なアクセス認証情報を取得する場合、alibabacloud_credentials パッケージのバージョンは 0.3.6 以降である必要があります。

    pip install alibabacloud_credentials
  2. インスタンス RAM ロールを使用して一時的なアクセス認証情報を取得するように ECS インスタンスを構成します。

    from alibabacloud_credentials.client import Client as CredClient
    from alibabacloud_credentials.models import Config as CredConfig
    
    credentialsConfig = CredConfig(
    	type='ecs_ram_role',
    	# オプション。 インスタンス RAM ロールの名前を指定します。 このパラメーターを指定しない場合、システムはインスタンス RAM ロールの名前を自動的に取得します。 リクエスト数を減らすために、このパラメーターを指定することをお勧めします。 インスタンス RAM ロールの名前を ALIBABA_CLOUD_ECS_METADATA 環境変数に設定し、環境変数を参照できます。
    	role_name='<ロール名>',
    	# オプション。 デフォルト値: False。 True: セキュリティ強化モードで強制的にデータを取得します。 False: セキュリティ強化モードでデータの取得を試み、セキュリティ強化モードでデータの取得に失敗した場合、通常モード (IMDSv1) で試みます。
    	enable_imds_v1=True,
    )
    credentialsClient = CredClient(credentialsConfig)
    

    詳細と例については、「方法 5: ECS インスタンスの RAM ロールを使用する」をご参照ください。

Java

  1. credentials の依存関係を追加します。

    説明

    セキュリティ強化モードで一時的なアクセス認証情報を取得する場合、credentials-java パッケージのバージョンは 0.3.10 以降である必要があります。

    <!-- https://mvnrepository.com/artifact/com.aliyun/credentials-java -->
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>credentials-java</artifactId>
        <version>0.3.10</version>
    </dependency>
  2. インスタンス RAM ロールを使用して一時的なアクセス認証情報を取得するように ECS インスタンスを構成します。

    import com.aliyun.credentials.Client;
    import com.aliyun.credentials.models.Config;
    
    public class DemoTest {
        public static void main(String[] args) throws Exception {
            Config credentialConfig = new Config();
            credentialConfig.setType("ecs_ram_role");
            # オプション。 インスタンス RAM ロールの名前を指定します。 このパラメーターを指定しない場合、システムはインスタンス RAM ロールの名前を自動的に取得します。 リクエスト数を減らすために、このパラメーターを指定することをお勧めします。 インスタンス RAM ロールの名前を ALIBABA_CLOUD_ECS_METADATA 環境変数に設定し、環境変数を参照できます。
            credentialConfig.setRoleName("<RoleName>");
            # オプション。 デフォルト値: false。 true: セキュリティ強化モードで強制的にデータを取得します。 false: セキュリティ強化モードでデータの取得を試み、セキュリティ強化モードでデータの取得に失敗した場合、通常モード (IMDSv1) で試みます。
            credentialConfig.setDisableIMDSv1(true);
            Client credentialClient = new Client(credentialConfig);
        }
    }

    詳細と例については、「方法 5: ECS インスタンスの RAM ロールを使用する」をご参照ください。

Go

  1. Credentials ツールをインストールします。

    説明

    セキュリティ強化モードで一時的なアクセス認証情報を取得する場合、credentials-go パッケージのバージョンは 1.3.10 以降である必要があります。

    • go get コマンドを実行して、Credentials ツールをダウンロードしてインストールします。

      go get -u github.com/aliyun/credentials-go
    • dep ユーティリティを使用して依存関係を管理する場合は、次のコマンドを実行します。

      dep ensure -add github.com/aliyun/credentials-go
  2. インスタンス RAM ロールを使用して一時的なアクセス認証情報を取得するように ECS インスタンスを構成します。

    package main
    
    import (
    	"fmt"
    	"github.com/aliyun/credentials-go/credentials"
    )
    
    func _main(args []*string) {
    	credentialsConfig := new(credentials.Config).
    		SetType("ecs_ram_role").
    		// オプション。 インスタンス RAM ロールの名前を指定します。 このパラメーターを指定しない場合、システムはインスタンス RAM ロールの名前を自動的に取得します。 リクエスト数を減らすために、このパラメーターを指定することをお勧めします。 インスタンス RAM ロールの名前を ALIBABA_CLOUD_ECS_METADATA 環境変数に設定し、環境変数を参照できます。
    		SetRoleName("<RoleName>").
    		// オプション。 デフォルト値: false。 true: セキュリティ強化モードで強制的にデータを取得します。 false: セキュリティ強化モードでデータの取得を試み、セキュリティ強化モードでデータの取得に失敗した場合、通常モード (IMDSv1) で試みます。
    		SetDisableIMDSv1(true)
    	credentialClient, err := credentials.NewCredential(credentialsConfig)
    	if err != nil {
    		panic(err)
    	}
    }

    詳細と例については、「方法 5: ECS インスタンスの RAM ロールを使用する」をご参照ください。

Node.js

  1. Credentials ツールをインストールします。

    説明

    セキュリティ強化モードで一時的なアクセス認証情報を取得する場合、credentials パッケージのバージョンは 2.3.1 以降である必要があります。

    npm install @alicloud/credentials
  2. インスタンス RAM ロールを使用して一時的なアクセス認証情報を取得するように ECS インスタンスを構成します。

    const Credential = require('@alicloud/credentials');
    
    const credentialsConfig = new Credential.Config({
      type: 'ecs_ram_role',
      // オプション。 インスタンス RAM ロールの名前を指定します。 このパラメーターを指定しない場合、システムはインスタンス RAM ロールの名前を自動的に取得します。 リクエスト数を減らすために、このパラメーターを指定することをお勧めします。 インスタンス RAM ロールの名前を ALIBABA_CLOUD_ECS_METADATA 環境変数に設定し、環境変数を参照できます。
      roleName: '<RoleName>',
      // オプション。 デフォルト値: false。 true: セキュリティ強化モードで強制的にデータを取得します。 false: セキュリティ強化モードでデータの取得を試み、セキュリティ強化モードでデータの取得に失敗した場合、通常モード (IMDSv1) で試みます。
      disableIMDSv1: true,
    });
    const cred = new Credential.default(credentialsConfig);
    

    詳細と例については、「方法 5: ECS インスタンスの RAM ロールを使用する」をご参照ください。

.NET

  1. Credentials ツールをインストールします。

    説明

    セキュリティ強化モードで一時的なアクセス認証情報を取得する場合、credentials パッケージのバージョンは 1.4.2 以降である必要があります。

    dotnet add package Aliyun.Credentials
  2. インスタンス RAM ロールを使用して一時的なアクセス認証情報を取得するように ECS インスタンスを構成します。

    using Aliyun.Credentials.Models;
    
    namespace credentials_demo
    {
        class Program
        {
            static void Main(string[] args)
            {
                var config = new Config()
                {
                    Type = "ecs_ram_role",
                  	// オプション。 インスタンス RAM ロールの名前を指定します。 このパラメーターを指定しない場合、システムはインスタンス RAM ロールの名前を自動的に取得します。 リクエスト数を減らすために、このパラメーターを指定することをお勧めします。 インスタンス RAM ロールの名前を ALIBABA_CLOUD_ECS_METADATA 環境変数に設定し、環境変数を参照できます。
                    RoleName = "<RoleName>", 
                    // オプション。 デフォルト値: false。 true: セキュリティ強化モードで強制的にデータを取得します。 false: セキュリティ強化モードでデータの取得を試み、セキュリティ強化モードでデータの取得に失敗した場合、通常モード (IMDSv1) で試みます。
                    DisableIMDSv1 = true
                }
            }
        }
    }

    詳細と例については、「方法 5: ECS インスタンスの RAM ロールを使用する」をご参照ください。

PHP

  1. Credentials ツールをインストールします。

    説明

    セキュリティ強化モードで一時的なアクセス認証情報を取得する場合、credentials パッケージのバージョンは 1.2.0 以降である必要があります。

    composer require alibabacloud/credentials
  2. インスタンス RAM ロールを使用して一時的なアクセス認証情報を取得するように ECS インスタンスを構成します。

    <?php
    
    use AlibabaCloud\Credentials\Credential;
    use AlibabaCloud\Credentials\Credential\Config;
    
    $credConfig = new Config([
        'type' => 'ecs_ram_role',
        // オプション。 インスタンス RAM ロールの名前を指定します。 このパラメーターを指定しない場合、システムはインスタンス RAM ロールの名前を自動的に取得します。 リクエスト数を減らすために、このパラメーターを指定することをお勧めします。 インスタンス RAM ロールの名前を ALIBABA_CLOUD_ECS_METADATA 環境変数に設定し、環境変数を参照できます。
        'roleName' => '<RoleName>',
        // オプション。 デフォルト値: false。 true: セキュリティ強化モードで強制的にデータを取得します。 false: セキュリティ強化モードでデータの取得を試み、セキュリティ強化モードでデータの取得に失敗した場合、通常モード (IMDSv1) で試みます。
        'disableIMDSv1' => true,
    ]);

    詳細と例については、「方法 5: ECS インスタンスの RAM ロールを使用する」をご参照ください。

方法 2: シェルコマンドを使用する

メタデータサービスは、一時的なアクセス認証情報を取得するための HTTP エンドポイントを提供します。

セキュリティ強化モード

  • Linux インスタンス

    # 認証用のメタデータサーバーのアクセス認証情報を取得します。
    TOKEN=`curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds:<メタデータサーバーアクセス認証情報の有効期間>"` 
    # インスタンス RAM ロールの一時的なアクセス認証情報を取得します。
    curl -H "X-aliyun-ecs-metadata-token: $TOKEN" http://100.100.100.200/latest/meta-data/ram/security-credentials/<インスタンス RAM ロールの名前>
  • Windows インスタンス (PowerShell)

    # 認証用のメタデータサーバーのアクセス認証情報を取得します。
    $token = Invoke-RestMethod -Headers @{"X-aliyun-ecs-metadata-token-ttl-seconds" = "<メタデータサーバーアクセス認証情報の有効期間>"} -Method PUT -Uri http://100.100.100.200/latest/api/token
    # インスタンス RAM ロールの一時的なアクセス認証情報を取得します。
    Invoke-RestMethod -Headers @{"X-aliyun-ecs-metadata-token" = $token} -Method GET -Uri http://100.100.100.200/latest/meta-data/ram/security-credentials/<インスタンス RAM ロールの名前>

<メタデータサーバーアクセス認証情報の有効期間>: インスタンス RAM ロールの一時的なアクセス認証情報を取得する前に、メタデータサーバーのアクセス認証情報を取得し、データセキュリティを高めるために認証情報の有効期間を指定する必要があります。 指定された有効期間が終了したら、メタデータサーバーのアクセス認証情報を再取得する必要があります。 そうしないと、インスタンス RAM ロールの一時的なアクセス認証情報を取得できません。

有効な値: 1 ~ 21600。 単位: 秒。 詳細については、「インスタンスメタデータ」をご参照ください。

<インスタンス RAM ロールの名前>: <インスタンス RAM ロールの名前> を実際の値に置き換えます。 例: EcsRamRole

説明

Cloud Assistant を使用して上記のコマンドを実行する場合、Cloud Assistant クライアントのバージョンは、次の表に示すバージョン以降である必要があります。

オペレーティングシステム

Cloud Assistant クライアントの最も古いバージョン

Windows

2.1.3.857

Linux

2.2.3.857

Linux (ARM)

2.4.3.857

FreeBSD

2.3.3.857

通常モード

  • Linux インスタンス

    curl http://100.100.100.200/latest/meta-data/ram/security-credentials/<インスタンス RAM ロールの名前>
  • Windows インスタンス (PowerShell)

    Invoke-RestMethod http://100.100.100.200/latest/meta-data/Invoke-RestMethod http://100.100.100.200/latest/meta-data/ram/security-credentials/<インスタンス RAM ロールの名前>

    <インスタンス RAM ロールの名前> を実際の値に置き換えます。 例: EcsRamRoleDocumentTesting。

次のサンプルコードは、サンプルレスポンスを提供します。

  • 一時的なアクセス認証情報は、AccessKeyIdAccessKeySecret、および SecurityToken の値で構成されます。

  • Expiration: 一時的なアクセス認証情報の有効期限が切れる時点を示します。

    {
       "AccessKeyId" : "STS.*******6YSE",
       "AccessKeySecret" : "aj******jDU",
       "Expiration" : "2017-11-01T05:20:01Z", 
       "SecurityToken" : "CAISng********",
       "LastUpdated" : "2023-07-18T14:17:28Z",
       "Code" : "Success"
    }

方法 3: Alibaba Cloud CLI を使用する

Alibaba Cloud CLI を使用して、ECS メタデータサービスを呼び出すことで、一時的なアクセス認証情報として STS トークンを取得できます。 認証情報は定期的に更新できます。

説明

セキュリティ強化モードで一時的なアクセス認証情報を取得する場合、Alibaba Cloud CLI のバージョンは 3.0.248 以降である必要があります。

次の手順を実行します。

  1. Alibaba Cloud CLI をインストールします。

  2. 次のコマンドを実行して、認証情報を構成します。 <ProfileName> を実際のプロファイル名に置き換えます。

    aliyun configure --profile <ProfileName> --mode EcsRamRole

    上記のコマンドはインタラクティブコマンドです。 プロンプトが表示されたら情報を入力する必要があります。 詳細については、「EcsRamRole」をご参照ください。

  3. API 操作を呼び出します。

    たとえば、次の Alibaba Cloud CLI コマンドを実行して、ECS インスタンスをクエリします。

     aliyun ecs DescribeInstances

    Alibaba Cloud CLI コマンドの詳細については、「コマンド構文」をご参照ください。

インスタンス RAM ロールを使用して API 操作を呼び出す

この例では、Linux ECS インスタンスにデプロイされた Python アプリケーションが、インスタンスにアタッチされたインスタンス RAM ロールを使用して API 操作を呼び出し、OSS バケットからファイルをダウンロードします。

pip install oss2  
pip install alibabacloud_credentials
import oss2
from alibabacloud_credentials.client import Client
from alibabacloud_credentials.models import Config
from oss2 import CredentialsProvider
from oss2.credentials import Credentials

class CredentialProviderWarpper(CredentialsProvider):
    def __init__(self, client):
        self.client = client

    def get_credentials(self):
        access_key_id = self.client.get_access_key_id()
        access_key_secret = self.client.get_access_key_secret()
        security_token = self.client.get_security_token()
        return Credentials(access_key_id, access_key_secret, security_token)

def download_image_using_instance_role(bucket_name, endpoint, object_key, local_file, role_name):
    config = Config(
        type='ecs_ram_role',      # アクセス認証情報のタイプを指定します。 このパラメーターを ecs_ram_role に設定します。
        role_name=role_name
    )
    cred = Client(config)
    credentials_provider = CredentialProviderWarpper(cred)
    auth = oss2.ProviderAuth(credentials_provider)

    # OSS バケットを初期化します。
    bucket = oss2.Bucket(auth, endpoint, bucket_name)
    # イメージをダウンロードします。
    bucket.get_object_to_file(object_key, local_file)
    print("Image downloaded successfully")

if __name__ == "__main__":  

    # グローバル変数を定義します。
    role_name = 'role_name'  # インスタンス RAM ロールの名前を指定します。
    bucket_name = 'bucket_name'  # OSS バケットの名前を指定します。
    endpoint = 'oss-cn-beijing.aliyuncs.com'  # OSS バケットのインターネットエンドポイントを指定します。
    object_key = 'testfolder/example.png'  # ダウンロードするイメージが OSS に保存されているパスを指定します。 パスにはバケット名は含まれません。
    local_file = '/localpath/to/image.png'  # イメージの名前と、ECS インスタンスにイメージを保存するパスを指定します。
    download_image_using_instance_role(bucket_name, endpoint, object_key, local_file, role_name)

その他の操作

インスタンス RAM ロールを解除または変更する

ECS コンソールを使用する

  1. ECS コンソール にログインします。

  2. 左側のナビゲーションウィンドウで、[インスタンスとイメージ] > [インスタンス] を選択します。

  3. 上部のナビゲーションバーで、管理するリソースのリージョンとリソースグループを選択します。 地域

  4. 管理する ECS インスタンスを見つけ、操作列の 图标 > [インスタンス設定] > [RAM ロールの適用/解除] を選択します。

    • ECS インスタンスにアタッチされているインスタンス RAM ロールをデタッチするには、[操作] パラメーターを バインド解除 に設定し、[OK] をクリックします。

    • ECS インスタンスにアタッチされているインスタンス RAM ロールを変更するには、[操作] パラメーターを バインド に設定し、[RAM ロール] ドロップダウンリストから別のインスタンス RAM ロールを選択して、[OK] をクリックします。

      image.png

API 操作を呼び出す

  • ECS インスタンスからインスタンス RAM ロールをデタッチするには、DettachInstanceRamRole 操作を呼び出します。

  • ECS インスタンスにアタッチされているインスタンス RAM ロールを変更するには、次の操作を呼び出します。

    1. DettachInstanceRamRole 操作を呼び出して、ECS インスタンスからインスタンス RAM ロールをデタッチします。

    2. AttachInstanceRamRole 操作を呼び出して、別のインスタンス RAM ロールを ECS インスタンスにアタッチします。

関連情報

  • セルフマネージドアプリケーションが ECS インスタンスにデプロイされている場合は、インスタンス RAM ロールを ECS インスタンスにアタッチし、インスタンス RAM ロールを使用してインスタンスから Key Management Service (KMS) にアクセスできます。 詳細については、「ECS インスタンスにアタッチされたインスタンス RAM ロールを使用して KMS に安全にアクセスする」をご参照ください。

  • ECS インスタンスが特定の権限を必要としなくなった場合は、インスタンスにアタッチされているインスタンス RAM ロールから権限を取り消すことができます。 詳細については、「RAM ロールから権限を取り消す」をご参照ください。

  • Alibaba Cloud の API 操作を呼び出すために使用するコードにプレーンテキストの AccessKey ペアをハードコードすると、コードリポジトリの不適切な権限管理が原因で AccessKey ペアが漏洩する可能性があります。 Alibaba Cloud の API 操作を呼び出すには、ハードコードされた AccessKey ペアではなく、アクセス認証情報を使用することをお勧めします。 詳細については、「アクセス認証情報を使用して API 操作を呼び出すためのベストプラクティス」をご参照ください。