Suite

Règles de nommage pour les connexions directes d'ArcGIS à PostgreSQL ?


Je n'ai pas de problème à connecter directement arcgis à postgresql si le nom de ma base de données ne contient que des lettres, mais lorsque le nom contient des tirets ou des traits de soulignement, par exemple : "gisdb-dev", je reçois une erreur lors de la configuration d'une connexion directe à l'aide d'ArcCatalog.

Échec de la connexion au serveur spécifié. Voulez-vous continuer? Syntaxe SQL non valide

Je suis sûr de n'avoir enfreint aucune restriction de nom de base de données côté PostgreSQL ou ESRI. J'ai regardé autour de moi et je ne trouve aucune solution à ce problème.

Quelqu'un a-t-il rencontré ce problème et a-t-il une solution ?

Environnement:

  • Windows 7 Édition Intégrale x64
  • ArcGIS 10.1 sp1
  • PostgreSQL 9.1.3 x64
  • PostGIS 2.0 x64

Règles de nommage pour les connexions directes d'ArcGIS à PostgreSQL ? - Systèmes d'information géographique

Tous les noms de paramètres sont insensibles à la casse. Chaque paramètre prend une valeur de l'un des cinq types suivants : booléen, chaîne, entier, virgule flottante ou énuméré (enum). Le type détermine la syntaxe de définition du paramètre :

Booléen : Les valeurs peuvent être écrites sous la forme on , off , true , false , yes , no , 1 , 0 (tous insensibles à la casse) ou tout préfixe non ambigu de l'un d'entre eux.

Chaîne de caractères: En général, placez la valeur entre guillemets simples, en doublant les guillemets simples dans la valeur. Cependant, les guillemets peuvent généralement être omis si la valeur est un simple nombre ou un identifiant. (Les valeurs qui correspondent à un mot-clé SQL nécessitent des guillemets dans certains contextes.)

Numérique (entier et virgule flottante) : Les paramètres numériques peuvent être spécifiés dans les formats courants entiers et à virgule flottante. Les valeurs fractionnaires sont arrondies à l'entier le plus proche si le paramètre est de type entier. Les paramètres entiers acceptent en plus l'entrée hexadécimale (commençant par 0x ) et l'entrée octale (commençant par 0 ), mais ces formats ne peuvent pas avoir de fraction. N'utilisez pas de séparateurs de milliers. Les guillemets ne sont pas obligatoires, sauf pour l'entrée hexadécimale.

Numérique avec unité : Certains paramètres numériques ont une unité implicite, car ils décrivent des quantités de mémoire ou de temps. L'unité peut être des octets, des kilo-octets, des blocs (généralement huit kilo-octets), des millisecondes, des secondes ou des minutes. Une valeur numérique simple pour l'un de ces paramètres utilisera l'unité par défaut du paramètre, qui peut être apprise à partir de pg_settings . unité. Pour plus de commodité, les paramètres peuvent être donnés avec une unité spécifiée explicitement, par exemple '120 ms' pour une valeur de temps, et ils seront convertis en quelle que soit l'unité réelle du paramètre. Notez que la valeur doit être écrite sous forme de chaîne (avec des guillemets) pour utiliser cette fonctionnalité. Le nom de l'unité est sensible à la casse et il peut y avoir un espace entre la valeur numérique et l'unité.

Les unités de mémoire valides sont B (octets), Ko (kilooctets), Mo (mégaoctets), Go (gigaoctets) et To (téraoctets). Le multiplicateur pour les unités de mémoire est 1024, pas 1000.

Les unités de temps valides sont us (microsecondes), ms (millisecondes), s (secondes), min (minutes), h (heures) et d (jours).

Si une valeur fractionnaire est spécifiée avec une unité, elle sera arrondie à un multiple de la prochaine unité plus petite s'il y en a une. Par exemple, 30,1 Go seront convertis en 30822 Mo et non en 32319628902 B . Si le paramètre est de type entier, un arrondi final à l'entier se produit après toute conversion d'unité.

Dénombré: Les paramètres de type énumération sont écrits de la même manière que les paramètres de chaîne, mais sont limités à l'une des valeurs d'un ensemble limité. Les valeurs autorisées pour un tel paramètre peuvent être trouvées dans pg_settings . enumvals. Les valeurs des paramètres Enum ne sont pas sensibles à la casse.

19.1.2. Interaction des paramètres via le fichier de configuration

La façon la plus fondamentale de définir ces paramètres est d'éditer le fichier postgresql.conf , qui est normalement conservé dans le répertoire de données. Une copie par défaut est installée lors de l'initialisation du répertoire du cluster de bases de données. Voici un exemple de ce à quoi ce fichier peut ressembler :

Un paramètre est spécifié par ligne. Le signe égal entre le nom et la valeur est facultatif. Les espaces blancs sont insignifiants (sauf dans une valeur de paramètre entre guillemets) et les lignes vides sont ignorées. Les dièses ( # ) désignent le reste de la ligne en tant que commentaire. Les valeurs de paramètre qui ne sont pas de simples identificateurs ou nombres doivent être entre guillemets simples. Pour incorporer un guillemet simple dans une valeur de paramètre, écrivez soit deux guillemets (de préférence) soit une barre oblique inverse-quote. Si le fichier contient plusieurs entrées pour le même paramètre, toutes sauf la dernière sont ignorées.

Les paramètres définis de cette manière fournissent des valeurs par défaut pour le cluster. Les paramètres vus par les sessions actives seront ces valeurs à moins qu'elles ne soient remplacées. Les sections suivantes décrivent les manières dont l'administrateur ou l'utilisateur peut remplacer ces valeurs par défaut.

Le fichier de configuration est relu chaque fois que le processus du serveur principal reçoit un signal SIGHUP, ce signal est plus facilement envoyé en exécutant pg_ctl reload depuis la ligne de commande ou en appelant la fonction SQL pg_reload_conf() . Le processus serveur principal propage également ce signal à tous les processus serveur en cours d'exécution, de sorte que les sessions existantes adoptent également les nouvelles valeurs (cela se produira après avoir terminé toute commande client en cours d'exécution). Alternativement, vous pouvez envoyer le signal à un seul processus serveur directement. Certains paramètres ne peuvent être définis qu'au démarrage du serveur. Toute modification de leurs entrées dans le fichier de configuration sera ignorée jusqu'au redémarrage du serveur. Les réglages de paramètres invalides dans le fichier de configuration sont également ignorés (mais enregistrés) pendant le traitement SIGHUP.

En plus de postgresql.conf , un répertoire de données PostgreSQL contient un fichier postgresql.auto.conf , qui a le même format que postgresql.conf mais est destiné à être modifié automatiquement, pas manuellement. Ce fichier contient les paramètres fournis via la commande ALTER SYSTEM. Ce fichier est lu à chaque fois que postgresql.conf l'est et ses paramètres prennent effet de la même manière. Les paramètres de postgresql.auto.conf remplacent ceux de postgresql.conf .

