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

ユーザーとロールの管理

IBM Cloud® Databases for Redis インスタンスは認証が有効になっており、 Redis の組み込みアクセス control.They を使用して、 アクセス制御リスト(ACL)のサポートを通じて複数のユーザーと認証をサポートします。

Redisユーザーの管理

管理者ユーザー

IBM Cloud で新しいインスタンスをプロビジョニングすると、自動的に Admin ユーザーへのアクセス権が与えられます。 また、インスタンス用に追加のユーザーと認証情報を作成することもできます。

管理者ユーザーを使用してインスタンスに接続するには、最初に管理者パスワードを設定します。

UIで管理者パスワードを設定する

IBM Cloud Dashboardリソースリストからインスタンスを選択し、UIから管理者パスワードを設定します。 次に、 「設定」 を選択します。 次に、 *「データベース管理者パスワードの変更」*を選択します。

CLIでadminパスワードを設定する

Cloud Databases CLI プラグイン から cdb user-password コマンドを使用して、 admin パスワードを設定します。

例えば、インスタンスの管理者パスワードを設定するには、以下のコマンドを使用する:

ibmcloud cdb user-password <INSTANCE_NAME_OR_CRN> admin <NEWPASSWORD>

APIで管理者パスワードを設定する

サービスの Overview Deployment Details セクションに表示される Foundation Endpoint は、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"}` \

default ユーザー

Databases for Redis はもう内部的に default ユーザーを使用しない。 その代わり、 Databases for Redis インスタンスは Cloud Databases ibm-user によって管理される。

インスタンスが現在 default。 しかし、 default ユーザーの継続使用にはパスワードの変更が必要であり、これによってパーミッションが制限されることが予想される。 これらの許可の制限は、メジャー・バージョン・アップグレードの一部として予期される動作変更です。 具体的には、 default ・ユーザーには以下の権限が制限されている:

  • config: default ユーザーは、データベース構成を表示、追加、更新、または削除できません。 また、 default ユーザーは、データベース・ユーザーおよび役割を作成したり管理したりすることもできません。
  • acl: default ユーザーは新規ユーザーを作成できません。

デフォルトユーザーを引き続き使用する予定であれば、パスワードの更新後にアプリケーションの互換性を十分にテストしてください。 Redis におけるアクセスおよびパーミッションの設定の詳細については、 Redis における ACL サポートを 参照してください。

default ユーザー・パスワードを更新するには、次のようなコマンドを使用します。

ibmcloud cdb deployment-user-password <INSTANCE_NAME_OR_CRN> default <NEW PASSWORD>

詳しくは、 新しいメジャー・バージョンへのアップグレードを参照してください。

Redisのロールの管理

役割ベースのアクセス制御 (RBAC)

役割ベースのアクセス制御 (RBAC) を使用すると、各ユーザーが持つアクセス・レベルを構成できます。

Databases for Redis は現在、以下の役割をサポートしています。

  • admin ロールは、すべての管理コマンドおよび操作に対する完全な制御とアクセス権限を提供します。
  • all ロールは、 adminread 、および write のアクセス権限を提供し、ユーザーがすべてのコマンドおよび操作を完全に制御できるようにします。
  • read 役割は、コマンドへの読み取り専用アクセスを許可します。 この役割を持つユーザーは、読み取り操作を実行できますが、書き込み操作は実行できません。
  • write 役割は、コマンドへの書き込み専用アクセスを許可します。 このロールを持つユーザーは、書き込み操作を実行できますが、読み取り操作は実行できません。

管理コマンド config getconfig resetacl whoamiacl catacl usersacl genpassacl log、および acl helpadmin および all で使用できますが、他のすべての acl および config コマンドは使用できません。

これらの役割を組み合わせて、ユーザーのアクセス・レベルを構成することもできます。

RBAC 役割の組み合わせ

+ に含まれるコマンド

- はコマンドを除外します

+@ には、コマンド・カテゴリーが含ま

