RAM ロールは、仮想ユーザーを象徴する RAM ID です。 RAM ロールには長期のパスワードや AccessKey はなく、信頼できるエンティティがコンソールまたは API を介して使用することができます。

特に指定しない限り、本ドキュメントでの「ロール」は「RAM ロール」を指します。

関連する概念

次の図に、RAM ロールに関連する概念間の関係を示します。
図 1. RAM ロールに関連する概念


表 1. RAM ロール概念の説明
概念 説明
ARN Alibaba Cloud リソース名(ARN)は、ロールのグローバルリソース ID です。 ロールを指定する場合に使用します。
  • ARN は Alibaba Cloud ARN の命名規則に準拠します。 例:Alibaba Cloud アカウントの下にあるロールの DevOps の ARN は acs:ram::1234567890123456:role/samplerole です。
  • ロールを作成後、ロール名をクリックし [基本情報] のエリアでそのロールの ARN を見つけます。
信頼できるエンティティ 信頼できるエンティティとは、ロールの引き受けが可能な信頼できるエンティティユーザーの ID です。
  • ロールをの作成時に信頼できるエンティティを指定する必要があります。 信頼できるエンティティだけがロールを引き受けることができます。
  • 信頼できるエンティティは、信頼できる Alibaba Cloud アカウントまたは Alibaba Cloud サービスであることが可能です。
ポリシー ロールは一連のポリシーに関連付けることができます。 ロールをどのポリシーにも関連付けないままにすることは可能ですが、そのロールはリソースにはアクセスできません。
ロールの引き受け ロールの引き受けは、エンティティユーザーがロールのセキュリティトークンを取得するための方法です。 エンティティユーザーは、AssumeRole API を呼び出すことでロールのセキュリティトークンを取得し、そのトークンを使用して Alibaba Cloud サービス API にアクセスできます。
ID の切り替え ID の切り替えは、エンティティユーザーが RAM コンソールでログイン ID からロール ID に切り替えることができるメソッドです。
  • RAM コンソールにログイン後、エンティティユーザーは引き受け可能なロールに切り替えることができます。 切り替え後、ユーザーはそのロール ID を使用して Alibaba CLoud リソースを操作できます。
  • そのロール ID が必要なくなったら、ユーザーは自身のログイン ID に戻ることができます。
ロールトークン ロールトークンは、ロール ID の一時的な AccessKey です。 RAM ロールには特定の ID 認証キーがありません。 エンティティユーザーは、ロールを使用する場合そのロールを引き受けてロールトークンを取得する必要があります。 その後、ユーザーはロールトークンを使用して Alibaba Cloud サービス API を呼び出すことができます。

説明

RAM ロールは、信頼されたエンティティユーザーによって引き受けられた後にのみ使用できます。
図 2. RAM ロールの使用


RAM ロールとテキストブックロール(Textbook-Role)の違い:
  • 仮想ユーザーとして、RAM ロールは特定の ID を持ち、一連のポリシーを付与できます。 ただし、RAM ロールには特定の ID 認証キー(ログインパスワードまたはアクセスキー)はありません。
  • テキストブックロール(または伝統的な定義済みロール)は、RAM 内のポリシーと同様に、権限セットを示します。 そのようなロールがユーザーに付与されている場合、そのユーザーは一連の権限を持ち、許可されたリソースにアクセスできます。
エンティティユーザーと仮想ユーザーの違い:
  • エンティティユーザーには、特定のログインパスワードまたはアクセスキーがあります。 アカウント、RAM ユーザーアカウント、および Alibaba Cloud サービスアカウントは、すべてがエンティティユーザーです
  • 仮想ユーザーには特定の認証キーがありません。 RAM ロールはエンティティユーザーにより引き受ける必要があります。

RAM ロールタイプ

RAM ロールは、信頼できるエンティティのタイプにより以下のように分類されます。

  • ユーザロール:RAM ユーザーが引き受けられるロール。 RAM ユーザーは、自分の Alibaba Cloud アカウントまたは他のアカウントに属している可能性があります。 このようなロールにより、クロスアカウントアクセスと一時的な権限付与に対するソリューションが提供されます。
  • サービスロール :Alibaba Cloud サービスが引き受けられるロール。 そのようなロールは、Alibaba Cloud サービスにリソースに対する操作する権限を付与するときに使用されます。

RAM ロールを作成します。

RAM コンソールで RAM ロールを作成するには、次の手順を実行します。

  1. ロールタイプを選択します。
  2. 信頼できるエンティティを選択します。
  3. ロール名を入力します。
  4. ロールにポリシーをアタッチします。

