전용 Exadata 인프라에서 Autonomous Database와 함께 Microsoft Active Directory 사용

Microsoft Active Directory 사용자를 인증하고 권한을 부여하도록 Autonomous Database on Dedicated Exadata Infrastructure를 구성할 수 있습니다. 이 구성을 통해 Active Directory 사용자는 Active Directory 자격 증명을 사용하여 Autonomous Database에 액세스할 수 있습니다.

주:

Azure Active Directory를 Autonomous Database와 함께 사용하는 방법은 Azure Active Directory(Azure AD)를 Autonomous Database와 함께 사용을 참조하십시오. CMU 옵션은 Microsoft Active Directory 서버를 지원하지만 Azure Active Directory 서비스는 지원하지 않습니다.

Autonomous Database를 CMU(Centrally Managed Users)와 통합하면 Microsoft Active Directory와 통합할 수 있습니다. CMU와 Active Directory는 Oracle 데이터베이스 전역 사용자 및 전역 역할을 Microsoft Active Directory 사용자 및 그룹에 매핑하는 방식으로 작동합니다.

Autonomous Database에서 Microsoft Active Directory로 CMU를 구성하기 위한 필요 조건

다음은 Autonomous Database에서 Active Directory로의 접속을 구성하기 위한 필수 필요 조건입니다.

  • Microsoft Active Directory가 설치 및 구성되어 있어야 합니다. 자세한 내용은 AD DS 시작하기를 참조하십시오.

  • Active Directory에서 Oracle 서비스 디렉토리 사용자를 만들어야 합니다. Oracle 서비스 디렉토리 사용자 계정에 대한 자세한 내용은 Oracle Database 19c Security GuideStep 1: Create an Oracle Service Directory User Account on Microsoft Active Directory and Grant Permissions 또는 Oracle Database 23ai Security Guide를 참조하십시오.

  • Active Directory 시스템 관리자는 Active Directory 서버에 Oracle 암호 필터를 설치하고 요구 사항을 충족하도록 Active Directory 사용자와 함께 Active Directory 그룹을 설정해야 합니다.

    Autonomous Database용 CMU에서는 암호 인증만 지원되므로 포함된 유틸리티인 opwdintg.exe를 사용하여 Active Directory에 Oracle 암호 필터를 설치하고, 스키마를 확장하고, 세 가지 유형의 암호 검증자 생성을 위해 세 개의 새 ORA_VFR 그룹을 만들어야 합니다. Oracle 암호 필터 설치에 대한 자세한 내용은 Oracle Database 19c Security GuideStep 2: For Password Authentication, Install the Password Filter and Extend the Microsoft Active Directory Schema 또는 Oracle Database 23ai Security Guide를 참조하십시오.

  • Active Directory 서버는 공용 인터넷을 통해 Autonomous Database에서 액세스할 수 있어야 하고, Active Directory 서버의 포트 636이 Oracle Cloud InfrastructureAutonomous Database에 대해 열려 있어야 합니다. 그러면 Autonomous Database가 인터넷을 통해 TLS/SSL을 통해 Active Directory 서버에 대한 LDAP 액세스를 보호할 수 있습니다.

    온프레미스 Active Directory에 대해 읽기 전용 도메인 컨트롤러(RODC)를 설정할 수 있는 Oracle Cloud Infrastructure로 온프레미스 Active Directory를 확장할 수도 있습니다. 그런 다음 Oracle Cloud Infrastructure에서 이러한 RODC를 사용하여 온프레미스 Active Directory 사용자에게 Autonomous Database에 대한 액세스를 인증하고 권한을 부여할 수 있습니다.

    자세한 내용은 하이브리드 클라우드에서 Active Directory 통합 확장을 참조하십시오.

  • Autonomous Database에 대한 CMU를 구성하려면 CMU 구성 데이터베이스 전자 지갑(cwallet.sso) 및 CMU 구성 파일(dsi.ora)이 필요합니다.

    • 온-프레미스 데이터베이스에 대해 CMU를 구성한 경우 온-프레미스 데이터베이스 서버에서 이러한 구성 파일을 가져올 수 있습니다.

    • 온-프레미스 데이터베이스에 대해 CMU를 구성하지 않은 경우 이러한 파일을 만들어야 합니다. 그런 다음 구성 파일을 클라우드에 업로드하여 Autonomous Database 인스턴스에서 CMU를 구성합니다. 온프레미스 데이터베이스에 대한 CMU를 구성하고 Active Directory 사용자가 이러한 구성 파일을 사용하여 온프레미스 데이터베이스에 성공적으로 로그온할 수 있는지 확인하여 전자 지갑 및 dsi.ora를 검증할 수 있습니다. 그런 다음 Autonomous Database에 대한 CMU를 구성하기 위해 이러한 구성 파일을 클라우드에 업로드합니다.

    CMU의 전자 지갑 파일에 대한 자세한 내용은 다음을 참조하십시오.

    CMU용 dsi.ora 파일에 대한 자세한 내용은 Oracle Database 19c Security GuideCreating the dsi.ora File 또는 Oracle Database 23ai Security Guide를 참조하십시오.

    CMU에 대한 Active Directory 구성 및 온프레미스 데이터베이스에 대한 CMU 문제 해결에 대한 자세한 내용은 How To Configure Centrally Managed Users For Database Release 18c or Later Releases (Doc ID 2462012.1)을 참조하십시오.