-@ はコマンド・カテゴリーを除外します

  • admin + read: read 操作を実行する機能を備えた完全な admin 制御。
  • admin + write: write 操作を実行する機能を備えた完全な admin 制御。
  • admin + all: all を単純化します。これには、 adminread、および write が含まれます。
  • read + write: readwrite の両方の役割を持つユーザーは、 readwrite の両方の操作を実行できますが、管理特権は持ちません。
  • read + all: all を単純化します。これには、 adminread、および write が含まれます。
  • write + all: all を単純化します。これには、 adminread、および write が含まれます。
  • admin + read + write: readwrite の両方の操作を実行できる完全な admin 制御。
  • admin + read + all: all( adminread、および write を含む) に単純化します。
  • admin + write + all: all( adminread、および write を含む) に単純化します。
  • read + write + all: all( adminread、および write を含む) に単純化します。

これらの組み合わせは、さまざまなレベルのアクセス制御を提供します。 お客様固有の要件とセキュリティー上の考慮事項に合わせた組み合わせを選択してください。

API を使用した RBAC 役割を持つユーザーの作成

RBACロールを使用してユーザーを作成するには、以下のコマンドを使用する:

curl -X POST "https://{region}.databases.cloud.ibm.com/v5/ibm/deployments/{deployment_id}/users/database" \
     -H "Authorization: Bearer {iam_token}" \
     -H "Content-Type: application/json" \
     -d '{
           "user": {
             "username": "example-user",
             "password": "YourPassword123!"
           }
         }'

デフォルトのロールを持つユーザーを作成するには、以下のコマンドを使用する:

curl -X POST "https://{region}.databases.cloud.ibm.com/v5/ibm/deployments/{deployment_id}/users/database" \
     -H "Authorization: Bearer {iam_token}" \
     -H "Content-Type: application/json" \
     -d '{
           "user": {
             "username": "example-user",
             "password": "YourPassword123!"
           }
         }'

ロールを変更または更新するには、以下のコマンドを使用する:

curl -X PATCH "https://{region}.databases.cloud.ibm.com/v5/ibm/deployments/{deployment_id}/users/database/{username}" \
     -H "Authorization: Bearer {iam_token}" \
     -H "Content-Type: application/json" \
     -d '{
           "user": {
             "role": "+@read +@admin"
           }
         }'

ロールのパスワードを変更するには、以下のコマンドを使用する:

curl -X PATCH "https://{region}.databases.cloud.ibm.com/v5/ibm/deployments/{deployment_id}/users/database/{username}" \
     -H "Authorization: Bearer {iam_token}" \
     -H "Content-Type: application/json" \
     -d '{
           "user": {
             "password": "NewSecurePassword456!"
           }
         }'

ユーザーを削除するには、以下のコマンドを使用する:

curl -X DELETE "https://{region}.databases.cloud.ibm.com/v5/ibm/deployments/{deployment_id}/users/database/{username}" \
     -H "Authorization: Bearer {iam_token}" \
     -H "Accept: application/json"

CLI を使用した RBAC 役割を持つユーザーの作成

RBACロールを使用してユーザーを作成するには、以下のコマンドを使用する:

ibmcloud cdb user-create <CRN> <USERNAME> <PASSWORD> -r "<ROLE_STRING>"

-r USER_ROLE の場合は、 <+/-@all> <+/-@read> <+/-@write> <+/-@admin> の組み合わせを使用してアクセス権限を付与します。

例:

ibmcloud cdb user-create \
  crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:7065adf2-cc4f-433a-9a97-aa69d03f6f45:: \
  ibm_cloud_35ea37ad_119b_462d_bfd4_a4f001387cdf \
  Password1234567890 \
  -r "+@read +@write"

出力例:


Key                   Value
ID                    crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:7065adf2-cc4f-433a-9a97-aa69d03f6f45:task:49ec86e6-a2ac-4eb2-9c6b-48039c554f7e
Deployment ID         crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:7065adf2-cc4f-433a-9a97-aa69d03f6f45::
Description           Creating user
Created At            2025-04-18T07:26:31Z
Status                running
Progress Percentage   0
...
Progress Percentage   66
...
Status                completed
Progress Percentage   100
Location              https://api.dev-yp-03.us-south.databases.cloud.ibm.com/v5/ibm/deployments/crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a%2F40ddc34a953a8c02f10987b59085b60e:7065adf2-cc4f-433a-9a97-aa69d03f6f45::
OK

