IBM Cloud Docs
ユーザーとロールの管理

ユーザーとロールの管理

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_superusersuperuser に変更すると、 Elasticsearch デプロイメントへのアクセスが中断されます。

UIによるユーザーとロールの管理

  1. ご使用のサービスのサービス・ダッシュボードに移動します。
  2. サービス資格情報をクリックしてページを開きます。
  3. **「新規資格情報」**をクリックします。
  4. 新規資格情報にわかりやすい名前を選びます。
  5. (オプション) 新規資格情報でパブリック・エンドポイントまたはプライベート・エンドポイントのどちらを使用するかを指定します。 *「インラインの構成パラメーターの追加」*フィールドで { "service-endpoints": "public" } / { "service-endpoints": "private" } のいずれかを使用して、指定のエンドポイントを使用する接続ストリングを生成します。 そのエンドポイントを使用することが強制されるわけではありません。 接続文字列に含まれるホスト名が制御されるだけです。 パブリック・エンドポイントはデフォルトで生成されます。
  6. **「追加」**をクリックして新規資格情報をプロビジョンします。 ユーザー名とパスワード、および関連付けられる 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 ユーザーには、デプロイメントで使用する役割または特権のセットを作成する権限があります。