Autonomous Database에서 Microsoft Active Directory로 CMU 구성

Active Directory 서버에 연결하도록 CMU에 대해 Autonomous Database를 구성하려면 다음을 수행합니다.

  1. ADMIN 사용자로 Autonomous Database에 접속합니다.
  2. 데이터베이스에서 다른 외부 인증 체계가 활성화되어 있는지 확인하고 비활성화합니다.

    주:

    Kerberos에서 CMU-AD 구성을 계속하여 Microsoft Active Directory 사용자에 대한 CMU-AD Kerberos 인증을 제공할 수 있습니다.
  3. 데이터베이스 전자 지갑 파일 cwallet.sso 및 CMU 구성 파일 dsi.ora를 포함한 CMU 구성 파일을 객체 저장소에 업로드합니다. 이 단계는 사용하는 객체 저장소에 따라 다릅니다.

    dsi.ora 구성 파일에는 Active Directory 서버를 찾기 위한 정보가 포함되어 있습니다.

    Oracle Cloud Infrastructure 객체 저장소를 사용 중인 경우 파일 업로드에 대한 자세한 내용은 객체 스토리지에 데이터 넣기를 참조하십시오.

  4. Autonomous Database에서 새 디렉토리 객체를 생성하거나 기존 디렉토리 객체를 선택합니다. 전자 지갑을 저장하는 디렉토리이며 Active Directory에 접속하기 위한 구성 파일입니다.

    예:

    CREATE OR REPLACE DIRECTORY cmu_wallet_dir AS 'cmu_wallet';

    다음 SQL 문을 사용하여 디렉토리 객체의 파일 시스템 디렉토리 경로를 질의합니다.

    SELECT DIRECTORY_PATH FROM DBA_DIRECTORIES WHERE 
       DIRECTORY_NAME='directory_object_name';

    예:

    SELECT DIRECTORY_PATH FROM DBA_DIRECTORIES WHERE 
       DIRECTORY_NAME='CMU_WALLET_DIR';
    
    
    DIRECTORY_PATH
    ----------------------------------------------------------------------------
    /file_system_directory_path_example/cmu_wallet

    주:

    디렉토리 객체가 생성될 때 대소문자가 보존되지 않았으므로 질의의 디렉토리 객체 이름은 대문자여야 합니다.
    디렉토리 객체 이름의 대소문자를 유지하려면 이름을 큰따옴표로 묶어야 합니다. 예:
    CREATE OR REPLACE DIRECTORY "CMU_wallet_dir" AS 'cmu_wallet';
  5. DBMS_CLOUD.GET_OBJECT를 사용하여 CMU 구성 파일인 데이터베이스 전자 지갑(cwallet.ssodsi.ora)을 객체 저장소에서 위 4단계에서 생성하거나 선택한 디렉토리로 복사합니다.

    예를 들어 다음과 같이 DBMS_CLOUD.GET_OBJECT를 사용하여 객체를 객체 저장소에서 CMU_WALLET_DIR로 복사합니다.

    BEGIN
       DBMS_CLOUD.GET_OBJECT(
          credential_name => 'DEF_CRED_NAME',
          object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/cwallet.sso',
          directory_name => 'CMU_WALLET_DIR');
       DBMS_CLOUD.GET_OBJECT(
          credential_name => 'DEF_CRED_NAME',
          object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/dsi.ora',
          directory_name => 'CMU_WALLET_DIR');
    END;
    /

    이 예에서는 namespace-string가 Oracle Cloud Infrastructure 오브젝트 스토리지 네임스페이스이고 bucketname가 버킷 이름입니다. 자세한 내용은 Object Storage 네임스페이스 이해를 참조하십시오.

    자세한 내용은 GET_OBJECT Procedure를 참조하십시오.

    다음 SQL 문을 사용하여 디렉토리에 복사된 파일을 질의합니다.

    SELECT * FROM DBMS_CLOUD.LIST_FILES('directory_object_name');

    예:

    SELECT * FROM DBMS_CLOUD.LIST_FILES('CMU_WALLET_DIR');

    디렉토리 객체가 생성될 때 디렉토리 객체 이름은 대문자로 유지되지 않았으므로 이 query의 디렉토리 객체 이름은 대문자여야 합니다.

  6. DBMS_CLOUD_ADMIN 패키지를 사용하여 Autonomous Database에서 CMU-AD를 사용으로 설정합니다.

    주:

    아래 예제의 디렉토리 이름을 환경에 맞게 선택한 디렉토리 이름으로 바꿉니다. 이 명령을 실행하기 전에 ADMIN 유저로 로그인했는지 확인합니다.
    BEGIN
      DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
        type     => 'CMU',
        params   => JSON_OBJECT('directory_name' value 'CMU_WALLET_DIR')
      ); 
    END;
    / 
  7. 보안을 유지하려면 객체 저장소에서 데이터베이스 전자 지갑 cwallet.sso 및 CMU 구성 파일 dsi.ora를 포함한 CMU 구성 파일을 제거하십시오. 로컬 객체 저장소 메소드를 사용하여 이러한 파일을 제거하거나 DBMS_CLOUD.DELETE_OBJECT를 사용하여 객체 저장소에서 파일을 삭제할 수 있습니다.
    DBMS_CLOUD.DELETE_OBJECT에 대한 자세한 내용은 DELETE_OBJECT Procedure를 참조하십시오.

