リソースグループを活用することで、Elasticsearchリソースの一元管理が可能になり、RAM (Resource Access Management) ポリシーを用いたグループ単位でのきめ細かなアクセス制御を実現できます。これにより、Alibaba Cloud アカウントで最小権限の原則 (PoLP) を徹底できます。
リソースグループレベルの権限設定は、サポート対象リソースタイプとアクションに限られます。サポート対象外アクションの場合、リソースグループに対するポリシーを指定しても無視されます。アクセス制御のため、アカウントに対するポリシーを設定する必要があります。
仕組み
リソースグループは、プロジェクトや環境ごとにリソースを整理します。リソースをグループ化したら、そのグループにのみ権限を限定する RAM ポリシーをアイデンティティ (RAM ユーザー、ユーザーグループ、ロールなど) にアタッチできます。詳細については、「リソースのグループ化と権限付与」をご参照ください。
このアプローチには、主に 2 つのメリットがあります。
-
きめ細かなアクセス制御:アカウント全体の権限を付与する代わりに、アイデンティティのアクセスを特定のグループ内のリソースのみに制限できます。これにより、プロジェクト固有のワークロードを分離し、意図しないアクセスのリスクを軽減できます。
-
管理の簡素化:新しいリソースがリソースグループに追加されると、そのグループに限定された権限を持つ RAM アイデンティティは自動的にアクセスできます。新しいリソースが作成されるたびに RAM ポリシーを更新する必要はありません。
RAM ユーザーへのリソースグループレベルの権限付与
このセクションでは、特定のリソースグループ内のElasticsearchリソースにのみアクセス権限を RAM ユーザーに付与する方法について説明します。
1. 前提条件
-
RAM ユーザーが作成されていること。
-
リソースグループを作成し、対象リソースがそのグループ内にあること。詳細については、「リソースグループの作成」、「リソースをリソースグループに自動追加」、および「リソースをリソースグループに手動で追加」をご参照ください。
2. 権限付与
リソースグループレベルの権限は、Resource Management コンソールまたは RAM コンソールのいずれかから付与できます。
Resource Management コンソール
-
Resource Management コンソールにログインします。
-
[Resource Group] ページで、対象のリソースグループを見つけ、[Actions] 列の [Manage Permission] をクリックします。
-
[Permissions] タブで、[Grant Permission] をクリックします。
-
[Grant Permission] パネルで、プリンシパルとアクセスポリシーを設定します。
-
Principal:RAM ユーザーを選択します。
-
Policy:[System Policy] または [Custom Policy] を選択します。詳細については、「カスタム権限ポリシーの作成」をご参照ください。
-
-
[Grant Permissions] をクリックします。
詳細については、「リソースグループに対する RAM アイデンティティへの権限付与」をご参照ください。
RAM コンソール
-
Alibaba Cloud アカウント (root ユーザー)または RAM 管理者アカウントを使用して、RAM コンソールにログインします。
-
左側のメニューで、を選択します。[Users] ページで、対象の RAM ユーザーを見つけ、[Actions] 列の [Add Permissions] をクリックします。
-
[Grant Permission] パネルで、RAM ユーザーに権限を追加します。
-
Resource Scope:[Resource Group] を選択します。
-
Principal:既存の RAM ユーザーまたは前のステップで作成した RAM ユーザーを選択します。
-
Access Policy:[System Policy] または [Custom Policy] を選択します。詳細については、「カスタム権限ポリシーの作成」をご参照ください。
-
-
[OK] をクリックします。
詳細については、「RAM ユーザーへの権限付与」をご参照ください。
サポート対象リソース
以下のElasticsearchリソースは、リソースグループレベルの権限付与をサポートしています。
|
Alibaba Cloud サービス |
サービスコード |
リソースタイプ |
|
Elasticsearch |
elasticsearch |
apm : アプリケーションパフォーマンスモニタリング |
|
Elasticsearch |
elasticsearch |
instance : インスタンス |
|
Elasticsearch |
elasticsearch |
logstash : Logstash |
上表に記載されていないリソースタイプのサポートをリクエストするには、Resource Management コンソールでフィードバックを送信してください。