ユーザー用に RAM ロールを作成

  1. RAM コンソール にログインします。
  2. 左側のナビゲーションウィンドウで、[ロール] をクリックします。
  3. 表示されたページで、ロールの作成 をクリックします。
  4. ユーザーロールを選択します。
  5. 信頼できる Alibaba Cloud アカウントを選択して、次へ をクリックします。
    • ご自身の Alibaba Cloud アカウントで RAM ユーザーのロールを作成するには、現行 Alibaba Cloud アカウント を選択します。
    • 別の Alibaba Cloud アカウントで RAM ユーザーのロールを作成するには、その他の Alibaba Cloud アカウント を選択してアカウント ID を入力します。
  6. ロール名 にロールの名前を入力します。 説明 フィールドに説明を入力することもできます。 次に、作成 をクリックします。
    • RAM ロールを作成後、権限付与 をクリックしてロールに権限を付与できます。 詳細は、権限の付与 をご参照ください.
    • RAMロールを作成後、ロール名 列でロール名をクリックするか、または操作列で管理をクリックしてロールの詳細を表示できます。

Alibaba Cloud サービス用の RAM ロールを作成

  1. RAM コンソール にログインします。
  2. 左側のナビゲーションウィンドウで、ロール をクリックします。
  3. 表示されたページで、ロールの作成 をクリックします。
  4. サービスロール をクリックして、信頼できる Alibaba Cloud サービスを選択します。 利用可能なサービスは次のとおりです。
    • メディアトランスコーディングサービス(MTS):ロールを作成し、MTS を信頼済みサービスとして構成し、MTS タスクのデータソースとして OSS バケットを設定すると、MTS を使用してロールを引き受け、Object Storage Service(OSS)データにアクセスできます。
    • アーカイブストレージ:OSS バケットをアーカイブストレージのデータソースとして設定すると、ロールを作成し、アーカイブストレージを信頼できるサービスとして設定し、アーカイブストレージを使用してロールを引き受けて OSS データにアクセスできます。
    • Log Service: ロールを作成し、Log Service を信頼できるサービスとして構成し、Log Service で収集したログを OSS にインポートするときに、そのロールを引き受け、データを OSS に書き込むことができます。
    • API Gateway: ロールを作成し、ApiGateway を信頼できるサービスとして設定し、API Gateway のバックエンドサービスとして機能サービスを設定する場合に API Gateway を使用してロールを引き受け、機能サービスを呼び出すことができます。
    • Elastic Compute Service(ECS):ロールを作成し、このロールを使用して ECS に他の Alibaba Cloud サービス内のリソースへのアクセスを許可することができます。
    信頼できるサービスの詳細は、RAM コンソールをご参照ください。
  5. ロール名 フィールドにロールの名前を入力します。 説明 フィールドに説明を入力することもできます。 次に、作成 をクリックします。
    • ロールを作成後、権限付与 をクリックしてこのロールに権限を付与します。 詳細は、権限の付与 をご参照ください.
    • RAM ロールを作成後、ロール名 列でロール名をクリックするか、操作 列で 管理 をクリックしてロールの詳細を表示できます。

RAM ロールの使用

Alibaba Cloud サービス用に作成されたロールは、信頼できる Alibaba Cloud サービスによってのみ引き受けることができ、ユーザー用に作成されたロールは、RAM ユーザーによって引き受けることができます。
  1. RAM ユーザーを作成して AccessKey を作成するか、ユーザーのパスワードを設定します。
  2. システムポリシー AliyunSTSAssumeRoleAccess をアタッチして RAM ユーザーに権限を付与します。
アカウントのセキュリティを維持するために、信頼できる Alibaba Cloud アカウントはロール自体を引き受けることを許可されていません。 代わりに、Alibaba Cloud アカウントの RAM ユーザーがロールを引き受ける必要があります。
RAM ユーザーは、RAM コンソールまたは API を介してロールを引き受けることができます。
  • RAM コンソールで RAM ロールを引き受けます。

    エンティティユーザーが RAM ロールを引き受ける場合は、エンティティユーザーは RAM コンソールにログインしてロールを切り替える必要があります。

    1. RAM ユーザーとして RAM コンソールにログインします。
    2. 右上のアカウントアイコンの上にポインタを移動し、ロールの切り替え をクリックします。
    3. 表示された ロールの切り替え ダイアログボックスでアカウントのエイリアスとロール名を入力後、切り替え をクリックします。
      • ロールを切り替えすると、新しい RAM ロールを持つ RAM ユーザーとしてコンソールにログインできます。 この場合、現在のロールと ID、およびログイン ID の両方がコンソールの右上角に表示されます。
      • ロールを切り替えた後実行できるのはこのロールに許可されている操作だけです。 コンソールにログインすると、元の ID のアクセス権限は隠されます。
    4. 切り替えられたログインユーザー をクリックしログイン ID に戻ります。
      ログイン ID に切り替えると、元の権限を取得し、ロールに関連付けられている権限を失います。
  • API を呼び出して RAM ロールを引き受けます。

    RAM ユーザーに AssumeRole アクセス許可が付与された後、ユーザーは AccessKey を使用してセキュリティトークンサービス(STS)の AssumeRole API を呼び出して、ロールの一時的なセキュリティトークンを取得できます。 次に、ユーザーはトークンを使用して Alibaba Cloud リソース API にアクセスします。

    AssumeRole API を呼び出す方法の詳細は、 ロールの引き受け(AssumeRole) をご参照ください。

RAM ロールが適用可能なシナリオ