주:

Autonomous Database에서 Active Directory로의 액세스를 사용 안함으로 설정하는 방법에 대한 지침은 Disable Active Directory Access on Autonomous Database를 참조하십시오.

자세한 내용은 Oracle Database 19c Security GuideConfiguring Centrally Managed Users with Microsoft Active Directory 또는 Oracle Database 19c Security Guide를 참조하십시오.

Exadata Cloud@Customer에서 Microsoft Active Directory로 CMU 구성

적용 대상: 적용 가능 Exadata Cloud@Customer만 해당

Oracle Object Store 서비스를 사용하지 않고 CMU가 Active Directory 서버에 연결하도록 Exadata Cloud@Customer에서 Autonomous Database를 구성하려면 다음을 수행합니다.

  1. ADMIN 사용자로 Autonomous Database에 접속합니다.
  2. 데이터베이스에서 다른 외부 인증 체계가 활성화되어 있는지 확인하고 다음 SQL 명령을 사용하여 비활성화합니다.
    BEGIN
      DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
    END;
    /
  3. CMU-AD의 경우 AVMC(자율운영 Exadata VM 클러스터)의 로컬 파일 시스템에 Active Directory 접속 전자 지갑 cwallet.ssodsi.ora 파일이 필요합니다. 이러한 파일은 Oracle Cloud Infrastructure의 Oracle Object Store 서비스에서 호스팅한 다음 DBMS_CLOUD 패키지를 사용하여 로컬로 복사하여 이 작업을 수행할 수 있습니다. 자세한 단계와 예제는 Configure CMU with Microsoft Active Directory on Autonomous Database에서 확인할 수 있습니다.
  4. 클라우드 스토리지에서 cwallet.ssodsi.ora을 호스팅할 수 없는 경우 데이터 센터의 NFS(네트워크 파일 시스템) 공유를 사용하여 이러한 파일을 호스트한 다음 DBFS(데이터베이스 파일 시스템) 아래의 데이터베이스 디렉토리로 이동할 수 있습니다. 이렇게 하려면 아래와 같이 먼저 로컬에서 사용 가능한 NFS 공유를 Autonomous Database 디렉토리 객체에 연결해야 합니다.
    1. SQL 클라이언트에서 다음 SQL 명령을 사용하여 Autonomous Database 인스턴스에 데이터베이스 디렉토리를 생성합니다.
      create or replace directory TMPFSSDIR as 'tmpfssdir';
      
    2. Autonomous Database에서 제공되는 DBMS_CLOUD_ADMIN 패키지를 사용하여 NFS 공유를 이 디렉토리에 마운트합니다.

      참고:

      NFS 공유를 사용하려면 네트워크 또는 저장소 관리자와 협력해야 할 수 있습니다.
      BEGIN
        DBMS_CLOUD_ADMIN.attach_file_system(
          file_system_name => <some_name_you_assign>,
          file_system_location => <your_nfs_fs_path>,
          directory_name => <tmpfssdir_created_above>,
          description => ‘Any_desc_you_like_to_give’
        );
      END
      예:
      BEGIN 
        DBMS_CLOUD_ADMIN.attach_file_system(
          file_system_name => 'AD-FSS',
          file_system_location => acme.com:/nfs/mount1',
          directory_name => 'TMPFSSDIR',
          description => ‘nfs to host AD files’
        );
      END;
  5. CMU에서 사용할 수 있는 cwallet.ssodsi.ora 파일의 NFS 공유에 대한 종속성을 방지하려면 데이터베이스 디렉토리 매핑을 사용하여 로컬 파일 시스템 폴더로 이동합니다. Autonomous Database는 로컬 파일 시스템에 대한 액세스를 제한하므로 아래와 같이 utl_file를 사용하여 복사 절차를 생성합니다.
    1. SQL 클라이언트에서 다음 SQL 명령을 사용하여 Autonomous Database 인스턴스에 데이터베이스 디렉토리를 생성합니다.
      CREATE OR REPLACE DIRECTORY cmu_wallet_dir AS 'cmu_wallet';
    2. 다음 SQL 명령을 사용하여 위에서 생성한 디렉토리의 디렉토리 경로를 확인합니다.
      SELECT DIRECTORY_PATH 
      FROM DBA_DIRECTORIES 
      WHERE DIRECTORY_NAME ='CMU_WALLET_DIR';

      주:

      디렉토리 객체를 생성하는 동안 디렉토리 객체 이름은 대문자로 유지되지 않았으므로 query에서 디렉토리 객체 이름은 대문자여야 합니다.
    3. UTL_FILE 유틸리티를 사용하여 NFS 디렉토리에서 로컬 CMU Wallet 디렉토리로 dsi.oracwallet.sso를 복사합니다.
      예:
      아래와 같이 copyfile이라는 내장 프로시저를 생성합니다.
      CREATE OR REPLACE PROCEDURE copyfile(
        in_loc_dir IN VARCHAR2,
        in_filename IN VARCHAR2,
        out_loc_dir IN VARCHAR2,
        out_filename IN VARCHAR2
      )
      IS
        in_file UTL_FILE.file_type;
        out_file UTL_FILE.file_type;
        buffer_size CONSTANT INTEGER := 32767;
        buffer RAW (32767);
        buffer_length INTEGER; 
      BEGIN
        in_file := UTL_FILE.fopen (in_loc_dir, in_filename, 'rb', buffer_size);
        out_file := UTL_FILE.fopen (out_loc_dir, out_filename, 'wb', buffer_size);
        UTL_FILE.get_raw (in_file, buffer, buffer_size);
        buffer_length := UTL_RAW.LENGTH (buffer);
      
        WHILE buffer_length > 0
        LOOP 
          UTL_FILE.put_raw (out_file, buffer, TRUE);
      
          IF buffer_length = buffer_size
            THEN
              UTL_FILE.get_raw (in_file, buffer, buffer_size);
              buffer_length := UTL_RAW.LENGTH (buffer);
            ELSE
              buffer_length := 0;
            END IF;
        END LOOP;
      
        UTL_FILE.fclose (in_file);
        UTL_FILE.fclose (out_file);
      EXCEPTION
        WHEN NO_DATA_FOUND
        THEN
          UTL_FILE.fclose (in_file);
          UTL_FILE.fclose (out_file);
      END;
      / 
      copyfile 내장 프로시저를 컴파일합니다. 성공적으로 컴파일되면 copyfile 프로시저를 각각 한 번 실행하여 아래와 같이 NFS 디렉토리에서 로컬 CMU 전자 지갑 디렉토리로 dsi.oracwallet.sso를 복사합니다.
      EXEC copyfile('TMPFSSDIR','dsi.ora','CMU_WALLET_DIR','dsi.ora');
      EXEC copyfile('TMPFSSDIR','cwallet.sso','CMU_WALLET_DIR','cwallet.sso');
    4. 다음 SQL 질의를 실행하여 파일이 로컬 CMU 전자 지갑 디렉토리에 성공적으로 복사되었는지 검증합니다.
      SELECT * FROM DBMS_CLOUD.LIST_FILES('CMU_WALLET_DIR');
  6. 다음 명령을 사용하여 파일을 로컬 디렉토리로 복사한 후 CMU-AD에 NFS 공유가 필요하지 않으므로 NFS 공유를 분리합니다.
    exec DBMS_CLOUD_ADMIN.detach_file_system(file_system_name => <FILE_SYSTEM_NAME>);
  7. DBMS_CLOUD_ADMIN 패키지를 사용하여 Autonomous Database에서 CMU-AD를 사용으로 설정합니다.

    주:

    아래 예제의 디렉토리 이름을 환경에 맞게 선택한 디렉토리 이름으로 바꿉니다. 이 명령을 실행하기 전에 ADMIN 유저로 로그인했는지 확인합니다.
    BEGIN
      DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
        type     => 'CMU',
        params   => JSON_OBJECT('directory_name' value 'CMU_WALLET_DIR')
      ); 
    END;
    / 
  8. 아래와 같이 데이터베이스 속성 CMU_WALLET의 속성 값을 query하여 검증합니다.
    SELECT PROPERTY_VALUE
    FROM DATABASE_PROPERTIES
    WHERE PROPERTY_NAME = 'CMU_WALLET';
    예를 들어, 다음과 같습니다.
    SELECT PROPERTY_VALUE
    FROM DATABASE_PROPERTIES
    WHERE PROPERTY_NAME='CMU_WALLET';
    
    PROPERTY_VALUE
    --------------
    CMU_WALLET_DIR

