Privilèges de base de données requis

Insights in ArcGIS Enterprise
Insights desktop
Remarque :

Les connexions aux bases de données sont prises en charge dans Insights in ArcGIS Enterprise et Insights desktop.

ArcGIS Insights propose deux types d'opérations de données :

  • Se connecter à une base de données relationnelle et parcourir son contenu sans mise en cache de données.
  • Se connecter à une base de données relationnelle et parcourir son contenu avec mise en cache de données.

Se connecter à une base de données relationnelle et parcourir son contenu avec mise en cache des données permet à Insights de créer et de gérer des tableaux temporaires dans la base de données.

Les tableaux suivants présentent les privilèges minimaux requis pour se connecter à une base de données relationnelle et parcourir son contenu et optionnellement autoriser la mise en cache des données par Insights.

Remarque :

Les connexions sont en lecture seule. Insights ne vous permet pas de créer ou de modifier des données dans la base de données.

Les données seront copiées vers le répertoire de données hébergé de votre déploiement si vous ne disposez pas des privilèges de base de données requis pour utiliser la mise en cache des données.

Google BigQuery

Dans BigQuery, les privilèges sont appliqués aux utilisateurs à travers les rôles. L’utilisateur qui crée une connexion à une base de données BigQuery doit disposer des privilèges des rôles de base (Editor, Owner, ou Viewer), ou les privilèges équivalents dans un rôle personnalisé.

Microsoft SQL Server

Type d'opérationPrivilèges requisObjet

Sans mise en cache des données

CONNECT

Ce privilège permet aux utilisateurs de se connecter à la base de données.

Sur les bases de données, le privilège CONNECT est accordé par défaut au rôle de base de données public. Si vous retirez ce privilège du rôle public, vous devez accorder explicitement le privilège CONNECT sur les bases de données à des rôles et/ou des identifiants de connexion spécifiques.

SELECT sur les tables d'autres utilisateurs

Les visualiseurs de données doivent bénéficier de privilèges SELECT sur des tables spécifiques que vous les autorisez à consulter et à interroger.

Si vous êtes autorisé à lire toutes les tables de la base de données, vous pouvez attribuer le rôle de la base de données db_datareader à des utilisateurs. Dans le cas contraire, accordez le droit SELECT à des tables et vues spécifiques.

Avec mise en cache des données

Remarque :

Connexions avec mise en cache des données nécessitent également les privilèges de connexions sans mise en cache des données.

Autorisation ALTER sur schéma

L’autorisation ALTER permet à Insights de créer des index et de gérer les tables temporaires dans le schéma de l’utilisateur.

CREATE TABLE

L’autorisation CREATE TABLE permet à Insights de créer des tables ou des vues temporaires dans le schéma de l’utilisateur.

INSERTION

L’autorisation INSERT (INSERTION) permet aux utilisateurs d’insérer des lignes dans les tables de la base de données.

METTRE À JOUR

L’autorisation UPDATE (METTRE À JOUR) permet aux utilisateurs d’utiliser l’instruction UPDATE (METTRE À JOUR) dans les tables de la base de données.

Exemples

Le code SQL suivant illustre la façon dont des privilèges peuvent être accordés pour les bases de données SQL Server. Les administrateurs de bases de données peuvent personnaliser ces exemples pour accorder des privilèges aux utilisateurs de bases de données de leur organisation.

Accorder des privilèges aux utilisateurs en mode de lecture-écriture :

use <databaseName>;
GO

GRANT CREATE TABLE TO <userName>;
GRANT ALTER ON SCHEMA::dbo TO <userName>;

EXEC sp_addrolemember N'db_datareader', N'<userName>';
EXEC sp_addrolemember N'db_datawriter', N'<userName>';
GO

Accorder des privilèges aux utilisateurs en mode de lecture seule au niveau de la base de données :

use <databaseName>;
GO

EXEC sp_addrolemember N'db_datareader', N'<userName>';
GO

Accorder le privilège SELECT aux utilisateurs en mode lecture seule sur des tables spécifiques :

use <databaseName>;
GO

GRANT SELECT ON OBJECT::<schema>.<tableName1> TO <userName>;
GRANT SELECT ON OBJECT::<schema>.<tableName2> TO <userName>;

Oracle

Type d'opérationPrivilèges requisObjet

Sans mise en cache des données

Rôle CONNECT ou CREATE SESSION

Le rôle CONNECT ou CREATE SESSION autorise les utilisateurs à se connecter à la base de données.

A partir d’Oracle 10g version 2 (10.2), le rôle CONNECT détient uniquement le privilège CREATE SESSION.

SELECT sur les tables d'autres utilisateurs

Les visualiseurs de données doivent bénéficier de privilèges SELECT sur des tables spécifiques que vous les autorisez à consulter et à interroger.

Avec mise en cache des données

Remarque :

Connexions avec mise en cache des données nécessitent également les privilèges de connexions sans mise en cache des données.

CREATE TABLE*

L'autorisation CREATE TABLE permet à Insights de créer des tables temporaires dans le schéma de l'utilisateur.

*Allouez un QUOTA à l'utilisateur dans un espace de table à l'aide de la commande ALTER USER <username> QUOTA <size> ON <tablespace>.

CREATE SEQUENCE

L’autorisation CREATE SEQUENCE permet à Insights de générer des index spatiaux.

Exemples

Le code SQL suivant illustre la façon dont des privilèges peuvent être accordés pour les bases de données Oracle. Les administrateurs de bases de données peuvent personnaliser ces exemples pour accorder des privilèges aux utilisateurs de bases de données de leur organisation.

Accorder des privilèges aux utilisateurs en mode de lecture-écriture :

