プラグインまたは辞書のソースファイルが Object Storage Service (OSS) に保存されている場合、Elasticsearch (ES) コンソールで OSS アドレスを指定してアップロードできます。そのためには、サービスロールを使用して、指定された OSS パスへの ES アクセスを許可する必要があります。
ES サービスロールの概要
サービスロールは、Alibaba Cloud サービスを信頼できるエンティティとする、Resource Access Management (RAM) ロールの一種です。このロールは、異なる Alibaba Cloud サービス間のアクセスを認可するためのものです。詳細については、「RAM ロールの概要」をご参照ください。
コンソールで OSS パスを指定して辞書を更新する際に、必要な権限を持つロールが存在しない場合は、サービスロールの作成を認可する必要があります。ES はこのロールを引き受け、指定された OSS パスのファイルにアクセスして ES インスタンスの辞書を更新します。これにより、OSS バケットをパブリック読み取りに設定する必要がなくなります。
このロールの詳細は次のとおりです。
-
サービス名: elasticsearch.aliyuncs.com
-
ロール名: AliyunElasticsearchAccessingOSSRole
-
アクセスポリシー名: AliyunElasticsearchAccessingOSSRolePolicy
-
ロールポリシードキュメント
{ "Version": "1", "Statement": [ { "Action": [ "oss:GetObject", "oss:GetObjectMetadata", "oss:GetObjectMeta" ], "Resource": "*", "Effect": "Allow" } ] }
サービスロールの削除
サービスロールを削除するには、Resource Access Management (RAM) コンソールに移動します。詳細については、「RAM ロールの削除」をご参照ください。
サービスロールを削除すると、それに依存する機能が正しく動作しなくなります。操作は慎重に行ってください。
例:サービスロール権限の制限
サービスロールがアクセスできる範囲を制限するには、次のように認可ポリシーをカスタマイズします。
-
バケットタグの設定
バケットタグを使用して、OSS バケットの権限を管理します。詳細については、「バケットタグの管理」をご参照ください。
OSSコンソールにログインします。
左側のナビゲーションウィンドウで、バケット をクリックします。 [バケット] ページで、目的のバケットを見つけてクリックします。
-
左側のナビゲーションウィンドウで、 を選択します。
-
バケットタグ ページで、タグの作成 をクリックします。
-
バケットタグを設定します。

-
RAM ポリシーを作成します。詳細については、「スクリプトモードでのカスタムポリシーの作成」をご参照ください。
Resource 要素を変更して特定のバケットへのアクセスを制限するか、Condition 要素を変更して特定のタグを持つバケットへのアクセスを制限します。例:
{ "Version": "1", "Statement": [ { "Action": [ "oss:GetObject", "oss:GetObjectMetadata", "oss:GetObjectMeta" ], "Resource": [ "acs:oss:*:193248xxxxxxx:*" ], "Effect": "Allow", "Condition": { "StringEquals": { "oss:BucketTag/key1":"value1" } } } ] } -
AliyunElasticsearchAccessingOSSRole の権限を編集し、前の手順で作成したカスタムポリシーを追加できます。
よくある質問
Q: UpdateDict、UpdateHotIkDicts、UpdateSynonymsDicts、UpdateAliwsDict などの OpenAPI リクエストを行うと、エラーコード ElasticsearchNoPermissionForCurrentBucket が表示されるのはなぜですか。
A: クラウドネイティブ制御インスタンス (バージョン 7.16、8.5、8.9) は、Alibaba Cloud サービスロールを使用してのみ OSS から辞書ファイルを読み取ることができます。パブリック読み取りが可能な OSS アドレスへの直接アクセスはサポートされていません。権限付与ページに移動して、必要な権限を付与してください。この権限付与は、シノニムの更新、IK 辞書のコールドアップデートとホットアップデート、および OSS からの ali-ws 辞書の更新に適用されます。