デフォルトのロールを持つユーザーを作成するには、以下のコマンドを使用する:

ibmcloud cdb user-create <CRN> <USERNAME> <PASSWORD>

例:

ibmcloud cdb user-create \
  crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:7065adf2-cc4f-433a-9a97-aa69d03f6f45:: \
  ibm_cloud_user_default_role \
  Password1234567890

出力例:


Key                   Value
ID                    crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:7065adf2-cc4f-433a-9a97-aa69d03f6f45:task:f225e6a3-3f4e-449d-bfce-a5e171719074
Deployment ID         crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:7065adf2-cc4f-433a-9a97-aa69d03f6f45::
Description           Creating user
Created At            2025-04-18T07:47:27Z
Status                running
Progress Percentage   0

Status                completed
Progress Percentage   100
Location              https://api.dev-yp-03.us-south.databases.cloud.ibm.com/v5/ibm/deployments/crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a%2F40ddc34a953a8c02f10987b59085b60e:7065adf2-cc4f-433a-9a97-aa69d03f6f45::
OK

ロールを変更または更新するには、以下のコマンドを使用する:

ibmcloud cdb redis user-set <CRN> <USERNAME> <ROLE_STRING>

例:

ibmcloud cdb redis user-set \
  crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:7065adf2-cc4f-433a-9a97-aa69d03f6f45:: \
  ibm_cloud_35ea37ad_119b_462d_bfd4_a4f001387cdf \
  "+@all"

出力例:


Key                   Value
ID                    crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:7065adf2-cc4f-433a-9a97-aa69d03f6f45:task:3a30ebc4-20d8-4004-8514-47c615276f81
Deployment ID         crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:7065adf2-cc4f-433a-9a97-aa69d03f6f45::
Description           Updating user
Created At            2025-04-18T07:32:40Z
Status                running
Progress Percentage   0

Status                completed
Progress Percentage   100
Location              https://api.dev-yp-03.us-south.databases.cloud.ibm.com/v5/ibm/deployments/crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a%2F40ddc34a953a8c02f10987b59085b60e:7065adf2-cc4f-433a-9a97-aa69d03f6f45::
OK

ロールのパスワードを変更するには、以下のコマンドを使用する:

ibmcloud cdb user-password <CRN> <USERNAME> <NEW_PASSWORD>

例:

ibmcloud cdb user-password \
  crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:3b20b985-1c89-441e-8e00-2d394d441a02:: \
  ibm_cloud_35ea37ad_119b_462d_bfd4_a4f001387cdf \
  Password1234567890123

出力例:


Key                   Value
ID                    crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:3b20b985-1c89-441e-8e00-2d394d441a02:task:c254ccef-9e9c-4375-ae0f-4c78173f6278
Deployment ID         crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:3b20b985-1c89-441e-8e00-2d394d441a02::
Description           Updating user
Created At            2025-04-18T07:41:32Z
Status                running
Progress Percentage   0

Progress Percentage   66

Status                completed
Progress Percentage   100
Location              https://api.dev-yp-03.us-south.databases.cloud.ibm.com/v5/ibm/deployments/crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a%2F40ddc34a953a8c02f10987b59085b60e:3b20b985-1c89-441e-8e00-2d394d441a02::
OK

ロールを削除するには、以下のコマンドを使用する:

ibmcloud cdb user-delete <CRN> <USERNAME>

例:

ibmcloud cdb user-delete \
  crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:3b20b985-1c89-441e-8e00-2d394d441a02:: \
  ibm_cloud_35ea37ad_119b_462d_bfd4_a4f001387cdf

出力例:


Key                   Value
ID                    crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:3b20b985-1c89-441e-8e00-2d394d441a02:task:cc7effad-4fb2-4ae6-bd94-2d432b471e39
Deployment ID         crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:3b20b985-1c89-441e-8e00-2d394d441a02::
Description           Deleting user
Created At            2025-04-18T07:44:10Z
Status                running
Progress Percentage   0

