Правила аутентификации пользователей
Правила аутентификации пользователей определяют, какие пользователи и с каких адресов могут подключаться к кластеру и к каким базам данных они могут получить доступ.
Вы можете:
- Получить список правил.
- Добавить правило.
- Изменить правило.
- Изменить приоритет правила.
- Удалить правило.
Важно
Приоритет правил определяется порядком строк: правила читаются сверху вниз и применяется первое подходящее. Если по первому подходящему правилу аутентификация не прошла, последующие не рассматриваются.
Получить список правил
- Перейдите на страницу каталога
и выберите сервис Managed Service for Greenplum. - Нажмите на имя нужного кластера и выберите вкладку
Аутентификация пользователей.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>
. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name
или --folder-id
.
-
Посмотрите описание команды для получения списка правил:
yc managed-greenplum hba-rules list --help
-
Получите список правил:
yc managed-greenplum hba-rules list --cluster-id <идентификатор_кластера>
Идентификатор кластера можно получить со списком кластеров в каталоге.
Результат:
+----------+-----------------+-----+-------+-------------------------------------------+-------------+ | PRIORITY | CONNECTION TYPE | DB | USER | ADDRESS | AUTH METHOD | +----------+-----------------+-----+-------+-------------------------------------------+-------------+ | 1 | HOST | db1 | user1 | rc1a-no8u9mlr********.mdb.yandexcloud.net | MD5 | +----------+-----------------+-----+-------+-------------------------------------------+-------------+
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>"
-
Воспользуйтесь методом HBARule.List и выполните запрос, например с помощью cURL
:curl \ --request GET \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.yandexcloud.kz/managed-greenplum/v1/clusters/<идентификатор_кластера>/hbaRules'
Идентификатор кластера можно получить со списком кластеров в каталоге.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>"
-
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
Далее предполагается, что содержимое репозитория находится в директории
~/cloudapi/
. -
Воспользуйтесь вызовом HBARuleService.List и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/greenplum/v1/hba_rule_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>" }' \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.greenplum.v1.HBARuleService.List
Идентификатор кластера можно получить со списком кластеров в каталоге.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Добавить правило
-
Перейдите на страницу каталога
и выберите сервис Managed Service for Greenplum. -
Нажмите на имя нужного кластера и выберите вкладку
Аутентификация пользователей. -
Нажмите кнопку Редактировать правила.
-
Нажмите кнопку
Добавить правило и задайте его параметры:- Тип — тип соединения.
- База данных — имя базы данных, к которой выполняется подключение. Указание системных баз данных запрещено.
- Пользователь — имя пользователя или группы пользователей базы данных. Указание системных пользователей запрещено.
- Адрес (CIDR/FQDN) — FQDN хоста или диапазон IP-адресов в нотации CIDR, с которых будет выполняться подключение к базе данных.
- Метод — метод аутентификации.
Подробнее о параметрах см. в разделе Настройки правил аутентификации.
-
Чтобы добавить еще одно правило, нажмите кнопку
Добавить правило. -
Нажмите кнопку Сохранить.
Примечание
В конец списка автоматически добавляется правило по умолчанию, которое разрешает аутентификацию всем пользователям во всех базах и со всех хостов с помощью метода md5
(по паролю).
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>
. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name
или --folder-id
.
-
Посмотрите описание команды для добавления правила:
yc managed-greenplum hba-rules create --help
-
Добавьте правило:
yc managed-greenplum hba-rules create <приоритет_правила> \ --cluster-id <идентификатор_кластера> \ --conn-type <тип_соединения> \ --database <имя_базы_данных> \ --user <имя_пользователя> \ --address <адрес> \ --auth-method <метод_аутентификации>
Где:
conn-type
— тип соединения. Возможные значения:host
,hostssl
,hostnossl
.address
— FQDN хоста или диапазон IP-адресов в нотации CIDR, с которых будет выполняться подключение к базе данных.auth-method
— метод аутентификации. Возможные значения:md5
,reject
.
Подробнее о параметрах см. в разделе Настройки правил аутентификации.
Идентификатор кластера можно получить со списком кластеров в каталоге.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>"
-
Воспользуйтесь методом HBARule.Create и выполните запрос, например с помощью cURL
:curl \ --request POST \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.yandexcloud.kz/managed-greenplum/v1/clusters/<идентификатор_кластера>/hbaRules' \ --data '{ "hbaRule": { "priority": "<приоритет_правила>", "connectionType": "<тип_соединения>", "database": "<имя_базы_данных>", "user": "<имя_пользователя>", "address": "<адрес>", "authMethod": "<метод_аутентификации>" } }'
Где:
connectionType
— тип соединения. Возможные значения:HOST
,HOSTSSL
,HOSTNOSSL
.address
— FQDN хоста или диапазон IP-адресов в нотации CIDR, с которых будет выполняться подключение к базе данных.authMethod
— метод аутентификации. Возможные значения:MD5
,REJECT
.
Подробнее о параметрах см. в разделе Настройки правил аутентификации.
Идентификатор кластера можно получить со списком кластеров в каталоге.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>"
-
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
Далее предполагается, что содержимое репозитория находится в директории
~/cloudapi/
. -
Воспользуйтесь вызовом HBARuleService.Create и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/greenplum/v1/hba_rule_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>", "hba_rule": { "priority": "<приоритет_правила>", "connection_type": "<тип_соединения>", "database": "<имя_базы_данных>", "user": "<имя_пользователя>", "address": "<адрес>", "auth_method": "<метод_аутентификации>" } }' \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.greenplum.v1.HBARuleService.Create
Где:
connection_type
— тип соединения. Возможные значения:HOST
,HOSTSSL
,HOSTNOSSL
.address
— FQDN хоста или диапазон IP-адресов в нотации CIDR, с которых будет выполняться подключение к базе данных.auth_method
— метод аутентификации. Возможные значения:MD5
,REJECT
.
Идентификатор кластера можно получить со списком кластеров в каталоге.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Изменить правило
-
Перейдите на страницу каталога
и выберите сервис Managed Service for Greenplum. -
Нажмите на имя нужного кластера и выберите вкладку
Аутентификация пользователей. -
Нажмите кнопку Редактировать правила и измените параметры правил:
- Тип — тип соединения.
- База данных — имя базы данных, к которой выполняется подключение. Указание системных баз данных запрещено.
- Пользователь — имя пользователя или группы пользователей базы данных. Указание системных пользователей запрещено.
- Адрес (CIDR/FQDN) — FQDN хоста или диапазон IP-адресов в нотации CIDR, с которых будет выполняться подключение к базе данных.
- Метод — метод аутентификации.
Подробнее о параметрах см. в разделе Настройки правил аутентификации.
-
Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>
. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name
или --folder-id
.
-
Посмотрите описание команды для изменения правила:
yc managed-greenplum hba-rules update --help
-
Измените правило:
yc managed-greenplum hba-rules update <приоритет_правила> \ --cluster-id <идентификатор_кластера> \ --conn-type <тип_соединения> \ --database <имя_базы_данных> \ --user <имя_пользователя> \ --address <адрес> \ --auth-method <метод_аутентификации>
Где:
conn-type
— тип соединения. Возможные значения:host
,hostssl
,hostnossl
.address
— FQDN хоста или диапазон IP-адресов в нотации CIDR, с которых будет выполняться подключение к базе данных.auth-method
— метод аутентификации. Возможные значения:md5
,reject
.
Подробнее о параметрах см. в разделе Настройки правил аутентификации.
Идентификатор кластера можно получить со списком кластеров в каталоге.
Приоритет правила можно узнать, запросив список всех правил для кластера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>"
-
Воспользуйтесь методом HBARule.Update и выполните запрос, например с помощью cURL
:curl \ --request PATCH \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.yandexcloud.kz/managed-greenplum/v1/clusters/<идентификатор_кластера>/hbaRules' \ --data '{ "hbaRule": { "priority": "<приоритет_правила>", "connectionType": "<тип_соединения>", "database": "<имя_базы_данных>", "user": "<имя_пользователя>", "address": "<адрес>", "authMethod": "<метод_аутентификации>" } }'
Где:
connectionType
— тип соединения. Возможные значения:HOST
,HOSTSSL
,HOSTNOSSL
.address
— FQDN хоста или диапазон IP-адресов в нотации CIDR, с которых будет выполняться подключение к базе данных.authMethod
— метод аутентификации. Возможные значения:MD5
,REJECT
.
Подробнее о параметрах см. в разделе Настройки правил аутентификации.
Идентификатор кластера можно получить со списком кластеров в каталоге.
Приоритет правила можно узнать, запросив список всех правил для кластера.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>"
-
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
Далее предполагается, что содержимое репозитория находится в директории
~/cloudapi/
. -
Воспользуйтесь вызовом HBARuleService.Update и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/greenplum/v1/hba_rule_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>", "hba_rule": { "priority": "<приоритет_правила>", "connection_type": "<тип_соединения>", "database": "<имя_базы_данных>", "user": "<имя_пользователя>", "address": "<адрес>", "auth_method": "<метод_аутентификации>" } }' \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.greenplum.v1.HBARuleService.Update
Где:
connection_type
— тип соединения. Возможные значения:HOST
,HOSTSSL
,HOSTNOSSL
.address
— FQDN хоста или диапазон IP-адресов в нотации CIDR, с которых будет выполняться подключение к базе данных.auth_method
— метод аутентификации. Возможные значения:MD5
,REJECT
.
Идентификатор кластера можно получить со списком кластеров в каталоге.
Приоритет правила можно узнать, запросив список всех правил для кластера.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Изменить приоритет правила
- Перейдите на страницу каталога
и выберите сервис Managed Service for Greenplum. - Нажмите на имя нужного кластера и выберите вкладку
Аутентификация пользователей. - Нажмите кнопку Редактировать правила.
- Нажмите на значок
для нужного правила и переместите его выше или ниже. - Нажмите кнопку Сохранить.
Удалить правило
- Перейдите на страницу каталога
и выберите сервис Managed Service for Greenplum. - Нажмите на имя нужного кластера и выберите вкладку
Аутентификация пользователей. - Нажмите кнопку Редактировать правила.
- Нажмите на значок
для нужного правила и выберите пункт Удалить. - Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>
. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name
или --folder-id
.
-
Посмотрите описание команды для удаления правила:
yc managed-greenplum hba-rules delete --help
-
Удалите правило:
yc managed-greenplum hba-rules delete <приоритет_правила> \ --cluster-id <идентификатор_кластера>
Идентификатор кластера можно получить со списком кластеров в каталоге.
Приоритет правила можно узнать, запросив список всех правил для кластера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>"
-
Воспользуйтесь методом HBARule.Delete и выполните запрос, например с помощью cURL
:curl \ --request DELETE \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.yandexcloud.kz/managed-greenplum/v1/clusters/<идентификатор_кластера>/hbaRule/<приоритет_правила>'
Идентификатор кластера можно получить со списком кластеров в каталоге.
Приоритет правила можно узнать, запросив список всех правил для кластера.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>"
-
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
Далее предполагается, что содержимое репозитория находится в директории
~/cloudapi/
. -
Воспользуйтесь вызовом HBARuleService.Delete и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/greenplum/v1/hba_rule_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>", "priority": "<приоритет_правила>" }' \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.greenplum.v1.HBARuleService.Delete
Идентификатор кластера можно получить со списком кластеров в каталоге.
Приоритет правила можно узнать, запросив список всех правил для кластера.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Greenplum® и Greenplum Database® являются зарегистрированными товарными знаками или товарными знаками Broadcom Inc в США и/или других странах.