Modification des mots de passe des schémas eBusiness Suite avec FNDCPASS et AFPASSWD

Après une fresh install de la eBusiness Suite, nous obtenons dans la base de données des dizaines de schémas eBS ; les mots de passe de ces schémas sont, à 1 ou 2 exceptions près, le nom du schéma lui-même (APPS/APPS, GL/GL, AP/AP,…), ce qui est pratique mais peu raisonnable (pour des raisons évidentes de sécurité).

Ces mots de passe doivent donc être changés.

COMPREHENSION DU CONTEXTE

→ Des mots de passe présents à 2 endroits

Les schémas eBS stockent leurs mots de passe dans le dictionnaire de données Oracle, comme tous les schémas bien élevés.

Mais les utilitaires d’administration technique de la eBS (adpatch et adadmin en particulier) peuvent avoir besoin de connaître ces mots de passe, sans pour autant avoir la possibilité de les décrypter.

Les mots de passe des schémas eBS sont donc stockés à deux endroits :
– dans le dictionnaire Oracle (vue DBA_USERS)
et dans le dictionnaire Oracle Applications (table FND_ORACLE_USERID), pour pouvoir être lus par les utilitaires AD

Pour changer le mot de passe d’1 seul schéma eBS, il faut donc faire 2 modifications…

→ Des schémas de catégories différentes

Dans une base de données eBS, Oracle fait la différence entre 6 grandes « Category » de schémas, mais nous pouvons nous contenter de distinguer 4 types de schémas dans le cadre de la modification des mots de passe :

  • Les schémas « applicatifs » de la eBS (GL, AP, AR, INV,…) : à quelques exceptions près, chaque application de la eBS a son propre schéma dans la base de données.
  • Les deux schémas « Appli-Tech » APPS et APPLSYS : APPS est propriétaire – entre autres – des vues et packages de la eBS, et APPLSYS est propriétaire des tables des principales applications tech (Application Object Library (FND), Application DBA (AD), Workflow (WF), etc). APPS et APPLSYS doivent avoir le même mot de passe ; la modification de l’un doit donc entraîner la modification de l’autre.
  • Le « Gateway User Id » APPLSYSPUB : ce schéma est le seul dont le mot de passe par défaut (« PUB » pour « public ») n’aura pas besoin d’être modifié, puisqu’APPLSYSPUB a justement été créé pour que son mot de passe soit connu de tous.
  • Et tous les autres schémas (SYS, SCOTT, PORTAL_30, SYSTEM par exemple) : ces schémas ne sont pas purement applicatifs et leur mot de passe n’est donc pas stocké dans le dictionnaire Oracle Applications. La modification de ces mots de passe se fera directement sous SQL*Plus (« alter user… » ou « password… »).

Il faut donc également distinguer le cas des schémas applicatifs (GL, AP, AR…) du cas d’APPS et APPLSYS lorsque l’on souhaite modifier un mot de passe…
→ Des outils créés sur mesure :
Pour nous faciliter la vie, les développeurs de la eBS ont créé deux utilitaires pour modifier les mots de passe dans la eBS : modification à plusieurs endroits en une seule fois, et en cascade dans le cas d’APPS et APPLSYS.

L’ancêtre : FNDCPASS

Présent dans toutes les versions de la eBS, FNDCPASS est l’outil « classique » que les DBAs eBusiness Suite utilisent depuis leur jeunesse pour changer les mots de passe des schémas eBS.

Une fois connecté au « serveur d’application », il suffit de taper FNDCPASS pour voir apparaître les règles d’usage :

FNDCPASS logon O Y system/password mode username new_password

  • logon : apps/apps_pwd (utilisateur apps pour accèder au dictionnaire Oracle Applications)
  • 0 Y : signifie que FNDCPASS pourrait être appelé via un traitement simultané (« Concurrent program ») et lancé par un Gestionnaire de Traitements Simultanés (« Concurrent Manager ») : le chiffre 0 serait alors remplacé par le « REQUEST_ID » de la demande correspondante. Le « Y » indique simplement qu’il y a des paramètres qui suivent…
  • system/password : pour accéder au dictionnaire Oracle
  • mode : le mode (voir plus bas) ; permet d’indiquer de quel type de schéma / utilisateur nous souhaitons modifier le(s) mot(s) de passe
  • username : le nom du schéma (ou de l’utilisateur applicatif, selon les cas) concerné
  • new_password : le nouveau mot de passe

Exemples plus bas…

Le nouveau : AFPASSWD

Apparu en 12.1.2, AFPASSWD a les mêmes objectifs que FNDCPASS (changement des mots de passe des schémas et utilisateurs applicatifs), avec ces particularités :

  • AFPASSWD ne demande que les mots de passe dont il a besoin pour faire ce qu’il a à faire (SYSTEM et/ou APPS), et ces mots de passe n’apparaissent pas à l’écran
  • avec AFPASSWD, le nouveau mot de passe saisi n’est pas un paramètre passé en ligne de commande : il reste masqué et il faut le saisir 2 fois
  • AFPASSWD permet en plus de verrouiller/déverrouiller un ou plusieurs schémas dans la base de données

La syntaxe d’AFPASSWD est la suivante :
AFPASSWD [-c <APPSUSER>[@<TWO_TASK>]] [-modes  et paramètres]

Si la partie connection (« [-c <APPSUSER>[@<TWO_TASK>]] ») n’est pas précisée, AFPASSWD va utiliser les valeurs par défaut de l’environnement.

Les « modes et paramètres » sont décrits ci-dessous, avec les exemples.

MODIFICATION DES MOTS DE PASSE AVEC FNDCPASS et AFPASSWD