サポート対象外アクション
以下のElasticsearchアクションは、リソースグループレベルの権限付与をサポートしていません。
|
アクション |
説明 |
|
elasticsearch:ActivePhone |
- |
|
elasticsearch:AddWhiteListTemplate |
- |
|
elasticsearch:AttachMigrationJob |
- |
|
elasticsearch:CreateCollector |
- |
|
elasticsearch:CreateComponentIndex |
- |
|
elasticsearch:CreateEmonAlarmGroup |
- |
|
elasticsearch:CreateEmonAlarmRule |
- |
|
elasticsearch:CreateEmonContact |
- |
|
elasticsearch:CreateEmonContactGroup |
- |
|
elasticsearch:CreateEmonContactGroupContact |
- |
|
elasticsearch:CreateEmonProject |
- |
|
elasticsearch:CreateMigrationJob |
- |
|
elasticsearch:DeleteCollector |
- |
|
elasticsearch:DeleteEmonAlarmGroup |
- |
|
elasticsearch:DeleteEmonAlarmRule |
- |
|
elasticsearch:DeleteEmonProject |
- |
|
elasticsearch:DeleteMigrationJobResource |
- |
|
elasticsearch:DeleteWhiteListTemplate |
- |
|
elasticsearch:DescribeAckOperator |
- |
|
elasticsearch:DescribeCollector |
- |
|
elasticsearch:DescribeMigrationMergeConfig |
- |
|
elasticsearch:DescribeVpcs |
- |
|
elasticsearch:DescribeVswitches |
- |
|
elasticsearch:DisableEmonAlarmRule |
- |
|
elasticsearch:DisableEmonContact |
- |
|
elasticsearch:DisableEmonContactGroup |
- |
|
elasticsearch:EnableEmonAlarmRule |
- |
|
elasticsearch:EnableEmonContact |
- |
|
elasticsearch:EnbaleEmonContactGroup |
- |
|
elasticsearch:FeedbackReport |
- |
|
elasticsearch:GetClusterDataInformation |
- |
|
elasticsearch:GetEmonAlarmEventList |
- |
|
elasticsearch:GetEmonAlarmEventStatistics |
- |
|
elasticsearch:GetEmonAlarmGroup |
- |
|
elasticsearch:GetEmonAlarmGroupList |
- |
|
elasticsearch:GetEmonAlarmRecordList |
- |
|
elasticsearch:GetEmonAlarmRecordStatistics |
- |
|
elasticsearch:GetEmonAlarmRecordStatisticsDistribute |
- |
|
elasticsearch:GetEmonAlarmRule |
- |
|
elasticsearch:GetEmonAlarmRuleList |
- |
|
elasticsearch:GetEmonConsoleConfig |
- |
|
elasticsearch:GetEmonContact |
- |
|
elasticsearch:GetEmonContactGroup |
- |
|
elasticsearch:GetEmonContactGroupList |
- |
|
elasticsearch:GetEmonContactList |
- |
|
elasticsearch:GetEmonGrafanaAlerts |
- |
|
elasticsearch:GetEmonGrafanaDashboards |
- |
|
elasticsearch:GetEmonProject |
- |
|
elasticsearch:GetEmonProjectList |
- |
|
elasticsearch:GetEmonUserConfig |
- |
|
elasticsearch:GetMigrationJob |
- |
|
elasticsearch:GetRegionConfiguration |
- |
|
elasticsearch:GetSinleEmonUserConfig |
- |
|
elasticsearch:GetWhiteListTemplates |
- |
|
elasticsearch:InitCustomModel |
- |
|
elasticsearch:InitializeOperationRole |
- |
|
elasticsearch:InstallAckOperator |
- |
|
elasticsearch:ListAckClusters |
- |
|
elasticsearch:ListAckNamespaces |
- |
|
elasticsearch:ListApm |
- |
|
elasticsearch:ListCollectors |
- |
|
elasticsearch:ListDefaultCollectorConfigurations |
- |
|
elasticsearch:ListDistinctEventInstanceIds |
- |
|
elasticsearch:ListEcsInstances |
- |
|
elasticsearch:ListEventRecords |
- |
|
elasticsearch:ListInstanceHistoryEvents |
- |
|
elasticsearch:ListMigrationJobs |
- |
|
elasticsearch:ListNodes |
- |
|
elasticsearch:ListStatsEventRecords |
- |
|
elasticsearch:ListTags |
- |
|
elasticsearch:ModifyDeployMachine |
- |
|
elasticsearch:PostEmonAck |
- |
|
elasticsearch:PostEmonCheckin |
- |
|
elasticsearch:PostEmonTryAlarmRule |
- |
|
elasticsearch:QueryEmonMetrics |
- |
|
elasticsearch:ReinstallCollector |
- |
|
elasticsearch:RestartCollector |
- |
|
elasticsearch:StartCollector |
- |
|
elasticsearch:StopCollector |
- |
|
elasticsearch:SuggestEmonMetric |
- |
|
elasticsearch:SuggestEmonMetricTagKey |
- |
|
elasticsearch:SuggestEmonMetricTagValue |
- |
|
elasticsearch:TagResources |
- |
|
elasticsearch:UntagResources |
- |
|
elasticsearch:UpdateCollector |
- |
|
elasticsearch:UpdateCollectorName |
- |
|
elasticsearch:UpdateComponentIndex |
- |
|
elasticsearch:UpdateEmonAlarmGroup |
- |
|
elasticsearch:UpdateEmonAlarmRule |
- |
|
elasticsearch:UpdateEmonContact |
- |
|
elasticsearch:UpdateEmonContactGroup |
- |
|
elasticsearch:UpdateEmonProject |
- |
|
elasticsearch:UpdateMigrationJob |
- |
|
elasticsearch:UpdateWhiteListTemplate |
- |
|
elasticsearch:ValidateSlrPermission |
- |
|
elasticsearch:createInstance |
- |
上記のアクションについては、 [Resource Scope] を [Account] に設定し、カスタムポリシーを作成する必要があります。
以下のポリシー例は、必要に応じてカスタマイズ可能です。
-
読み取り専用アクセスの許可
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "elasticsearch:DescribeAckOperator", "elasticsearch:DescribeCollector", "elasticsearch:DescribeMigrationMergeConfig", "elasticsearch:DescribeVpcs", "elasticsearch:DescribeVswitches", "elasticsearch:GetClusterDataInformation", "elasticsearch:GetEmonAlarmEventList", "elasticsearch:GetEmonAlarmEventStatistics", "elasticsearch:GetEmonAlarmGroup", "elasticsearch:GetEmonAlarmGroupList", "elasticsearch:GetEmonAlarmRecordList", "elasticsearch:GetEmonAlarmRecordStatistics", "elasticsearch:GetEmonAlarmRecordStatisticsDistribute", "elasticsearch:GetEmonAlarmRule", "elasticsearch:GetEmonAlarmRuleList", "elasticsearch:GetEmonConsoleConfig", "elasticsearch:GetEmonContact", "elasticsearch:GetEmonContactGroup", "elasticsearch:GetEmonContactGroupList", "elasticsearch:GetEmonContactList", "elasticsearch:GetEmonGrafanaAlerts", "elasticsearch:GetEmonGrafanaDashboards", "elasticsearch:GetEmonProject", "elasticsearch:GetEmonProjectList", "elasticsearch:GetEmonUserConfig", "elasticsearch:GetMigrationJob", "elasticsearch:GetRegionConfiguration", "elasticsearch:GetSinleEmonUserConfig", "elasticsearch:GetWhiteListTemplates", "elasticsearch:ListAckClusters", "elasticsearch:ListAckNamespaces", "elasticsearch:ListApm", "elasticsearch:ListCollectors", "elasticsearch:ListDefaultCollectorConfigurations", "elasticsearch:ListDistinctEventInstanceIds", "elasticsearch:ListEcsInstances", "elasticsearch:ListEventRecords", "elasticsearch:ListInstanceHistoryEvents", "elasticsearch:ListMigrationJobs", "elasticsearch:ListNodes", "elasticsearch:ListStatsEventRecords", "elasticsearch:ListTags", "elasticsearch:QueryEmonMetrics", "elasticsearch:SuggestEmonMetric", "elasticsearch:SuggestEmonMetricTagKey", "elasticsearch:SuggestEmonMetricTagValue" ], "Resource": "*" } ] } -
フルアクセスの許可
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "elasticsearch:ActivePhone", "elasticsearch:AddWhiteListTemplate", "elasticsearch:AttachMigrationJob", "elasticsearch:CreateCollector", "elasticsearch:CreateComponentIndex", "elasticsearch:CreateEmonAlarmGroup", "elasticsearch:CreateEmonAlarmRule", "elasticsearch:CreateEmonContact", "elasticsearch:CreateEmonContactGroup", "elasticsearch:CreateEmonContactGroupContact", "elasticsearch:CreateEmonProject", "elasticsearch:CreateMigrationJob", "elasticsearch:DeleteCollector", "elasticsearch:DeleteEmonAlarmGroup", "elasticsearch:DeleteEmonAlarmRule", "elasticsearch:DeleteEmonProject", "elasticsearch:DeleteMigrationJobResource", "elasticsearch:DeleteWhiteListTemplate", "elasticsearch:DescribeAckOperator", "elasticsearch:DescribeCollector", "elasticsearch:DescribeMigrationMergeConfig", "elasticsearch:DescribeVpcs", "elasticsearch:DescribeVswitches", "elasticsearch:DisableEmonAlarmRule", "elasticsearch:DisableEmonContact", "elasticsearch:DisableEmonContactGroup", "elasticsearch:EnableEmonAlarmRule", "elasticsearch:EnableEmonContact", "elasticsearch:EnbaleEmonContactGroup", "elasticsearch:FeedbackReport", "elasticsearch:GetClusterDataInformation", "elasticsearch:GetEmonAlarmEventList", "elasticsearch:GetEmonAlarmEventStatistics", "elasticsearch:GetEmonAlarmGroup", "elasticsearch:GetEmonAlarmGroupList", "elasticsearch:GetEmonAlarmRecordList", "elasticsearch:GetEmonAlarmRecordStatistics", "elasticsearch:GetEmonAlarmRecordStatisticsDistribute", "elasticsearch:GetEmonAlarmRule", "elasticsearch:GetEmonAlarmRuleList", "elasticsearch:GetEmonConsoleConfig", "elasticsearch:GetEmonContact", "elasticsearch:GetEmonContactGroup", "elasticsearch:GetEmonContactGroupList", "elasticsearch:GetEmonContactList", "elasticsearch:GetEmonGrafanaAlerts", "elasticsearch:GetEmonGrafanaDashboards", "elasticsearch:GetEmonProject", "elasticsearch:GetEmonProjectList", "elasticsearch:GetEmonUserConfig", "elasticsearch:GetMigrationJob", "elasticsearch:GetRegionConfiguration", "elasticsearch:GetSinleEmonUserConfig", "elasticsearch:GetWhiteListTemplates", "elasticsearch:InitCustomModel", "elasticsearch:InitializeOperationRole", "elasticsearch:InstallAckOperator", "elasticsearch:ListAckClusters", "elasticsearch:ListAckNamespaces", "elasticsearch:ListApm", "elasticsearch:ListCollectors", "elasticsearch:ListDefaultCollectorConfigurations", "elasticsearch:ListDistinctEventInstanceIds", "elasticsearch:ListEcsInstances", "elasticsearch:ListEventRecords", "elasticsearch:ListInstanceHistoryEvents", "elasticsearch:ListMigrationJobs", "elasticsearch:ListNodes", "elasticsearch:ListStatsEventRecords", "elasticsearch:ListTags", "elasticsearch:ModifyDeployMachine", "elasticsearch:PostEmonAck", "elasticsearch:PostEmonCheckin", "elasticsearch:PostEmonTryAlarmRule", "elasticsearch:QueryEmonMetrics", "elasticsearch:ReinstallCollector", "elasticsearch:RestartCollector", "elasticsearch:StartCollector", "elasticsearch:StopCollector", "elasticsearch:SuggestEmonMetric", "elasticsearch:SuggestEmonMetricTagKey", "elasticsearch:SuggestEmonMetricTagValue", "elasticsearch:TagResources", "elasticsearch:UntagResources", "elasticsearch:UpdateCollector", "elasticsearch:UpdateCollectorName", "elasticsearch:UpdateComponentIndex", "elasticsearch:UpdateEmonAlarmGroup", "elasticsearch:UpdateEmonAlarmRule", "elasticsearch:UpdateEmonContact", "elasticsearch:UpdateEmonContactGroup", "elasticsearch:UpdateEmonProject", "elasticsearch:UpdateMigrationJob", "elasticsearch:UpdateWhiteListTemplate", "elasticsearch:ValidateSlrPermission", "elasticsearch:createInstance" ], "Resource": "*" } ] }
アカウントレベルの権限を付与すると、アカウント内のすべての関連リソースへのアクセスが許可されます。常に最小権限の原則に従ってください。
よくある質問
リソースがどのリソースグループに属しているかを確認するにはどうすればよいですか。
-
方法 1:所属サービスのコンソールで確認
-
リソースが所属する Alibaba Cloud サービスのコンソールに移動します。通常、リソースの詳細ページの基本情報セクションにリソースグループが記載されています。
-
-
方法 2:Resource Management コンソールで確認
-
Resource Management コンソールにログインします。
-
を選択します。
-
左側のメニューで、対象リソースを所有するアカウントを選択します (デフォルトは [Current Account]) を選択します。
-
フィルター条件を使用してリソースを検索します。
-
[Resource Group Name] 列に、リソースが属するグループが表示されます。
-
特定のリソースグループ内のすべてのリソースを表示するにはどうすればよいですか。
-
方法 1:
-
Resource Management コンソールにログインします。
-
を選択します。
-
左側のメニューで、リソースを所有するアカウント (デフォルトは [Current Account]) の下にある、対象のリソースグループ名をクリックします。
-
右側の画面で、[Select resource types] ドロップダウンリストからクラウドサービスを選択します。
-
そのグループ内のすべてのリソースが表示されます。
-
-
方法 2:
-
Resource Management コンソールにログインします。
-
を選択します。
-
対象のリソースグループを見つけ、[Actions] 列の [Manage Resource] をクリックします。
-
リソース管理ページで、[Service] ドロップダウンリストからクラウドサービスを選択します。
-
そのグループ内のすべてのリソースが表示されます。
-
複数のリソースを別のリソースグループに一括で移動するにはどうすればよいですか。
-
Resource Management コンソールにログインします。
-
左側のメニューで、 を選択します。
-
対象のリソースグループを見つけ、[Actions] 列の [Manage Resource] をクリックします。
-
リソース管理ページで、フィルター条件を使用して移動したいリソースを検索します。
-
移動したいリソースのチェックボックスを選択します。
-
ページ下部にある [Transfer] をクリックします。
-
ダイアログボックスで、移動先のリソースグループを選択し、 [Confirm] をクリックします。