Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Служба "Управляемый экземпляр Azure для Apache Cassandra" позволяет автоматизировать операции развертывания и масштабирования для управляемых решений Apache Cassandra с открытым кодом для центров обработки данных. В этой статье описывается, как включить проверку подлинности протокола LDAP для кластеров и центров обработки данных.
Внимание
Проверка подлинности LDAP доступна в общедоступной предварительной версии.
Эта функция предоставляется без соглашения об уровне обслуживания. Мы не рекомендуем использовать ее при нагрузках, обычных для рабочих средах. Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.
Необходимые компоненты
- Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
- Управляемый экземпляр Azure для кластера Apache Cassandra. Дополнительные сведения см. в статье "Создание управляемого экземпляра Azure для кластера Apache Cassandra" на портале Azure.
Развертывание сервера LDAP в Azure
В этом разделе описано, как создать простой сервер LDAP на виртуальной машине в Azure. Если у вас уже запущен сервер LDAP, можно сразу перейти к разделу Включение аутентификации LDAP.
Разверните виртуальную машину в Azure с помощью Ubuntu Server 18.04 Long-Term поддержки (LTS). Подробные инструкции см. в разделе "Развертывание сервера Ubuntu".
Присвойте серверу имя системы доменных имен (DNS).
Установите Docker на виртуальной машине. Руководство по установке и использованию Docker в Ubuntu 18.04.
В домашнем каталоге скопируйте и вставьте следующий текст и нажмите Enter. Эта команда создает файл, содержащий тестовую учетную запись пользователя LDAP.
mkdir ldap-user && cd ldap-user && cat >> user.ldif <<EOL dn: uid=admin,dc=example,dc=org uid: admin cn: admin sn: 3 objectClass: top objectClass: posixAccount objectClass: inetOrgPerson loginShell: /bin/bash homeDirectory: /home/admin uidNumber: 14583102 gidNumber: 14564100 userPassword: admin mail: admin@example.com gecos: admin EOL
Вернитесь в домашний каталог.
cd ..
Выполните следующую команду. Замените
<dnsname>
DNS-именем, созданным для сервера LDAP ранее. Эта команда развертывает сервер LDAP с включенным протоколом TLS в контейнер Docker и копирует файл пользователя, созданный ранее в контейнер.sudo docker run --hostname <dnsname>.uksouth.cloudapp.azure.com --name <dnsname> -v $(pwd)/ldap-user:/container/service/slapd/assets/test --detach osixia/openldap:1.5.0
Скопируйте папку сертификатов из контейнера. Замените
<dnsname>
DNS-именем, созданным для сервера LDAP.sudo docker cp <dnsname>:/container/service/slapd/assets/certs certs
Убедитесь, что DNS-имя правильно.
openssl x509 -in certs/ldap.crt -text
Скопируйте файл
ldap.crt
в clouddrive Azure CLI для последующего использования.Добавьте пользователя в LDAP. Замените
<dnsname>
DNS-именем, созданным для сервера LDAP.sudo docker container exec <dnsname> ldapadd -H ldap://<dnsname>.uksouth.cloudapp.azure.com -D "cn=admin,dc=example,dc=org" -w admin -f /container/service/slapd/assets/test/user.ldif
Включение проверки подлинности LDAP
Внимание
Если вы пропустили предыдущий раздел, так как у вас уже есть сервер LDAP, убедитесь, что он включает сертификаты уровня Secure Sockets Layer. Для сертификата указанный subject alternative name (dns name)
также должен соответствовать домену сервера, на котором размещен LDAP, иначе аутентификация завершится неудачей.
В настоящее время проверка подлинности LDAP — это общедоступная предварительная версия. Выполните следующую команду, чтобы добавить необходимое расширение Azure CLI:
az extension add --upgrade --name cosmosdb-preview
Задайте для кластера метод
Ldap
проверки подлинности. Замените<resource group>
и<cluster name>
соответствующими значениями.az managed-cassandra cluster update -g <resource group> -c <cluster name> --authentication-method "Ldap"
Теперь задайте свойства на уровне центра обработки данных. Замените
<resource group>
и<cluster name>
соответствующими значениями. Замените<dnsname>
DNS-именем, созданным для сервера LDAP.Следующая команда основана на настройке LDAP в предыдущем разделе. Если этот раздел пропущен, так как у вас уже есть существующий сервер LDAP, укажите соответствующие значения для этого сервера. Убедитесь, что вы добавили файл сертификата, например
ldap.crt
на облачный диск в Azure CLI.ldap_search_base_distinguished_name='dc=example,dc=org' ldap_server_certificates='/usr/csuser/clouddrive/ldap.crt' ldap_server_hostname='<dnsname>.uksouth.cloudapp.azure.com' ldap_service_user_distinguished_name='cn=admin,dc=example,dc=org' ldap_service_user_password='admin' az managed-cassandra datacenter update -g `<resource group>` -c `<cluster name>` -d datacenter-1 \ --ldap-search-base-dn $ldap_search_base_distinguished_name \ --ldap-server-certs $ldap_server_certificates \ --ldap-server-hostname $ldap_server_hostname \ --ldap-service-user-dn $ldap_service_user_distinguished_name \ --ldap-svc-user-pwd $ldap_service_user_password
После завершения этой команды вы сможете использовать CQLSH или любой драйвер клиента с открытым кодом Apache Cassandra для подключения к центру обработки данных управляемого экземпляра с помощью пользователя, добавленного на предыдущем шаге.
export SSL_VALIDATE=false cqlsh --debug --ssl <data-node-ip> -u <user> -p <password>