Avant de lancer FNDCPASS ou AFPASSWD

  • Faites une sauvegarde de la table FND_ORACLE_USERID (ou de FND_USER dans le cas d’une modification du mot de passe d’un utilisateur applicatif)
  • Connectez-vous à un serveur d’applications eBS avec le propriétaire de l’APPL_TOP, et vérifiez que les variables d’environnement eBS sont bien positionnées

→ Modification du mot de passe d’un schéma applicatif
Avec FNDCPASS : FNDCPASS apps/apps_pwd 0 Y system/system_pwd ORACLE AP new_pwd_ap

Mode ORACLE de FNDCPASS : ce mode permettra de modifier le mot de passe d’un et un seul schéma applicatif dans la base ; il concerne donc les schémas GL, AP, AR (…), mais pas APPS ni APPLSYS ni APPLSYSPUB.

Avec AFPASSWD : AFPASSWD -o GL

Les mots de passe d’APPS et SYSTEM sont demandés, et le nouveau mot de passe du schéma applicatif est saisi 2 fois ; cette option « -o » ne concerne pas les mots de passe d’APPS ou APPLSYS.

→ Modification du mot de passe d’APPS et APPLSYS

Avec FNDCPASS : FNDCPASS apps/apps_pwd 0 Y system/system_pwd SYSTEM APPLSYS new_pwd

Mode SYSTEM de FNDCPASS : ce mode modifiera en une seule fois les mots de passe des 2 schémas APPS et APPLSYS dans DBA_USERS et FND_ORACLE_USERID (soit 4 modifications en tout).

Avec AFPASSWD : AFPASSWD -s APPLSYS

Les mots de passe d’APPS et SYSTEM sont demandés, et le nouveau mot de passe d’APPLSYS et d’APPS doit être saisi 2 fois.

→ Modification du mot de passe de tous les schémas applicatifs

Avec FNDCPASS : FNDCPASS apps/apps_pwd 0 Y system/system_pwd ALLORACLE new_pwd

Mode ALLORACLE de FNDCPASS : ce mode n’apparaît pas lorsque l’on voit apparaître l’aide de FNDCPASS, même quand il est disponible. Si ce mode ALLORACLE n’est pas reconnu, vous pouvez appliquer le patch 5080487.
Ce mode ALLORACLE permet de modifier « en masse » (en français dans la note) les mots de passe des schémas applicatifs (GL, AP, AR…) qui auront donc tous le même mot de passe. C’est une bonne chose parce que vous modifiez tous les mots de passe en une seule fois, c’est éventuellement une moins bonne chose parce que vous donnez le même mot de passe à tous les schémas applicatifs (sauf APPS, APPLSYS et APPLSYSPUB…). C’est vous qui voyez.

Avec AFPASSWD : AFPASSWD -a

Les mots de passe d’APPS et SYSTEM sont demandés, et le nouveau mot de passe de tous les schémas applicatifs est saisi 2 fois ; cette option « -a » ne concerne pas les mots de passe d’APPS, APPLSYS ni APPLSYSPUB.

TANT QU’ON Y EST…
FNDCPASS et AFPASSWD ont été créés à l’origine pour modifier les mots de passe des schémas de la base de données eBS. Les développeurs qui ont fait ce travail ont dû se dire : « tant qu’on y est, on a qu’à ajouter une option pour changer les mots de passe des utilisateurs applicatifs… ». Et pour AFPASSWD, ils ont même créé une nouvelle option qui permet de verrouiller un schéma…
→ Modification du mot de passe d’un utilisateur applicatif

Avec FNDCPASS : FNDCPASS apps/apps_pwd 0 Y system/system_pwd USER OPERATIONS new_pwd_operations

Mode USER de FNDCPASS : le mode USER permet de mettre à jour le mot de passe d’un utilisateur applicatif, stocké dans la table FND_USER (SYSADMIN, OPERATIONS…).

Avec AFPASSWD : AFPASSWD -f OPERATIONS

Le mot de passe d’APPS (et seulement d’APPS) est demandé, et le nouveau mot de passe d’un utilisateur applicatif est saisi 2 fois.

→ Verrouillage / déverrouillage d’un schéma eBS

AFPASSWD -l GL TRUE  (pour verrouiller le schéma GL), ou  AFPASSWD -l GL FALSE (pour déverrouiller le schéma GL)

Les mots de passe d’APPS et SYSTEM sont demandés et le schéma concerné est verrouillé/déverrouillé (« The account for Oracle Applications database user: GL is locked/unlocked »).

→ Verrouillage / déverrouillage de tous les schémas eBS

AFPASSWD -L TRUE  (pour verrouiller), ou AFPASSWD -L FALSE (pour déverrouiller)

Les mots de passe d’APPS et SYSTEM sont demandés.

→ Après avoir lancé FNDCPASS ou AFPASSWD

  • Testez
  • Lancez AutoConfig
  • Si plus rien ne fonctionne, restaurez les tables FND_ORACLE_USERID et/ou FND_USER sauvegardées précédemment.

Pour aller plus loin :

  • Vous pouvez suivre la formation « R12.x eBS : installation, application de patches et maintenance » : Installation de la eBS, présentation de l’architecture physique, organisation du système de fichiers et de la base, puis présentation de tous les outils « AD » (application DBA) pour la maintenance de la eBS (patches, clônage, maintenance du système de fichiers et des objets de la base (…))  (https://easyteam.fr/formation-oracle/Catalogue/r12x-installpatchmaintain-oracle-e-business-suite-D59086 )
  • Et vous pouvez consulter les notes  :
    • « Secure Configuration Guide for Oracle E-Business Suite 11i [ID 189367.1] »
    • « How to Change Applications Passwords using Applications Schema Password Change Utility (FNDCPASS or AFPASSWD) [ID 437260.1] »