이제 Exadata Cloud@Customer에서 Autonomous Database를 사용하여 Microsoft Active Directory를 통해 외부 인증을 사용하도록 CMU-AD를 구성했습니다.

Autonomous Database에서 Microsoft Active Directory 역할 추가

Active Directory 역할을 추가하려면 CREATE ROLE 또는 ALTER ROLE 문을 사용하여 데이터베이스 전역 역할을 Active Directory 그룹에 매핑하고 IDENTIFIED GLOBALLY AS 절을 포함시킵니다.

Autonomous Database에서 Active Directory 그룹에 대한 전역 역할을 추가하려면 다음을 수행합니다.

  1. Active Directory를 사용하도록 구성된 데이터베이스에 ADMIN 사용자로 로그인합니다. ADMIN 사용자에게는 이러한 단계에 필요한 CREATE ROLEALTER ROLE 시스템 권한이 있습니다.
  2. CREATE ROLE 또는 ALTER ROLE 문을 사용하여 Autonomous Database 롤에 대한 데이터베이스 권한 부여를 설정합니다. IDENTIFIED GLOBALLY AS 절을 포함하고 Active Directory 그룹의 DN을 지정합니다.

    다음 구문을 사용하여 디렉토리 사용자 그룹을 데이터베이스 전역 롤에 매핑합니다.

    CREATE ROLE global_role IDENTIFIED GLOBALLY AS 
         'DN_of_an_AD_GROUP_of_WHICH_the_AD_USER_IS_a_MEMBER';

    예:

    CREATE ROLE widget_sales_role IDENTIFIED GLOBALLY AS
         'CN=widget_sales_group,OU=sales,DC=production,DC=example,DC=com';

    이 예에서는 widget_sales_group의 모든 멤버가 데이터베이스에 로그인할 때 데이터베이스 롤 widget_sales_role을 사용하여 권한이 부여됩니다.

  3. GRANT 문을 사용하여 필요한 권한 또는 기타 롤을 전역 롤에 부여합니다.

    예:

    GRANT CREATE SESSION TO WIDGET_SALES_ROLE;
    GRANT DWROLE TO WIDGET_SALES_ROLE;

    DWROLE는 공통 권한이 정의된 사전 정의된 역할입니다. Autonomous Database 사용자의 공통 권한 설정에 대한 자세한 내용은 Manage Database User Privileges을 참조하십시오.

  4. 기존 데이터베이스 롤을 Active Directory 그룹과 연관시키려면 ALTER ROLE 문을 사용하여 기존 데이터베이스 롤을 변경하여 롤을 Active Directory 그룹에 매핑합니다.

    다음 구문을 사용하여 기존 데이터베이스 역할을 변경하여 Active Directory 그룹에 매핑합니다.

    ALTER ROLE existing_database_role 
       IDENTIFIED GLOBALLY AS 'DN_of_an_AD_GROUP_of_WHICH_the_AD_USER_IS_a_MEMBER';
  5. 다른 Active Directory 그룹에 대한 추가 전역 역할 매핑을 만들려면 각 Active Directory 그룹에 대해 다음 단계를 수행합니다.