GRANT CONNECT TO <userName>; 
GRANT CREATE TABLE TO <userName>; 
ALTER USER <userName> QUOTA <size> ON USERS; 
GRANT CREATE SEQUENCE TO <userName>;

Accorder des privilèges aux utilisateurs en mode de lecture seule :

GRANT CONNECT TO <userName>; 
GRANT SELECT ON <schema>.<tableName> TO <userName>;

PostgreSQL

Type d'opérationPrivilèges requisObjet

Sans mise en cache des données

CONNECT sur une base de données

Ce privilège permet aux utilisateurs de se connecter à la base de données.

Accorder le privilège CONNECT sur les bases de données à des identifiants de base de données spécifiques.

USAGE sur les structures des utilisateurs ou SELECT sur les tables des utilisateurs

Les utilisateurs du visualiseur de données ont besoin du privilège USAGE sur des structures spécifiques utilisant des tables d’utilisateurs. Ou des privilèges SELECT sur des tables d'utilisateur spécifiques ou vues que vous les autorisez à consulter et à interroger.

Accordez le privilège SELECT à des tables et vues spécifiques.

Avec mise en cache des données

Remarque :

Connexions avec mise en cache des données nécessitent également les privilèges de connexions sans mise en cache des données.

CREATE sur schéma

L’autorisation CREATE permet à Insights de créer des index et de gérer les tables temporaires dans le schéma de l’utilisateur.

Exemples

Le code SQL suivant illustre la façon dont des privilèges peuvent être accordés pour les bases de données PostgreSQL. Les administrateurs de bases de données peuvent personnaliser ces exemples pour accorder des privilèges aux utilisateurs de bases de données de leur organisation.

Accorder des privilèges aux utilisateurs en mode de lecture-écriture :

GRANT CONNECT ON DATABASE <databaseName> TO <userName>;
GRANT USAGE ON SCHEMA <schemaName>TO <userName>;
GRANT CREATE ON SCHEMA <schemaName> TO <userName>;

Accorder des privilèges aux utilisateurs en mode de lecture seule :

GRANT CONNECT ON DATABASE <databaseName> TO <userName>;
GRANT USAGE ON SCHEMA <schemaName>TO <userName>;   -- Give the access to all tables in the schema
GRANT SELECT ON <tableName> TO <userName>;  -- Or give the access to a specific table

SAP HANA

Type d'opérationPrivilèges requisObjet

Sans mise en cache des données

SELECT ON sys.st_geometry_columns et sys.st_spatial_reference_systems

Ces privilèges sont requis pour lire des métadonnées ST_GEOMETRY pour des opérations spatiales.

SELECT ON <table1>,<table2>,<tablen>

Les visualiseurs de données doivent bénéficier de privilèges SELECT sur des tables spécifiques que vous les autorisez à consulter et à interroger.

Avec mise en cache des données

Remarque :

Connexions avec mise en cache des données nécessitent également les privilèges de connexions sans mise en cache des données.

CREATE TABLE

DROP TABLE

Autrement, l'utilisateur doit être un utilisateur standard HANA.

Autorisez Insights à créer ou à déplacer des tables dans son propre schéma et à insérer des données.

Exemples

Le code SQL suivant illustre la façon dont des privilèges peuvent être accordés pour les bases de données SAP HANA. Les administrateurs de bases de données peuvent personnaliser ces exemples pour accorder des privilèges aux utilisateurs de bases de données de leur organisation.

Un utilisateur en mode de lecture-écriture dispose de tous les privilèges requis pour utiliser Insights.

Utilisateurs non standard :

GRANT SELECT ON SCHEMA <schemaName> to <userName>;   -- executed by the schema owner 

GRANT SELECT ON sys.st_geometry_columns TO <userName>;   -- executed by SYSTEM account
GRANT SELECT ON sys.st_spatial_reference_systems TO <userName>;

Snowflake

Dans Snowflake, les privilèges sont appliqués aux utilisateurs à travers les rôles. Le rôle de l’utilisateur qui crée une connexion à une base de données Snowflake doit inclure les privilèges suivants :

Privilège requisObjet

USAGE sur <database>

Requis pour accéder aux tables dans la base de données. L’utilisateur qui crée une connexion à une base de données doit disposer du privilège USAGE.

USAGE sur <schema>

Requis pour accéder aux tables à partir d’un schéma.

Le schéma par défaut est PUBLIC.

SELECT sur <table>

Requis pour voir et interroger des données dans une table. Le privilège SELECT doit être accordé sur chaque table utilisée à partir d’une connexion à une base de données.

USAGE sur <warehouse>

Requis pour exécuter des requêtes dans un entrepôt spécifié.

Exemples

Le code SQL suivant illustre la façon dont des privilèges peuvent être accordés pour les bases de données Snowflake. Les administrateurs de bases de données peuvent personnaliser ces exemples pour accorder des privilèges aux utilisateurs de bases de données de leur organisation.

Accorder des privilèges sur toutes les tables dans la base de données :

grant USAGE on DATABASE <databaseName> to role <roleName>;
grant USAGE on SCHEMA <schemaName> to role <roleName>;
grant SELECT ON ALL TABLES IN DATABASE <databaseName> to role <roleName>;
grant USAGE on WAREHOUSE <warehouseName> to role <roleName>;

Étapes suivantes

Maintenant que vous avez vérifié et mis à jour vos privilèges de base de données, la prochaine étape, si nécessaire, consistera à créer une connexion à votre base de données de façon à pouvoir accéder directement aux tables de votre base de données dans Insights. Pour plus d’informations, reportez-vous à la rubrique Créer une connexion à une base de données.