Ruoli del sistema di controllo dell'accesso granulare

Questa pagina definisce le caratteristiche, i vincoli e l'utilizzo previsto dei tre ruoli di sistema predefiniti che controllo dell'accesso granulare dell'accesso fornisce per ogni database. Ogni ruolo di sistema ha un insieme diverso di privilegi, che non possono essere revocati. Queste informazioni si applicano sia ai database con dialetto GoogleSQL sia ai database con dialetto PostgreSQL.

Ruolo di sistema public

  • Per impostazione predefinita, tutti gli utenti con controllo dell'accesso granulare dell'accesso hanno l'appartenenza a Identity and Access Management (IAM) in public.

  • Tutti i ruoli del database ereditano i privilegi da questo ruolo.

  • Inizialmente, public non dispone di privilegi, ma puoi concederglieli. Se concedi un privilegio a public, questo è disponibile per tutti i ruoli del database, inclusi quelli creati in un secondo momento.

Ruolo di sistema spanner_info_reader

  • Questo ruolo dispone del privilegio SELECT sulle viste INFORMATION_SCHEMA per i database con dialetto GoogleSQL e sulle viste information_schema per i database con dialetto PostgreSQL.

  • Non puoi concedere altri privilegi a spanner_info_reader.

  • Concedi l'appartenenza a questo ruolo a qualsiasi ruolo del database che deve avere accesso in lettura non filtrato alle viste INFORMATION_SCHEMA (database con dialetto GoogleSQL) o alle viste information_schema (database con dialetto PostgreSQL).

Ruolo di sistema spanner_sys_reader

  • Questo ruolo ha il privilegio SELECT su SPANNER_SYS tabelle.

  • Non puoi concedere altri privilegi a spanner_sys_reader.

  • Concedi l'appartenenza a questo ruolo a qualsiasi ruolo del database che deve avere accesso in lettura allo schema SPANNER_SYS.

Limitazioni relative ai ruoli di sistema

  • Non puoi eliminare un ruolo di sistema utilizzando un'istruzione DROP ROLE.

  • I ruoli di sistema non possono essere membri di altri ruoli del database. Ciò significa che la seguente istruzione GoogleSQL non è valida:

    GRANT ROLE pii_access TO ROLE spanner_info_reader;
    
  • Non puoi concedere l'appartenenza al ruolo public ai tuoi ruoli di database. Ad esempio, anche la seguente istruzione GoogleSQL non è valida:

    GRANT ROLE public TO ROLE pii_access;
    

    Tuttavia, puoi concedere l'appartenenza ai ruoli spanner_info_reader e spanner_sys_reader. Ad esempio, le seguenti sono istruzioni valide.

    GoogleSQL

      GRANT ROLE spanner_info_reader TO ROLE pii_access;
      GRANT ROLE spanner_sys_reader TO ROLE pii_access;
      ```
    

    PostgreSQL

    GRANT spanner_info_reader TO pii_access;
    GRANT spanner_sys_reader TO pii_access;
    

Passaggi successivi