Microsoft Active Directory로 롤 구성에 대한 자세한 내용은 Oracle Database 19c Security GuideConfiguring Authorization for Centrally Managed Users 또는 Oracle Database 23ai Security Guide를 참조하십시오.

Autonomous Database에서 Microsoft Active Directory 사용자 추가

Autonomous Database에 액세스하기 위해 Active Directory 사용자를 추가하려면 데이터베이스 전역 사용자를 Active Directory 그룹 또는 CREATE USER 또는 ALTER USER 문을 사용하는 사용자에 매핑합니다(IDENTIFIED GLOBALLY AS 절 사용).

Autonomous Database와 Active Directory의 통합은 Microsoft Active Directory 사용자 및 그룹을 Oracle 데이터베이스 글로벌 사용자 및 글로벌 역할에 직접 매핑하는 것입니다.

Autonomous Database에서 Active Directory 그룹 또는 사용자에 대한 전역 사용자를 추가하려면 다음을 수행합니다.

  1. Active Directory를 사용하도록 구성된 데이터베이스에 ADMIN 사용자로 로그인합니다. ADMIN 사용자에게는 해당 단계에 필요한 CREATE USERALTER USER 시스템 권한이 있습니다.
  2. CREATE USER 또는 ALTER USER 문을 사용하여 Autonomous Database 사용자에 대한 데이터베이스 권한 부여를 설정하고 IDENTIFIED GLOBALLY AS 절을 포함하여 Active Directory 사용자 또는 그룹의 DN을 지정합니다.

    다음 구문을 사용하여 디렉토리 사용자를 데이터베이스 전역 사용자에 매핑합니다.

    CREATE USER global_user IDENTIFIED GLOBALLY AS 'DN_of_an_AD_USER';

    다음 구문을 사용하여 디렉토리 그룹을 데이터베이스 전역 사용자에 매핑합니다.

    CREATE USER global_user IDENTIFIED GLOBALLY AS
        'DN_of_an_AD_GROUP_of_WHICH_the_AD_USER_IS_a_MEMBER';

    예를 들어, production.example.com 도메인의 sales 조직 단위에 있는 widget_sales_group이라는 디렉토리 그룹을 WIDGET_SALES라는 공유 데이터베이스 전역 사용자에 매핑하려면 다음과 같이 하십시오.

    CREATE USER widget_sales IDENTIFIED GLOBALLY AS
         'CN=widget_sales_group,OU=sales,DC=production,DC=example,DC=com';
    

    공유 전역 사용자 매핑을 만듭니다. 전역 사용자 widget_sales를 사용하는 매핑은 Active Directory 그룹의 모든 사용자에게 적용됩니다. 따라서 widget_sales_group의 모든 사용자가 widget_sales 전역 사용자의 공유 매핑을 통해 Active Directory 자격 증명을 사용하여 데이터베이스에 로그인할 수 있습니다.

  3. Active Directory 사용자가 기존 데이터베이스 사용자를 사용하고, 해당 스키마를 소유하고, 기존 데이터를 소유하도록 하려면 ALTER USER를 사용하여 기존 데이터베이스 사용자를 변경하여 사용자를 Active Directory 그룹 또는 사용자에 매핑합니다.
    • 다음 구문을 사용하여 기존 데이터베이스 사용자를 변경하여 Active Directory 사용자에 매핑합니다.

      ALTER USER existing_database_user IDENTIFIED GLOBALLY AS 'DN_of_an_AD_USER';
    • 다음 구문을 사용하여 기존 데이터베이스 사용자를 변경하여 Active Directory 그룹에 매핑합니다.

      ALTER USER existing_database_user 
           IDENTIFIED GLOBALLY AS 'DN_of_an_AD_GROUP_of_WHICH_the_AD_USER_IS_a_MEMBER';
  4. 다른 Active Directory 그룹 또는 사용자에 대한 추가 전역 사용자 매핑을 만들려면 각 Active Directory 그룹 또는 사용자에 대해 다음 단계를 수행합니다.

