Kerberos로 Autonomous Database 사용자 인증
Kerberos 네트워크 인증 프로토콜을 사용하여 데이터베이스 사용자를 인증하도록 Autonomous Database on Dedicated Exadata Infrastructure를 구성할 수 있습니다. Kerberos는 강력한 네트워크 인증 프로토콜입니다. 암호 키 암호화를 사용하여 사용자 대 서버 인증을 제공하여 강력한 인증을 가능하게 합니다.
-
Kerberos에 대한 Autonomous Database on Dedicated Exadata Infrastructure 지원은 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 Database의 Kerberos 지원은 서비스 주체 이름을 구성하는 다양한 구성요소에 다음 값을 사용합니다.
서비스 원금 구성요소 | Autonomous Database의 가치 |
---|---|
kinstance |
이 값은 다음 질의를 사용하여
주: TNS 접속 문자열에서 발견된host 매개변수의 값이 됩니다.
|
kservice |
Autonomous Database에는
Autonomous Database 인스턴스에서 Kerberos를 사용으로 설정한 후 다음 질의를 사용하여 Kerberos 서비스 이름을 확인합니다.
|
REALM |
KDC에서 지원하는 모든 영역입니다. REALM 는 항상 대문자여야 합니다.
|
Autonomous Database에 대해 Kerberos 인증을 사용으로 설정하려면 Kerberos 구성 파일(krb.conf
) 및 서비스 키 테이블 파일(v5srvtab
)을 준비 상태로 유지해야 합니다. 이러한 파일 및 파일 가져오기 단계에 대한 자세한 내용은 Configuring Kerberos Authentication을 참조하십시오.
Autonomous Database의 Kerberos 인증에 대한 참고 사항
Autonomous Database on Dedicated Exadata Infrastructure에서 Kerberos 인증을 진행하기 전에 다음 참고 사항을 검토하십시오.
- Autonomous Database에 대해 Kerberos 인증을 사용으로 설정하면 데이터베이스에 대해 비밀번호 기반 데이터베이스 인증을 계속 사용할 수 있습니다.
- 언제든지 Autonomous Database에 대해 하나의 외부 인증 방법만 사용할 수 있습니다. 즉, 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 Database 버전 19.27 이상에 대한 TCP 프로토콜로 지원됩니다.
- DB_LINKs 및 자율운영 Data Guard가 있는 데이터베이스에서는 Kerberos 인증이 지원되지 않습니다.
Autonomous Database에서 Kerberos 인증 사용
-
지정된 시간에 Autonomous Database에 대해 하나의 외부 인증 체계만 사용으로 설정할 수 있으므로
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 23ai Security Guide를 참조하십시오. -
Kerberos 구성 파일
krb.conf
및v5srvtab
를 객체 저장소의 버킷에 복사합니다.주:
Oracle은 Kerberos 구성 파일을 객체 저장소의 프라이빗 버킷에 저장할 것을 권장합니다.Oracle Cloud Infrastructure Object Store를 사용하는 경우 파일 업로드에 대한 자세한 내용은 Object Storage에 데이터 넣기를 참조하십시오.
-
Kerberos를 Autonomous Database에 대한 외부 인증으로 사용으로 설정하려면
DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION
프로시저를 실행하고params
JSON 인수를 사용하여 위치 URI를 전달합니다.location_uri
매개변수에 지정된 오브젝트 스토리지 위치에 구성 파일krb.conf
및v5srvtab
를 배치해야 합니다.예: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를 참조하십시오.
Autonomous Database에서 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 인증을 계속 구성해야 합니다.