Alibaba Cloud ElasticsearchコンソールでRAMユーザーが特定のクラスターのみを表示および管理できるようにするには、リソースグループを使用してクラスターに対する権限をRAMユーザーに付与できます。このトピックでは、リソースグループを使用して特定のクラスターに対する権限をRAMユーザーに付与する方法について説明します。
手順
Alibaba Cloud Elasticsearchクラスターの作成時にデフォルトのリソースグループを選択すると、クラスターはデフォルトのリソースグループに作成されます。この場合、クラスターに対する権限をRAMユーザーに付与するときに特定のリソースグループを選択できますが、リソースグループは承認に有効になりません。
この問題を解決するには、有効範囲がRAMユーザーが属するAlibaba CloudアカウントであるカスタムポリシーをRAMユーザーにアタッチする必要があります。次に、リソースグループを作成し、Elasticsearchクラスターをリソースグループに転送し、有効範囲がリソースグループであるシステムポリシーをRAMユーザーにアタッチする必要があります。
ステップ 1:有効範囲がAlibaba Cloudアカウント全体であるカスタムポリシーをアカウントのRAMユーザーにアタッチする
管理権限を持つRAMユーザーとして [RAMコンソール] にログオンします。
カスタムポリシーを作成します。
詳細については、「カスタムポリシーの作成」をご参照ください。次のコードは、ポリシードキュメントの例を示しています。
{ "Statement": [ { "Action": [ "elasticsearch:*" ], "Effect": "Allow", "Resource": "acs:elasticsearch:*:<yourAccountId>:instances/<yourInstanceId>" // yourAccountIdとyourInstanceIdを置き換えます。 }, { "Action": [ "elasticsearch:ListCollectors" ], "Effect": "Allow", "Resource": "acs:elasticsearch:*:<yourAccountId>:collectors/*" // yourAccountIdを置き換えます。 }, { "Action": [ "elasticsearch:ListInstance", "elasticsearch:ListSnapshotReposByInstanceId" ], "Effect": "Allow", "Resource": "acs:elasticsearch:*:<yourAccountId>:instances/*" // yourAccountIdを置き換えます。 }, { "Effect": "Allow", "Action": [ "cms:ListAlarm", "cms:DescribeActiveMetricRuleList", "cms:QueryMetricList" ], "Resource": "*" }, { "Action": [ "elasticsearch:ListTags" ], "Effect": "Allow", "Resource": "acs:elasticsearch:*:*:tags/*" }, { "Action": [ "elasticsearch:GetEmonProjectList" ], "Effect": "Allow", "Resource": "acs:elasticsearch:*:*:emonProjects/*" }, { "Action": [ "elasticsearch:getEmonUserConfig" ], "Effect": "Allow", "Resource": "acs:elasticsearch:*:*:emonUserConfig/*" }, { "Action": "ims:*", "Effect": "Allow", "Resource": "acs:ims::<yourAccountId>:application/*" // yourAccountIdを置き換えます。 } ], "Version": "1" }
上記のコードを使用する前に、コード内の変数を目的の値に置き換える必要があります。
変数
説明
<yourAccountId>
この変数をAlibaba Cloudアカウント ID に置き換えます。ワイルドカード(
*
)はサポートされていません。Alibaba Cloudアカウント ID を取得するには、次の操作を実行します。Alibaba Cloud管理コンソールにログオンし、右上隅にあるプロフィール画像にポインターを移動します。その後、Alibaba Cloudアカウントの [ID] を表示できます。<yourInstanceId>
この変数を、権限を付与するElasticsearchクラスターの ID に置き換えます。ワイルドカード(
*
)はサポートされていません。 ID の取得方法の詳細については、「クラスターの基本情報を表示する」をご参照ください。Beats、高度な監視とアラート、タグなど、特定のサービスを呼び出すために使用される外部インターフェースは、Elasticsearchコンソールのクラスター管理ページに統合されています。 Elasticsearchコンソールで特定のリソースグループ内のクラスターのみをRAMユーザーとして管理する場合は、有効範囲がRAMユーザーが属するAlibaba Cloudアカウントであるカスタムポリシーを設定し、そのポリシーをRAMユーザーにアタッチする必要があります。このようにして、RAMユーザーはクラスター管理ページで権限検証に合格できます。
説明特定のElasticsearchまたはLogstashクラスターのポリシーが作成され、RAMユーザーにアタッチされた後、次の URL のいずれかを使用して、RAMユーザーとしてElasticsearchまたはLogstashクラスターに直接アクセスできます。
https://elasticsearch.console.aliyun.com/{regionId}/instances/{instanceId}/base
https://elasticsearch.console.aliyun.com/{regionId}/logstashes/{instanceId}/base
RAMユーザーを作成します。
詳細については、「RAMユーザーの作成」をご参照ください。
新しく作成した、有効範囲がRAMユーザーが属するAlibaba CloudアカウントであるカスタムポリシーをRAMユーザーにアタッチします。
詳細については、「RAMユーザーに権限を付与する」をご参照ください。カスタムポリシーをRAMユーザーにアタッチするときは、[リソーススコープ] パラメーターを [アカウント] に設定し、[ポリシー] セクションでカスタムポリシーを選択します。
ステップ 2:(オプション)リソースグループを作成し、有効範囲がリソースグループであるポリシーをRAMユーザーにアタッチする
クラスターがカスタムリソースグループにある場合は、この手順をスキップします。
[リソース管理コンソール] にログオンします。
リソースグループを作成します。
詳細については、「リソースグループの作成」をご参照ください。
目的のクラスターをデフォルトのリソースグループから新しく作成したリソースグループに転送します。
詳細については、「リソースグループ間で手動リソース転送を実行する」をご参照ください。
有効範囲が新しく作成されたリソースグループであるポリシーをRAMユーザーにアタッチします。
詳細については、「RAM認証を追加する」をご参照ください。 [権限の付与] パネルで、[プリンシパル] をRAMユーザーに設定し、[ポリシー] セクションでシステムポリシー [aliyunelasticsearchfullaccess] を選択する必要があります。
説明認証が完了すると、プリンシパルにはリソースグループ内のリソースに対する関連する権限が付与されます。
ステップ 3:クラスターに対する権限がRAMユーザーに付与されているかどうかを確認する
RAMユーザーとして [Elasticsearchコンソール] にログオンします。
左側のナビゲーションペインで、[elasticsearchクラスター] をクリックします。
上部のナビゲーションバーで、新しく作成したリソースグループを選択し、クラスターに関する情報を表示します。