RAM ロールを使用すると、別の Alibaba Cloud アカウントのリソースにアクセスしたり、別の Alibaba Cloud アカウントにご利用のリソースへのアクセスを許可したりできます。このトピックでは、RAM ロールの作成方法と使用方法について説明します。
概要
RAM ロールは、ポリシーを付与できる仮想ユーザーです。RAM ユーザーとは異なり、RAM ロールにはログインパスワードや AccessKey などの永続的な認証情報がありません。RAM ロールは、信頼されたプリンシパルによって偽装される必要があります。信頼されたプリンシパルがロールを偽装すると、一時的な STS トークンを取得して、権限が付与されたリソースにアクセスできます。
たとえば、企業 B の RAM ユーザーに企業 A の Simple Log Service リソースへのアクセスを権限付与するには、RAM ロールを使用します。プロセスは次のとおりです。
-
企業 A が RAM ロールを作成します。
-
企業 A が RAM ロールに権限を付与します。
-
企業 B が RAM ユーザーを作成します。
-
企業 B が RAM ユーザーに AliyunSTSAssumeRoleAccess 権限を付与します。
-
企業 B の RAM ユーザーが RAM ロールを偽装して、企業 A のリソースにアクセスします。
ステップ 1: 企業 A での RAM ロールの作成
-
RAM 管理者として RAM コンソールにログインします。
-
左側のナビゲーションウィンドウで、を選択します。
-
ロール ページで、ロールの作成 をクリックします。
-
ロールの作成 ページで、[プリンシパルタイプ] を クラウドアカウント に設定し、[信頼できる Alibaba Cloud アカウントの選択] を その他の Alibaba Cloud アカウント に設定し、企業 B のルートアカウントの [アカウント ID] を入力して、OK をクリックします。
-
ロールの作成 ダイアログボックスで、ロール名 (例:
aliyunlogreadrole) を入力します。
ステップ 2: RAM ロールへの権限付与
デフォルトでは、新しい RAM ロールには権限がありません。権限を付与する必要があります。RAM は、Simple Log Service 用に次の 2 つのシステムポリシーを提供しています。最小権限の原則に従い、RAM ロールには必要な権限のみを付与することを推奨します。
-
AliyunLogFullAccess: Simple Log Service への完全な管理アクセス権を付与します。
-
AliyunLogReadOnlyAccess: Simple Log Service への読み取り専用アクセス権を付与します。
システムポリシーが要件を満たさない場合は、カスタムポリシーを作成して、きめ細かい権限管理を行うことができます。詳細については、「カスタムポリシーの作成」をご参照ください。ポリシーの例については、「カスタムポリシーの例」および「RAM ユーザーへの Simple Log Service の権限付与」をご参照ください。
-
RAM 管理者として RAM コンソールにログインします。
-
左側のナビゲーションウィンドウで、を選択します。
-
ロール ページで、対象の RAM ロールを見つけ、アクション 列の 権限を新規付与する をクリックします。
複数の RAM ロールを選択し、ロールリストの下部にある 権限を新規付与する をクリックして、権限を一括で付与することもできます。
-
権限を新規付与する パネルで、AliyunLogReadOnlyAccess などのポリシーを選択し、[OK] をクリックします。
-
クローズ をクリックします。
ステップ 3: 企業 B での RAM ユーザーの作成
-
Alibaba Cloud アカウント (root ユーザー) または RAM 管理者として RAM コンソールにログインします。
-
左側のナビゲーションウィンドウで、 を選択します。
-
ユーザー ページで、ユーザーの作成 をクリックします。
-
ユーザーの作成 ページの ユーザーアカウント情報 セクションで、ユーザーの基本情報を設定します。
-
ログイン名:名前は最大 64 文字で、文字、数字、ピリオド (.)、ハイフン (-)、アンダースコア (_) を使用できます。
-
表示名:名前は最大 128 文字です。
-
タグ:
をクリックし、タグキーとタグ値を入力します。RAM ユーザーにタグを追加して、タグベースのユーザー管理を容易にすることができます。説明ユーザーの追加 をクリックすると、一度に複数の RAM ユーザーを作成できます。
-
-
アクセス方法 セクションで、アクセスモードを選択し、そのパラメーターを設定します。
セキュリティ上の理由から、ヒューマンユーザーとアプリケーションユーザーを分離するために、次のアクセスモードのいずれか 1 つのみを選択することを推奨します。
-
コンソールへのアクセス
RAM ユーザーが個人を表す場合は、コンソールアクセスを有効にすることを推奨します。これにより、ユーザーはユーザー名とパスワードで Alibaba Cloud にアクセスできます。次のパラメーターを設定する必要があります。
-
コンソールパスワード:パスワードを自動生成するか、カスタマイズするかを選択します。カスタムパスワードは、パスワードの複雑さのルールを満たす必要があります。詳細については、「RAM ユーザーのパスワードポリシーの設定」をご参照ください。
-
次回ログイン時に必須:RAM ユーザーが次回ログイン時にパスワードをリセットする必要があるかどうかを選択します。
-
MFA を有効にする:RAM ユーザーの多要素認証 (MFA) を有効にするかどうかを選択します。MFA を有効にする場合は、MFA デバイスもバインドする必要があります。詳細については、「RAM ユーザーの MFA デバイスのバインド」をご参照ください。
-
-
[プログラムによるアクセス]
RAM ユーザーがアプリケーションを表す場合、永続的な AccessKey を使用してプログラムで Alibaba Cloud にアクセスできます。このオプションを有効にすると、システムは RAM ユーザーの AccessKey ID と AccessKey Secret を自動的に生成します。詳細については、「AccessKey ペアの作成」をご参照ください。
重要-
RAM ユーザーの AccessKey Secret は、AccessKey の作成時にのみ表示され、後から取得することはできません。AccessKey Secret は安全な方法で保管してください。
-
AccessKey は、プログラムによるアクセスのための長期的な認証情報です。AccessKey が漏洩すると、アカウント内のすべてのリソースが危険にさらされます。認証情報の漏洩リスクを軽減するために、STS トークンなどの一時的な認証情報を使用することを推奨します。詳細については、「アクセス認証情報の管理に関するベストプラクティス」をご参照ください。
-
-
-
OK をクリックします。
ステップ 4: RAM ユーザーへの権限付与
企業 B の RAM ユーザーが企業 A によって作成された RAM ロールを偽装するには、事前にその RAM ユーザーに AliyunSTSAssumeRoleAccess 権限を付与しておく必要があります。
-
RAM 管理者として RAM コンソールにログインします。
-
左側のナビゲーションウィンドウで、を選択します。
-
ユーザー ページで、対象の RAM ユーザーを見つけ、アクション 列の 権限の追加 をクリックします。
複数の RAM ユーザーを選択し、ユーザーリストの下部にある 権限の追加 をクリックして、権限を一括で付与することもできます。
-
権限を新規付与する パネルの 権限ポリシー セクションで、システムポリシー の下にある AliyunSTSAssumeRoleAccess を検索して選択し、[OK] をクリックします。
-
クローズ をクリックします。
ステップ 5: STS トークンの取得
企業 B の RAM ユーザーが AliyunSTSAssumeRoleAccess 権限を取得すると、AssumeRole API オペレーションを呼び出して STS トークンを取得できます。その後、ユーザーはこのトークンを使用して、「ステップ 1: 企業 A での RAM ロールの作成」で作成した RAM ロールを偽装し、企業 A のリソースにアクセスします。
-
AssumeRole API オペレーションの呼び出し方法の詳細については、「STS SDK for Java」をご参照ください。
-
STS SDK を使用して AccessKey ID、AccessKey Secret、および SecurityToken を取得した後、Simple Log Service SDK を使用して Simple Log Service にアクセスします。詳細については、「SDK リファレンス概要」をご参照ください。