最小権限の原則に従い、複数のユーザーが Alibaba Cloud アカウントまたは AccessKey ペアを共有するのを防ぐために、RAM ユーザーに必要な権限を付与できます。これにより、企業のアクセスセキュリティリスクを軽減できます。このトピックでは、Alibaba Cloud アカウントを使用して RAM ユーザーに権限を付与する方法と、各権限について説明します。
背景
Resource Access Management (RAM) は、Alibaba Cloud が提供する権限管理システムです。
RAM は、アカウントの権限を制御するために使用されます。
Alibaba Cloud アカウント内に RAM ユーザーを作成し、Hologres に対するさまざまな権限を付与できます。たとえば、RAM ユーザーにインスタンスの購入または削除、インスタンスの仕様のスペックアップまたはスペックダウン、インスタンスのネットワークタイプの変更、およびインスタンスの詳細の表示の権限を付与できます。
RAM ユーザーとして Hologres インスタンスでデータを開発する場合は、次の点に注意してください。
Alibaba Cloud アカウントによって必要な権限が付与されていない場合、RAM ユーザーは Hologres コンソールでインスタンスを表示または管理できません。
RAM ユーザーは、Alibaba Cloud アカウントによって Hologres インスタンスの開発権限を付与されることがあります。開発権限を持つ RAM ユーザーは、Hologres コンソールでインスタンスを管理できなくても、開発ツールに接続してデータを開発できます。詳細については、「RAM ユーザーに Hologres インスタンスの開発権限を付与する」をご参照ください。
RAM ユーザーへの Hologres の権限付与
RAM 管理者として RAM コンソールにログインします。
左側のナビゲーションウィンドウで、を選択します。
[ユーザー] ページで、目的の RAM ユーザーを見つけ、[アクション] 列の [権限の追加] をクリックします。

