すべてのプロダクト
Search
ドキュメントセンター

Elasticsearch:カスタムポリシーの作成

最終更新日:Jan 11, 2025

Alibaba Cloud Elasticsearch によって提供されるシステムポリシーが要件を満たしていない場合は、カスタムポリシーを作成できます。カスタムポリシーを使用すると、システムポリシーよりもきめ細かい権限管理が可能になります。このトピックでは、カスタムポリシーの作成方法とポリシーの例について説明します。

背景情報

次の表に、Alibaba Cloud Elasticsearch によって提供されるシステムポリシーを示します。

システムポリシー

説明

AliyunElasticsearchReadOnlyAccess

Elasticsearch クラスターまたは Logstash クラスターに対する読み取り専用権限を付与します。このポリシーは、読み取り専用ユーザーにアタッチできます。

AliyunElasticsearchFullAccess

Elasticsearch クラスター、Logstash クラスター、または Beats シッパーに対する管理権限を付与します。このポリシーは、管理者にアタッチできます。

説明

上記のポリシーには、Elasticsearch クラスター、Logstash クラスター、または Beats シッパーに対する権限のみが含まれています。ポリシーには、CloudMonitor またはタグに対する権限は含まれていません。 CloudMonitor またはタグに対する権限を付与する場合は、関連するカスタムポリシーを作成してアタッチする必要があります。詳細については、特定のクラスターに対する操作権限のポリシーをご参照ください。

前提条件

ポリシーの構造と構文を理解している必要があります。詳細については、ポリシーの構造と構文をご参照ください。

注意事項

カスタムポリシーはアカウントレベルでのみ有効になり、リソースグループレベルでは有効になりません。コンソールに RAM ユーザーに対して特定のクラスターのみを表示する場合は、リソースグループを使用して、クラスターに対する関連する権限を RAM ユーザーに付与できます。詳細については、リソースグループを使用してクラスターに対する権限を付与するをご参照ください。

手順

詳細については、JSON タブでカスタムポリシーを作成するをご参照ください。ビジネス要件に基づいてポリシードキュメントを入力できます。また、プロンプトに従って既存のシステムポリシーをインポートし、ポリシーを変更して、変更したポリシーをカスタムポリシーとして使用することもできます。

例:

  • Alibaba Cloud アカウントに属する仮想プライベートクラウド(VPC)にアクセスする権限

    "elasticsearch:DescribeVpcs","elasticsearch:DescribeVSwitches" // VPC と vSwitch を取得するための権限
    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "elasticsearch:DescribeVpcs",
            "elasticsearch:DescribeVSwitches"
          ],
          "Resource": "*",
          "Effect": "Allow"
        }
      ]
    }
  • 注文の支払い権限

    { // 注文の支払い権限
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "bss:PayOrder"
          ],
          "Resource": "*",
          "Effect": "Allow"
        }
      ]
    }

詳細については、ポリシーの例をご参照ください。

ポリシーの例

重要

このセクションで提供されているサンプルコードを使用する前に、次の情報を実際の情報に置き換える必要があります。

  • <yourAccountId>: Alibaba Cloud アカウント ID に置き換えます。ワイルドカード(*)はサポートされていません。Alibaba Cloud アカウント ID を取得するには、次の操作を実行します。Alibaba Cloud 管理コンソールにログオンし、右上隅のプロフィール画像にポインターを移動します。その後、[alibaba Cloud アカウント ID] を表示できます。

  • <yourInstanceId>: 権限を付与する Elasticsearch クラスターの ID に置き換えます。ワイルドカード(*)はサポートされていません。 ID の取得方法の詳細については、クラスターの基本情報を表示するをご参照ください。

管理者向けのポリシー

この例では、<yourAccountId> で示される Alibaba Cloud アカウントの RAM ユーザーに、すべての Elasticsearch クラスターに対するすべての操作権限が付与されます。

