Sécurité intégrée d'ArcGIS Server

La sécurité intégrée est un modèle de sécurité dans lequel l'identité de l'utilisateur final qui émet une commande ou une requête est disponible à tous les niveaux du système, ce qui permet à chaque niveau de mettre en place un contrôle d'accès basé sur l'identité de l'utilisateur final.

La sécurité intégrée d'ArcGIS Server 10 est disponible dans les applications Web utilisant des services Web ArcGIS par le biais d'une connexion à Internet. ArcGIS Server transmet automatiquement l'identité d'un utilisateur Web de l'application Web aux processus SOM et SOC d'ArcGIS via le Gestionnaire de services Web ArcGIS.

Si le service Web ArcGIS utilise des données provenant d'une base de données Oracle, l'identité de l'utilisateur Web peut également être transmise à la base de données. Cette fonctionnalité n'est pas actuellement disponible pour d'autres systèmes de bases de données.

Configuration de la sécurité intégrée

Si la sécurité est activée sur ArcGIS Server, l'identité de l'utilisateur Web est automatiquement transmise au service Web ArcGIS. Les processus SOM et SOC ArcGIS peuvent alors mettre en place un contrôle d'accès basé sur l'identité de l'utilisateur.

Lors de la configuration de la sécurité de niveau de base de données, chaque utilisateur se voit attribuer des autorisations d'accès à des tables (et/ou à des colonnes et des lignes), plutôt que d'être affecté à des rôles/groupes comme dans ArcGIS Server. Pour configurer la sécurité intégrée pour une base de données Oracle, vous devez procéder comme suit :

  1. Créer un compte de base de données pour l'auteur de la Carte.
  2. Définir les utilisateurs du service Web ArcGIS.
  3. Ecrire un document et le publier sur le serveur ArcGIS Server.
  4. Activer la sécurité intégrée de base de données.

Définir l'auteur de Carte

Pour pouvoir prendre en charge la sécurité intégrée, l'auteur du document ArcMap doit disposer des autorisations d'accès à la base de données requises. Vous devez définir le compte de base de données utilisé pour créer le document ArcMap. En tant qu'administrateur de base de données, vous créez et accorder les autorisations à l'utilisateur qui créera la carte.

CREATE USER <map author> IDENTIFIED BY <map author password>
 DEFAULT TABLESPACE <tablespace_name>
 TEMPORARY TABLESPACE <temp_tablespace_name>;

 GRANT CONNECT, RESOURCE TO <map author>;

Reportez-vous à la documentation Oracle pour obtenir des informations complémentaires et pour connaître les conditions préalables à la création d'utilisateurs.

Définition de comptes de base de données pour les utilisateurs du service Web ArcGIS

Pour que la sécurité intégrée fonctionne, chaque utilisateur de services Web ArcGIS doit disposer d'un compte de base de données correspondant. En tant qu'administrateur de base de données, vous créez des comptes de base de données pour chaque utilisateur amené à utiliser les services Web ArcGIS. Vous devez également accorder des privilèges de connexion à chaque utilisateur par le biais du compte de base de données d'auteur de carte.

CREATE USER <ArcGIS Web user> IDENTIFIED by <ArcGIS Web user>
DEFAULT TABLESPACE <tablespace_name>
TEMPORARY TABLESPACE <temp_tablespace_name>;

GRANT CONNECT,RESOURCE to <ArcGIS Web user>;

ALTER USER <ArcGIS Web user> GRANT CONNECT THROUGH <map author>;
RemarqueRemarque :
Utilisez des minuscules lors de la création de noms d'utilisateurs dans la base de données, car ArcGIS Server transmet les noms d'utilisateurs en minuscules à la base de données. Dans le cas d'utilisateurs de domaines, faites figurer le nom entre guillemets. Par exemple :
CREATE USER "<domain name>\<user name>" IDENTIFIED by <user name>

Pour chaque compte de base de données créé, définissez les privilèges que vous souhaitez accorder à l'utilisateur sur la géodatabase Oracle. Reportez-vous à la rubrique Que sont les autorisations utilisateur ? pour plus d'informations sur la définition d'autorisations utilisateur.