Microsoft Active Directory로 롤 구성에 대한 자세한 내용은 Oracle Database 19c Security GuideConfiguring Authorization for Centrally Managed Users 또는 Oracle Database 23ai Security Guide를 참조하십시오.

Active Directory 사용자 인증서를 사용하여 Autonomous Database에 접속

ADMIN 사용자가 CMU Active Directory 구성 단계를 완료하고 전역 역할 및 전역 사용자를 만든 후 Active Directory 사용자 이름 및 암호를 사용하여 Autonomous Database에 로그인합니다.

주:

전역 사용자 이름을 사용하여 로그인하지 마십시오. 글로벌 사용자 이름에 비밀번호가 없으므로 글로벌 사용자 이름으로 연결하지 못했습니다. 데이터베이스에 로그인하려면 Autonomous Database에 전역 사용자 매핑이 있어야 합니다. 전역 롤 매핑만 사용하여 데이터베이스에 로그인할 수 없습니다.
  1. Active Directory 사용자 이름 및 암호를 사용하여 Autonomous Database에 로그인하려면 다음과 같이 연결합니다.
    CONNECT "AD_DOMAIN\AD_USERNAME"/AD_USER_PASSWORD@TNS_ALIAS_OF_THE_AUTONOMOUS_DATABASE;

    예:

    CONNECT "production\pfitch"/password@adbname_medium;

    Active Directory 도메인이 사용자 이름과 함께 포함된 경우 "production\pfitch" 예와 같이 큰 따옴표를 포함해야 합니다.

    이 예에서 Active Directory 사용자 이름은 production 도메인에서 pfitch입니다. Active Directory 사용자는 DN 'CN=widget_sales_group,OU=sales,DC=production,DC=example,DC=com'로 식별되는 widget_sales_group 그룹의 멤버입니다.

