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

Elasticsearch:Elasticsearch サービスリンクロール

最終更新日:Jan 11, 2025

PrivateLink エンドポイントを使用して仮想プライベートクラウド (VPC) 経由で Kibana または Elasticsearch クラスターにアクセスする場合、Beats シッパーを作成および管理する場合、手動スナップショットを作成する場合、または手動スナップショットからデータを復元する場合、Elasticsearch は他の Alibaba Cloud サービスのリソースにアクセスするために関連するサービスリンクロールを引き受ける必要があります。 サービスリンクロールが存在しない場合、Elasticsearch は上記の操作を実行するときに自動的にロールを作成します。 このトピックでは、Elasticsearchサービスリンクロールと、サービスリンクロールを削除する方法について説明します。

シナリオ

このセクションでは、Elasticsearch サービスリンクロールのユースケースについて説明します。

  • AliyunServiceRoleForElasticsearch: このロールは、VPC 経由でクラウドネイティブ制御アーキテクチャにデプロイされた Elasticsearch クラスターの Kibana またはノードにアクセスするときに必要です。

  • AliyunServiceRoleForElasticsearchCollector: このロールは、Beats シッパーを作成および管理するときに必要です。

  • AliyunServiceRoleForElasticsearchOSS: このロールは、手動スナップショットを作成する場合、または手動スナップショットからデータを復元する場合に必要です。 このロールにより、Elasticsearch はオブジェクトストレージサービス (OSS) バケットにアクセスできます。

サービスリンクロールの詳細については、「サービスリンクロール」をご参照ください。

説明

AliyunServiceRoleForElasticsearch

VPC 経由でクラウドネイティブ制御アーキテクチャにデプロイされた Elasticsearch クラスターの Kibana またはノードにアクセスするときに、必要な権限を持つロールが存在しない場合、Elasticsearch は自動的にサービスリンクロールを作成し、必要な権限をロールに付与します。 次に、Elasticsearch はロールを引き受けて、PrivateLink または Elastic Compute Service (ECS) のネットワーク設定関連の API オペレーションを呼び出し、エンドポイントなどのリソースを作成し、設定を完了します。 これにより、VPC 経由で Kibana またはノードにアクセスできます。 次の説明は、ロールに関する詳細情報を提供します。

  • ロール名: AliyunServiceRoleForElasticsearch

  • ポリシー名: AliyunServiceRolePolicyForElasticsearch

  • ポリシードキュメント:

{
  "Version": "1",
  "Statement": [
    {
      "Action": [
        "ecs:AssignIpv6Addresses",
        "ecs:AssignPrivateIpAddresses",
        "ecs:AttachNetworkInterface",
        "ecs:AuthorizeSecurityGroup",
        "ecs:AuthorizeSecurityGroupEgress",
        "ecs:CreateNetworkInterface",
        "ecs:CreateNetworkInterfacePermission",
        "ecs:CreateSecurityGroup",
        "ecs:DeleteNetworkInterface",
        "ecs:DeleteSecurityGroup",
        "ecs:DescribeInstanceAttribute",
        "ecs:DescribeInstances",
        "ecs:DescribeNetworkInterfaceAttribute",
        "ecs:DescribeNetworkInterfaces",
        "ecs:DescribeSecurityGroupAttribute",
        "ecs:DescribeSecurityGroupReferences",
        "ecs:DescribeSecurityGroups",
        "ecs:DetachNetworkInterface",
        "ecs:JoinSecurityGroup",
        "ecs:LeaveSecurityGroup",
        "ecs:ModifyNetworkInterfaceAttribute",
        "ecs:ModifySecurityGroupAttribute",
        "ecs:ModifySecurityGroupEgressRule",
        "ecs:ModifySecurityGroupPolicy",
        "ecs:ModifySecurityGroupRule",
        "ecs:RevokeSecurityGroup",
        "ecs:RevokeSecurityGroupEgress",
        "ecs:UnassignIpv6Addresses",
        "ecs:UnassignPrivateIpAddresses"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    },
    {
      "Action": [
        "pvtz:AddZone",
        "pvtz:AddZoneRecord",
        "pvtz:DeleteZone",
        "pvtz:DeleteZoneRecord",
        "pvtz:DescribeZoneRecords",
        "pvtz:UpdateZoneRecord"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    },
    {
      "Action": [
        "vpc:DescribeVSwitches"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    },
    {
      "Action": [
        "privatelink:CreateVpcEndpoint",
        "privatelink:ListVpcEndpoints",
        "privatelink:UpdateVpcEndpointAttribute",
        "privatelink:GetVpcEndpointAttribute",
        "privatelink:ListVpcEndpointSecurityGroups",
        "privatelink:AttachSecurityGroupToVpcEndpoint",
        "privatelink:DetachSecurityGroupFromVpcEndpoint",
        "privatelink:AddZoneToVpcEndpoint",
        "privatelink:RemoveZoneFromVpcEndpoint",
        "privatelink:ListVpcEndpointZones",
        "privatelink:DeleteVpcEndpoint"
      ],
      "Resource": "*",
      "Effect": "Allow"
    },
    {
      "Action": "ram:CreateServiceLinkedRole",
      "Resource": "*",
      "Effect": "Allow",
      "Condition": {
        "StringEquals": {
          "ram:ServiceName": "privatelink.aliyuncs.com"
        }
      }
    },
    {
      "Action": "ram:DeleteServiceLinkedRole",
      "Resource": "*",
      "Effect": "Allow",
      "Condition": {
        "StringEquals": {
          "ram:ServiceName": "elasticsearch.aliyuncs.com"
        }
      }
    }
  ]
}

サービス名: elasticsearch.aliyuncs.com

ロールを作成するために必要な権限: ram:CreateServiceLinkedRole

AliyunServiceRoleForElasticsearchCollector

Beats シッパーを作成および管理するときに、必要な権限を持つロールが存在しない場合、Elasticsearch は自動的にサービスリンクロールを作成し、必要な権限をロールに付与します。 次に、Elasticsearch はロールを引き受けて関連する API オペレーションを呼び出し、Beats シッパーが ECS インスタンスまたは Container Service for Kubernetes (ACK) クラスターからデータを収集できるようにします。 次の説明は、ロールに関する詳細情報を提供します。

  • ロール名: AliyunServiceRoleForElasticsearchCollector

  • ポリシー名: AliyunServiceRolePolicyForElasticsearchCollector

  • ポリシードキュメント:

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "oos:CancelExecution",
                    "oos:DeleteExecutions",
                    "oos:GenerateExecutionPolicy",
                    "oos:GetExecutionTemplate",
                    "oos:ListExecutionLogs",
                    "oos:ListExecutions",
                    "oos:ListTaskExecutions",
                    "oos:NotifyExecution",
                    "oos:StartExecution",
                    "oos:ListTagResources",
                    "oos:TagResources",
                    "oos:UntagResources",
                    "oos:CreateTemplate",
                    "oos:DeleteTemplate",
                    "oos:GetTemplate",
                    "oos:ListExecutionRiskyTasks",
                    "oos:ListTemplates",
                    "oos:UpdateTemplate"
                ],
                "Resource": "*",
                "Effect": "Allow"
            },
            {
                "Action": [
                    "ecs:DescribeInstances",
                    "ecs:DescribeCloudAssistantStatus"
                ],
                "Resource": "*",
                "Effect": "Allow"
            },
            {
                "Action": [
                    "cs:GetUserConfig",
                    "cs:GetClusters",
                    "cs:GetClusterById"
                ],
                "Resource": "*",
                "Effect": "Allow"
            },
            {
                "Action": "ram:DeleteServiceLinkedRole",
                "Resource": "*",
                "Effect": "Allow",
                "Condition": {
                    "StringEquals": {
                        "ram:ServiceName": "collector.elasticsearch.aliyuncs.com"
                    }
                }
            },
            {
                "Effect": "Allow",
                "Action": "ram:PassRole",
                "Resource": "acs:ram:*:*:role/aliyunoosaccessingecs4esrole",
                "Condition": {
                    "StringEquals": {
                        "acs:Service": "oos.aliyuncs.com"
                    }
                }
            }
        ]
    }
  • サービス名: collector.elasticsearch.aliyuncs.com

  • ロールを作成するために必要な権限: ram:CreateServiceLinkedRole

AliyunServiceRoleForElasticsearchOSS