{ // 国際リージョンおよびパートナー向けの管理者ポリシー
    "Statement": [
        { // Elasticsearch に対するすべての操作権限を付与
            "Action": [
                "elasticsearch:*"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        { // CloudMonitor に対するすべての操作権限を付与
            "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"
}

特定のクラスターに対する操作権限のポリシー

この例では、<yourAccountId> で示される Alibaba Cloud アカウントの RAM ユーザーに、次の権限が付与されます。

  • CloudMonitor に対する権限

  • 特定のクラスターに対するすべての Elasticsearch 関連操作を実行する権限

  • クラスターを表示する権限

  • クラスターに追加されているすべてのタグを表示する権限

  • シッパーを表示する権限

説明

Beats、Advanced Monitoring and Alerting、Tag など、一部のサービスを呼び出すために使用される外部インターフェースは、Elasticsearch コンソールのクラスター管理ページに統合されています。したがって、特定のクラスターに対する権限を付与する場合は、次のサンプルポリシードキュメントを参照する必要があります。

{ // 国際リージョンおよびパートナー向けの特定のクラスターに対する操作権限のポリシー
    "Statement": [
        { // 特定のクラスターに対するすべての Elasticsearch 操作権限を付与
            "Action": [
                "elasticsearch:*"
            ],
            "Effect": "Allow",
            "Resource": "acs:elasticsearch:*:<yourAccountId>:instances/<yourInstanceId>"
        },
        { // CloudMonitor に対する権限を付与
            "Action": [
                "cms:DescribeActiveMetricRuleList", // CloudMonitor が有効になっているサービスを照会する権限
                "cms:ListAlarm", // すべてまたは特定のアラートルールを照会する権限
                "cms:QueryMetricList" // 一定期間内の特定のサービスのインスタンスまたはクラスターの監視データを照会する権限
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        { // クラスターに追加されているすべてのタグを表示する権限を付与
            "Action": [
                "elasticsearch:ListTags"
            ],
            "Effect": "Allow",
            "Resource": "acs:elasticsearch:*:<yourAccountId>:tags/*"
        },
        { // Elasticsearch クラスターと共有 OSS リポジトリを照会する権限を付与
            "Action": [
                "elasticsearch:ListInstance", // Elasticsearch クラスターを照会する権限
                "elasticsearch:ListSnapshotReposByInstanceId" // 共有 OSS リポジトリを照会する権限
            ],
            "Effect": "Allow",
            "Resource": "acs:elasticsearch:*:<yourAccountId>:instances/*"
        },
        { // Logstash クラスターを照会する権限を付与
            "Action": [
                "elasticsearch:ListLogstash"
            ],
            "Effect": "Allow",
            "Resource": "acs:elasticsearch:*:<yourAccountId>:logstashes/*"
        }, 
        { // Beats シッパーを照会する権限を付与
            "Action": [
                "elasticsearch:ListCollectors"
            ],
            "Effect": "Allow",
            "Resource": "acs:elasticsearch:*:<yourAccountId>:collectors/*"
        }
    ],
    "Version": "1"
}
表 1. Action 要素

Action

説明

[
  "cms:DescribeActiveMetricRuleList",
  "cms:ListAlarm",
  "cms:QueryMetricList"
]

CloudMonitor に対する権限。

  • cms:DescribeActiveMetricRuleList: Alibaba Cloud アカウント内で CloudMonitor が有効になっているサービスを照会する権限。

  • cms:ListAlarm: すべてまたは特定のアラートルールを照会する権限。

  • cms:QueryMetricList: 一定期間内の特定のサービスのインスタンスまたはクラスターの監視データを照会する権限。

"bss:PayOrder"

注文の支払い権限。 RAM ユーザーにこの権限が付与されると、RAM ユーザーとしてリソースの購入注文の支払いができます。

[
  "elasticsearch:DescribeVpcs",
  "elasticsearch:DescribeVSwitches"
]

Alibaba Cloud アカウントに属する VPC と vSwitch にアクセスする権限。 RAM ユーザーにこれらの権限が付与されると、RAM ユーザーとしてリソースを購入する際に、Alibaba Cloud アカウントに属する VPC と vSwitch を選択できます。

重要

RAM ユーザーにリソースの購入を承認する場合は、Action 要素に ["bss:PayOrder"] も指定する必要があります。指定しないと、RAM ユーザーとしてリソースを購入する際に、権限が不十分であることを示すメッセージが表示されます。

[
  "elasticsearch:*"
]

Elasticsearch クラスターに対するすべての操作権限。 RAM ユーザーにこれらの権限が付与されると、RAM ユーザーとしてすべてまたは特定のクラスターに対する操作を実行できます。

重要

elasticsearch:* で指定された権限には、Advanced Monitoring and Alerting、CloudMonitor、または Tag サービスに対する権限は含まれていません。これらのサービスに対する権限は個別に指定する必要があります。これらのサービスに対する権限を指定しないと、RAM ユーザーとして関連ページにアクセスした後に、権限が不十分であることを示すメッセージが表示されます。ただし、このページで承認された機能は使用できます。

[
  "elasticsearch:ListTags"
]

Elasticsearch クラスターに追加されているすべてのタグを照会する権限。 RAM ユーザーにこの権限が付与されると、RAM ユーザーとして Elasticsearch クラスターに追加されているすべてのタグを表示できます。

[
  "elasticsearch:ListInstance",
  "elasticsearch:ListSnapshotReposByInstanceId" 
]
  • elasticsearch:ListInstance: Elasticsearch クラスターを照会する権限。

  • elasticsearch:ListSnapshotReposByInstanceId: 共有オブジェクトストレージサービス(OSS)リポジトリを照会する権限。

[
  "elasticsearch:ListCollectors"
]

Beats シッパーを照会する権限。 RAM ユーザーにこの権限が付与されると、RAM ユーザーとして Elasticsearch コンソールで作成されたすべての Beats シッパーを表示できます。

[
  "elasticsearch:ListLogstash"
]

Logstash クラスターを照会する権限。 RAM ユーザーにこの権限が付与されると、RAM ユーザーとして [Logstash クラスター] ページで関連リージョンのすべての Logstash クラスターを表示できます。

表 2. Effect 要素

Effect

説明

Allow

Action 要素で指定された操作を実行するために RAM ユーザーを使用できることを示します。

Deny

Action 要素で指定された操作を実行するために RAM ユーザーを使用できないことを示します。

表 3. Resource 要素

詳細については、認証でサポートされている Elasticsearch オブジェクトをご参照ください。

Resource

説明

*

すべてのクラスターを示します。

<yourInstanceId>

特定のクラスターを示します。 ID は、権限を付与するクラスターの ID に置き換える必要があります。 ID の取得方法の詳細については、クラスターの基本情報を表示するをご参照ください。

API 操作のポリシー

次の表に、API 操作を呼び出す権限を付与するために使用するポリシーの Resource 要素と Action 要素に指定する必要があるオブジェクトを示します。

メソッド

URI

Resource

Action

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

次のステップ

カスタムポリシーを作成したら、Alibaba Cloud アカウントを使用して、RAM コンソールまたは RAM SDK を使用して、ポリシーを RAM ユーザーにアタッチします。詳細については、RAM ユーザーに権限を付与するをご参照ください。