このトピックでは、Resource Access Management (RAM) ロールの定義、分類、シナリオ、および基本概念について説明します。 このトピックでは、RAMロールを使用するプロセスと制限についても説明します。
RAMロールとは何ですか?
RAMロールは、ポリシーをアタッチできる仮想IDです。 RAMロールには、ログインパスワードやAccessKeyペアなどの永続的なID資格情報はありません。 RAMロールは、信頼できるエンティティによってロールが引き受けられた後にのみ使用できます。 RAMロールが信頼できるエンティティによって引き受けられると、信頼できるエンティティはSecurity Token Service (STS) トークンを取得できます。 次に、信頼できるエンティティはSTSトークンを使用して、RAMロールとしてAlibaba Cloudリソースにアクセスできます。
RAMロールタイプ
RAMロールは、信頼できるエンティティに基づいて次のタイプに分類されます。
信頼できるエンティティがAlibaba CloudアカウントであるRAMロール: Alibaba Cloudアカウント内のRAMユーザーは、このタイプのRAMロールを引き受けることができます。 このタイプのRAMロールを引き受けるRAMユーザーは、所有者のAlibaba Cloudアカウントまたは他のAlibaba Cloudアカウントに所属できます。 このタイプのRAMロールは、クロスアカウントアクセスと一時的な権限付与に使用されます。
信頼できるエンティティがAlibaba CloudサービスであるRAMロール: Alibaba Cloudサービスは、このタイプのRAMロールを引き受けることができます。 信頼できるAlibaba Cloudサービスが引き受けることができるRAMロールは、通常のサービスロールとサービスにリンクされたロールの2種類に分類されます。 サービスにリンクされたロールの詳細については、「サービスにリンクされたロール」をご参照ください。 このタイプのRAMロールは、Alibaba Cloudサービス全体のアクセスを許可するために使用されます。
信頼できるエンティティがIDプロバイダー (IdP) であるRAMロール: 信頼できるIdPのユーザーは、このタイプのRAMロールを引き受けることができます。 このタイプのRAMロールは、Alibaba Cloudと信頼できるIdP間でロールベースのシングルサインオン (SSO) を実装するために使用されます。
シナリオ
一時アクセスの許可
ほとんどの場合、AccessKeyペアのリークを防ぐために、サーバーでAPI操作を呼び出すことをお勧めします。 ただし、一部のシナリオでは、サーバーを使用したリソース転送によるオーバーヘッドを防ぐために、クライアントからファイルを直接アップロードすることをお勧めします。 この場合、サーバーはSTSトークンを発行でき、クライアントはSTSトークンを使用してリソースを直接転送できます。
詳細については、「STSトークンを使用してモバイルアプリにAlibaba Cloudリソースへのアクセスを許可する」をご参照ください。
Alibaba Cloudアカウント全体に権限を付与
たとえば、Alibaba CloudアカウントのアカウントAとアカウントBを所有しており、アカウントAにアカウントBの特定のリソースにアクセスさせたいとします。アカウントB内で信頼エンティティがアカウントaであるRAMロールを作成し、アカウントAに属するRAMユーザーまたはRAMロールに、信頼エンティティがアカウントaであるRAMロールを引き受ける権限を付与できます。信頼できるエンティティがアカウントAであるRAMロールを使用して、アカウントBの特定のリソースにアクセスできます。
詳細については、「RAMロールを使用してAlibaba Cloudアカウント全体に権限を付与する」をご参照ください。
Alibaba Cloudサービス全体で権限を付与
一部のシナリオでは、Alibaba Cloudサービスが他のサービスにアクセスし、特定の機能を使用する権限を取得する必要があります。 たとえば、ECS (Elastic Compute Service) およびApsaraDB RDSからリソースリストとログデータを取得するには、Cloud ConfigにECSおよびApsaraDB RDSのアクセス権限が必要です。 この場合、信頼できるエンティティがAlibaba CloudサービスであるRAMロールを作成できます。 サービスにリンクされたロールを使用することを推奨します。 サービスにリンクされたロールをサポートしていないAlibaba Cloudサービスの場合は、通常のサービスロールを使用します。
詳細については、「サービスにリンクされたロールで動作するサービス」をご参照ください。
ロールベースSSOの実装
Alibaba Cloudと企業のID管理システムが連携してロールベースSSOを実装する場合、Alibaba Cloudはサービスプロバイダー (SP) であり、ID管理システムはIdPです。 ロールベースSSOを使用すると、IdPからAlibaba Cloudにユーザーを同期する必要なく、ローカルIdPでユーザーを管理できます。 さらに、企業の従業員は、特定のRAMロールを使用してAlibaba Cloudにアクセスできます。 この場合、信頼できるエンティティがIdPであるRAMロールを作成できます。
詳細については、「SAMLベースSSOの概要」および「OIDCベースSSOの概要」をご参照ください。
用語
期間 | 説明 |
信頼できるエンティティ | 信頼できるエンティティは、ロールを引き受けることができるエンティティユーザーです。 ロールを作成するときは、信頼できるエンティティを指定する必要があります。 RAMロールは、信頼できるエンティティによってのみ引き受けることができます。 信頼できるエンティティは、Alibaba Cloudアカウント、Alibaba Cloudサービス、またはIdPです。 |
RAMロールのAlibaba Cloudリソース名 (ARN) | RAMロールのARNは、RAMロールのグローバルに一意のリソース識別子です。 ARNは、Alibaba CloudのARN命名規則に従います。 ARNは、 |
policy | ポリシー構造と構文に基づいて記述される一連の権限。 ポリシーを使用して、権限が付与されたリソースセット、権限が付与された操作セット、および権限付与の条件を記述できます。 ポリシーは、一連の権限を記述する単純な言語仕様の一種です。 1つ以上のポリシーをRAMロールにアタッチできます。 ポリシーのないRAMロールは、Alibaba Cloudリソースにアクセスできません。 |
ロールの引き受け | RAMロールのSTSトークンを取得するためにエンティティによって使用されるメソッド。
|
IDの切り替えidentity switching | IDの切り替えは、エンティティユーザーがRAMコンソールでログオンIDからロールIDに切り替える方法です。 エンティティユーザーがRAMコンソールにログオンした後、エンティティユーザーは、エンティティユーザーが引き受けることができるRAMロールに切り替えることができます。 これにより、エンティティユーザーはRAMロールを使用してAlibaba Cloudリソースを管理できます。 エンティティユーザーがロールIDを必要としなくなった場合、RAMユーザーはログオンIDに切り替えることができます。 |
STSトークン | STSトークンは、RAMロールの一時的なAccessKeyペアです。 RAMロールには、特定のログインパスワードまたはAccessKeyペアはありません。 エンティティユーザーがRAMロールを使用する場合、エンティティユーザーはRAMロールを引き受けてロールトークンを取得する必要があります。 その後、エンティティユーザーはロールトークンを使用してAlibaba CloudサービスのAPI操作を呼び出すことができます。 |
手順
Alibaba Cloudアカウントまたは管理者権限を持つRAMユーザーを使用して、RAMコンソールにログインします。
RAM ロールを作成します。 詳細については、以下のトピックをご参照ください。
RAMロールに権限を付与します。
詳細については、「RAMロールへの権限の付与」をご参照ください。
信頼できるエンティティは、Alibaba Cloud管理コンソールで、または操作を呼び出すことによって、RAMロールのSTSトークンを取得できます。 詳細については、以下のトピックをご参照ください。
信頼できるエンティティは、RAMロールを引き受けて、特定のAlibaba Cloudリソースにアクセスします。
制限事項
RAMロールの使用制限の詳細については、「制限」をご参照ください。