Изменение настроек пользователя
После создания пользователя Valkey™ вы можете:
- изменить пароль;
- изменить статус пользователя;
- настроить очистку данных;
- назначить разрешения пользователю.
Изменить пароль пользователя
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы изменить пароль пользователя Valkey™:
-
Посмотрите описание команды CLI для изменения настроек пользователя:
yc managed-redis user update --help -
Измените пароль, выполнив команду:
yc managed-redis user update <имя_пользователя> \ --cluster-id=<идентификатор_кластера> \ --password="<пароль_пользователя>"Где:
-
--cluster-id— идентификатор кластера.Идентификатор кластера можно получить со списком кластеров в каталоге.
-
--password— пароль пользователя. Длина пароля — от 8 до 128 символов.
Имя пользователя можно получить со списком пользователей в кластере.
-
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Измените в описании ресурса
yandex_mdb_redis_userпараметрpasswords:resource "yandex_mdb_redis_user" "<локальное_имя_ресурса>" { ... passwords = ["<пароль_пользователя>"] ... }Где
passwords— пароль пользователя. Длина пароля — от 8 до 128 символов.Можно указать только один пароль.
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Yandex Managed Service for Valkey™:
- создание, в т. ч. путем восстановления из резервной копии, — 15 минут;
- изменение — 60 минут;
- удаление — 15 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок timeouts, например:
resource "yandex_mdb_redis_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Создайте файл
body.jsonи добавьте в него следующее содержимое:{ "updateMask": "passwords", "passwords": [ "<пароль_пользователя>" ] }Где:
-
updateMask— перечень изменяемых параметров в строку через запятую.Важно
При изменении пользователя все параметры изменяемого объекта, которые не были явно переданы в запросе, будут переопределены на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
updateMask. -
passwords— пароль пользователя. Длина пароля — от 8 до 128 символов.Можно указать только один пароль.
-
-
Воспользуйтесь методом User.Update и выполните запрос, например с помощью cURL
:curl \ --request PATCH \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.yandexcloud.kz/managed-redis/v1/clusters/<идентификатор_кластера>/users/<имя_пользователя>' \ --data "@body.json"Идентификатор кластера можно получить со списком кластеров в каталоге.
Имя пользователя можно получить со списком пользователей в кластере.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Создайте файл
body.jsonи добавьте в него следующее содержимое:{ "cluster_id": "<идентификатор_кластера>", "user_name": "<имя_пользователя>", "update_mask": { "paths": [ "passwords" ] }, "passwords": [ "<пароль_пользователя>" ] }Где:
-
cluster_id— идентификатор кластера.Идентификатор кластера можно получить со списком кластеров в каталоге.
-
user_name— имя пользователя.Имя пользователя можно получить со списком пользователей в кластере.
-
update_mask— перечень изменяемых параметров в виде массива строкpaths[].Формат перечисления настроек
"update_mask": { "paths": [ "<настройка_1>", "<настройка_2>", ... "<настройка_N>" ] }Важно
При изменении пользователя все параметры изменяемого объекта, которые не были явно переданы в запросе, будут переопределены на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
update_mask. -
passwords— пароль пользователя. Длина пароля — от 8 до 128 символов.Можно указать только один пароль.
-
-
Воспользуйтесь вызовом UserService.Update и выполните запрос, например с помощью 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 @ \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.redis.v1.UserService.Update \ < body.json -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Изменить статус пользователя
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы изменить статус пользователя Valkey™:
-
Посмотрите описание команды CLI для изменения настроек пользователя:
yc managed-redis user update --help -
Измените статус пользователя, выполнив команду:
yc managed-redis user update <имя_пользователя> \ --cluster-id=<идентификатор_кластера> \ <статус_пользователя>Где:
-
--cluster-id— идентификатор кластера.Идентификатор кластера можно получить со списком кластеров в каталоге.
-
Укажите один из флагов, определяющих статус пользователя:
--disabled— пользователь отключен;--enabled— пользователь включен.
Имя пользователя можно получить со списком пользователей в кластере.
-
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Измените в описании ресурса
yandex_mdb_redis_userпараметрenabled:resource "yandex_mdb_redis_user" "<локальное_имя_ресурса>" { ... enabled = <статус_пользователя> ... }Где
enabled— статус пользователя. Возможные значения:true— пользователь включен;false— пользователь отключен.
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Yandex Managed Service for Valkey™:
- создание, в т. ч. путем восстановления из резервной копии, — 15 минут;
- изменение — 60 минут;
- удаление — 15 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок timeouts, например:
resource "yandex_mdb_redis_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Создайте файл
body.jsonи добавьте в него следующее содержимое:{ "updateMask": "enabled", "enabled": <статус_пользователя> }Где:
-
updateMask— перечень изменяемых параметров в строку через запятую.Важно
При изменении пользователя все параметры изменяемого объекта, которые не были явно переданы в запросе, будут переопределены на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
updateMask. -
enabled— статус пользователя. Возможные значения:true— пользователь включен;false— пользователь отключен.
-
-
Воспользуйтесь методом User.Update и выполните запрос, например с помощью cURL
:curl \ --request PATCH \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.yandexcloud.kz/managed-redis/v1/clusters/<идентификатор_кластера>/users/<имя_пользователя>' \ --data "@body.json"Идентификатор кластера можно получить со списком кластеров в каталоге.
Имя пользователя можно получить со списком пользователей в кластере.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Создайте файл
body.jsonи добавьте в него следующее содержимое:{ "cluster_id": "<идентификатор_кластера>", "user_name": "<имя_пользователя>", "update_mask": { "paths": [ "enabled" ] }, "enabled": <статус_пользователя> }Где:
-
cluster_id— идентификатор кластера.Идентификатор кластера можно получить со списком кластеров в каталоге.
-
user_name— имя пользователя.Имя пользователя можно получить со списком пользователей в кластере.
-
update_mask— перечень изменяемых параметров в виде массива строкpaths[].Формат перечисления настроек
"update_mask": { "paths": [ "<настройка_1>", "<настройка_2>", ... "<настройка_N>" ] }Важно
При изменении пользователя все параметры изменяемого объекта, которые не были явно переданы в запросе, будут переопределены на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
update_mask. -
enabled— статус пользователя. Возможные значения:true— пользователь включен;false— пользователь отключен.
-
-
Воспользуйтесь вызовом UserService.Update и выполните запрос, например с помощью 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 @ \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.redis.v1.UserService.Update \ < body.json -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Настроить очистку данных
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы настроить очистку данных:
-
Посмотрите описание команды CLI для изменения настроек пользователя:
yc managed-redis user update --help -
Настройте очистку данных, выполнив команду:
yc managed-redis user update <имя_пользователя> \ --cluster-id=<идентификатор_кластера> \ --sanitize-payload=<очистка_данных>Где:
-
--cluster-id— идентификатор кластера.Идентификатор кластера можно получить со списком кластеров в каталоге.
-
--sanitize-payload— очистка данных. Возможные значения:sanitize-payload(по умолчанию) — очистка данных включена;skip-sanitize-payload— очистка данных отключена.
Имя пользователя можно получить со списком пользователей в кластере.
-
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Измените в описании ресурса
yandex_mdb_redis_userпараметрsanitize_payload:resource "yandex_mdb_redis_user" "<локальное_имя_ресурса>" { ... sanitize_payload = "<очистка_данных>" ... }Где
sanitize_payload— очистка данных. Возможные значения:sanitize-payload(по умолчанию) — очистка данных включена;skip-sanitize-payload— очистка данных отключена.
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Yandex Managed Service for Valkey™:
- создание, в т. ч. путем восстановления из резервной копии, — 15 минут;
- изменение — 60 минут;
- удаление — 15 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок timeouts, например:
resource "yandex_mdb_redis_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Создайте файл
body.jsonи добавьте в него следующее содержимое:{ "updateMask": "permissions.sanitizePayload", "permissions": { "sanitizePayload": "<очистка_данных>" } }Где:
-
updateMask— перечень изменяемых параметров в строку через запятую.Важно
При изменении пользователя все параметры изменяемого объекта, которые не были явно переданы в запросе, будут переопределены на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
updateMask. -
permissions.sanitizePayload— очистка данных. Возможные значения:sanitize-payload(по умолчанию) — очистка данных включена;skip-sanitize-payload— очистка данных отключена.
-
-
Воспользуйтесь методом User.Update и выполните запрос, например с помощью cURL
:curl \ --request PATCH \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.yandexcloud.kz/managed-redis/v1/clusters/<идентификатор_кластера>/users/<имя_пользователя>' \ --data "@body.json"Идентификатор кластера можно получить со списком кластеров в каталоге.
Имя пользователя можно получить со списком пользователей в кластере.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Создайте файл
body.jsonи добавьте в него следующее содержимое:{ "cluster_id": "<идентификатор_кластера>", "user_name": "<имя_пользователя>", "update_mask": { "paths": [ "permissions.sanitize_payload" ] }, "permissions": { "sanitize_payload": "<очистка_данных>" } }Где:
-
cluster_id— идентификатор кластера.Идентификатор кластера можно получить со списком кластеров в каталоге.
-
user_name— имя пользователя.Имя пользователя можно получить со списком пользователей в кластере.
-
update_mask— перечень изменяемых параметров в виде массива строкpaths[].Формат перечисления настроек
"update_mask": { "paths": [ "<настройка_1>", "<настройка_2>", ... "<настройка_N>" ] }Важно
При изменении пользователя все параметры изменяемого объекта, которые не были явно переданы в запросе, будут переопределены на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
update_mask. -
permissions.sanitize_payload— очистка данных. Возможные значения:sanitize-payload(по умолчанию) — очистка данных включена;skip-sanitize-payload— очистка данных отключена.
-
-
Воспользуйтесь вызовом UserService.Update и выполните запрос, например с помощью 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 @ \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.redis.v1.UserService.Update \ < body.json -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Назначить разрешения пользователю
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы назначить разрешения пользователю Valkey™:
-
Посмотрите описание команды CLI для изменения настроек пользователя:
yc managed-redis user update --help -
Назначьте разрешения пользователю, выполнив команду:
yc managed-redis user update <имя_пользователя> \ --cluster-id=<идентификатор_кластера> \ --raw="<разрешения>" \ --categories="<разрешения_на_категории_команд>" \ --commands="<разрешения_на_команды>" \ --patterns="<разрешения_на_шаблоны_ключей>" \ --pub-sub-channels="<разрешения_на_каналы>"Где:
-
--cluster-id— идентификатор кластера.Идентификатор кластера можно получить со списком кластеров в каталоге.
-
--raw— разрешения, в строку через пробел. Также строка должна включать настройку статуса пользователя:on— пользователь включен;off— пользователь отключен.
Пример:
on ~data:* &* +@set +@hash +get +set.Примечание
Флаг
--rawне используется с флагами отдельных разрешений и с флагами--disabledи--enabled. -
--categories— разрешения на категории команд, в строку через пробел. -
--commands— разрешения на команды, в строку через пробел. -
--patterns— разрешения на шаблоны ключей, в строку через пробел. -
--pub-sub-channels— разрешения на каналы Pub/Sub, в строку через пробел.
Примечание
Пользователю не могут быть выданы разрешения на категорию административных команд
+@adminи некоторые команды.Подробнее о списках контроля доступа читайте в документации Valkey™ ACL
.Имя пользователя можно получить со списком пользователей в кластере.
-
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Измените в описании ресурса
yandex_mdb_redis_userпараметры в блокеpermissions:resource "yandex_mdb_redis_user" "<локальное_имя_ресурса>" { ... permissions = { categories = "<разрешения_на_категории_команд>" commands = "<разрешения_на_команды>" patterns = "<разрешения_на_шаблоны_ключей>" pub_sub_channels = "<разрешения_на_каналы>" ... } ... }Где
permissions— настройки разрешений пользователя:-
categories— разрешения на категории команд, в строку через пробел. -
commands— разрешения на команды, в строку через пробел. -
patterns— разрешения на шаблоны ключей, в строку через пробел. -
pub_sub_channels— разрешения на каналы Pub/Sub, в строку через пробел.
Примечание
Пользователю не могут быть выданы разрешения на категорию административных команд
+@adminи некоторые команды.Подробнее о списках контроля доступа читайте в документации Valkey™ ACL
. -
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Yandex Managed Service for Valkey™:
- создание, в т. ч. путем восстановления из резервной копии, — 15 минут;
- изменение — 60 минут;
- удаление — 15 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок timeouts, например:
resource "yandex_mdb_redis_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Создайте файл
body.jsonи добавьте в него следующее содержимое:{ "updateMask": "<список_изменяемых_параметров>", "permissions": { "patterns": "<разрешения_на_шаблоны_ключей>", "pubSubChannels": "<разрешения_на_каналы>", "categories": "<разрешения_на_категории_команд>", "commands": "<разрешения_на_команды>" } }Где:
-
updateMask— перечень изменяемых параметров в строку через запятую.Важно
При изменении пользователя все параметры изменяемого объекта, которые не были явно переданы в запросе, будут переопределены на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
updateMask. -
permissions.patterns— разрешения на шаблоны ключей, в строку через пробел. -
permissions.pubSubChannels— разрешения на каналы Pub/Sub, в строку через пробел. -
permissions.categories— разрешения на категории команд, в строку через пробел. -
permissions.commands— разрешения на команды, в строку через пробел.
Примечание
Пользователю не могут быть выданы разрешения на категорию административных команд
+@adminи некоторые команды.Подробнее о списках контроля доступа читайте в документации Valkey™ ACL
. -
-
Воспользуйтесь методом User.Update и выполните запрос, например с помощью cURL
:curl \ --request PATCH \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.yandexcloud.kz/managed-redis/v1/clusters/<идентификатор_кластера>/users/<имя_пользователя>' \ --data "@body.json"Идентификатор кластера можно получить со списком кластеров в каталоге.
Имя пользователя можно получить со списком пользователей в кластере.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Создайте файл
body.jsonи добавьте в него следующее содержимое:{ "cluster_id": "<идентификатор_кластера>", "user_name": "<имя_пользователя>", "update_mask": { "paths": [ <список_изменяемых_параметров> ] }, "permissions": { "patterns": "<разрешения_на_шаблоны_ключей>", "pub_sub_channels": "<разрешения_на_каналы>", "categories": "<разрешения_на_категории_команд>", "commands": "<разрешения_на_команды>" } }Где:
-
cluster_id— идентификатор кластера.Идентификатор кластера можно получить со списком кластеров в каталоге.
-
user_name— имя пользователя.Имя пользователя можно получить со списком пользователей в кластере.
-
update_mask— перечень изменяемых параметров в виде массива строкpaths[].Формат перечисления настроек
"update_mask": { "paths": [ "<настройка_1>", "<настройка_2>", ... "<настройка_N>" ] }Важно
При изменении пользователя все параметры изменяемого объекта, которые не были явно переданы в запросе, будут переопределены на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
update_mask. -
permissions.patterns— разрешения на шаблоны ключей, в строку через пробел. -
permissions.pub_sub_channels— разрешения на каналы Pub/Sub, в строку через пробел. -
permissions.categories— разрешения на категории команд, в строку через пробел. -
permissions.commands— разрешения на команды, в строку через пробел.
Примечание
Пользователю не могут быть выданы разрешения на категорию административных команд
+@adminи некоторые команды.Подробнее о списках контроля доступа читайте в документации Valkey™ ACL
. -
-
Воспользуйтесь вызовом UserService.Update и выполните запрос, например с помощью 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 @ \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.redis.v1.UserService.Update \ < body.json -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.