Rechercher

Ce contenu n'est pas disponible dans la langue sélectionnée.

3.6. Allowing Read-Only Access to the History Database

download PDF

To allow access to the history database without allowing edits, you must create a read-only PostgreSQL user that can log in to and read from the ovirt_engine_history database. This procedure must be executed on the system on which the history database is installed.

Allowing Read-Only Access to the History Database

  1. Log in as root to the postgres user shell:

    # su - postgres
  2. Create the user to be granted read-only access to the history database:

    # psql -U postgres -c "CREATE ROLE username WITH LOGIN ENCRYPTED PASSWORD 'password';" -d ovirt_engine_history
  3. Grant the newly created user permission to connect to the history database:

    # psql -U postgres -c "GRANT CONNECT ON DATABASE ovirt_engine_history TO username;"
  4. Grant the newly created user usage of the public schema:

    # psql -U postgres -c "GRANT USAGE ON SCHEMA public TO username;" ovirt_engine_history
  5. Generate the rest of the permissions that will be granted to the newly created user and save them to a file:

    # psql -U postgres -c "SELECT 'GRANT SELECT ON ' || relname || ' TO username;' 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
  6. Use the file you created in the previous step to grant permissions to the newly created user:

    # psql -U postgres -f grant.sql ovirt_engine_history
  7. Remove the file you used to grant permissions to the newly created user:

    # rm grant.sql
  8. Exit the postgres user shell by pressing Ctrl+d.
  9. Add the following lines for the newly created user to /var/lib/pgsql/data/pg_hba.conf preceding the line beginning local all all:

    # TYPE  DATABASE                USER           ADDRESS                 METHOD
    host    ovirt_engine_history    username    0.0.0.0/0               md5
    host    ovirt_engine_history    username    ::0/0                   md5
    local   all             all                                     peer
  10. Reload the PostgreSQL service:

    # systemctl reload postgresql
  11. To test the read-only user’s access permissions:

    # su - postgres -c 'psql -U username ovirt_engine_history -h localhost'
    Password for user username:
    psql (9.2.23)
    Type "help" for help.
    
    ovirt_engine_history=>
  12. To exit the ovirt_engine_history database, enter \q.

The read-only user’s SELECT statements against tables and views in the ovirt_engine_history database succeed, while modifications fail.

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.