Des outils externes peuvent également modifier postgresql.auto.conf . Il n'est pas recommandé de le faire pendant que le serveur est en cours d'exécution, car une commande ALTER SYSTEM simultanée pourrait écraser de telles modifications. De tels outils peuvent simplement ajouter de nouveaux paramètres à la fin, ou ils peuvent choisir de supprimer les paramètres et/ou les commentaires en double (comme ALTER SYSTEM le fera).

La vue système pg_file_settings peut être utile pour pré-tester les modifications apportées aux fichiers de configuration, ou pour diagnostiquer des problèmes si un signal SIGHUP n'a pas eu les effets souhaités.

19.1.3. Interaction des paramètres via SQL

PostgreSQL fournit trois commandes SQL pour établir les paramètres de configuration par défaut. La commande ALTER SYSTEM déjà mentionnée fournit un moyen accessible par SQL de modifier les valeurs par défaut globales, elle est fonctionnellement équivalente à l'édition de postgresql.conf . De plus, il existe deux commandes qui permettent de définir des valeurs par défaut par base de données ou par rôle :

La commande ALTER DATABASE permet de remplacer les paramètres globaux par base de données.

La commande ALTER ROLE permet de remplacer les paramètres globaux et par base de données par des valeurs spécifiques à l'utilisateur.

Les valeurs définies avec ALTER DATABASE et ALTER ROLE sont appliquées uniquement lors du démarrage d'une nouvelle session de base de données. Ils remplacent les valeurs obtenues à partir des fichiers de configuration ou de la ligne de commande du serveur et constituent les valeurs par défaut pour le reste de la session. Notez que certains paramètres ne peuvent pas être modifiés après le démarrage du serveur et ne peuvent donc pas être définis avec ces commandes (ou celles répertoriées ci-dessous).

Une fois qu'un client est connecté à la base de données, PostgreSQL fournit deux commandes SQL supplémentaires (et des fonctions équivalentes) pour interagir avec les paramètres de configuration locaux de la session :

La commande SHOW permet d'inspecter la valeur actuelle de n'importe quel paramètre. La fonction SQL correspondante est current_setting(setting_name text) (voir Section 9.27.1).

La commande SET permet de modifier la valeur actuelle de ces paramètres qui peuvent être définis localement pour une session, elle n'a aucun effet sur les autres sessions. La fonction SQL correspondante est set_config(setting_name, new_value, is_local) (voir Section 9.27.1).

De plus, la vue système pg_settings peut être utilisée pour afficher et modifier les valeurs locales de session :

L'interrogation de cette vue est similaire à l'utilisation de SHOW ALL mais fournit plus de détails. Il est également plus flexible, car il est possible de spécifier des conditions de filtrage ou de se joindre à d'autres relations.

L'utilisation de UPDATE sur cette vue, en particulier la mise à jour de la colonne de paramètres, équivaut à l'émission de commandes SET. Par exemple, l'équivalent de

19.1.4. Interaction des paramètres via le shell

En plus de définir des valeurs par défaut globales ou d'attacher des remplacements au niveau de la base de données ou du rôle, vous pouvez transmettre des paramètres à PostgreSQL via des fonctions shell. Le serveur et la bibliothèque cliente libpq acceptent les valeurs des paramètres via le shell.

Lors du démarrage du serveur, les paramètres peuvent être transmis à la commande postgres via le paramètre de ligne de commande -c. Par exemple,

Les paramètres fournis de cette manière remplacent ceux définis via postgresql.conf ou ALTER SYSTEM , ils ne peuvent donc pas être modifiés globalement sans redémarrer le serveur.

Lors du démarrage d'une session client via libpq , les paramètres peuvent être spécifiés à l'aide de la variable d'environnement PGOPTIONS. Les paramètres établis de cette manière constituent des valeurs par défaut pour la durée de vie de la session, mais n'affectent pas les autres sessions. Pour des raisons historiques, le format de PGOPTIONS est similaire à celui utilisé lors du lancement de la commande postgres spécifiquement, le drapeau -c doit être spécifié. Par exemple,

D'autres clients et bibliothèques peuvent fournir leurs propres mécanismes, via le shell ou autrement, qui permettent à l'utilisateur de modifier les paramètres de session sans utiliser directement les commandes SQL.

19.1.5. Gestion du contenu du fichier de configuration

PostgreSQL fournit plusieurs fonctionnalités pour décomposer les fichiers postgresql.conf complexes en sous-fichiers. Ces fonctionnalités sont particulièrement utiles lors de la gestion de plusieurs serveurs avec des configurations liées, mais non identiques.

En plus des paramètres individuels, le fichier postgresql.conf peut contenir inclure des directives, qui spécifie un autre fichier à lire et à traiter comme s'il était inséré dans le fichier de configuration à ce stade. Cette fonctionnalité permet de diviser un fichier de configuration en parties physiquement séparées. Les directives d'inclusion ressemblent simplement à :

Si le nom du fichier n'est pas un chemin absolu, il est considéré comme relatif au répertoire contenant le fichier de configuration de référencement. Les inclusions peuvent être imbriquées.

Il existe également une directive include_if_exists, qui agit de la même manière que la directive include, sauf lorsque le fichier référencé n'existe pas ou ne peut pas être lu. Une inclusion normale considérera cela comme une condition d'erreur, mais include_if_exists enregistre simplement un message et continue de traiter le fichier de configuration de référencement.

Le fichier postgresql.conf peut également contenir des directives include_dir, qui spécifient un répertoire entier de fichiers de configuration à inclure. Ceux-ci ressemblent

