Alibaba Cloud Elasticsearch のシステムポリシーが要件を満たさない場合は、カスタムポリシーを作成して、きめ細かなアクセス制御を行うことができます。このトピックでは、カスタムポリシーの作成方法について説明し、特定のインスタンスとタグに権限を付与するためのポリシーの例を示します。
背景情報
Alibaba Cloud Elasticsearch は、以下のシステムポリシーをサポートしています。
|
ポリシー名 |
説明 |
|
AliyunElasticsearchReadOnlyAccess |
Alibaba Cloud Elasticsearch または Logstash インスタンスに対する読み取り専用権限を付与します。このポリシーは、読み取り専用ユーザー向けです。 |
|
AliyunElasticsearchFullAccess |
管理者に、Alibaba Cloud Elasticsearch インスタンス、Logstash インスタンス、および Beats コレクターに対する完全な管理権限を付与します。 |
これらのポリシーには、 CloudMonitor、またはタグの権限は含まれていません。これらの権限を付与するには、カスタムポリシーを作成する必要があります。詳細については、特定のインスタンスのポリシーをご参照ください。
前提条件
ポリシー言語の基本的な構造と構文を理解している必要があります。詳細については、「ポリシーの構造と構文」をご参照ください。
注意事項
カスタムポリシーはアカウントレベルで有効になり、リソースグループレベルでは有効になりません。RAM ユーザーのコンソールに特定のリソースのみを表示するには、リソースグループを使用して権限を付与します。詳細については、「リソースグループを使用した、RAM ユーザーへの特定インスタンスの管理認可」をご参照ください。
操作手順
カスタムポリシーを作成するには、「[JSON] タブでのカスタムポリシーの作成」をご参照ください。ビジネス要件に基づいてポリシー ドキュメントを入力するか、既存のシステムポリシーをインポートして変更できます。
ポリシー ドキュメントの例:
-
Alibaba Cloud アカウントの Virtual Private Cloud (VPC) リソースにアクセスする権限。
{ "Version": "1", "Statement": [ { "Action": [ "elasticsearch:DescribeVpcs", "elasticsearch:DescribeVSwitches" ], "Resource": "*", "Effect": "Allow" } ] } -
RAM ユーザーが注文の支払いを行う権限。
{ "Version": "1", "Statement": [ { "Action": [ "bss:PayOrder" ], "Resource": "*", "Effect": "Allow" } ] }
その他のポリシーの例については、「ポリシーの例」をご参照ください。
ポリシーの例
以下のコード例を使用する前に、プレースホルダーを実際の情報に置き換えてください。
-
<yourAccountId> :お使いの Alibaba Cloud アカウント ID に置き換えます。ワイルドカード文字 (
*) はサポートされていません。アカウント ID を確認するには、コンソールの右上隅にあるユーザーアバターにカーソルを合わせると、 アカウント ID が表示されます。 -
<yourInstanceId> :ターゲットインスタンスの ID に置き換えます。ワイルドカード文字 (
*) はサポートされていません。インスタンス ID を確認するには、「インスタンスの基本情報の表示」をご参照ください。
管理者ポリシー
以下のポリシーは、Alibaba Cloud アカウント <yourAccountId> 配下の RAM ユーザーに、すべての Alibaba Cloud Elasticsearch インスタンスに対する完全な操作権限を付与します。
{
"Statement": [
{
"Action": [
"elasticsearch:*"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Action": [
"cms:*"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Action": "bss:PayOrder",
"Effect": "Allow",
"Resource": "*"
},
{
"Action": "ram:CreateServiceLinkedRole",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": [
"collector.elasticsearch.aliyuncs.com"
]
}
}
}
],
"Version": "1"
}
特定のインスタンスのポリシー
以下のポリシーは、Alibaba Cloud アカウント <yourAccountId> 配下の RAM ユーザーに、以下の権限を付与します。
-
特定のインスタンスに対する、Elasticsearch 関連のすべての操作を実行する権限。
-
インスタンスのリストを表示する権限。
-
すべてのインスタンスのタグを表示する権限。
-
コレクターのリストを表示する権限。
Alibaba Cloud Elasticsearch コンソールのインスタンス管理ページは、Beats コレクター、高度なモニタリングとアラート、タグなどの外部サービスと統合されています。したがって、特定のインスタンスに権限を付与する場合は、以下のポリシー例に示すように、これらの依存サービスに対する権限も付与する必要があります。
{
"Statement": [
{
"Action": [
"elasticsearch:*"
],
"Effect": "Allow",
"Resource": "acs:elasticsearch:*:<yourAccountId>:instances/<yourInstanceId>"
},
{
"Action": [
"cms:DescribeActiveMetricRuleList",
"cms:ListAlarm",
"cms:QueryMetricList"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Action": [
"elasticsearch:ListTags"
],
"Effect": "Allow",
"Resource": "acs:elasticsearch:*:<yourAccountId>:tags/*"
},
{
"Action": [
"elasticsearch:ListInstance",
"elasticsearch:ListSnapshotReposByInstanceId"
],
"Effect": "Allow",
"Resource": "acs:elasticsearch:*:<yourAccountId>:instances/*"
},
{
"Action": [
"elasticsearch:ListLogstash"
],
"Effect": "Allow",
"Resource": "acs:elasticsearch:*:<yourAccountId>:logstashes/*"
},
{
"Action": [
"elasticsearch:ListCollectors"
],
"Effect": "Allow",
"Resource": "acs:elasticsearch:*:<yourAccountId>:collectors/*"
}
],
"Version": "1"
}
|
アクション |
説明 |
|
CloudMonitor の権限。各権限の説明は以下のとおりです。
|
|
注文の支払いを行う権限。この権限が付与されると、RAM ユーザーはインスタンス購入の支払いを行うことができます。 |
|
RAM ユーザーに、アカウントの Virtual Private Cloud (VPC) と vSwitch のリストにアクセスする権限を付与します。これにより、ユーザーはインスタンスの作成時に VPC と vSwitch を選択できます。 重要
RAM ユーザーにインスタンスを作成する権限を付与する際は、 |
|
Alibaba Cloud Elasticsearch インスタンスに対するすべての操作権限を付与します。これにより、RAM ユーザーは、すべてまたは指定されたインスタンスに対して任意の操作を実行できます。 重要
|
|
Alibaba Cloud Elasticsearch インスタンスのタグを表示する権限を付与します。 |
|
|
|
コンソールで Beats コレクターのリストを表示する権限を付与します。 |
|
インスタンスリストページで、リージョンのすべての Logstash インスタンスのリストを表示する権限。 |
|
エフェクト |
説明 |
|
Allow |
RAM ユーザーがアクション要素で指定された操作を実行することを許可します。 |
|
Deny |
RAM ユーザーがアクション要素で指定された操作を実行することを禁止します。 |
|
パラメーター |
説明 |
|
* |
すべてのインスタンスリソース。 |
|
<yourInstanceId> |
特定のインスタンスリソース。これをターゲットインスタンスの ID に置き換える必要があります。ID を確認するには、「インスタンスの基本情報の表示」をご参照ください。 |
API 権限
以下の表に、Elasticsearch API のリソースとアクション要素を示します。
|
メソッド |
URI |
リソース |
アクション |
|
GET |
/instances |
instances/* |
ListInstance |
|
POST |
/instances |
instances/* |
CreateInstance |
|
GET |
/instances/instanceId |
instances/instanceId |
DescribeInstance |
|
DELETE |
/instances/instanceId |
instances/instanceId |
DeleteInstance |
|
POST |
/instances/instanceId/actions/restart |
instances/instanceId |
RestartInstance |
|
PUT |
/instances/instanceId |
instances/instanceId |
UpdateInstance |
次のステップ
カスタムポリシーを作成した後、RAM コンソール、API、または SDK を使用して RAM ユーザーに権限を付与します。詳細については、「RAM ユーザーへの権限付与」をご参照ください。