주:

Oracle Autonomous Database에서 Oracle Cloud Infrastructure Identity and Access Management 인증 사용

소개

OCI IAM(Oracle Cloud Infrastructure Identity and Access Management) 데이터베이스 암호를 사용하면 Oracle Database 사용자가 일반적으로 사용자 이름과 암호를 사용하여 로그인할 때 IAM 사용자가 Oracle Autonomous Database 인스턴스에 로그인할 수 있습니다. 사용자가 IAM 사용자 이름과 IAM 데이터베이스 비밀번호를 입력합니다. IAM 데이터베이스 비밀번호는 OCI(Oracle Cloud Infrastructure) 콘솔 비밀번호와 다른 비밀번호입니다. 비밀번호 검증기가 있는 IAM 사용자를 사용하여 지원되는 모든 데이터베이스 클라이언트로 Autonomous Database에 로그인할 수 있습니다.

OCI IAM은 적합한 사람만 조직의 데이터와 리소스에 액세스할 수 있도록 하기 위한 것입니다. OCI IAM 인증 및 권한 부여를 사용하여 IAM 사용자가 IAM 인증서로 데이터베이스에 액세스할 수 있도록 Oracle Database를 구성할 수 있습니다. IAM에서 사용자 및 자격 증명 관리를 중앙 집중화하면 데이터베이스 사용자의 보안, 관리 효율성 및 사용자 경험이 향상됩니다.

대상

OCI IAM 전문가 및 관리자.

목표

IAM 사용자가 IAM 인증서로 Oracle Autonomous Database에 액세스할 수 있도록 OCI IAM 인증 및 권한 부여를 사용하도록 Oracle Autonomous Database를 구성합니다.

필요 조건

작업 1: 데이터베이스 그룹, 사용자 및 정책 생성

  1. ID 및 보안, 그룹, 그룹 생성 순으로 이동합니다. 그룹을 생성하려면 DB_AdminsDB_Users 세부정보를 제공하십시오.

    데이터베이스 그룹 생성

    • 이름 DB_Admins설명 DB_Admins을 사용하여 첫번째 그룹을 생성한 다음 생성을 누릅니다.

      데이터베이스 그룹 생성

    • 이름 DB_Users설명 DB_Users을 사용하여 두번째 그룹을 생성한 다음 생성을 누릅니다.

      데이터베이스 그룹 생성

  2. ID, 정책으로 이동하여 다음 세부정보를 입력한 다음 정책 생성을 누릅니다.

    • 이름: ADB-Access-Policy

    • 설명: ADB-Access-Policy

    • 구획: 올바른 구획이 선택되어 있는지 확인합니다.

    • 정책 작성기: 수동 편집기 표시 옵션을 선택합니다.

      allow group DB_Users, DB_Admins to use database-connections in compartment <compartment-name>
      
      allow group DB_Users, DB_Admins to use autonomous-database-family in compartment <compartment-name>
      

      데이터베이스 생성 정책

  3. ID, 사용자로 이동하고 다음 세부정보를 입력하여 두 명의 테스트 사용자(testuser1testuser2)를 생성한 다음 생성을 누릅니다.

    • 사용자 유형: IAM 사용자 선택

    • 사용자 이름: testuser1

    • 설명: testuser1

    • 이메일: testuser1@demo.com

    • 이메일 확인: testuser1@demo.com

      데이터베이스 사용자 생성

  4. testuser1DB_Users group에 추가합니다.

    데이터베이스 사용자 생성

  5. 3단계를 반복하여 testuser2를 설정합니다.

    • 사용자 유형: IAM 사용자 선택

    • 사용자 이름: testuser2

    • 설명: testuser2

    • 이메일: testuser2@demo.com

    • 이메일 확인: testuser2@demo.com

      데이터베이스 사용자 생성

  6. DB_Admins 및 DB_Users 그룹testuser2를 추가합니다.

    데이터베이스 사용자 생성

    데이터베이스 사용자 생성

작업 2: 사용자에 대한 IAM 데이터베이스 비밀번호 설정

  1. ID사용자로 이동합니다.

  2. testuser1을 선택합니다. 데이터베이스 사용자 이름은 testuser1입니다. 데이터베이스 비밀번호를 선택하고 다음 세부정보를 입력한 다음 데이터베이스 비밀번호 생성을 누릅니다.

    • 설명: password

    • Password: password

    • 비밀번호 확인: password

      IAM 데이터베이스 비밀번호 설정

  3. testuser2을 선택합니다. 데이터베이스 사용자 이름은 testuser2입니다. 데이터베이스 비밀번호를 선택하고 아래에 제공된 다음 세부정보를 입력한 다음 데이터베이스 비밀번호 생성을 누릅니다.

    • 설명: password

    • Password: password

    • 비밀번호 확인: password

    이제 testuser1testuser2에 대한 데이터베이스 비밀번호를 성공적으로 생성했습니다.