A titre d'exemple, deux rôles sont définis ci-après pour accorder des privilèges à des utilisateurs de services Web ArcGIS. Le premier rôle est défini de manière à autoriser la sélection de bases de données (autorisation de consulter les données) sur deux couches de géodatabases et le second de manière à autoriser la mise à jour d'une couche.

--Role for displaying boundary layers
CREATE ROLE sel_boundary_role NOT IDENTIFIED;
GRANT SELECT ON <map author>.States TO sel_boundary_role;
GRANT SELECT ON <map author>.Counties TO sel_boundary_role;

GRANT sel_boundary_role to <user one>;

-- Role for displaying transportation layer
CREATE ROLE sel_trans_role NOT IDENTIFIED;
GRANT SELECT,UPDATE,INSERT,DELETE ON <map author>.Roads TO sel_trans_role;

GRANT sel_trans_role to <user two>;

Il est également possible de configurer des autorisations sur des lignes (entités) et des colonnes (champs attributaires) de la base de données Oracle. Pour plus d'informations, consultez la documentation relative à la base de données Oracle.

Ecriture d'un document et publication sur le serveur ArcGIS Server

Vous pouvez utiliser ArcMap ou tout autre client ArcGIS pour créer votre document. Pour ajouter des ressources de base de données cartographiques, vous devrez utiliser les références du compte d'auteur de Carte de la base de données décrit dans Définition de l'auteur de Carte. Publiez le document Carte sur le serveur ArcGIS Server à l'aide d'un client ArcGIS Server. Attention, certaines capacités de service Carte telles que XML et KML peuvent mettre en application les mêmes restrictions de sécurité qu'avec les services Web ArcGIS standards (SOAP/REST).

Activation de la sécurité intégrée pour Oracle

Après la configuration de la base de données Oracle, vous devrez activer la sécurité sur le serveur ArcGIS Server. Pendant la configuration de la sécurité du serveur ArcGIS Server, vous devrez créer des utilisateurs et des rôles qui correspondent exactement à ceux qui ont été créés précédemment pour Oracle. Pour des instructions sur la configuration de la sécurité du serveur ArcGIS Server, reportez-vous à la section Aperçu de la configuration de la sécurité.

Après la configuration de la sécurité du serveur ArcGIS Server, vous devrez activer la sécurité intégrée de la base de données ArcGIS Server. Lorsque cette fonction est activée, le serveur ArcGIS Server passe l'identité qu'il reçoit de l'instance du service Web à la base de données Oracle. Pour activer la sécurité intégrée de la base de données, ouvrez le fichier Server.dat du répertoire <ArcGIS Installation Directory>\server\system\ avec un éditeur de texte ou un éditeur XML. Repérez l'élément <Properties> dans le fichier. A l'intérieur de cet élément, ajoutez une nouvelle propriété comme suit :

<Properties> <PushIdentityToDatabase>true</PushIdentityToDatabase> … </Properties>

Après cette mise à jour, sauvegardez et fermez le fichier Server.dat. Redémarrez le processus du gestionnaire d'objet ArcGIS Server pour appliquer cette modification.

Test de la sécurité intégrée

A l'aide du gestionnaire ArcGIS Server ou de l'IDE Eclipse/NetBeans, créez une application cartographique Web qui utilise le service Web ArcGIS prenant en charge la sécurité intégrée. Affichez l'application Web déployée dans un navigateur Web. Seules les couches/entités pour lesquelles l'utilisateur dispose de privilèges doivent s'afficher dans l'application Web. Vous pouvez répéter ce test en créant une nouvelle application cartographique Web utilisant les informations d'identification d'un utilisateur Web ArcGIS différent.

RemarqueRemarque :

Le service Web ArcGIS doit être utilisé via une connexion Internet à ArcGIS Server. Vous devez également fournir un nom d'utilisateur et un mot de passe de compte Web ArcGIS pour vous connecter au service.


2/28/2012