Kerberos로 자율운영 AI 데이터베이스 사용자 인증
Kerberos 네트워크 인증 프로토콜을 사용하여 데이터베이스 사용자를 인증하도록 전용 Exadata 인프라의 자율운영 AI 데이터베이스를 구성할 수 있습니다. Kerberos는 강력한 네트워크 인증 프로토콜입니다. 암호 키 암호화를 사용하여 사용자-서버 인증을 제공하여 강력한 인증을 가능하게 합니다.
-
Kerberos에 대한 전용 Exadata 인프라의 자율운영 AI 데이터베이스 지원은 Oracle 사용자의 Single Sign-On 및 중앙 집중식 인증의 이점을 제공합니다. Kerberos는 신뢰받는 타사 인증 시스템으로 공유 암호를 사용합니다. 타사에서는 안전한 것으로 간주하고 Single Sign-On 기능, 중앙화된 암호 저장, 데이터베이스 링크 인증 및 향상된 PC 보안을 제공합니다. 이 작업은 Kerberos 인증 서버를 통해 수행됩니다.
-
Kerberos 시스템은 티켓 개념을 중심으로 회전합니다. 티켓은 사용자나 서비스를 식별하는 전자 정보 세트입니다. 티켓은 사용자와 사용자의 네트워크 액세스 권한을 식별합니다.
-
Kerberos 기반 인증에서는 티켓 요청을 투명하게 KDC(키 배포 센터)로 보냅니다. Key Distribution Center에서 사용자를 인증하고 데이터베이스에 액세스할 수 있는 티켓을 부여합니다.
Kerberos 인증 시스템의 구성 요소
Kerberos 인증 시스템에 대한 개요를 제공합니다.
-
영역은 인증 관리 도메인을 설정합니다. 각 영역에는 해당 특정 관리 도메인에 대한 사용자 및 서비스를 포함하는 고유한 Kerberos 데이터베이스가 있습니다.
-
티켓은 KDC(키 배포 센터)에서 발행합니다. 클라이언트는 ID의 신뢰성을 입증하기 위해 데이터베이스 서버에 티켓을 제공합니다. 각 티켓에는 만료 및 갱신 시간이 있습니다.
-
Keytabs는 하나 이상의 주체에 대한 장기 키를 저장합니다. keytab 파일은
kadmin.local
도구(MIT Key Distribution Center의 경우) 또는ktpass
(Active Directory Key Distribution Center의 경우)를 호출하여 생성됩니다. -
주체는 Key Distribution Center 데이터베이스에 있는 항목입니다. 각 사용자, 호스트 또는 서비스에는 주체가 지정됩니다. 주체는 키 배포 센터에서 티켓을 지정할 수 있는 고유 ID입니다.
-
Autonomous AI Database의 Kerberos 지원은 서비스 주체의 이름을 구성하는 다양한 구성요소에 다음 값을 사용합니다.
서비스 원금 구성요소 | 자율운영 AI 데이터베이스의 가치 |
---|---|
kinstance |
이 값은 다음 질의를 사용하여
주: TNS 접속 문자열에서 발견된host 매개변수의 값이 됩니다.
|
kservice |
자율운영 AI 데이터베이스에는
자율운영 AI 데이터베이스 인스턴스에서 Kerberos가 사용으로 설정된 후 다음 질의를 사용하여 Kerberos 서비스 이름을 확인합니다.
|
REALM |
KDC에서 지원하는 모든 영역입니다. REALM 는 항상 대문자여야 합니다.
|
자율운영 AI 데이터베이스에 대해 Kerberos 인증을 사용으로 설정하려면 Kerberos 구성 파일(krb.conf
) 및 서비스 키 테이블 파일(v5srvtab
)을 준비 상태로 유지해야 합니다. 이러한 파일 및 파일 가져오기 단계에 대한 자세한 내용은 Configuring Kerberos Authentication을 참조하십시오.
자율운영 AI 데이터베이스의 Kerberos 인증에 대한 참고 사항
Autonomous AI Database on Dedicated Exadata Infrastructure에서 Kerberos 인증을 계속하기 전에 다음 참고 사항을 검토하십시오.
- 자율운영 AI 데이터베이스에 대해 Kerberos 인증을 사용으로 설정하면 데이터베이스에 대해 비밀번호 기반 데이터베이스 인증을 계속 사용할 수 있습니다.
- 자율운영 AI 데이터베이스에는 언제든지 하나의 외부 인증 방법만 사용할 수 있습니다. 즉, Oracle Cloud Infrastructure(IAM), CMU-AD(Centrally Managed User with Active Directory), Azure AD 또는 Kerberos 인증 체계만 언제든지 사용으로 설정할 수 있습니다.
주:
단, Microsoft Active Directory 사용자에 대한 CMU-AD Kerberos 인증을 제공하기 위해 CMU-AD를 기반으로 Kerberos 인증을 구성할 수 있습니다. - 다음 도구에는 Kerberos 인증이 지원되지 않습니다.
- Oracle Database API for MongoDB
- Oracle REST Data Services
- Oracle Machine Learning
- APEX
- Oracle Graph 스튜디오
- Oracle 데이터베이스 작업
- Kerberos 인증을 사용으로 설정하여 ADMIN 사용자를 인증할 수 있습니다. Oracle Cloud Infrastructure(OCI) 콘솔에서 비밀번호 재설정 기능을 사용하여 ADMIN 사용자의 비밀번호를 재설정하고, 손상된 keytab 파일로 인해 ADMIN 사용자의 인증이 실패하는 경우 액세스 권한을 다시 얻을 수 있습니다.
- Kerberos 인증은 Autonomous AI Database 버전 19.27 이상에 대한 TCP 프로토콜로 지원됩니다.
- DB_LINKs 및 자율운영 Data Guard가 있는 데이터베이스에서는 Kerberos 인증이 지원되지 않습니다.
자율운영 AI 데이터베이스에서 Kerberos 인증 사용
-
지정된 시간에 자율운영 AI 데이터베이스에 대해 하나의 외부 인증 체계만 사용으로 설정할 수 있으므로
DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION
프로시저를 실행하여 데이터베이스에 대해 이미 사용으로 설정된 외부 인증 체계를 사용 안함으로 설정합니다.프로시저를 실행하려면 ADMIN 사용자로 로그인하거나DBMS_CLOUD_ADMIN
에 대한EXECUTE
권한이 있어야 합니다.BEGIN DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION; END; /
-
Kerberos 구성 파일(
krb.conf
) 및 서비스 키 테이블 파일(v5srvtab
)을 가져옵니다. 이러한 파일 및 파일을 가져오는 데 필요한 단계에 대한 자세한 내용은 Oracle Database 19c Security Guide의 Configuring Kerberos Authentication 또는 Oracle Database 26ai Security Guide를 참조하십시오. -
Kerberos 구성 파일
krb.conf
및v5srvtab
를 객체 저장소의 버킷에 복사합니다.주:
Oracle은 Kerberos 구성 파일을 객체 저장소의 프라이빗 버킷에 저장할 것을 권장합니다.Oracle Cloud Infrastructure Object Store를 사용하는 경우 파일 업로드에 대한 자세한 내용은 Object Storage에 데이터 넣기를 참조하십시오.
-
Kerberos를 Autonomous AI Database에 대한 외부 인증으로 사용으로 설정하려면
DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION
프로시저를 실행하고params
JSON 인수를 사용하여 위치 URI를 전달합니다. 구성 파일krb.conf
및v5srvtab
는location_uri
매개변수에 지정된 오브젝트 스토리지 위치에 배치해야 합니다.예:BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION( type => 'KERBEROS', params => JSON_OBJECT('location_uri' value 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o', 'credential_name' value 'my_credential_name') ); END; /
주:
Microsoft Active Directory 사용자에 대해 CMU-AD Kerberos 인증을 제공하려면 위 예에서type
를CMU
로 설정하여 CMU-AD에서 Kerberos 인증을 사용으로 설정할 수 있습니다.이 예에서
namespace-string
은 Oracle Cloud Infrastructure 객체 스토리지 네임스페이스이고bucketname
은 버킷 이름입니다. 자세한 내용은 Understanding Object Storage Namespaces를 참조하십시오.이 단계에서 사용하는
credential_name
은 객체 저장소에 대한 인증서입니다.location_uri
가 사전 인증된 URL인 경우credential_name
을 제공할 필요가 없습니다.그러면 데이터베이스에
KERBEROS_DIR
이라는 디렉토리 객체가 생성되고 인증서가 객체 저장소 위치에서 디렉토리 객체로 Kerberos 구성 파일을 다운로드하는 데 사용됩니다.kerberos_service_name
매개변수를 사용하여 Kerberos 서비스 이름을 지정할 수 있습니다. 예:BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION( type =>'KERBEROS', params => JSON_OBJECT( 'location_uri' value 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o', 'credential_name' value 'my_credential_name' 'kerberos_service_name' value 'oracle' )); END; /
- Kerberos 인증을 사용으로 설정한 후 객체 저장소에서
krb.conf
및v5srvtab
구성을 제거합니다. 로컬 객체 저장소 메소드를 사용하여 이러한 파일을 제거하거나DBMS_CLOUD.DELETE_OBJECT
를 사용하여 객체 저장소에서 파일을 삭제할 수 있습니다.
오브젝트 스토리지에 대한 자세한 내용은 Oracle Cloud Infrastructure Object Storage 및 버킷 생성으로 이동을 참조하십시오.
자세한 내용은 ENABLE_EXTERNAL_AUTHENTICATION Procedure를 참조하십시오.
자율운영 AI 데이터베이스에서 Kerberos 인증 사용 안함
데이터베이스에서 다른 외부 인증 체계를 사용으로 설정하기 전에 DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION
프로시저를 실행하는 Kerberos 인증을 사용 안함으로 설정해야 합니다.
DBMS_CLOUD_ADMIN
에 대한 EXECUTE
권한이 있어야 합니다. BEGIN
DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
END;
/
주:
Microsoft Active Directory 사용자에 대해 CMU-AD Kerberos 인증을 제공하려면 Kerberos 인증을 사용 안함으로 설정하지 않고 CMU-AD 인증을 계속 구성해야 합니다.