Autonomous Database에서 Active Directory로 CMU를 구성하고 Active Directory 권한 부여를 설정한 후 글로벌 역할 및 글로벌 사용자를 통해 Autonomous DatabaseAbout Connecting to a Dedicated Autonomous Database에 설명된 연결 방법 중 하나를 사용하여 연결할 수 있습니다. 연결 시 Active Directory 사용자를 사용하려면 Active Directory 사용자 자격 증명을 사용합니다. 예를 들어, "AD_DOMAIN\AD_USERNAME"(큰 따옴표가 포함되어야 함) 형식으로 사용자 이름을 제공하고 암호에 AD_USER_PASSWORD를 사용합니다.

Autonomous Database로 Active Directory 사용자 연결 정보 확인

사용자가 Active Directory 사용자 이름과 비밀번호를 사용하여 Autonomous Database에 로그인하는 경우 사용자 작업을 확인하고 감사할 수 있습니다.

예를 들어, 사용자 pfitch가 로그인할 때:

CONNECT "production\pfitch"/password@exampleadb_medium;

Active Directory 사용자의 로그온 사용자 이름(samAccountName)은 pfitch이고 widget_sales_group는 Active Directory 그룹 이름이며 widget_salesAutonomous Database 전역 사용자입니다.

pfitch가 데이터베이스에 로그인한 후 SHOW USER 명령은 전역 사용자 이름을 표시합니다.