複数の RAM ユーザーを選択し、ページ下部の [権限の追加] をクリックして、一度に RAM ユーザーに権限を付与することもできます。
RAM ユーザーに権限を付与します。
[権限の追加] パネルで、次のセクションで説明するパラメーターを設定します。
説明HoloWeb はリソースグループに属していないため、指定されたリソースグループを使用して HoloWeb にログインして使用することはできません。
次のセクションで説明する権限は、RAM ユーザーが HoloWeb にログインして使用する権限を持っているかどうかのみを示します。RAM ユーザーを使用して Hologres インスタンスに接続して使用する場合は、インスタンスの詳細ページに移動して権限を付与できます。詳細については、「RAM ユーザーに Hologres インスタンスの開発権限を付与する」をご参照ください。
リソース範囲パラメーターを設定します。
[アカウント]: 権限付与は現在の Alibaba Cloud アカウントで有効になります。
[リソースグループ]: 権限付与は特定のリソースグループに対して有効になります。
重要リソース範囲パラメーターにリソースグループを選択する場合は、必要なクラウドサービスとリソースタイプがリソースグループをサポートしていることを確認してください。詳細については、「リソースグループと連携するサービス」をご参照ください。リソースグループの権限付与方法の詳細については、「リソースグループを使用して RAM ユーザーに特定の ECS インスタンスを管理する権限を付与する」をご参照ください。
権限付与エンティティを選択できます。
プリンシパルは、権限を付与する RAM ユーザーです。現在の RAM ユーザーが自動的に選択されます。
ポリシーパラメーターを設定します。
ポリシーには一連の権限が含まれています。ポリシーは、システムポリシーとカスタムポリシーに分類できます。一度に複数のポリシーを選択できます。
システムポリシー: Alibaba Cloud によって作成されるポリシー。これらのポリシーは使用できますが、変更はできません。ポリシーのバージョン更新は Alibaba Cloud によって維持されます。詳細については、「RAM と連携するサービス」をご参照ください。
説明システムは、AdministratorAccess や AliyunRAMFullAccess などのリスクの高いシステムポリシーを自動的に識別します。リスクの高いポリシーをアタッチして不要な権限を付与しないことをお勧めします。
次の表に、Hologres の権限を付与するために使用できるシステムポリシーを示します。システムポリシーを RAM ユーザーにアタッチすると、RAM ユーザーにはシステムポリシーで定義されているすべての権限が付与されます。
ポリシー
説明
AliyunHologresFullAccess
Hologres への完全なアクセス権限を付与します。
説明このポリシーには、Hologres インスタンスを使用する権限は含まれていません。Hologres インスタンスを使用する場合は、スーパーユーザーとして Hologres インスタンスにユーザーを作成し、作成したユーザーとして Hologres インスタンスにログインして使用する必要があります。詳細については、「インスタンスの使用に関する RAM ユーザー権限についての FAQ」をご参照ください。
この権限により、RAM ユーザーに次の権限が付与されます:
RAM ユーザーは、Hologres コンソールですべてのインスタンスに関する情報を表示する権限を付与されます。情報には、インスタンスリスト、インスタンスの詳細、メトリックが含まれます。
RAM ユーザーは、課金に関わる操作を実行する権限を付与されます。たとえば、RAM ユーザーとしてインスタンスの購入、インスタンスの仕様のスペックアップまたはスペックダウン、インスタンスの更新、インスタンスの停止、またはインスタンスの削除ができます。
RAM ユーザーは、HoloWeb コンソールにログインして使用する権限を付与されます。
RAM ユーザーは、RAM ユーザーとしてインスタンスを購入した後、インスタンスに対するすべての操作を実行する権限を付与されます。この場合、RAM ユーザーと Alibaba Cloud アカウントの両方がインスタンスのスーパーユーザーになります。
デフォルトでは、RAM ユーザーは Alibaba Cloud アカウントを使用して作成されたインスタンスに対する操作を実行する権限がありません。RAM ユーザーが操作を実行できるようにするには、Alibaba Cloud アカウントを使用して RAM ユーザーに必要な権限を付与します。詳細については、「RAM ユーザーに Hologres インスタンスの開発権限を付与する」をご参照ください。
ユーザーは、コンソールの [ユーザー管理] ページですべてのユーザーを表示する権限がありません。ユーザーがコンソールの [ユーザー管理] ページでユーザー情報を表示できるようにするには、
listuser権限 (AliyunRAMReadOnlyAccess) を付与する必要があります。
AliyunHologresWarehouseFullAccess
Hologres 仮想ウェアハウスに対するすべてのアクセス権限を付与します。
説明このポリシーには、Hologres インスタンスを使用する権限は含まれていません。Hologres インスタンスを使用する場合は、スーパーユーザとして Hologres インスタンスにユーザーを作成し、作成したユーザーとして Hologres インスタンスにログインして使用する必要があります。詳細については、「インスタンスの使用に関する RAM ユーザーの権限についてのよくある質問」をご参照ください。
この権限がセットされると、RAM ユーザーに次の権限が付与されます:
RAM ユーザーは、仮想ウェアハウスの作成、削除、スケールアウト、スケールイン、停止、および解凍を行う権限を付与されます。
RAM ユーザーは、時間指定スケーリング機能を使用する権限を付与されます。
RAM ユーザーは、HoloWeb コンソールにログインして使用する権限を付与されます。
AliyunBSSOrderAccess
課金管理コンソールで注文を表示、支払い、キャンセルする権限を付与します。
このポリシーを RAM ユーザーにアタッチすると、RAM ユーザーは Hologres コンソールでインスタンスの仕様のスペックアップまたはスペックダウン、およびインスタンスの更新ができます。
AliyunRAMReadOnlyAccess
RAM に対する読み取り専用権限を付与します。
このポリシーを RAM ユーザーにアタッチすると、RAM ユーザーは HoloWeb コンソールの [ユーザー管理] ページで、RAM ユーザーが属する Alibaba Cloud アカウントのすべての RAM ユーザーと RAM ロールの情報を表示できます。
AliyunHologresReadOnlyAccess
Hologres に対する読み取り専用権限を付与します。
この権限が設定されると、RAM ユーザーに次の権限が付与されます:
RAM ユーザーは、Hologres コンソールですべてのインスタンスに関する情報を表示する権限を付与されます。情報には、インスタンスリストと詳細が含まれます。
RAM ユーザーは、HoloWeb コンソールにログインして使用する権限を付与されます。
RAM ユーザーは、課金に関わる操作を実行する権限を付与されません。たとえば、RAM ユーザーとしてインスタンスの購入、またはインスタンスの仕様のスペックアップまたはスペックダウンはできません。
RAM ユーザーは、インスタンスに対する操作を実行する権限を付与されません。RAM ユーザーが操作を実行できるようにするには、Alibaba Cloud アカウントを使用して、インスタンスに対する必要な権限を RAM ユーザーに付与します。
コンソールまたは HoloWeb のユーザー管理ページで、現在の Alibaba Cloud アカウント下のすべての RAM ユーザーを表示することはできません。ユーザーを表示するには、
AliyunRAMReadOnlyAccess権限を付与する必要があります。
説明RAM ユーザーとしてインスタンスを購入した場合、デフォルトで RAM ユーザーと Alibaba Cloud アカウントの両方がスーパーユーザーになります。
Alibaba Cloud アカウントを使用してインスタンスを購入した場合、Alibaba Cloud アカウントを使用して RAM ユーザーに関連する権限を付与した後にのみ、RAM ユーザーとしてインスタンスを使用できます。
カスタムポリシー: 必要に応じて管理および更新されるポリシー。カスタムポリシーを作成、更新、削除できます。詳細については、「カスタムポリシーの作成」をご参照ください。
重要RAM ユーザーのポリシーを設定する際は、RAM ユーザーが Hologres コンソールにアクセスできるように、AliyunRAMReadOnlyAccess ポリシーを RAM ユーザーにアタッチする必要があります。
たとえば、次のポリシー構成を入力できます:
重要コードを実行する前に、次のサンプルコードからコメントを削除してください。そうしないと、コードを実行できません。
{ "Statement": [ { // RAM ユーザーにすべての操作を実行する権限を付与します。この構成を入力した場合、以下の構成を入力する必要はありません。 "Effect": "Allow", "Action": "hologram:*",// すべての操作を実行する権限。 "Resource": "acs:hologram:*:<Alibaba Cloud アカウント ID>:instance/*"// すべてのリージョンのすべてのインスタンスに権限が適用されます。<アスタリスク (*) はインスタンス ID に置き換えることはできません。> }, { // RAM ユーザーにインスタンスの購入または更新の権限を付します。 "Effect": "Allow", "Action": "hologram:*", "Resource": "acs:hologram:cn-<リージョン >:<Alibaba Cloud アカウント ID>:instance/*" }, { // RAM ユーザーにインスタンスを削除する権限を付与します。 "Effect": "Allow", "Action": "hologram:DeleteInstance", "Resource": "acs:hologram:cn-<リージョン>:<Alibaba Cloud アカウント ID>:instance/*"//<RAM ユーザーは、インスタンスを削除するために使用する前にこの権限を付与される必要があります。そうしないと、RAM ユーザーがインスタンスを削除したときに、成功メッセージが返されますが、インスタンスは削除されません。> }, { // RAM ユーザーにインスタンスを購入する権限を付与します。RAM ユーザーは、インスタンスを購入するために使用する前にこの権限を付与される必要があります。 "Effect": "Allow", "Action": "bss:PayOrder", "Resource": "acs:hologram:cn-<リージョン >:<Alibaba Cloud アカウント ID>:instance/*"//<テストに失敗しました。> }, { // RAM ユーザーにインスタンスの詳細を表示する権限を付与します。 "Effect": "Allow", "Action": "hologram:GetInstance", "Resource": "acs:hologram:cn-<リージョン >:<Alibaba Cloud アカウント ID>:instance/*" //<アスタリスク (*) はインスタンス ID に置き換えることができます。> }, { // RAM ユーザーにインスタンスリストを表示する権限を付与します。 "Effect": "Allow", "Action": "hologram:ListInstances", "Resource": "acs:hologram:cn-<リージョン >:<Alibaba Cloud アカウント ID>:instance/*"//<アスタリスク (*) はインスタンス ID に置き換えることはできません。> }, { // RAM ユーザーにインスタンスを一時停止する権限を付与します。 "Effect": "Allow", "Action": "hologram:StopInstance", "Resource": "acs:hologram:cn-<リージョン>:<Alibaba Cloud アカウント ID>:instance/*" }, { // RAM ユーザーにインスタンスを再開する権限を付与します。 "Effect": "Allow", "Action": "hologram:ResumeInstance", "Resource": "acs:hologram:cn-<リージョン>:<Alibaba Cloud アカウント ID>:instance/*" }, { // RAM ユーザーにインスタンスのネットワークタイプを変更する権限を付与します。 "Effect": "Allow", "Action": "hologram:UpdateInstanceNetworkType", "Resource": "acs:hologram:cn-<リージョン>:<Alibaba Cloud アカウント ID>:instance/*" }. { // RAM ユーザーに HoloWeb にアクセスする権限を付与します。 "Effect": "Allow", "Action": "hologram:HoloWebAccess", "Resource": "*" } ], "Version": "1" }次の表に、構文のパラメーターを示します。
パラメーター
説明
<リージョン>
Hologres インスタンスが存在するリージョン。例: beijing。
<Alibaba Cloud アカウント ID>
Alibaba Cloud アカウントの ID。
*
Alibaba Cloud アカウント内のすべての Hologres インスタンスの ID。アスタリスク (*) を特定の Hologres インスタンスの ID に置き換えることもできます。
ステートメントの例:
acs:hologram:cn-beijing:4322xxxxx:instance/hhhgggxxxx重要次の権限付与オプションでは、
instance/*のアスタリスク (*) を特定のインスタンス ID に置き換えることはできません。*に設定する必要があります:{ "Statement": [ { // RAM ユーザーにすべての操作を実行する権限を付与します。この構成を入力した場合、以下の構成を入力する必要はありません。 "Effect": "Allow", "Action": "hologram:*",// すべての操作を実行する権限。 "Resource": "acs:hologram:*:<Alibaba Cloud アカウント ID>:instance/*"// すべてのリージョンのすべてのインスタンスに権限が適用されます。 }, { // RAM ユーザーにインスタンスの購入または更新の権限を付与します。 "Effect": "Allow", "Action": "hologram:*", "Resource": "acs:hologram:cn-<リージョン >:<Alibaba Cloud アカウント ID>:instance/*" }, { // RAM ユーザーにインスタンスを削除する権限を付与します。 "Effect": "Allow", "Action": "hologram:DeleteInstance", "Resource": "acs:hologram:cn-<リージョン>:<Alibaba Cloud アカウント ID>:instance/*" }, { // RAM ユーザーにインスタンスを購入する権限を付与します。この権限は、RAM ユーザーを使用してインスタンスを購入する場合に付与する必要があります。 "Effect": "Allow", "Action": "bss:PayOrder", "Resource": "acs:hologram:cn-<リージョン>:<Alibaba Cloud アカウント ID>:instance/*" }, { // RAM ユーザーにインスタンスリストを表示する権限を付与します。 "Effect": "Allow", "Action": "hologram:ListInstances", "Resource": "acs:hologram:cn-<リージョン>:<Alibaba Cloud アカウント ID>:instance/*" }, { // RAM ユーザーにインスタンスを一時停止する権限を付与します。 "Effect": "Allow", "Action": "hologram:StopInstance", "Resource": "acs:hologram:cn-<リージョン>:<Alibaba Cloud アカウント ID>:instance/*" }, { // RAM ユーザーにインスタンスを再開する権限を付与します。 "Effect": "Allow", "Action": "hologram:ResumeInstance", "Resource": "acs:hologram:cn-<リージョン>:<Alibaba Cloud アカウント ID>:instance/*" }, { // RAM ユーザーにインスタンスのメトリックを表示する権限を付与します。 "Effect": "Allow", "Action": "cms:DescribeMetricList", "cms:QueryMetricList" "Resource": "acs:hologram:cn-<リージョン>:<Alibaba Cloud アカウント ID>:instance/*" }, { // RAM ユーザーにインスタンスのネットワークタイプを変更する権限を付与します。 "Effect": "Allow", "Action": "hologram:UpdateInstanceNetworkType", "Resource": "acs:hologram:cn-<リージョン>:<Alibaba Cloud アカウント ID>:instance/*" } ], "Version": "1" }
[権限の付与] をクリックし、[閉じる] をクリックします。
Hologres コンソールでの操作に関連する RAM ユーザー権限についての FAQ
Hologres コンソールでの操作に関連する権限は、RAM コンソールで付与される権限と、インスタンスの開発権限の一部で構成されます。このセクションでは、Hologres コンソールでの操作に関連する権限に関するよくある質問への回答を提供します。
RAM ユーザーとしてインスタンスリストとインスタンス ID を表示できないのはなぜですか?
問題の説明
RAM ユーザーを使用して Hologres コンソールにログインし、有効なリージョンを選択しても、購入したインスタンスを表示できません。次のエラーメッセージが返されます: 購入したインスタンスを表示する権限がありません。関連する Alibaba Cloud アカウントに連絡して、RAM コンソールで Xxx/* に対する Hologram:ListInstances 権限を付与してもらってください。
原因
現在の RAM ユーザーには、Hologres コンソールでインスタンスリストを表示する権限がありません。
解決策
Alibaba Cloud アカウントを使用して RAM コンソールにログインします。AliyunHologresReadOnlyAccess ポリシーを RAM ユーザーにアタッチします。これで、RAM ユーザーはインスタンスリストを表示できるようになります。
Resource Access Management (RAM) ユーザーはインスタンスに対する操作を実行する権限がありません。
問題の説明
スーパーユーザー権限を付与された RAM ユーザーが、インスタンスの購入、スペックアップ、スペックダウン、またはインスタンスの課金方法を [従量課金] から サブスクリプション に変更できません。次のエラーが報告されます: RAM ユーザーの認証に失敗しました。
原因
現在の RAM ユーザーには、インスタンスの購入、インスタンスの仕様のスペックアップまたはスペックダウン、またはインスタンスの課金方法の変更の権限がありません。これらの操作は、Alibaba Cloud アカウントを使用して実行できます。
解決策
Alibaba Cloud アカウントを使用して RAM コンソールにログインします。AliyunHologresFullAccess および AliyunBSSOrderAccess ポリシーを RAM ユーザーにアタッチします。これで、RAM ユーザーはインスタンスを管理できるようになります。
インスタンスの使用に関する RAM ユーザー権限についての FAQ
RAM ユーザーとして Hologres インスタンスに接続して使用できないのはなぜですか?
問題の説明
次のエラーが報告されます:
role "<role_name>" does not exist。原因
Hologres インスタンスが作成された後、デフォルトでは Alibaba Cloud アカウントと Hologres インスタンスの購入に使用された RAM ユーザーのみがインスタンスのスーパーユーザーになります。他の RAM ユーザーは、Hologres インスタンスに接続して使用する前に、スーパーユーザーによって Hologres インスタンスの権限を付与される必要があります。
解決策
説明select * from pg_user;コマンドを実行して、現在のインスタンスのスーパーユーザーを表示できます。HoloWeb コンソールの [ユーザー管理] ページで、ユーザーを追加し、必要な権限をユーザーに付与します。詳細については、「ユーザーの管理」をご参照ください。
インスタンスにログインし、
create user "<role_name>"ステートメントを実行します。詳細については、「Hologres 権限モデル」をご参照ください。
[ユーザー管理] ページと [データベース権限付与] ページで情報を表示できないのはなぜですか?
問題の説明
RAM ユーザーがコンソールにログインしても、[ユーザー管理] ページと [DB 管理] ページにコンテンツが表示されません。次のエラーが報告されます:
必要な権限がありません。スーパーユーザーに現在のアカウントをインスタンスに追加するよう依頼してください。原因
現在の RAM ユーザーには、インスタンスの開発権限がありません。関連情報を表示するには、インスタンスの開発権限を付与される必要があります。
解決策
Alibaba Cloud アカウントを使用するか、スーパーユーザーとして、RAM ユーザーにインスタンスの開発権限を付与します。詳細については、「RAM ユーザーに Hologres インスタンスの開発権限を付与する」をご参照ください。
誤ってスーパーユーザーを削除してしまった場合はどうすればよいですか?
問題の説明
インスタンス内のすべてのスーパーユーザーが誤って一般ユーザーに変更されてしまいました。
説明インスタンス内のすべてのスーパーユーザーを誤って一般ユーザーに変更した場合、ユーザー管理やインスタンスに関連するほとんどの操作を実行できなくなります。
解決策
テクニカルサポートについては、Hologres DingTalk グループに参加してください。詳細については、「Hologres のオンラインサポートの利用」をご参照ください。