Resource Access Management (RAM) を使用すると、Alibaba Cloud アカウントと RAM ユーザーの権限を個別に管理できます。ビジネスニーズに基づいて、RAM ユーザーにさまざまな権限を付与できます。これにより、Alibaba Cloud アカウント (root ユーザー) の AccessKey ペアが漏洩した場合に発生する可能性のあるセキュリティリスクを防ぐことができます。
背景情報
企業 A は ApsaraMQ for RabbitMQ をアクティベートしました。この企業では、従業員がインスタンス、バーチャルホスト (vhost)、キュー、エクスチェンジなどの ApsaraMQ for RabbitMQ リソースを管理する必要があります。従業員は職務内容が異なるため、必要となる権限も異なります。企業 A には次の要件があります:
-
セキュリティ上の理由から、企業 A は Alibaba Cloud アカウント (root ユーザー) の AccessKey ペアを従業員に公開したくありません。代わりに、従業員ごとに個別のユーザーアカウントを作成したいと考えています。
-
ユーザーアカウントは、必要な権限が付与された後にのみリソースを管理できます。各ユーザーアカウントのリソース使用量は、課金のために個別に計測されません。すべての費用は、企業 A の Alibaba Cloud アカウントに請求されます。
-
企業は、いつでもユーザーアカウントの権限を取り消したり、ユーザーアカウントを削除したりできます。
ステップ 1: RAM ユーザーの作成
企業 A の Alibaba Cloud アカウントを使用して RAM コンソールにログインし、従業員用の RAM ユーザーを作成します。
手順
コンソール
Alibaba Cloud アカウント、または RAM 管理者(例:
AliyunRAMFullAccessポリシー)として、RAM コンソール にログインします。左側のナビゲーションウィンドウで、 を選択します。
「ユーザー」ページで、「ユーザーの作成」をクリックします。
ユーザーの作成 ページの ユーザーアカウント情報 セクションで、ユーザーの基本情報を設定します。
ログイン名 (必須):ログイン名には、英字、数字、ピリオド (.)、ハイフン (-)、アンダースコア (_) を使用できます。最大 64 文字です。
[表示名] (任意):表示名は最大 128 文字です。
[タグ] (任意):
アイコンをクリックし、タグキーとタグ値を入力します。タグは、RAM ユーザーを分類および管理するのに役立ちます。
説明ユーザーの追加 をクリックすると、複数の RAM ユーザーを同時に作成できます。
アクセスモード セクションで、ユーザータイプに基づいてアクセスモードを選択します。
重要セキュリティのベストプラクティスとして、ユーザーごとに 1 つのアクセスモードのみを選択することを推奨します。これにより、コンソールアクセスが必要な人間のユーザーと、プログラムによるアクセスが必要なアプリケーションが明確に分離されます。
AccessKey ペアは、プログラムによるアクセスのための長期的な認証情報です。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが危険にさらされます。認証情報の漏洩リスクを軽減するために、一時的な認証情報としてセキュリティトークンサービス (STS) トークンを使用することを推奨します。詳細については、「API オペレーションを呼び出すためのアクセス認証情報の使用に関するベストプラクティス」をご参照ください。
コンソールアクセス
従業員などの人間のユーザーの場合は、コンソールへのアクセス を選択します。
ログインパスワードの設定:次のいずれかのパスワードオプションを選択します:
[デフォルトパスワードを自動的に再生成]
[カスタムパスワードをリセット]:設定するカスタムパスワードは、パスワードの複雑さの要件を満たす必要があります。
詳細については、「RAM ユーザーのパスワードポリシーの設定」をご参照ください。
パスワードのリセット:RAM ユーザーが次回のログイン時にパスワードをリセットする必要があるかどうかを指定します。
MFA の有効化:デフォルトでは、ログインに多要素認証 (MFA) が必要です。この設定を変更するには、「RAM ユーザーのセキュリティ設定の管理」をご参照ください。RAM ユーザーは、最初のログイン時に MFA デバイスをバインドする必要があります。詳細については、「RAM ユーザーへの MFA デバイスのバインド」をご参照ください。
プログラムによるアクセス
アプリケーションまたはシステムの場合は、[永続的な AccessKey を使用してアクセス] を選択します。
このオプションを有効にすると、システムは RAM ユーザーの AccessKey ID と AccessKey Secret を自動的に作成します。
重要AccessKey Secret は作成時に一度しか表示されず、後で取得することはできません。これは、シークレットを表示して保存する唯一の機会です。ただちにコピーして安全な場所に保存するか、[CSV ファイルのダウンロード] をクリックしてファイルをダウンロードする必要があります。 AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが侵害されます。詳細については、「AccessKey ペアの作成」をご参照ください。
API
コンソールアクセス用の RAM ユーザーの作成
GetDefaultDomain を呼び出して、アカウントのデフォルトのログインサフィックスを取得します。フォーマットは
<AccountAlias>.onaliyun.comです。CreateUser を呼び出して RAM ユーザーを作成します。必須パラメーターは次のとおりです:
UserPrincipalName:RAM ユーザーのログイン名。フォーマットは<username>@<AccountAlias>.onaliyun.comです。<username>は RAM ユーザーの名前で、<AccountAlias>.onaliyun.comはデフォルトのログインサフィックスです。DisplayName:RAM ユーザーの表示名。<username>とは異なる名前にすることができます。
CreateLoginProfile を呼び出してユーザーのログインプロファイルを作成し、コンソールアクセスを有効にします。一部のパラメーターの推奨設定は次のとおりです:
UserPrincipalName:前のステップで作成した RAM ユーザーのログイン名。Password:アカウントのパスワードの複雑さの要件を満たすパスワードを設定します。GetPasswordPolicy を呼び出して、RAM ユーザーのパスワードポリシーをクエリできます。MFABindRequired:RAM ユーザーに MFA を要求することを推奨します。そのためには、このパラメーターをtrueに設定します。Status:パスワードベースのコンソールへのログインを有効にするかどうかを指定します。デフォルト値のActiveのままにします。
プログラムによるアクセス用の RAM ユーザーの作成
GetDefaultDomain を呼び出して、アカウントのデフォルトのログインサフィックスを
<AccountAlias>.onaliyun.comのフォーマットで取得します。CreateUser を呼び出して RAM ユーザーを作成します。必須パラメーターは次のとおりです:
UserPrincipalName:RAM ユーザーのログイン名。フォーマットは<username>@<AccountAlias>.onaliyun.comです。<username>は RAM ユーザーの名前で、<AccountAlias>.onaliyun.comはデフォルトのログインサフィックスです。DisplayName:RAM ユーザーの表示名。<username>とは異なる名前にすることができます。
CreateAccessKey を呼び出して AccessKey ペアを作成します。前のステップで作成した RAM ユーザーの
UserPrincipalNameを指定するだけで済みます。重要CreateAccessKeyAPI オペレーションは、AccessKey ID と AccessKey Secret を返します。これは、シークレットを表示して保存する唯一の機会です。ただちにコピーして安全な場所に保存する必要があります。 AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが侵害されます。詳細については、「AccessKey の作成」をご参照ください。
ステップ 2: RAM ユーザーへの権限付与
異なる RAM ユーザーに異なる権限を付与します。
RAM 管理者として RAM コンソールにログインします。
左側のナビゲーションウィンドウで、を選択します。
[ユーザー] ページで、目的の RAM ユーザーを見つけ、[操作] 列の [権限の追加] をクリックします。

