Getting user info
Yandex Managed Service for Valkey™ can create Valkey™ users and configure their permissions for commands, keys, and Pub/Sub channels in the cluster using Valkey™ access control lists
Valkey™ ACLs address two primary objectives:
- Ensure security by enforcing fine-grained access control to commands and keys.
- Prevent accidental errors caused by user actions or software failures.
Creating a cluster automatically creates a default user. This user has permissions to access all keys and Pub/Sub channels in the cluster and can execute all commands except administrative ones. You can view the user's detailed permissions in the user info.
Getting a list of users
If you do not have the Yandex Cloud CLI installed yet, install and initialize it.
By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also set a different folder for any specific command using the --folder-name or --folder-id parameter.
To get a list of users:
-
See the description of the CLI command for getting a list of users:
yc managed-redis user list --help -
Get a list of users by running this command:
yc managed-redis user list \ --cluster-id=<cluster_ID>Where
--cluster-idis the cluster ID.You can get the cluster ID with the list of clusters in the folder.
-
Get an IAM token for API authentication and place it in an environment variable:
export IAM_TOKEN="<IAM_token>" -
Use the User.List method to execute the following request, e.g., via cURL
:curl \ --request GET \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://mdb.api.cloud.yandex.net/managed-redis/v1/clusters/<cluster_ID>/users'You can get the cluster ID with the list of clusters in the folder.
-
Check the server response to make sure your request was successful.
-
Get an IAM token for API authentication and place it in an environment variable:
export IAM_TOKEN="<IAM_token>" -
Clone the cloudapi
repository:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiBelow, we assume the repository contents are stored in the
~/cloudapi/directory. -
Use the UserService.List call to execute the following request, e.g., via gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/redis/v1/user_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<cluster_ID>" }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.redis.v1.UserService.ListWhere
cluster_idis the cluster ID.You can get the cluster ID with the list of clusters in the folder.
-
Check the server response to make sure your request was successful.
Getting user info
If you do not have the Yandex Cloud CLI installed yet, install and initialize it.
By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also set a different folder for any specific command using the --folder-name or --folder-id parameter.
To get information about a specific user:
-
See the description of the CLI command for getting user info:
yc managed-redis user get --help -
Get user info by running this command:
yc managed-redis user get <username> \ --cluster-id=<cluster_ID>Where
--cluster-idis the cluster ID. You can get the cluster ID with the list of clusters in the folder.You can get the username with the list of users in the cluster.
-
Get an IAM token for API authentication and place it in an environment variable:
export IAM_TOKEN="<IAM_token>" -
Use the User.Get method and send the following request, e.g., via cURL
:curl \ --request GET \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://mdb.api.cloud.yandex.net/managed-redis/v1/clusters/<cluster_ID>/users/<username>'You can get the cluster ID with the list of clusters in the folder.
You can get the username with the list of users in the cluster.
-
Check the server response to make sure your request was successful.
-
Get an IAM token for API authentication and place it in an environment variable:
export IAM_TOKEN="<IAM_token>" -
Clone the cloudapi
repository:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiBelow, we assume the repository contents are stored in the
~/cloudapi/directory. -
Use the UserService.Get call to execute the following request, e.g., via gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/redis/v1/user_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<cluster_ID>", "user_name": "<username>" }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.redis.v1.UserService.GetWhere:
-
cluster_id: Cluster ID.You can get the cluster ID with the list of clusters in the folder.
-
user_name: Username.You can get the username with the list of users in the cluster.
-
-
Check the server response to make sure your request was successful.