Skip to content

Data Engineer Associate · Domain 7: Governance and Security · 15% of the exam

Task 7.2: Configure access controls using the UI and SQL by applying GRANT, REVOKE, and DENY privileges to principals (users, groups, and service principals) at appropriate levels of the security hierarchy.

Securable objects and inheritance, USE CATALOG and USE SCHEMA, ownership, granting to groups, REVOKE, and how deny is expressed in Unity Catalog.

Study it

Sample questions

Try each one before opening the answer. Every option is explained, with the Databricks documentation page that proves it.

Question 1 · choose 1

Analysts must be able to find the tables in the catalog main in Catalog Explorer, see their names, descriptions and tags, and request access to them, while reading no data until a request is approved. What should the catalog owner grant the analysts group?

  1. AUSE CATALOG on main and USE SCHEMA on each of its schemas
  2. BBROWSE on each table in main, granted table by table
  3. CBROWSE on the catalog main
  4. DMANAGE on the catalog main
Show the answer and why
  • AUSE CATALOG on main and USE SCHEMA on each of its schemas

    Incorrect

    Usage privileges are required to interact with objects inside a catalog or schema but give no privilege on the tables themselves; discovering objects and requesting access is what BROWSE provides.

  • BBROWSE on each table in main, granted table by table

    Incorrect

    For tables, views, volumes and functions, BROWSE can be granted at the catalog level only, not on the individual tables.

  • CBROWSE on the catalog main

    Correct

    BROWSE on a catalog lets users see that its objects exist, view their name, description and tags, and request access, without access to the data and without USE CATALOG or USE SCHEMA.

  • DMANAGE on the catalog main

    Incorrect

    MANAGE is an administrative privilege that goes far beyond discovery, and on a catalog it extends to every schema and table in it.

BROWSE is the discovery privilege of Unity Catalog. Granted on a catalog, it shows every object in it with its metadata and lets users request access, while reading data still needs SELECT on the object. Databricks recommends granting BROWSE on catalogs to the All account users group to make data discoverable.

Question 2 · choose 2

A security lead plans to use DENY statements to block a group from reading certain tables. Which TWO statements about denying privileges on Databricks are true? (Choose TWO.)

  1. ADENY SELECT on a Unity Catalog table blocks SELECT the group inherits from the catalog
  2. BABAC DENY policies can currently deny SELECT on tables tagged as sensitive
  3. CThe DENY statement applies to the legacy hive_metastore catalog and its objects
  4. DIn the Hive metastore, revoking the same privilege undoes a DENY
  5. EA DENY SELECT on a hive_metastore schema leaves SELECT on its tables
Show the answer and why
  • ADENY SELECT on a Unity Catalog table blocks SELECT the group inherits from the catalog

    Incorrect

    The DENY statement is not supported by Unity Catalog; access there is controlled by what is granted, or by ABAC policies.

  • BABAC DENY policies can currently deny SELECT on tables tagged as sensitive

    Incorrect

    DENY policies are in Beta and currently scoped to the MANAGE ACCESS CONTROL privilege, not SELECT.

  • CThe DENY statement applies to the legacy hive_metastore catalog and its objects

    Correct

    DENY is a table access control statement for the Hive metastore; the reference page notes that Unity Catalog does not support it.

  • DIn the Hive metastore, revoking the same privilege undoes a DENY

    Correct

    To undo a DENY you REVOKE the same privilege from the principal.

  • EA DENY SELECT on a hive_metastore schema leaves SELECT on its tables

    Incorrect

    Denying a privilege on a schema implicitly denies that privilege on all objects in the schema, and a deny takes precedence over any explicit or implicit grant.

In Unity Catalog you restrict access by not granting it, by revoking it, or with row filters, column masks and ABAC policies. DENY belongs to the legacy Hive metastore model.

Question 3 · choose 1

The analysts group must be able to read every current and future table in the schema main.sales, and nothing in the catalog's other schemas. Which grants meet this with the fewest statements?

  1. ASELECT granted on each table that is currently in main.sales
  2. BUSE CATALOG, USE SCHEMA and SELECT granted on the catalog main
  3. CUSE CATALOG on main, plus USE SCHEMA and SELECT on main.sales
  4. DOwnership of main.sales given to the analysts group
