스크립트를 사용하여 역할 기반 액세스 제어 자동 설정

Oracle Cloud Infrastructure의 스크립트를 사용하여 IAM 인증에 대해 역할 기반 액세스 제어(RBAC)를 자동으로 구성합니다.

Cloud Shell에서 스크립트를 실행하여 IAM 연결 파일을 빠르게 생성할 수 있습니다. 이 자동화 프로세스는 자세한 RBAC 구성을 수행하는 데 필요한 시간을 크게 줄여줍니다. 관리 사용자가 연결 파일을 생성한 후 조직 전체에서 공유하여 스프레드시트 추가 기능에서 데이터베이스에 사인인할 수 있습니다.

다음 절에서는 다음을 수행하는 방법에 대해 설명합니다.

  • 스크립트를 사용하여 연결 파일 생성

  • 연결 파일 다운로드

  • 도메인 사용자에 대한 액세스 허용

필요 조건

RBAC 구성에 스크립트를 사용하려면 다음이 있어야 합니다.

  • Oracle Cloud Infrastructure의 관리자 계정

  • IAM 도메인

  • 자율운영 AI 데이터베이스 인스턴스 및 스키마

스크립트를 사용하여 연결 파일 생성

주:

스크립트에서 구성 작업을 자동으로 수행하지만 계속하려면 사용자 입력이 필요한 대화식 스크립트입니다.

아직 로그인하지 않은 경우 Oracle Cloud Infrastructure 콘솔에 로그인하고 다음을 수행합니다.

  1. 지역 옆의 개발자 도구 아이콘에서 Cloud Shell을 열고 터미널 창에서 스크립트 파일을 실행합니다.

    adb-create-cred.sh
  2. 이 스크립트는 Oracle 클라우드 계정에 기존 API 키와 지문이 있는지 여부를 검색합니다. 찾을 수 없는 경우 스크립트가 키 쌍을 생성합니다.

    You have an existing API Key and Fingerprint! Do you want to try to reuse them? (y/n): y

    기존 키를 재사용하려면 y를 누릅니다. 스크립트는 SQL 및 JSON 파일에 고유 인증서를 생성합니다. 새 API 키 쌍을 생성하려면 n을 누릅니다.

  3. 이 스크립트는 데이터베이스에 대한 AI 프로파일을 생성하도록 제공합니다.

    Proceed to generate the AI Profile script? (y/n): n

    이 예에서는 n 키를 눌러 AI 프로파일 없이 계속합니다.

  4. 스프레드시트 추가 기능에 대한 IAM 연결을 생성합니다.

    Proceed to generate the Spreadsheet add-ins IAM connection? (y/n): y

    계속하려면 y를 누릅니다.

  5. 데이터베이스 인스턴스에 대한 접속을 허용할 사용자가 있는 도메인을 선택합니다. 사용 가능한 도메인의 해당 번호를 입력합니다.

    Select a domain (1-3):
    이 스크립트는 다음을 생성합니다.
    • Spreadsheet Add-ins RBAC라는 사용자 사용자 정의 속성

    • 스프레드시트 추가 기능이라는 도메인 통합 애플리케이션

    • JWT 사용자정의 클레임

    이 스크립트는 또한 JWT 프로파일 정보를 포함하는 PL/SQL 스크립트 create_jwt_profile.sql도 생성합니다.

    주:

    기존 사용자 속성 및 사용자정의 클레임을 재사용하거나 스크립트를 사용하여 새 사용자 속성을 생성할 수 있습니다. 통합 애플리케이션이 이미 있는 경우 새 애플리케이션을 생성할 수 있지만 애플리케이션에서 사용되는 기존 연결이 무효화됩니다.

  6. 자율운영 AI 데이터베이스에서 필요한 스키마에 대한 인증서 스크립트를 실행합니다.

    Proceed to run the Credential Scripts on your Autonomous Database? (y/n): y

    계속하려면 y를 누릅니다.

  7. 컴파트먼트 및 스키마가 상주하는 데이터베이스를 선택합니다.

    Select the number pertaining to your Compartment:
    ...
    Select the number pertaining to your Autonomous Database:
  8. 필요한 경우 기존 클라우드 전자 지갑을 사용하거나 새 전자 지갑을 생성할 수 있습니다. 스크립트에서 기존 클라우드 전자 지갑을 검색하면 재사용할지 여부를 묻는 메시지가 표시됩니다.

    You have an existing Wallet File for [DB_NAME]. Do you want to reuse it? (y/n):

    전자 지갑이 없으면 새 전자 지갑을 설정할 수 있습니다.

  9. RBAC 연결을 허용할 스키마에 대한 로그인 자격 증명을 지정합니다.

    Enter Autonomous Database username (ADMIN):
    Enter Autonomous Database password:
    스크립트는 이전에 생성된 JWT 프로파일 정보가 포함된 SQL 파일을 실행하고 홈 폴더에 JSON 형식의 IAM Connections 파일을 생성합니다.
    Spreadsheet connection file: [$HOME/iam_connection_[DB_NAME]_[schema].json] created.

    주:

    $HOME/ 부분을 제외한 Connections 파일 이름을 복사하고 파일을 다운로드하는 동안 동일한 이름을 사용할 수 있습니다. 스크립트가 계속 실행 중인 경우 Ctrl + C를 사용하여 스크립트를 강제로 복사하거나 중지할 수 있습니다.

  10. 마지막으로, 단계를 반복하고 다른 데이터베이스에 대한 Connections 파일을 만들거나 스크립트를 종료할지 묻는 메시지가 표시됩니다. 따라서 여러 스키마에 대한 도메인 사용자 액세스를 설정할 수 있습니다.

연결 파일 다운로드

  1. Cloud Shell 창에서 기어 아이콘을 눌러 Cloud Shell 메뉴를 열고 다운로드를 누릅니다.

  2. 이전에 복사한 동일한 파일 이름을 붙여넣거나 Connections 파일의 새 이름을 JSON 형식으로 지정할 수 있습니다.

  3. 메시지 창에서 다운로드를 눌러 연결 파일을 다운로드합니다.

스프레드시트 추가 기능연결 파일을 사용하여 데이터베이스에 접속하고 다른 사용자와 공유할 수 있습니다.

도메인 사용자에 대한 액세스 허용

아직 로그인하지 않은 경우 Oracle Cloud Infrastructure 콘솔에 로그인하고 다음을 수행합니다.

  1. 햄버거 메뉴를 누르고 ID 및 보안으로 이동하여 도메인을 선택합니다.

  2. 이름에서 연결 파일을 만든 도메인(예: 기본값)을 누릅니다.

  3. User Management 탭으로 이동하고 액세스를 허용할 사용자 이름을 누릅니다.

  4. 사용자 정보를 수정하려면 사용자 편집을 누릅니다.

  5. 아래로 스크롤하여 기타 정보 섹션을 찾습니다. 스프레드시트 추가 기능 RBAC 필드에 SQL Developer를 입력합니다.

  6. 변경 사항 저장을 눌러 사용자에게 롤을 추가합니다.

ORDS 26.2부터 ORDS 롤은 기본적으로 사용 안함으로 설정됩니다. ORDS 롤을 사용하려면 롤을 활성화해야 합니다. 예:

BEGIN
    ords.set_property(
      p_key   => 'security.jwt.profile.allowed.roles',
      p_value => 'SQL Developer'
    );
    COMMIT;
  END;
/

ORDS 사용자 역할에 대한 자세한 내용은 Oracle REST Data Services 사용자 역할 정보를 참조하십시오.