手動スナップショットを作成する場合、または手動スナップショットからデータを復元する場合に、必要な権限を持つロールが存在しない場合、Elasticsearch は自動的にサービスリンクロールを作成し、必要な権限をロールに付与します。 次に、Elasticsearch はロールを引き受けて関連する API オペレーションを呼び出し、OSS バケットにアクセスします。 次の説明は、ロールに関する詳細情報を提供します。

  • ロール名: AliyunServiceRoleForElasticsearchOSS

  • ポリシー名: AliyunServiceRolePolicyForElasticsearchOSS

  • ポリシードキュメント:

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "oss:ListObjects",
        "oss:GetObject",
        "oss:GetObjectVersion",
        "oss:GetObjectVersionTagging",
        "oss:GetObjectMeta",
        "oss:DeleteObject",
        "oss:PutObject",
        "oss:GetBucketVersioning",
        "oss:GetBucketInfo",
        "oss:GetBucketAcl"
      ],
      "Resource": [
        "acs:oss:*:*:es-alicloud-*/*",
        "acs:oss:*:*:es-alicloud-*",
        "acs:oss:*:*:*/*es-alicloud*/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "oss:ListObjects",
        "oss:GetObject",
        "oss:GetObjectMeta",
        "oss:GetObjectVersion",
        "oss:GetObjectVersionTagging",
        "oss:DeleteObject",
        "oss:PutObject",
        "oss:GetBucketVersioning",
        "oss:GetBucketInfo",
        "oss:GetBucketAcl"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "oss:BucketTag/es-alicloud": [
            "es-alicloud"
          ]
        }
      }
    },
    {
      "Action": "ram:DeleteServiceLinkedRole",
      "Resource": "*",
      "Effect": "Allow",
      "Condition": {
        "StringEquals": {
          "ram:ServiceName": "oss.elasticsearch.aliyuncs.com"
        }
      }
    }
  ]
}

サービス名: oss.elasticsearch.aliyuncs.com

ロールを作成するために必要な権限: ram:CreateServiceLinkedRole

サービスリンクロールの削除

サービスリンクロールを削除する前に、ロールに依存するすべてのタスクまたはデバイスを削除する必要があります。 サービスリンクロールの削除方法の詳細については、「サービスリンクロールの削除」をご参照ください。

FAQ

Q: RAM ユーザーを使用して Elasticsearch サービスリンクロールを作成できないのはなぜですか?

A: CreateServiceLinkedRole 権限を持つ Alibaba Cloud アカウントと RAM ユーザーのみが、サービスリンクロールを作成または削除するために使用できます。 したがって、RAM ユーザーを使用してサービスリンクロールを自動的に作成できない場合は、次のポリシーを RAM ユーザーにアタッチする必要があります。 詳細については、「RAM ユーザーへの権限の付与」をご参照ください。

{
    "Version": "1",
    "Statement": [
        {
            "Action": "elasticsearch:InitializeOperationRole",
            "Resource": "acs:ram:*:133071096032****:role/*",
            "Effect": "Allow"
        },
        {
            "Action": "ram:CreateServiceLinkedRole",
            "Resource": "acs:ram:*:133071096032****:role/*",
            "Effect": "Allow",
            "Condition": {
                "StringEquals": {
                    "ram:ServiceName": [
                        "XXX.aliyuncs.com"
                    ]
                }
            }
        }
    ]
}
  • Resource 要素で指定された ID 133071096032**** を Alibaba Cloud アカウントの ID に置き換える必要があります。

    Alibaba Cloud アカウントの ID を取得するには、次の操作を実行します。Alibaba Cloud 管理コンソールにログインし、右上隅のプロフィール画像にポインターを移動します。 次に、[alibaba Cloud アカウント ID] を表示できます。

  • ram:ServiceName に指定された XXX.aliyuncs.com を、作成するサービスリンクロールのサービス名に置き換える必要があります。

    • サービスリンクロール AliyunServiceRoleForElasticsearch のサービス名: elasticsearch.aliyuncs.com

    • サービスリンクロール AliyunServiceRoleForElasticsearchCollector のサービス名: collector.elasticsearch.aliyuncs.com

    • サービスリンクロール AliyunServiceRoleForElasticsearchOSS のサービス名: oss.elasticsearch.aliyuncs.com