Status                completed
Progress Percentage   100
Location              https://api.dev-yp-03.us-south.databases.cloud.ibm.com/v5/ibm/deployments/crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a%2F40ddc34a953a8c02f10987b59085b60e:3b20b985-1c89-441e-8e00-2d394d441a02::
OK

Terraform を使用した RBAC 役割を持つユーザーの作成

RBACロールを使用してユーザーとフォーメーションを作成するには、以下のコマンドを使用する:

resource "ibm_database" "redis" {
  name              = "Databases for Redis-jt-DO-NOT-DELETE"
  plan              = "standard"
  location          = var.region
  service           = "databases-for-redis"
  version           = "7.2"
  service_endpoints = "public-and-private"
  resource_group_id = data.ibm_resource_group.group.id
  tags              = ["redis", "user-mgmt"]

#   ##################################################
#   # 1. Create user with custom ACL role
#   ##################################################
  users {
    name     = "reader-user-with-role"
    password = "secureReadPass123456789"
    role     = "-@all +@read"
  }

role の場合は、 <+/-@all> <+/-@read> <+/-@write> <+/-@admin> の組み合わせを使用してアクセス権限を付与します。

デフォルトのロールを持つフォーメーションを作成するには、以下のコマンドを使用する:

resource "ibm_database" "redis" {
  name              = "Databases for Redis-jt-DO-NOT-DELETE"
  plan              = "standard"
  location          = var.region
  service           = "databases-for-redis"
  version           = "7.2"
  service_endpoints = "public-and-private"
  resource_group_id = data.ibm_resource_group.group.id
  tags              = ["redis", "user-mgmt"]


  ##################################################
  # 2. Create user with default role
  ##################################################
  users {
    name     = "default-user-role"
    password = "defaultPass123456789"
    # no `role` field → default ACL applies
  }

ユーザーは、最初のTerraformプロビジョニング時に、デフォルトまたはカスタムのロールで設定できます。 プロビジョニング後は、一貫性とセキュリティを維持するため、パスワードの作成、削除、更新、ロールの変更などの操作はサポートされません。

Redis の役割

Admin ユーザーおよびインスタンス上の他のすべてのユーザーは、 Redis コマンドのセットに対する全アクセス権限を持ちます。ただし、サブコマンド config および acl は除きます。これには Admin ユーザーが含まれます。 config getconfig resetacl whoamiacl catacl usersacl genpassacl log、および acl help が使用可能です。

Redis では、 サービス・クレデンシャル、CLI、API、または Redis で直接作成したユーザが、同じアクセス権を持つ。 Redis、特定のキーまたはキーの範囲に限定されたアクセスを持つユーザまたはロールを作成することはできません。 ユーザーを管理する他のすべての手段により、クラスター全体での伝播が確実になります。

UIによるユーザーの作成

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

新しい資格情報が表に表示されます。接続文字列は JSON として*「資格情報の表示」*のクリックしてコピーできるフィールドに表示されます。

API を使用したユーザーの作成

サービスの Overview に表示される Foundation Endpoint は、API を通じてこのインスタンスにアクセスするためのベース URL を提供します。 ユーザーを作成し管理するには、 users エンドポイントを持つベース URL :

curl -X POST https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/users/{user_type} \
-H "Authorization: Bearer $APIKEY" \
-H "Content-Type: application/json" \
-d "{"user": {"username": "user", "password": "v3ry-1-secUre-pAssword-2"}}" \

ユーザーの接続文字列を取得するには、基本 URL に /users/{userid}/connections エンドポイントを付けて使用します。

社内ユーザー

インスタンスには4人の予約ユーザーがいます。 これらのユーザーを変更すると、インスタンスが不安定になったり、使用できなくなったりします。

  • ibm-user- インスタンスを管理し、メトリクスを公開するための admin 内部ユーザー。
  • replication-user - レプリケーションに使用されるユーザー・アカウント。
  • sentinel-user - モニターおよびフェイルオーバーを処理するためのセンチネル用のユーザー・アカウント。
  • admin- インスタンスにアクセスするために提供されるデフォルト・ユーザー。