Подключение к пространству имен
Вы можете подключиться к пространству имен при помощи cURL или Debezium.
Перед подключением к пространству имен создайте сервисный аккаунт и назначьте ему нужные роли.
-
Установите сертификат:
sudo mkdir --parents /usr/local/share/ca-certificates/Yandex && \ sudo wget "https://crls.yandex.net/YandexInternalCA.crt" \ --output-document /usr/local/share/ca-certificates/Yandex/IntermediateCA.crt && \ sudo chmod 655 /usr/local/share/ca-certificates/Yandex/IntermediateCA.crt && \ sudo update-ca-certificates
-
Создайте API-ключ с ограниченной областью действия и поместите его в локальную переменную
SECRET
:yc iam api-key create --folder-id <идентификатор_каталога> \ --service-account-name <имя_сервисного_аккаунта_для_работы_со_Schema_Registry> \ --scope yc.schema-registry.schemas.manage \ --expires-at '2030-01-01T00:00:00Z' >./api-key.yaml && \ SECRET=`cat ./api-key.yaml | grep 'secret:' | awk '{print $2}'`
Использование ключа с ограниченной областью действия позволяет выставить любой TTL.
-
Подключитесь к пространству имен:
curl -X GET "https://<идентификатор_пространства_имен>.schema-registry.yandexcloud.net:443/subjects" \ -H "accept: application/json" --user 'api-key:'$SECRET
-
Установите сертификат:
sudo mkdir ./cert && \ sudo wget "https://storage.yandexcloud.net/cloud-certs/CA.pem" --output-document ./cert/CA.pem && \ sudo openssl x509 -outform der -in ./cert/CA.pem -out ./cert/CA.der && \ sudo keytool -importcert -noprompt -alias ca -file ./cert/CA.der -keystore ./cert/CA.p12 -storepass STOREPASSW0RD
-
Скачайте и распакуйте актуальный Debezium-коннектор
в директорию/etc/debezium/plugins/
. -
Создайте API-ключ с ограниченной областью действия и поместите его в локальную переменную
SECRET
:yc iam api-key create --folder-id <идентификатор_каталога> \ --service-account-name <имя_сервисного_аккаунта_для_работы_со_Schema_Registry> \ --scope yc.schema-registry.schemas.manage \ --expires-at '2030-01-01T00:00:00Z' >./api-key.yaml && \ SECRET=`cat ./api-key.yaml | grep 'secret:' | awk '{print $2}'`
Использование ключа с ограниченной областью действия позволяет выставить любой TTL.
-
Добавьте в файл конфигурации коннектора Debezium следующие параметры:
"ssl.truststore.location": "/cert/CA.p12", "ssl.truststore.type": "PKCS12", "ssl.truststore.password": "STOREPASSW0RD", "value.converter": "io.confluent.connect.json.JsonSchemaConverter", "value.converter.schema.registry.url": "https://<идентификатор_пространства_имен>.schema-registry.yandexcloud.net:443", "value.converter.basic.auth.credentials.source": "USER_INFO", "value.converter.basic.auth.user.info": "api-key:%SECRET%"
-
Чтобы подключиться к пространству имен, запустите Debezium.