SHOW USER;

USER is "WIDGET_SALES"

다음 명령은 Active Directory 사용자의 DN(식별 이름)을 보여줍니다.

SELECT SYS_CONTEXT('USERENV', 'ENTERPRISE_IDENTITY') FROM DUAL;

예를 들어, 중앙에서 관리되는 이 사용자의 엔터프라이즈 ID를 확인할 수 있습니다.

SQL> SELECT SYS_CONTEXT('USERENV', 'ENTERPRISE_IDENTITY') FROM DUAL;

SYS_CONTEXT('USERENV','ENTERPRISE_IDENTITY')
----------------------------------------------------------------------
cn=Peter Fitch,ou=sales,dc=production,dc=examplecorp,dc=com

다음 명령은 "AD_DOMAIN\AD_USERNAME"를 보여줍니다.

SELECT SYS_CONTEXT('USERENV', 'AUTHENTICATED_IDENTITY') FROM DUAL;

예를 들어, Active Directory 인증 사용자 ID는 사용자가 데이터베이스에 로그온할 때 캡처 및 감사됩니다.

SQL> SELECT SYS_CONTEXT('USERENV', 'AUTHENTICATED_IDENTITY') FROM DUAL;

SYS_CONTEXT('USERENV','AUTHENTICATED_IDENTITY')
----------------------------------------------------------------------
production\pfitch

자세한 내용은 Oracle Database 19c Security GuideVerifying the Centrally Managed User Logon Information 또는 Oracle Database 23ai Security Guide를 참조하십시오.

Autonomous Database에서 Active Directory 사용자 및 역할 제거

Autonomous Database에서 Active Directory 사용자 및 역할을 제거하려면 표준 데이터베이스 명령을 사용합니다. 삭제된 데이터베이스 사용자 또는 역할에서 매핑된 관련 Active Directory 사용자 또는 그룹은 제거되지 않습니다.

Autonomous Database에서 사용자 또는 롤을 제거하려면 다음을 수행합니다.

  1. DROP USER 또는 DROP ROLE 시스템 권한이 부여된 사용자로 Active Directory를 사용하도록 구성된 데이터베이스에 로그인합니다.
  2. Active Directory 그룹 또는 DROP USER 또는 DROP ROLE 문을 사용하는 사용자에 매핑된 전역 사용자 또는 전역 역할을 삭제합니다.
    자세한 내용은 데이터베이스 사용자 제거를 참조하십시오.

Autonomous Database에서 Active Directory 액세스 사용 안함

Autonomous Database에서 CMU 구성을 제거하고 Autonomous Database에서 Active Directory로의 LDAP 액세스를 사용 안함으로 설정하는 단계에 대해 설명합니다.

CMU Active Directory에 액세스하도록 Autonomous Database 인스턴스를 구성한 후 다음과 같이 액세스를 사용 안함으로 설정할 수 있습니다.

  1. ADMIN 사용자로 Autonomous Database에 접속합니다.
  2. DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION를 사용하여 CMU 인증을 사용 안함으로 설정합니다.

    주:

    이 프로시저를 실행하려면 ADMIN 사용자로 로그인하거나 DBMS_CLOUD_ADMIN에 대한 EXECUTE 권한이 있어야 합니다.

    예:

    BEGIN   
       DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
    END;
    /

    Autonomous Database 인스턴스에서 CMU 인증을 사용 안함으로 설정합니다.

자세한 내용은 DISABLE_EXTERNAL_AUTHENTICATION Procedure를 참조하십시오.

Autonomous Database에서 Microsoft Active Directory로 인한 제한 사항

Autonomous Database에서 Active Directory를 사용하는 CMU에는 다음 제한 사항이 적용됩니다.

  • Autonomous Database를 사용하는 CMU에 대해서는 "암호 인증" 및 Kerberos만 지원됩니다. CMU 인증을 Autonomous Database와 함께 사용하는 경우 Azure AD, OCI IAM, PKI와 같은 다른 인증 방법은 지원되지 않습니다.

  • Oracle Application Express 및 Database Actions는 Autonomous Database를 사용하는 Active Directory 사용자에 대해 지원되지 않습니다.