Les noms de répertoire non absolus sont considérés comme relatifs au répertoire contenant le fichier de configuration de référencement. Dans le répertoire spécifié, seuls les fichiers hors répertoire dont les noms se terminent par le suffixe .conf seront inclus. Les noms de fichiers commençant par le . caractère sont également ignorés, pour éviter les erreurs puisque de tels fichiers sont cachés sur certaines plates-formes. Plusieurs fichiers dans un répertoire d'inclusion sont traités dans l'ordre des noms de fichiers (selon les règles locales du C, c'est-à-dire les chiffres avant les lettres et les lettres majuscules avant les minuscules).

Les fichiers ou répertoires d'inclusion peuvent être utilisés pour séparer logiquement des parties de la configuration de la base de données, plutôt que d'avoir un seul gros fichier postgresql.conf. Prenons l'exemple d'une entreprise qui possède deux serveurs de base de données, chacun avec une quantité de mémoire différente. Il y a probablement des éléments de la configuration que les deux partageront, pour des choses telles que la journalisation. Mais les paramètres liés à la mémoire sur le serveur varieront entre les deux. Et il peut également y avoir des personnalisations spécifiques au serveur. Une façon de gérer cette situation consiste à diviser les modifications de configuration personnalisées pour votre site en trois fichiers. Vous pouvez ajouter ceci à la fin de votre fichier postgresql.conf pour les inclure :

Tous les systèmes auraient le même shared.conf . Chaque serveur avec une quantité de mémoire particulière pourrait partager le même memory.conf, vous pourriez en avoir un pour tous les serveurs avec 8 Go de RAM, un autre pour ceux ayant 16 Go. Et enfin server.conf pourrait contenir des informations de configuration vraiment spécifiques au serveur.

Une autre possibilité est de créer un répertoire de fichiers de configuration et d'y mettre ces informations dans des fichiers. Par exemple, un répertoire conf.d pourrait être référencé à la fin de postgresql.conf :

Ensuite, vous pouvez nommer les fichiers dans le répertoire conf.d comme ceci :

Cette convention de nommage établit un ordre clair dans lequel ces fichiers seront chargés. Ceci est important car seul le dernier paramètre rencontré pour un paramètre particulier pendant que le serveur lit les fichiers de configuration sera utilisé. Dans cet exemple, quelque chose défini dans conf.d/02server.conf remplacerait une valeur définie dans conf.d/01memory.conf .

Vous pouvez plutôt utiliser cette approche pour nommer les fichiers de manière descriptive :

Ce type d'arrangement donne un nom unique à chaque variation de fichier de configuration. Cela peut aider à éliminer l'ambiguïté lorsque plusieurs serveurs ont leurs configurations toutes stockées au même endroit, comme dans un référentiel de contrôle de version. (Le stockage des fichiers de configuration de la base de données sous contrôle de version est une autre bonne pratique à considérer.)


Connexion à une base de données

Avant de pouvoir utiliser les données d'une base de données dans Insights , vous devez créer une connexion à la base de données. Avant de créer une connexion à la base de données, certaines conditions préalables doivent être remplies.

Le processus d'établissement d'une connexion à la base de données dans Insights in ArcGIS Enterprise crée un élément Connexion à la base de données relationnelle dans l'onglet Contenu du portail et l'onglet Connexions sur la page d'accueil Insights. Cet élément peut ensuite être partagé avec d'autres. Le partage d'un élément de connexion à la base de données ne partage que la possibilité de parcourir le contenu de la base de données. Les informations d'identification utilisées lors de l'établissement de la connexion ne sont jamais exposées à ceux avec qui l'élément a été partagé.

Si un problème survient lors de la création d'une connexion à une base de données, consultez Résoudre les problèmes de connexion à une base de données.

Avertir:

Si vous rencontrez des problèmes avec une connexion à une base de données qui fonctionnait auparavant dans Insights , vous devrez peut-être mettre à jour la connexion. La suppression de la connexion à la base de données rendra tous les ensembles de données dépendants inopérants. Vous ne devez supprimer une connexion à une base de données relationnelle que lorsque vous êtes sûr qu'aucun ensemble de données n'est dépendant ou que vous souhaitez délibérément désactiver les ensembles de données en amont.

Alors que les connexions à la base de données sont mises à jour pour refléter l'état actuel de la base de données, les ensembles de données reflètent le schéma de la table ou de la vue au moment de la création de l'ensemble de données. Les jeux de données créés à partir d'une connexion à une base de données dépendent du schéma, des conventions de dénomination et des objets de données spatiales existants (types de géométrie et identifiants de référence spatiale) de la base de données. Renommer ou supprimer des tables et des vues référencées par un ensemble de données endommagera l'ensemble de données. De même, les noms de champs et les types de données doivent rester statiques pour qu'un ensemble de données soit fonctionnel.


La table GDB_ItemTypes

La table GDB_ItemTypes contient l'ensemble prédéfini de types d'éléments reconnus dans la géodatabase. Les types d'élément sont utilisés pour normaliser la table GDB_Items (le type d'un élément dans la table GDB_Items est représenté sous forme d'UUID), pour fournir une meilleure prise en charge des futures améliorations des fonctionnalités de géodatabase et définir une hiérarchie de types. Tous les types parents sont abstraits, par conséquent, les éléments parents ne seront pas réellement trouvés dans la table GDB_Items.

Le contenu de la table GDB_ItemTypes est statique, il n'est pas modifié lorsque des éléments sont créés ou supprimés.

Un type d'élément possède les attributs suivants :

  • UUID : identifiant unique d'un type d'élément et la clé étrangère de la colonne type de la table GDB_Item
  • ParentTypeID : type parent du type d'élément. Dans le cas du type d'élément abstrait (qui n'a pas de parent), il s'agit d'un UUID nul
  • Nom : le nom d'un type d'élément tel que la classe d'entités ou le domaine de plage
  • ObjectID : l'identifiant unique de la table GDB_ItemTypes

Logiciels requis

Le lecteur de géodatabase personnelle MAPublisher Basic et le lecteur de géodatabase de fichier de base ne nécessitent pas de licence ArcGIS pour Windows et sont compatibles avec Mac. Cependant, cela signifie que certaines fonctions d'importation sont limitées dans leur utilisation (expliquées plus loin dans cette section).

MAPublisher prend en charge ArcGIS 9.2 et les géodatabases plus récentes. Cependant, il existe certaines limitations aux connexions directes des clients 9.2 aux géodatabases ArcSDE 9.3. Veuillez vous référer à la documentation d'Esri sur les exigences logicielles (service packs) et les limitations.

Pour utiliser les géodatabases ArcGIS 10.0 avec MAPublisher, une installation sous licence d'ArcGIS 10.0 est requise. Une installation valide permet une compatibilité descendante avec les géodatabases créées par ArcGIS 9.2 et versions ultérieures.

Si ArcReader n'est pas installé dans le répertoire d'installation par défaut, il peut être nécessaire de modifier l'emplacement binaire dans les préférences de MAPublisher, Basic Esri ArcSDE Server Editor.

Les caractères Unicode dans les noms de chemin ne sont pas pris en charge par les lecteurs de base de données personnelles et de géodatabase fichier.

Fonctionnalités prises en charge

Voici une liste des types de géométrie de géodatabase pris en charge et non pris en charge pour l'importation dans MAPublisher :


Création de connexions de bases de données spatiales

Avec ArcCatalog, vous pouvez explorer et gérer les données géographiques stockées dans un système de gestion de base de données relationnelle (SGBDR) via ArcSDE. De même, SDE for Coverages vous permet d'accéder aux bases de données de couverture, ArcInfo Librarian et ArcStorm de la même manière que vous accédez aux données d'un SGBDR. Pour accéder à ces bases de données, vous devez ajouter une connexion à la base de données spatiale à l'arborescence du catalogue.

Lorsque vous créez une connexion à une base de données spatiale, un fichier est créé sur l'ordinateur client* qui contient les informations de connexion que vous fournissez via la boîte de dialogue Connexion à la base de données spatiale. Certaines des informations que vous fournissez via la boîte de dialogue de connexion à la base de données spatiale sont obligatoires, d'autres sont facultatives, selon les exigences de votre site. Par exemple, vous pouvez choisir d'enregistrer ou de ne pas enregistrer les informations relatives au nom d'utilisateur et au mot de passe de la version et de la base de données dans le cadre du fichier de connexion.

*Si vous utilisez les données de cette connexion comme source pour un service, tel qu'un service de géotraitement ou de géocodage, vous devrez peut-être placer le fichier de connexion dans un emplacement partagé sur votre réseau. Consultez les rubriques Préparation des ressources à publier en tant que services (dans l'aide d'ArcGIS Server) et Accès aux données ArcSDE dans les outils pour plus d'informations sur le partage d'un fichier de connexion.

  • Dans le champ Serveur, saisissez le nom du serveur sur lequel réside la base de données à laquelle vous vous connectez. Si vous établissez une connexion directe, cette information n'est pas requise mais il est recommandé de la fournir quand même. Si vous ne fournissez pas le nom du serveur, le nom du serveur n'apparaîtra pas dans l'onglet Source de la table des matières dans ArcMap.
  • Dans le champ Service, vous devez saisir soit le numéro de port du service ArcSDE, soit le nom du service ArcSDE, soit la chaîne de connexion directe spécifique au type de SGBD auquel vous vous connectez. (Ces chaînes de connexion sont décrites dans les sections sur l'ajout d'une connexion directe dans cette rubrique.) Il est généralement plus simple de spécifier le numéro de port lors de la connexion via un service ArcSDE si vous utilisez le nom du service à la place, il doit y avoir une entrée dans les services sur la machine cliente qui contient le nom du service et son numéro de port correspondant. Si de nombreux clients se connectent via un service ArcSDE, la mise à jour de ces fichiers sur chaque ordinateur client prendrait plus de temps que de simplement spécifier le numéro de port du service dans la boîte de dialogue Propriétés de connexion à la base de données spatiale.
  • Tapez le nom de la base de données à laquelle vous vous connectez. Si vous vous connectez à une base de données Oracle, laissez ce champ vide.

Informations de connexion
Il existe deux options de connexion pour créer une connexion à une base de données spatiale : l'authentification de la base de données et l'authentification du système d'exploitation.

    Authentification de la base de données
    Si vous cochez Authentification de la base de données dans la boîte de dialogue Connexion à la base de données spatiale, vous devez fournir un nom d'utilisateur et un mot de passe de base de données pour vous connecter à la géodatabase. Les noms d'utilisateur peuvent comporter au maximum 30 caractères.

Décochez Enregistrer le nom et le mot de passe si vous préférez ne pas enregistrer vos informations de connexion dans le cadre de la connexion. Cela peut aider à maintenir la sécurité de la base de données. Cependant, si vous faites cela, vous devrez fournir un nom d'utilisateur et un mot de passe à chaque fois que vous vous connecterez.

Lorsque vous utilisez l'authentification du système d'exploitation dans SQL Server, la connexion au système d'exploitation est mappée à un utilisateur de base de données dans Oracle, la connexion au système d'exploitation est préfixée par une chaîne os_authent_prefix (par défaut, OPS$) et stockée dans la table USERNAME. Le nombre maximal de caractères autorisé pour ce nom d'utilisateur lors de la connexion à la géodatabase est de 30. Si votre nom d'utilisateur contient des caractères spéciaux ou des caractères d'échappement, tels qu'un signe dollar ou une barre oblique inverse, ArcGIS doit placer des guillemets autour du nom d'utilisateur. Ces citations comptent pour le total de 30 caractères.

Détails de connexion
Dans la section des détails de connexion de la boîte de dialogue Propriétés de connexion à la base de données spatiale, spécifiez la version de la géodatabase à laquelle vous souhaitez vous connecter. La connexion par défaut est à une version nommée sde.DEFAULT. Si vous souhaitez vous connecter à une version différente, cliquez sur le bouton Modifier. Cela ouvre la boîte de dialogue Détails de la connexion. À partir de là, vous choisissez soit une version transactionnelle, soit une version historique à laquelle vous connecter.

REMARQUE : pour savoir quelles versions sont disponibles, ArcCatalog doit pouvoir établir une connexion à la géodatabase. Par conséquent, si les informations de serveur ou de connexion que vous avez fournies sont incorrectes, vous ne pouvez pas modifier les versions.

Si vous laissez la case Enregistrer le nom de la version transactionnelle avec le fichier de connexion cochée, l'utilisateur se connectera toujours à la version transactionnelle spécifiée à l'aide de ce fichier de connexion. Si cette case n'est pas cochée, l'utilisateur sera invité à choisir une version à laquelle se connecter à chaque fois qu'il se reconnectera à l'aide de ce fichier de connexion. Notez que si vous avez choisi une version historique à laquelle vous connecter, cette case à cocher sera intitulée Enregistrer les détails historiques avec le fichier de connexion. Si la case est cochée, l'utilisateur se connectera toujours au marqueur historique ou à la date et l'heure spécifiés lors de l'utilisation de ce fichier de connexion.

Les situations pour lesquelles vous voudriez enregistrer la version sont si vous utilisez SQL Server et avez créé vos tables système dans le schéma dbo, vous souhaitez créer un fichier de connexion spécifique pour une géodatabase de schéma utilisateur dans Oracle, ou vous devez vous connecter au même version transactionnelle ou historique la plupart du temps.

Si vous devez souvent vous connecter à différentes versions transactionnelles ou historiques de la géodatabase, vous devez décocher l'option pour enregistrer la version avec le fichier de connexion. Cela signifie que vous serez invité à saisir les propriétés de connexion manquantes chaque fois que le fichier de connexion est utilisé.

S'assurer que cela fonctionne
Après avoir spécifié toutes les informations nécessaires à la connexion à la base de données spatiale, il est recommandé de cliquer sur Tester la connexion en bas de la boîte de dialogue Connexion à la base de données spatiale. Si le test de connexion échoue, contactez l'administrateur de la base de données pour vous assurer que la base de données est opérationnelle et que toutes les informations que vous avez fournies dans la boîte de dialogue sont correctes. Vous pouvez toujours ajouter cette connexion à ArcCatalog en cliquant sur OK, mais vous ne pourrez pas récupérer les données tant que le problème n'est pas résolu.

Les sections suivantes fournissent des instructions sur la façon de créer une connexion à une base de données spatiale à l'aide d'un service ArcSDE, à l'aide de la connexion directe et de la connexion à une version de géodatabase spécifique.


Comment créer des connexions de bases de données spatiales

Connexion à une base de données spatiale avec un service ArcSDE

  1. Cliquez sur le dossier Connexions aux bases de données dans l'arborescence du catalogue.
  2. Double-cliquez sur Ajouter une connexion à la base de données spatiale pour ouvrir la boîte de dialogue Propriétés de la connexion à la base de données spatiale.
  3. Tapez le nom ou l'adresse IP (Internet Protocol) du serveur auquel vous souhaitez vous connecter dans la zone de texte Serveur.
  4. Tapez le nom ou le numéro de port du service auquel vous souhaitez vous connecter dans la zone de texte Service.
    Si vous souhaitez vous connecter à une géodatabase dans le schéma d'un utilisateur dans une base de données Oracle, saisissez le numéro de port et le schéma dans la zone de texte Service séparés par un : par exemple, 5153:daisy.
  5. Si les données sont stockées dans un SGBDR SQL Server, IBM DB2, Informix ou PostgreSQL, saisissez le nom de la base de données à laquelle vous souhaitez vous connecter dans la zone de texte Base de données. Si les données sont stockées dans Oracle, ignorez cette étape.
  6. Si vous utilisez l'authentification de base de données, saisissez votre nom d'utilisateur et votre mot de passe pour la base de données. Si vous ne souhaitez pas enregistrer le nom d'utilisateur et le mot de passe avec ce fichier de connexion, décochez Enregistrer le nom d'utilisateur et le mot de passe.
  7. Si vous utilisez l'authentification du système d'exploitation, cliquez sur le bouton Authentification du système d'exploitation. Les informations d'authentification de la base de données deviennent indisponibles.
  8. Si vous vous connectez à une géodatabase dans la structure d'un utilisateur dans une base de données Oracle ou à une géodatabase dbo-schema dans SQL Server, vous devez modifier la version à laquelle vous vous connectez en cliquant sur Modifier dans la section Détails de la connexion et en choisissant la géodatabase dans le liste des versions transactionnelles. Pour plus de détails sur la connexion à une version spécifique d'une base de données, consultez Connexion à une version spécifique de la base de données.
  9. Si vous ne souhaitez pas enregistrer les informations de connexion de version que vous avez fournies à la dernière étape, décochez Enregistrer la version avec le fichier de connexion.
  10. Cliquez sur Tester la connexion.
    Si le test est réussi, le bouton devient indisponible. Si le test échoue, vous ne pouvez pas récupérer les données tant que vous n'avez pas fourni les informations correctes ou que le problème de la base de données n'a pas été résolu.
  11. Cliquez sur OK.
  12. Tapez un nouveau nom pour la connexion à la base de données.
  13. Appuyez sur Entrée.

La première série d'étapes explique comment ajouter une connexion directe à une géodatabase dans Oracle si vous utilisez l'authentification de base de données. La deuxième série d'étapes vous explique comment ajouter une connexion directe à une géodatabase dans Oracle si vous utilisez l'authentification du système d'exploitation. La dernière série d'étapes vous explique comment créer une connexion à une géodatabase dans la structure d'un utilisateur.

Établir une connexion directe à l'aide de l'authentification de base de données

  1. Double-cliquez sur le dossier Connexions aux bases de données dans l'arborescence du catalogue.
  2. Double-cliquez sur Ajouter une connexion à la base de données spatiale.
  3. Dans la zone de texte Serveur, saisissez le nom du serveur sur lequel réside la base de données Oracle.
  4. Si vous vous connectez à Oracle à l'aide d'un client Oracle9 i, dans la zone de texte Service, saisissez : "sde:oracle9i".
    Si vous vous connectez à Oracle à l'aide d'un client Oracle 10 g, saisissez : "sde:oracle10g".
    Si vous vous connectez à Oracle à l'aide d'un client Oracle 11 g, saisissez : "sde:oracle11g".
  5. Tapez votre nom d'utilisateur dans la zone de texte Nom d'utilisateur.
  6. Saisissez votre mot de passe, suivi de @<oracle network service name>, dans la zone de texte Mot de passe.
  7. Décochez Enregistrer le nom d'utilisateur et le mot de passe si vous ne souhaitez pas que vos informations de connexion soient enregistrées avec la connexion.
  8. Cliquez sur OK.
  9. Saisissez un nouveau nom pour la connexion à la base de données spatiale.
  10. Appuyez sur Entrée.

Établir une connexion directe à l'aide de l'authentification du système d'exploitation

  1. Double-cliquez sur le dossier Connexions aux bases de données dans l'arborescence du catalogue.
  2. Double-cliquez sur Ajouter une connexion à la base de données spatiale.
  3. Dans la zone de texte Serveur, saisissez le nom du serveur sur lequel réside la base de données Oracle.
  4. Si vous vous connectez à Oracle à l'aide d'un client Oracle9 i, saisissez "sde:oracle9i:/LOCAL=<SQL_Net_alias>" dans la zone de texte Service.
    Si vous vous connectez à Oracle à l'aide d'un client Oracle 10 g, saisissez "sde:oracle10g:/LOCAL=<SQL_Net_alias>".
    Si vous vous connectez à Oracle à l'aide d'un client Oracle 11 g, saisissez "sde:oracle11g:/LOCAL=<SQL_Net_alias>".
    L'alias SQL Net a été défini lorsque votre ordinateur a été configuré pour utiliser une connexion directe. Contactez votre administrateur système si vous ne savez pas quelle valeur remplacer ici.
  5. Cliquez sur le bouton Authentification du système d'exploitation. Les informations d'authentification de la base de données deviennent indisponibles.
  6. Cliquez sur OK.
  7. Saisissez un nouveau nom pour la connexion à la base de données spatiale.
  8. Appuyez sur Entrée.

Établir une connexion directe à une géodatabase de schéma utilisateur

  1. Double-cliquez sur le dossier Connexions aux bases de données dans l'arborescence du catalogue.
  2. Double-cliquez sur Ajouter une connexion à la base de données spatiale.
  3. Dans la zone de texte Serveur, saisissez le nom du serveur sur lequel réside la base de données Oracle.
  4. Si vous vous connectez à Oracle à l'aide d'un client Oracle9 i, saisissez « sde:oracle9i:/:<schema_name> » dans la zone de texte Service.
    Si vous vous connectez à Oracle à l'aide d'un client Oracle 10 g, saisissez "sde:oracle10g:/:<schema_name>".
    Si vous vous connectez à Oracle à l'aide d'un client Oracle 11 g, saisissez "sde:oracle11g:/:<schema_name>".
  5. Tapez votre nom d'utilisateur dans la zone de texte Nom d'utilisateur.
  6. Saisissez votre mot de passe, suivi de @<oracle network service name>, dans la zone de texte Mot de passe.
  7. Décochez Enregistrer le nom d'utilisateur et le mot de passe si vous ne souhaitez pas que vos informations de connexion soient enregistrées avec la connexion.
  8. Les connexions à la base de données spatiale sont établies par défaut avec la version sde.DEFAULT. Vous devez passer à une version de schéma utilisateur. Cliquez sur Modifier dans la section Détails de la connexion.
  9. Lorsque la boîte de dialogue Détails de la connexion s'ouvre, choisissez la version de la géodatabase de schéma utilisateur à laquelle vous souhaitez vous connecter. Il peut s'agir de <schema>.DEFAULT ou de toute autre version de cette géodatabase. Par exemple, si la structure dans laquelle se trouve la géodatabase est tubor et que vous souhaitez vous connecter à la version qa77, choisissez tubor.qa77 dans la liste des versions transactionnelles.
  10. Cliquez sur OK dans la boîte de dialogue Détails de la connexion pour la fermer.
  11. Cliquez sur OK.
  12. Saisissez un nouveau nom pour la connexion à la base de données spatiale.
  13. Appuyez sur Entrée.

  1. Double-cliquez sur le dossier Connexions aux bases de données dans l'arborescence du catalogue.
  2. Double-cliquez sur Ajouter une connexion à la base de données spatiale.
  3. Dans la zone de texte Serveur, saisissez le nom du serveur sur lequel réside la base de données SQL Server.
  4. Pour vous connecter à une géodatabase ArcSDE sur une instance par défaut de SQL Server, saisissez ce qui suit dans la zone de texte Service : "sde:sqlserver:<name ou l'adresse IP du serveur>".

    Pour vous connecter à une géodatabase ArcSDE sur une instance nommée de SQL Server, saisissez ce qui suit dans la zone de texte Service : "sde:sqlserver:<name ou l'adresse IP du serveur><instance_name>".

Si vous vous connectez à une géodatabase ArcSDE sur SQL Server Express, saisissez ce qui suit dans la zone de texte Service : "sde:sqlserver:<server_name><instance_name>".

REMARQUE : vous pouvez également créer une connexion de base de données spatiale à une géodatabase ArcSDE sur SQL Server Express en cliquant avec le bouton droit sur la géodatabase sous le nœud Serveurs de base de données et en cliquant sur Enregistrer la connexion.

REMARQUE : vous ne pouvez pas utiliser l'authentification de base de données pour une connexion à une géodatabase ArcSDE sur un serveur de base de données (une instance de SQL Server Express).

  1. Double-cliquez sur le dossier Connexions aux bases de données dans l'arborescence du catalogue.
  2. Double-cliquez sur Ajouter une connexion à la base de données spatiale.
  3. Dans la zone de texte Serveur, saisissez le nom du serveur sur lequel réside la base de données DB2 ou Informix.
  4. Si vous vous connectez à DB2, saisissez "sde:db2" dans la zone de texte Service. Si vous vous connectez à DB2 sur un IBM z/OS, saisissez "sde:db2zos" dans la zone de texte Service.

    Si vous vous connectez à Informix, tapez "sde:informix".
  5. Pour le nom de la base de données dans DB2, saisissez l'alias de la base de données à laquelle vous souhaitez vous connecter. (L'alias a été spécifié lors de la configuration de l'assistant de configuration DB2.)

    Pour le nom de la base de données dans Informix, saisissez le nom de la source de données Open Database Connectivity (ODBC).
  6. Si vous utilisez l'authentification de base de données, saisissez votre nom d'utilisateur et votre mot de passe.
  7. Uncheck Save username and password if you don't want your login information saved with the connection.
  8. If using operating system authentication, click the Operating system authentication button. The database authentication information becomes unavailable.
  9. Cliquez sur OK.
  10. Type a new name for the spatial database connection.
  11. Press Enter.

  1. Double-click the Database Connections folder in the Catalog tree.
  2. Double-click Add Spatial Database Connection to open the Spatial Database Connection Properties dialog box.
  3. In the Server text box, type the name of the server on which the PostgreSQL database resides.
  4. To connect to a geodatabase on an instance of PostgreSQL, type the following in the Service text box: "sde:postgresql:<name of the server>".

NOTE: If you are making a direct connection to a local PostgreSQL database, type "sde:postgresql:localhost".


Оплата

опрос. Предусмотрена ли плата за настройку или обязательства по минимальному сроку обслуживания для использования AWS Direct Connect?

Плата за настройку не взимается. От использования сервиса можно отказаться в любой момент. На сервисы, предоставляемые партнерами по AWS Direct Connect, могут распространяться другие условия или ограничения.

опрос. Как оплачивается пользование сервисом AWS Direct Connect?

Стоимость AWS Direct Connect включает две отдельные статьи: время использования портов (в часах) и передачу данных. Стоимость рассчитывается для портов каждого типа на основе общего количества часов работы. Неполные часы использования порта оплачиваются как полные. Плата за время использования порта взимается с аккаунта, владеющего соответствующим портом.

Плата за передачу данных через AWS Direct Connect включается в счет за тот месяц, в котором она состоялась. См. дополнительную информацию ниже, чтобы понять, как будет начисляться плата за передачу данных.

опрос. Будет ли региональная передача данных оплачиваться по тарифам AWS Direct Connect?

Нет, передача данных между зонами доступности в рамках региона оплачивается по стандартным тарифам региона на передачу данных в том же месяце, в котором происходило использование.

опрос. Как оплачивается время использования портов для размещенных подключений?

Время использования портов оплачивается с момента принятия размещенного подключения. Плата за порт будет начисляться в течение всего периода, когда размещенное подключение выделено для использования. Если вы больше не хотите оплачивать размещенное подключение, обратитесь к партнеру по AWS Direct Connect, чтобы отключить его.

опрос. Какова схема почасовой оплаты портов для размещенного подключения?

Платежи за почасовое использование портов для размещенного подключения в местоположении Direct Connect группируются по пропускной способности.

Например, счет для клиента с двумя отдельными размещенными соединениями со скоростью 200 Мбит/с в местоположении Direct Connect без каких-либо других размещенных соединений в этом местоположении. Платежи за почасовое использование двух отдельных размещенных соединений со скоростью 200 Мбит/с будут объединены в один элемент с меткой «HCPortUsage:200M» в конце. Если общее количество часов в месяц равно 720, то общее время использования порта для этого элемента будет равно 1440, то есть общее количество часов в месяце, умноженное на общее количество размещенных подключений 200 Мбит/с в этом местоположении.

Идентификаторы ресурса размещенного подключения, которые могут появиться в вашем счете:

HCPortUsage:50M
HCPortUsage:100M
HCPortUsage:200M
HCPortUsage:300M
HCPortUsage:400M
HCPortUsage:500M
HCPortUsage:1G
HCPortUsage:2G
HCPortUsage:5G
HCPortUsage:10G

Обратите внимание, что идентификаторы ресурсов отображаются по местоположению в зависимости от ресурсов размещенного подключения, которое используется в каждом местоположении.

опрос. С какого аккаунта AWS взимается плата за исходящую передачу данных, выполненную через публичный виртуальный интерфейс?

В случае использования общедоступных ресурсов AWS (например, корзин Amazon S3, инстансов EC2 Classic или трафика EC2 через интернет‑шлюз), если исходящий трафик предназначен для общедоступных префиксов, принадлежащих тому же аккаунту плательщика AWS, и активно взаимодействует с AWS через публичный виртуальный интерфейс AWS Direct Connect, использование передачи исходящих данных (DTO) для владельца ресурса учитывается в соответствии со скоростью передачи данных AWS Direct Connect.

Информацию о ценах на AWS Direct Connect см. на странице цен на AWS Direct Connect. Если услуги по поддержке подключения Direct Connect предоставляются партнером по AWS Direct Connect, для получения информации о возможных дополнительных расходах обратитесь непосредственно к этому партнеру.

ВОПРОС. В каком аккаунте AWS начисляется плата за передачу исходящих данных, выполняемую через транзитный / частный виртуальный интерфейс?

С введением возможности точного распределения при передаче исходящих данных плата за передачу исходящих данных через виртуальный транзитный / частный интерфейс начисляется в аккаунте AWS, выполняющем такую передачу. Аккаунт AWS, инициировавший передачу исходящих данных, будет определяться на основании использования клиентом виртуального частного / транзитного интерфейса согласно следующим принципам.

Частный виртуальный интерфейс (несколько интерфейсов) используется для взаимодействия с облаком (несколькими облаками) Amazon Virtual Private Cloud через шлюз (несколько шлюзов) Direct Connect или без таковых. В случае частного виртуального интерфейса плата будет начислена в аккаунте AWS, владеющем ресурсами AWS, которые инициировали передачу исходящих данных.

Транзитный виртуальный интерфейс (несколько интерфейсов) используется для взаимодействия со шлюзом (несколькими шлюзами) AWS Transit Gateway. В случае использования транзитного виртуального интерфейса плата начисляется в аккаунте AWS, которому принадлежит облако (несколько облаков) Amazon Virtual Private Cloud, подключенное к шлюзу AWS Transit Gateway, который, в свою очередь, связан со шлюзом Direct Connect, подключенным к транзитному виртуальному интерфейсу. Обратите внимание, что все применимые специальные сборы за использование шлюза AWS Transit Gateway (за обработку и вложение данных) будут начисляться в дополнение к плате за передачу исходящих данных AWS Direct Connect.

ВОПРОС. Как AWS Direct Connect использует консолидированную оплату?

Использование передачи данных AWS Direct Connect суммируется в главном аккаунте.

ВОПРОС. Как отключить сервис AWS Direct Connect?

Чтобы отключить сервис AWS Direct Connect, необходимо удалить порты в Консоли управления AWS. Кроме того, необходимо прекратить использование всех сервисов сторонних компаний. К примеру, нужно будет обратиться к провайдеру колокационных услуг для отключения всех кросс‑подключений от AWS Direct Connect и (или) к поставщику сетевых услуг, который обеспечивает сетевое подключение из вашего удаленного местоположения к местоположению AWS Direct Connect.

опрос. Ваши цены указаны с учетом налогов?

Если не указано иное, представленные здесь цены не включают применимые налоги и сборы, в том числе НДС и применимый налог с продаж. Для клиентов с платежным адресом в Японии использование сервисов AWS облагается потребительским налогом Японии. Подробнее.


Abstrait

A rule-based topology software system providing a highly flexible and fast procedure to enforce integrity in spatial relationships among datasets is presented. This improved topology rule system is built over the spatial extension Jaspa. Both projects are open source, freely available software developed by the corresponding author of this paper.

Currently, there is no spatial DBMS that implements a rule-based topology engine (considering that the topology rules are designed and performed in the spatial backend). If the topology rules are applied in the frontend (as in many GIS desktop programs), ArcGIS is the most advanced solution. The system presented in this paper has several major advantages over the ArcGIS approach: it can be extended with new topology rules, it has a much wider set of rules, and it can mix feature attributes with topology rules as filters. In addition, the topology rule system can work with various DBMSs, including PostgreSQL, H2 or Oracle, and the logic is performed in the spatial backend.

The proposed topology system allows users to check the complex spatial relationships among features (from one or several spatial layers) that require some complex cartographic datasets, such as the data specifications proposed by INSPIRE in Europe and the Land Administration Domain Model (LADM) for Cadastral data.


Block outgoing connections on RHEL7/CentOS7 with firewalld?

RHEL7/CentOS7 features a new firewalld firewall service, that replaces the iptables service (both of which use iptables tool to interact with kernel's Netfilter underneath).

firewalld can be easily tuned to block incoming traffic, but as noted by Thomas Woerner 1,5 years ago "limiting outgoing traffic is not possible with firewalld in a simple way at the moment". And as far as I can see the situation hasn't changed since then. Or has it? Is there any way to block outgoing traffic with firewalld ? If not are there any other "standard" ways (on RHEL7 distro) of blocking outgoing traffic except manually adding rules through iptables tool?


Best Practice - How to analyze and secure RFC connections

There are various types of RFC scenarios, and when you look at them (if found) in an existing live system and want to secure them then it can seem a daunting technical and organizational task. However, if you tackle it systematically then it is a hard days work but not that difficult.

This wiki aims to document best practice approaches for securing RFC connections. It is essential that you have some basic understanding of RFC from a programming perspective and the difference between RFC servers (typically an SAP system in this context as the target of the RFC call) and RFC clients (which might also be another SAP server system acting as "caller", or an RFC SDK script on a user's client machine).

Please see the RFC / ICF Security Guide for official SAP documentation and further reading.

General comment: Please use the user type SYSTÈME for all RFC scenarios and NOT the user type COMMUNICATION. Main reasons are that SYSTEM type users cannot change their own passwords at interactive logon-time (e.g. via http) and are not required to either by the password rules. They also cannot issue SAP Logon Tickets to remote http callers. They both are not SAPGui capable, but can logon via other protocols.

Additional general comment: You must go about this task very very carefully. and test what you have done and best is that you are not doing it for the first time on your own. If you disrupt business processes because of users who "supposedly" cannot logon to the system, then you will probably not have a second chance to secure your RFC security. Please be very carefull and read this wiki in detail and the links contained in it.

General Tips & Tricks for approaching a cleanup.

The most common root cause of not knowing what is going on in RFC and therefore having very limited chances of securing it stems from not respecting the cardinality of the connections. For example, user "ALEREMOTE" used in all RFC connections between various systems (including their DEV and QAS systems) with the same password in all is a design error. "Cardinality" means 1:1 user:connection relationships (if the "current user" option is not used). This problem is particularly accute if you use CUA or an IdM for "this" user which might have stored logon data in the secure stores of several client side systems, scripts, .ini files, hardcoded into programs, etc.

To go about fixing this, the following approach can be used:

  1. Collect information about existing RFC destinations in your system landscape from RFC server systems
    1. Download table RFCDES to Excel from each SID (it is client independent, like SM59 is as well. ) to "take stock" of the current setup, document your progress later and changes made.
    2. You can either use SE16 to retrieve table RFCDES or you can use report RSRFCCHK with selection ‘Display all RFC destination’. Using the report has the advantage to get information about RFC destinations containing user credentials, too. Implementing SAP N ote 1646124 from November 2011 you can check http destinations (type G), too, and you get an extended output list.
    3. Also consider the RFC Client Destination Profile of the Workload Statistics in transaction ST03N to start with analysis about activly used RFC destinations (see How to get RFC call traces to build authorizations for S_RFC for free!).
    1. We have to distinguish between RFC authorizations for system users and dialog users. Dialog users require some RFC authorizations as well but for now let’s concentrate on system users.
    2. Create new SYSTEM type users first in the target client (using transaction SU01) with the same role and profile assignments than the existing RFC users like ALEREMOTE, etc. Use a naming convention which identifies the user ID according to where it is being called from. Par exemple. RFC_HCM_01 would exist in the FI system (created with transaction SU01) and be called from the HR system (using a RFC destination defined with transaction SM59).
    3. Use 8 character upper-case passwords if required, so that these users do not force the whole system to remain downwardly compatible. Generate the passwords using the SU01 wizard to make them cryptic (also see PRGN_CUST options).
    4. Use a naming convention for the new user's names so that you can later range SM19 audit log filters (E.g. RFC* - which is possible in higher releases via RZ10 profile parameter rsau/user_selection=1 - see SAP Note 574914) and assign them all to a secure user group. Create a new one for technical system users if required, so that you can later protect them and select them easily in reports.
    5. When your new target users are ready, then switch the RFC logon data in the calling systems (SM59) to the new dedicated ID and PWD and keep an eye on ST22 for dumps incase you got something wrong
    1. Monitor the RFC calls on the new users with the Security Audit Log dynamic filters in transaction SM19 to be able to build their role later. Make sure you only activate it for them and that your file size is sufficient.
    2. Also consider the RFC Server Profile of the Workload Statistics in transaction ST03N for the old users to start with analysis (see How to get RFC call traces to build authorizations for S_RFC for free!).
    3. Meanwhile, monitor the RFC logons of the old users with transaction/report RSUSR200 until they stop logging on. You need to give this at least a month's time before removing their access first (so that any callers still coming in will write an ST22 dump to alert you about the user still existing in a connection somewhere. Later you can lock them and "retire" them to a user group for the same. Do not delete them, as you might well need the ability to access change documents specific to them later (e.g. during an audit).
    1. Now you can start building the roles for the groups of RFC users. A "one-size-fits-all" role would defeat the purpose of the security hardening project, however they can be grouped. For examples of the possibilities to "group" the types of RFC, see the section below on Best Practices (per client).
    2. The most elegant way to build the roles is from the function module name taken from the SM19 audit log in Production, and build with these in DEV. Yes, there will be different requirements in DEV and even QAS (e.g. the ability to use external debugging of the RFC calls) but for this a special and separate role only for DEV can be added. Additionally, developers need to be aware that creating new functionality for existing connections which make new checks, require that the role to actually use the functionality need to be developed further alongside it. Possibly even a new destination and user for it will need to be setup. This is very important for the sustainability of the security setup, otherwise at the next shortdump SAP_ALL will be back.
    3. Via the menu tab of the role, you can insert the function module name as "Authorization Defaults" and pull the proposals from SU24 for them as you would do with transaction codes in a normal user role's menu. However these proposal indicators are seldom maintained, therefore you mainly will get the required S_RFC authorizations automatically. You can organize these “Authorization Defaults” in foldes to document why these function are added to the role.

    Best practice of RFC types (per client)

    To make the target system clearer for different use cases of RFC, please add a new client to the wiki when you want to document a best practice for a use case which differentiates itself from existing ones.

    Client 000 - CCMS agents and trusted RFC.

    Although the agents will push monitoring information to a Solution Manager, the administrators might want to be able to navigate easily to the component systems to fix a problem and back to the SolMan as well. For this, trusted RFC is usefull as only one destination with the "current user" flag set is needed in SM59 on the client side and carefull authority for object S_RFCACL on the server side. As someone able to change passwords of other users or maintain the SM59 connection to enter a specific user could gain access to the target system in a different user context, it is important that systems which trust each other for trusted RFC should have the same security status and even be auditable to each other.

    For this a dedicated role containing only restrictive S_RFCACL authorizations is needed, which will be in addition to the already existing basis and application roles of the dialog user for whom remote navigation is now enabled. It is advisable to monitor use of this object in all roles. By default, it is not even included in SAP_ALL.

    Client 100 - ALE and productive data.

    Please see SAP Note 460089 for release dependent recommendations on the minimum requirements for ALE scenarios.

    In this case it can be usefull to maintain SU24 for the function modules IDOC_INBOUND_ASYNCHRONOUS and IDOCTYPE_READ_COMPLETE so that you do not need to reinvent the wheel (and make different mistakes) each time. Some security recommendations are mention seperating the RFC communication user which recieved the IDOCS from the background user which processes them, however for a 20% effort : 80% security improvement this does not have to be included - the background processing will anyway do that which it is instructed to do.

    Client 200 - CUA and client side security.

    Central User Administration also uses RFC to send data to the child systems and read role information into the central system, etc. As the RFC SYSTEM type user needs to be equiped with user administration authorizations (see SAP Note [ 492589|https://service.sap.com/sap/support/notes/492589] ) and RFC connections will generally always be able to do that which you authorize them to do, it can make sense to use application authorizations to control who can even display or more importantly call that destination.

    When an RFC client calls a function module via a destination with saved login data (SM59) the S_RFC object is checked on the RFC server side (application server) and performed against the user entered in SM59 (or the current calling user if none is entered). This will determine what the connection does. But who can invoke that communication? (e.g. the CUA).

    Restricting access to SU01 etc is not sufficient, as the user might be able to execute the function modules directly from the workbench (see SAP Note 587410 ) or call it from an existing ABAP program or their own one, or even from another system which exposes the "target destination" and the "function name" to another RFC?

    You can protect the ability to call the destination at all, or administrate it in SM59 or any of a number of. yes, function modules. by using the "authorization group" field in SM59's login and security tab. This is an optional grouping concept, which protects the selection of the destination via object S_RFC_ADM and protects it from being called by a user via object S_ICF. The administration of the connection uses the destination's technical name via object S_RFC_ADM and not the authorization group literal.

    The downside of this, is that it is not scalable to large groups of users (for example to protect WORKFLOW destinations) but highly effective for special powerfull RFC connections.

    Note: If an RFC user has SAP_ALL, then it can be used to administrate any connection data - including it's own - and remove this client side RFC protection again. So this is not an excuse to give the RFC user SAP_ALL!

    Client 300 - Workflow and application authorizations.

    This is a tricky case where only good documentation of implemented workflows and testing of them together with security can help.

    For the basic authority required, please see SAP Note 1251255 . For the application authorizations which the workflow needs, this very much depends on the workflow used. There is no medication available for this, although a copy of a business user role can be a shortcut - remember to disable S_TCODE and S_RFC and add additional application objects as required.

    Sorry folks, that's all for now.

    Client "ICF" - Proxies and externally exposed services.

    Client "external" - External RFC server programs and TC/IP connections

    Client "http" - Type G connections via RFC calls

    Client "TMS" - The Transport Management System mechanism


    Voir la vidéo: Postgresql: Create Postgis database and import shapefiles. (Octobre 2021).