Show the answer and why
  • ASELECT granted on each table that is currently in main.sales

    Incorrect

    Grants on individual tables do not cover tables created later.

  • BUSE CATALOG, USE SCHEMA and SELECT granted on the catalog main

    Incorrect

    Grants on the catalog are inherited by every schema in it, which is broader than needed.

  • CUSE CATALOG on main, plus USE SCHEMA and SELECT on main.sales

    Correct

    SELECT on a schema is inherited by its current and future tables, and the usage privileges let analysts reach them.

  • DOwnership of main.sales given to the analysts group

    Incorrect

    Ownership grants far more than read access, including dropping objects and managing grants.

Grant at the lowest container that covers the need, so inheritance handles future objects without extra scope.

Question 4 · choose 1

An admin runs REVOKE SELECT ON TABLE main.sales.orders FROM `alice@example.com`, and the command succeeds. Alice, who does not own the table, can still query it. SHOW GRANTS lists SELECT on the schema main.sales for the analysts group. Why can she still read the table?

  1. AShe is in analysts, and the schema-level SELECT reaches the table
  2. BREVOKE takes effect after a 24-hour delay
  3. CA row filter on the table lets her keep reading it
  4. DREVOKE failed silently because she had no direct grant
Show the answer and why
  • AShe is in analysts, and the schema-level SELECT reaches the table

    Correct

    Privileges reach a principal through group membership and through inheritance from parent objects; revoking her direct grant leaves those in place.

  • BREVOKE takes effect after a 24-hour delay

    Incorrect

    Privilege changes are not delayed in this way.

  • CA row filter on the table lets her keep reading it

    Incorrect

    A row filter limits which rows readers see; it does not give anyone access to the table.

  • DREVOKE failed silently because she had no direct grant

    Incorrect

    REVOKE succeeds whether or not the privilege was granted, but that does not explain her access.

To take access away, find every path to it: direct grants, group grants and grants on parent catalogs and schemas.

Question 5 · choose 1

A data steward must be able to grant and revoke privileges on the catalog finance and its objects. The catalog's current owner must stay the owner. What should the owner grant the steward?

  1. AALL PRIVILEGES on finance
  2. BOwnership of finance
  3. CBROWSE on finance
  4. DMANAGE on finance
Show the answer and why
  • AALL PRIVILEGES on finance

    Incorrect

    ALL PRIVILEGES gives data access but leaves out MANAGE, so the steward could not manage grants.

  • BOwnership of finance

    Incorrect

    An object has one owner, and the current owner must stay.

  • CBROWSE on finance

    Incorrect

    BROWSE gives no right to grant or revoke privileges on the catalog or its objects.

  • DMANAGE on finance

    Correct

    MANAGE lets a non-owner grant and revoke privileges, transfer ownership and drop the object, and it is inherited by child objects.

MANAGE delegates administration without ownership. Ownership belongs to one principal; MANAGE can be granted to several.

Question 6 · choose 1

An auditor needs a list of the principals that hold privileges on main.sales.orders and the privileges each holds. Which statement returns it?

  1. ADESCRIBE HISTORY main.sales.orders
  2. BSHOW GRANTS ON TABLE main.sales.orders
  3. CDESCRIBE TABLE EXTENDED main.sales.orders
  4. DSHOW TABLES IN main.sales
Show the answer and why
  • ADESCRIBE HISTORY main.sales.orders

    Incorrect

    This lists the table's write operations and their metadata, not its grants.

  • BSHOW GRANTS ON TABLE main.sales.orders

    Correct

    SHOW GRANTS returns the privileges granted on a securable object and the principals holding them.

  • CDESCRIBE TABLE EXTENDED main.sales.orders

    Incorrect

    This shows table metadata such as type, location and properties, not the list of grants.

  • DSHOW TABLES IN main.sales

    Incorrect

    This lists the tables in the schema, not their privileges.

SHOW GRANTS lists the privileges granted, inherited or denied on a securable object, for every principal unless one is named.

Practise domain 7 →Practise all domains →