it-source

C++의 Mariadb Kerberos 인증

criticalcode 2023. 10. 23. 21:55
반응형

C++의 Mariadb Kerberos 인증

MariaDB 인스턴스에는 Kerberos Authentication(커베로스 인증)이 탑재되어 있습니다.GSSAPI Authentication) 및 유효한 티켓을 가지고 명령줄 & 로그인을 사용합니다.

C++에서 MariaDB에 연결하기 위해 MariaDB Connector/C 버전을 사용하였습니다.3.1.9패키지를 설치하여MariaDB-common그리고.MariaDB-devel. 현재 인증은 사용자 이름과 암호로 수행됩니다.

#include <iostream>
#include <mysql/mysql.h>
#include <string>
...
    try {
        // Format a MySQL object
        conn = mysql_init(NULL);

        // Establish a MariaDB connection
        if (!mysql_real_connect(
                conn,
                MY_HOSTNAME, MY_USERNAME,
                MY_PASSWORD, MY_DATABASE,
                MY_PORT_NO, MY_SOCKET, MY_OPT)) {
            cerr << mysql_error(conn) << endl;
            return false;
        }

하지만 저희 C++ 어플리케이션에서 Kerberos Authentication을 사용할 수 있는 방법이 필요한데 관련된 문서나 예시를 찾을 수 없습니다.그래서 제 질문은, C++에서 Kerberos Authentication을 사용하여 MariaDB를 연결하는 방법은 없을까요?

클라이언트에서 Kerberos/GSSAPI를 통해 인증을 강제할 방법이 없습니다.

GSSAPI가 서버에서 지원되고 적절하게 구성된 경우 서버는 GSSAPI를 통해 인증이 수행되도록 클라이언트와 협상합니다.핸드셰이크 중에(또는 전송 중에) 발생합니다.COM_CHANGE_USER명령).

서버의 GSSAPI 구성 이외에도 GSSAPI를 통해 사용자를 식별하도록 지정해야 합니다.

CREATE USER username@hostname IDENTIFIED VIA gssapi

자세한 내용은 MariaDB 기술 자료에서 확인할 수 있습니다.

언급URL : https://stackoverflow.com/questions/63236204/mariadb-kerberos-authentication-in-c

반응형