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 forniti dal controllo dell'accesso granulare 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 a quelli con dialetto PostgreSQL.

public ruolo di sistema

  • Per impostazione predefinita, tutti gli utenti controllo dell'accesso granulare sono membri IAM di 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 di database, inclusi quelli creati successivamente.

spanner_info_reader ruolo di sistema

  • 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 disporre dell'accesso in lettura senza filtri alle viste INFORMATION_SCHEMA (database con dialetto GoogleSQL) o alle viste information_schema (database con dialetto PostgreSQL).

spanner_sys_reader ruolo di sistema

  • Questo ruolo dispone del privilegio SELECT sulle tabelle SPANNER_SYS.

  • Non puoi concedere altri privilegi a spanner_sys_reader.

  • Concedi l'appartenenza a questo ruolo a qualsiasi ruolo del database che deve disporre dell'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 database. ovvero 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'abbonamento nei ruoli spanner_info_reader e spanner_sys_reader. Ad esempio, le seguenti sono affermazioni 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