ユーザーとロールの管理
Databases for Elasticsearch のデプロイメントでは、認証が有効になり、 Elasticsearchの 組み込みユーザーが使用されます。
UI の Service credentials ページ、Cloud Databases CLI プラグイン、または Cloud Databases API でユーザを追加します。
管理者ユーザー
Databases for Elasticsearch デプロイメントをプロビジョンすると、 admin
ユーザーが自動的に作成されます。
接続に使用する前に管理者パスワードを設定してください。
UIで管理者パスワードを設定する
リソースリストからインスタンスを選択し、UIから管理者パスワードを設定します。 ダッシュボードで設定タブを選択し、新しい管理者パスワードを入力または生成してパスワード変更ボタンをクリックします。
CLIで管理者パスワードを設定する
IBM Cloud CLI Cloud Databases プラグインから cdb user-password
コマンドを使用して、管理パスワードを設定します。
たとえば、 example-deployment
という名前の配置の管理者パスワードを設 定するには、次のコマンドを使用します:
ibmcloud cdb user-password example-deployment admin <newpassword>
APIで管理者パスワードを設定する
サービスの[配置の詳細]セクションの [概要] パネルに表示される Foundation エンドポイントは、API を使用してこの配置にアクセスするためのベース URL を提供します。 管理者パスワードを設定するには、指定ユーザーのパスワードを設定エンドポイントと一緒に使用します。
curl -X PATCH `https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/users/admin` \
-H `Authorization: Bearer <>` \
-H `Content-Type: application/json` \
-d `{"password":"newrootpasswordsupersecure21"}` \
ibm_superuser
ロール
Elasticsearch バージョン 7.17.7 以降の場合、 admin
ユーザーを含む、新規と既存の両方のすべてのユーザーに ibm_superuser
役割が割り当てられます。 ibm_superuser
ロールは superuser
と同じ特権を持ちますが、 ibm_superuser
ロールは非表示の索引、内部索引、または制限付き索引にアクセスできません。
非表示の索引へのアクセスを制限すると、セキュリティー索引を閉じることによって、ユーザーが自分のアクセスを不用意に制限することがなくなります。
この役割を元の superuser
に戻す権限はありますが、変更してはなりません。 ibm_superuser
を superuser
に変更すると、 Elasticsearch デプロイメントへのアクセスが中断されます。
UIによるユーザーとロールの管理
- ご使用のサービスのサービス・ダッシュボードに移動します。
- サービス資格情報をクリックしてページを開きます。
- **「新規資格情報」**をクリックします。
- 新規資格情報にわかりやすい名前を選びます。
- (オプション) 新規資格情報でパブリック・エンドポイントまたはプライベート・エンドポイントのどちらを使用するかを指定します。 *「インラインの構成パラメーターの追加」*フィールドで
{ "service-endpoints": "public" }
/{ "service-endpoints": "private" }
のいずれかを使用して、指定のエンドポイントを使用する接続ストリングを生成します。 そのエンドポイントを使用することが強制されるわけではありません。 接続文字列に含まれるホスト名が制御されるだけです。 パブリック・エンドポイントはデフォルトで生成されます。 - **「追加」**をクリックして新規資格情報をプロビジョンします。 ユーザー名とパスワード、および関連付けられる Elasticsearch ユーザーが自動的に生成されます。
新しい資格情報が表に表示されます。接続文字列は JSON として_「資格情報の表示」_のクリックしてコピーできるフィールドに表示されます。
CLI または API からユーザーを作成しても、そのユーザーの接続ストリングは_「サービス資格情報」_に自動的に取り込まれません。 ここにユーザーを追加するには、既存のユーザー情報を使用して新規資格情報を作成します。 _「インラインの構成パラメーターの追加」_の下の JSON フィールドにユーザー名とパスワードを入力します。 例えば、{"existing_credentials":{"username":"Robert","password":"supersecure"}}
などです。
基本的には、ユーザー名とパスワードを送信すると、 _Service credentials_が認証情報を記入した接続文字列を生成する。
既存のユーザーの資格情報を生成するときに、そのユーザーが存在するか検査されたり、そのユーザーが作成されたりすることはありません。
_Serviceクレデンシャル_から作成されたユーザーが異なるロールを持つ必要がある場合、 admin
ユーザーを使用してロールを変更します。
CLIによるユーザーとロールの管理
ユーザーに異なるロールを持たせる必要がある場合は、 admin
ユーザーを使ってロールを変更することができます。
CLIから直接作成されたユーザーは_サービス資格情報_には表示されませんが、追加することはできます。
Cloud Databases CLIプラグイン でサービスを管理している場合は、cdb user-create
で新しいユーザーを作成してください。 たとえば、 example-deployment
という名前の配置用の新しいユー ザを作成するには、次のコマンドを使用します:
ibmcloud cdb user-create example-deployment <newusername> <newpassword>
タスクが終了したら、 ibmcloud cdb deployment-connections
コマンドを使用して新規ユーザーの接続ストリングを取得します。これは以下のようになります。
ibmcloud cdb deployment-connections [--user <userid>] [--password <password>] [--endpoint-type <endpoint type>] [--all] [--only] [--start] [--certroot <path>] [--json]
APIによるユーザーとロールの管理
ユーザーに別のロールを持たせる必要がある場合は、adminユーザーを使ってロールを変更してください。
API から直接作成されたユーザーは Service credentials に表示されませんが、追加することはできます。
サービスの_「概要」_セクションに表示される_基本エンドポイント_は、API を介してこのデプロイメントにアクセスするための基本 URL を提供します。 ユーザーを作成して管理するには、その基本 URL に /users
エンドポイントを付けて使用します。
コマンドは次のようになります。
curl -X POST 'https://api.{region}.databases.cloud.ibm.com/v4/ibm/deployments/{id}/users' \
-H "Authorization: Bearer $APIKEY" \
-H "Content-Type: application/json" \
-d '{"username":"jane_smith", "password":"newsupersecurepassword"}'
ユーザーの接続文字列を取得するには、基本 URL に /users/{userid}/connections
エンドポイントを付けて使用します。
Elasticsearchユーザーとロール
組み込みのユーザーと役割がご使用の環境に適していない場合は、 Elasticsearchで直接 ユーザーと役割を作成 します。 デプロイメントの admin ユーザーには、デプロイメントで使用する役割または特権のセットを作成する権限があります。