작업 3: DB_Users 및 DB_Admins 그룹에 대한 전역 사용자 스키마 매핑 및 롤 매핑 생성을 위한 데이터베이스 구성

  1. OCI에서 Autonomous Database, Database Actions, SQL로 이동합니다. SQL 세션이 생성됩니다.

    Autonomous Database

    Autonomous Database

  2. 아래 질의를 사용하여 Autonomous Database에 대한 현재 외부 ID 제공자를 확인합니다.

    SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type';
    

    외부 ID 제공자 확인

    참고: 현재 없음으로 설정되어 있습니다.

  3. 아래 질의를 사용하여 Autonomous Database용 OCI IAM외부 ID 제공자로 구성합니다.

    EXEC DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION('OCI_IAM');
    

    OCI IAM을 ID 제공자로 설정

    SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type';
    

    외부 ID 제공자 확인

    : 현재 OCI_IAM로 설정되어 있습니다.

  4. SQL에서 DB_Users 및 DB_Admins 그룹에 대한 전역 사용자 스키마 매핑 및 롤 매핑 생성을 위한 데이터베이스를 구성합니다.

    CREATE USER global_user IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=DB_Users';
    
    CREATE ROLE global_role IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=DB_Admins';
    
    grant CREATE SESSION to global_user;
    
    grant DWROLE to global_role;
    
    grant CREATE SESSION to global_role;
    

    데이터베이스 스키마 롤 매핑 구성

작업 4: SQL*Plus 데이터베이스 클라이언트 다운로드

  1. 운영체제를 기반으로 Oracle Database 클라이언트 릴리스 19c - 19.20.0의 최신 릴리스 업데이트를 설치해야 합니다. 이 자습서에서는 Windows OS를 사용합니다.

  2. SQL*Plus DB 클라이언트를 다운로드합니다. SQL*Plus DB 클라이언트 설치를 참조하십시오.

작업 5: 전자 지갑 다운로드

  1. Oracle Cloud, 데이터베이스, Autonomous Database로 이동하여 프로비저닝된 Autonomous Database를 선택한 다음 데이터베이스 연결을 누릅니다.

    전자 지갑 다운로드

  2. 비밀번호를 입력하고 전자 지갑을 다운로드합니다.

    전자 지갑 다운로드

작업 6: sqlnet.ora에서 전자 지갑 위치를 업데이트하고 TNS 관리 변수를 설정합니다.

  1. sqlnet.ora 파일에서 다운로드한 전자 지갑 위치 경로를 업데이트합니다.

    전자 지갑 다운로드

    전자 지갑 다운로드

  2. 전자 지갑 위치 경로를 사용하여 환경 변수 TNS_Admin를 설정합니다.

    전자 지갑 다운로드

작업 7: PowerShell를 사용하여 DB에 접속

  1. Windows PowerShell를 열고 다음 질의를 입력합니다.

    sqlplus /nolog
    
  2. Administrator UserLocal Authentication(로컬 인증)을 시연합니다.

    conn admin/password@adwtest_high
    
    exit
    

    관리 사용자로 접속됨

    이제 Autonomous Database관리자로 성공적으로 접속되었습니다.

  3. testuser1testuser2에 대한 비밀번호 기반 인증을 시연하고 데이터베이스에서 사용자 및 롤을 검증합니다. 아래 SQL 질의를 실행하여 Autonomous Database에 testuser2로 연결합니다.

    conn testuser1/password@adwtest_high
    

    testuser1로 접속되었습니다. 아래 SQL query를 하나씩 실행하고 출력을 관찰하여 User 및 Roles를 검증합니다.

    SELECT SYS_CONTEXT ('USERENV','CURRENT_USER') FROM DUAL;
    
    SELECT SYS_CONTEXT ('USERENV','AUTHENTICATED_IDENTITY') FROM DUAL;
    
    SELECT SYS_CONTEXT ('USERENV','ENTERPRISE_IDENTITY') FROM DUAL;
    
    SELECT * FROM SESSION_ROLES;
    
    exit
    

    testuser1로 연결됨

    이제 Autonomous Database에 대한 연결을 testuser1로 성공적으로 테스트했습니다.

  4. 아래 SQL 질의를 계속 진행하여 Autonomous Databasetestuser2로 연결합니다.

    conn testuser2/password@adwtest_high
    

    testuser2로 접속되었습니다. 이제 아래 SQL query를 하나씩 실행하고 출력을 관찰하여 User 및 Roles를 검증합니다.

    SELECT SYS_CONTEXT ('USERENV','CURRENT_USER') FROM DUAL;
    
    SELECT SYS_CONTEXT ('USERENV','AUTHENTICATED_IDENTITY') FROM DUAL;
    
    SELECT SYS_CONTEXT ('USERENV','ENTERPRISE_IDENTITY') FROM DUAL;
    
    SELECT * FROM SESSION_ROLES;
    
    exit
    

    testuser2로 연결됨

    이제 Autonomous Database에 대한 연결을 testuser2로 성공적으로 테스트했습니다.

확인

추가 학습 자원

docs.oracle.com/learn에서 다른 실습을 살펴보거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하십시오. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer가 되십시오.

제품 설명서는 Oracle Help Center를 참조하십시오.