複数の RAM ユーザーを選択し、ページ下部の [権限の追加] をクリックして、RAM ユーザーに一度に権限を付与することもできます。
-
[権限の追加] パネルで、RAM ユーザーに権限を付与します。
-
[権限付与の範囲] を選択します。
-
[アカウント]:権限は現在の Alibaba Cloud アカウントで有効になります。
-
[リソースグループレベル]:権限は特定のリソースグループに限定されます。
説明特定のリソースグループに対する権限は、クラウドサービスがリソースグループをサポートしている場合にのみ有効になります。詳細については、「リソースグループをサポートするサービス」をご参照ください。
-
-
プリンシパルを指定します。
プリンシパルは、権限を付与する RAM ユーザーです。
-
[ポリシー] を選択します。
アクセスポリシーは、アクセス権限のコレクションです。次の 2 種類があります:
-
システムポリシー:Alibaba Cloud によって作成されるポリシー。これらのポリシーは使用できますが、変更はできません。Alibaba Cloud がポリシーのバージョンを維持します。詳細については、「RAM と連携するサービス」をご参照ください。
-
カスタムポリシー:お客様が管理するポリシー。カスタムポリシーを作成、更新、削除して、バージョンを維持できます。詳細については、「カスタムポリシーの作成」をご参照ください。
説明システムは、AdministratorAccess や AliyunRAMFullAccess などのリスクの高いシステムポリシーを自動的に識別します。不要な権限を付与するリスクの高いポリシーをアタッチしないでください。
-
-
[新しい権限付与の確認] をクリックします。
-
-
[閉じる] をクリックします。
次のステップ
企業 A が RAM ユーザーに権限を付与した後、その RAM ユーザーを使用する従業員は、次のいずれかの方法で ApsaraMQ for RabbitMQ にアクセスできます。
-
コンソール
-
ブラウザで RAM ユーザーログインページ を開きます。
-
[RAM ユーザーログイン] ページで、RAM ユーザー名を入力し、[次へ] をクリックし、RAM ユーザーのパスワードを入力してから、[ログイン] をクリックします。
説明RAM ユーザーのログイン名は、<$username>@<$AccountAlias> または <$username>@<$AccountAlias>.onaliyun.com のフォーマットです。<$AccountAlias> はアカウントエイリアスです。アカウントエイリアスが指定されていない場合、デフォルトで Alibaba Cloud アカウントの ID が使用されます。
-
-
API
コード内で、RAM ユーザーの AccessKey ID と AccessKey Secret を使用して API を呼び出し、ApsaraMQ for RabbitMQ にアクセスします。