Red Hat Training

A Red Hat training course is available for Red Hat Virtualization

2.6. 기록 데이터베이스에 대한 읽기 전용 액세스 허용

편집 허용 없이 기록 데이터베이스에 대한 액세스를 허용하려면 ovirt_engine_history 데이터베이스에서 로그인하고 읽을 수 있는 읽기 전용 PostgreSQL 사용자를 생성해야 합니다. 기록 데이터베이스가 설치된 시스템에서 이 절차를 실행해야 합니다.

절차 2.1. 기록 데이터베이스에 대한 읽기 전용 액세스 허용

  1. 기록 데이터베이스에 대한 읽기 전용 액세스 권한을 부여할 사용자를 만듭니다.
    # psql -U postgres -c "CREATE ROLE [user name] WITH LOGIN ENCRYPTED PASSWORD '[password]';" -d ovirt_engine_history
  2. 새로 생성된 사용자 권한을 기록 데이터베이스에 연결할 수 있는 권한을 부여합니다.
    # psql -U postgres -c "GRANT CONNECT ON DATABASE ovirt_engine_history TO [user name];"
  3. 공용 스키마의 새로 생성된 사용자 사용량을 부여합니다.
    # psql -U postgres -c "GRANT USAGE ON SCHEMA public TO [user name];" ovirt_engine_history
  4. 새로 생성된 사용자에게 부여될 나머지 권한을 생성하여 파일에 저장합니다.
    # psql -U postgres -c "SELECT 'GRANT SELECT ON ' || relname || ' TO [user name];' FROM pg_class JOIN pg_namespace ON pg_namespace.oid = pg_class.relnamespace WHERE nspname = 'public' AND relkind IN ('r', 'v');" --pset=tuples_only=on  ovirt_engine_history > grant.sql
  5. 이전 단계에서 만든 파일을 사용하여 새로 생성된 사용자에게 권한을 부여합니다.
    # psql -U postgres -f grant.sql ovirt_engine_history
  6. 새로 생성된 사용자에게 권한을 부여하는 데 사용한 파일을 제거합니다.
    # rm grant.sql
  7. 새로 생성된 사용자에 대한 다음 행을 /var/lib/pgsql/data/pg_hba.conf 파일에 추가합니다.
    # TYPE  DATABASE                USER           ADDRESS                 METHOD
    host    ovirt_engine_history    [user name]    0.0.0.0/0               md5
    host    ovirt_engine_history    [user name]    ::0/0                   md5
    
  8. PostgreSQL 서비스를 다시 로드합니다.
    # systemctl reload postgresql
    
  9. 읽기 전용 사용자의 액세스 권한을 테스트할 수 있습니다.
    # psql -U [user name] ovirt_engine_history -h localhost
    Password for user [user name]: 
    psql (9.2.23)
    Type "help" for help.
    
    ovirt_engine_history=>
  10. ovirt_engine_history 데이터베이스를 종료하려면 \q 를 입력합니다.
ovirt_engine_history 데이터베이스의 테이블 및 보기에 대한 읽기 전용 사용자 dogence 명령문은 수정에 실패하는 동안 성공합니다.