

AWS Le service de modernisation du mainframe (expérience de l'environnement d'exécution géré) n'est plus ouvert aux nouveaux clients. Pour des fonctionnalités similaires au service de modernisation AWS du mainframe (expérience de l'environnement d'exécution géré), explorez le service de modernisation AWS du mainframe (expérience autogérée). Les clients existants peuvent continuer à utiliser le service normalement. Pour plus d'informations, consultez la section [Modification de la disponibilité de la modernisation du AWS mainframe](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# AWS Les secrets d'exécution de Transform for Mainframe
<a name="ba-runtime-config-app-secrets"></a>

Certaines configurations de ressources contenant des informations d'identification peuvent être davantage sécurisées à l'aide de AWS secrets. L'idée est de stocker les données critiques dans un AWS secret et de faire référence au secret dans la configuration YAML afin que le contenu secret soit récupéré à la volée au démarrage d'Apache Tomcat.

## Secrets pour Aurora
<a name="ba-runtime-config-app-secrets-aur"></a>

La configuration de la base de données Aurora (pour JICSBlusam, la base de données client, etc.) utilisera le [secret de base de données](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_database_secret.html) intégré, qui remplira automatiquement tous les champs pertinents à partir de la base de données correspondante.

**Note**  
La `dbname` clé est facultative, selon la configuration de votre base de données, elle entrera dans le secret ou non. Vous pouvez l'y ajouter manuellement ou en fournissant le nom au fichier YAML.

## Autres secrets
<a name="ba-runtime-config-app-secrets-other"></a>

Les autres secrets concernent les ressources dotées d'un mot de passe unique (notamment les caches Redis protégés par mot de passe). Dans ce cas, l'[autre type de secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) doit être utilisé.

### Références YAML aux secrets
<a name="ba-runtime-config-app-secrets-reference"></a>

Ils `application-main.yml` peuvent référencer l'ARN secret pour différentes ressources :

### Base de données JICS
<a name="jics-database"></a>

Informations d'identification de base de données JICS avec `spring.aws.jics.db.secret`

```
spring:
   aws:
     jics:
       db:
         dbname: jics
         secret: arn:aws:secretsmanager:XXXX
```

Clés secrètes de base de données JICS prises en charge :


| Clé secrète | Description de la clé secrète | 
| --- | --- | 
| hôte | Le nom de l'hôte | 
| port | Le port | 
| dbname | Le nom de la base de données | 
| nom d’utilisateur | Le nom d'utilisateur | 
| mot de passe | Le mot de passe | 
| engine | Moteur de base de données : Postgres, Oracle, Db2, Microsoft SQL Server | 
| Schéma actuel | Schéma spécifique à utiliser (support DB2 uniquement) | 
| Connexion SSL | S'il faut utiliser une connexion SSL (support DB2 uniquement) | 
| sslTrustStoreLocation | L'emplacement du truststore sur le client (support DB2 uniquement) | 
| sslTrustStoreMot de passe | Le mot de passe du truststore sur le client (support DB2 uniquement) | 

**Note**  
Le nom de la base de données est fourni soit dans le secret, soit dans la référence `spring.aws.jics.db.dbname` yaml.

### Base de données Blusam
<a name="blusam-database"></a>

Blusamidentifiants de base de données avec `spring.aws.client.bluesam.db.secret`

```
spring:
   aws:
     client:
       bluesam:
         db:
           dbname: bluesam 
           secret: arn:aws:secretsmanager:XXXX
```

Clés secrètes Blusam de base de données prises en charge :


| Clé secrète | Description de la clé secrète | 
| --- | --- | 
| hôte | Le nom de l'hôte | 
| port | Le port | 
| dbname | Le nom de la base de données | 
| nom d’utilisateur | Le nom d'utilisateur | 
| mot de passe | Le mot de passe | 
| engine | Moteur de base de données : Postgres | 

**Note**  
Le nom de la base de données est fourni soit dans le secret, soit dans la référence `spring.aws.client.bluesam.db.dbname` yaml.

### Base de données clients
<a name="client-database"></a>

Le client `application-profile.yml` peut référencer l'ARN secret de la base de données client. Cela nécessite une propriété supplémentaire pour répertorier les noms `spring.aws.client.datasources.names` des sources de données. Pour chaque nom de source de données, `ds_name` spécifiez l'ARN secret dans la propriété suivante : `spring.aws.client.datasources.ds_name.secret` Exemple :

```
spring:
   aws:
     client:
       datasources:
         names: primary,host 
         primary:
           secret: arn:aws:secretsmanager:XXXX
         host:
           dbname: hostdb 
           secret: arn:aws:secretsmanager:XXXX
```

*noms : principal, hôte* :

Exemple avec deux sources de données clientes nommées primary et host, chacune avec sa base de données et ses informations d'identification.

*nom de base de données : hostdb :*

Dans cet exemple, le nom de la base de données « hôte » ne figure pas dans le secret et est fourni ici à la place, tandis que pour la base de données « principale », il figure dans le secret.

Clés secrètes de base de données client prises en charge :


| Clé secrète | Description de la clé secrète | 
| --- | --- | 
| hôte | Le nom de l'hôte | 
| port | Le port | 
| dbname | Le nom de la base de données | 
| nom d’utilisateur | Le nom d'utilisateur | 
| mot de passe | Le mot de passe | 
| engine | Moteur de base de données : Postgres, Oracle, Db2, Microsoft SQL Server | 
| Schéma actuel | Schéma spécifique à utiliser (support DB2 uniquement) | 
| Connexion SSL | S'il faut utiliser une connexion SSL (support DB2 uniquement) | 
| sslTrustStoreLocation | L'emplacement du truststore sur le client (support DB2 uniquement) | 
| sslTrustStoreMot de passe | Le mot de passe du truststore sur le client (support DB2 uniquement) | 

### Base de données des utilitaires PGM
<a name="pgm-utility-database"></a>

Ils `application-utility-pgm.yml` peuvent référencer l'ARN secret pour diverses ressources.
+  `spring.aws.client.datasources.primary` 
  + `secret`

     ARN secret pour la base de données de l'application.

Type : chaîne
+ `type`

Nom complet de l'implémentation du pool de connexions à utiliser.

Type : chaîne

Valeur par défaut : `com.zaxxer.hikari.HikariDataSource`
+ `spring.aws.client.utility.pgm.datasources` 
  + `names`

Liste des noms de sources de données.

Type : chaîne
+ `dsname` 
  + `dbname`

Nom de l'hôte.

Type : chaîne
+ `secret`

ARN secret de la base de données hôte.

Type : chaîne
+ `type`

Nom complet de l'implémentation du pool de connexions à utiliser.

Type : chaîne

Valeur par défaut : `com.zaxxer.hikari.HikariDataSource`

Pour un secret contenant plusieurs sources de données :

```
spring:
   aws:
     client:
       primary:
         secret: arn:aws:secretsmanager:XXXX
         type: dataSourceType
       utility:
         pgm:
           datasources:
             names: dsname1,dsname2,dsname3
               dsname1:
                 dbname: dbname1
                 secret: arn:aws:secretsmanager:XXXX
                 type: dataSourceType
               dsname2:
                 dbname: dbname2
                 secret: arn:aws:secretsmanager:XXXX
                 type: dataSourceType
               dsname3:
                 dbname: dbname3
                 secret: arn:aws:secretsmanager:XXXX
                 type: dataSourceType
```

### Aucune clé secrète prise en charge par XA
<a name="no-xa"></a>
+ moteur (postgres/oracle/db2/mssql)
+ port
+ dbname
+ Schéma actuel
+ nom d’utilisateur
+ mot de passe
+ url
+ Connexion SSL
+ sslTrustStoreLocation
+ sslTrustStoreMot de passe

Car `postgres` seules la valeur de la clé `sslMode` secrète (`disable/allow/prefer/require/verify-ca/verify-full`) et la propriété `spring.aws.rds.ssl.cert-path` YAML permettent de se connecter avec SSL.

### Clés secrètes prises en charge par XA
<a name="xa"></a>

Si la base de données client utilise XA, les propriétés subxa sont prises en charge par le biais de valeurs secrètes.
+ hôte
+ port
+ dbname
+ Schéma actuel
+ nom d’utilisateur
+ mot de passe
+ url
+ Connexion SSL (vrai/faux)
+ sslTrustStoreLocation
+ sslTrustStoreMot de passe

Cependant, pour les autres propriétés x (par exemple `maxPoolSize` ou`driverType`), la clé YAML normale `spring.jta.atomikos.datasource.XXXX.unique-resource-name` doit toujours être fournie.

La valeur secrète remplace les propriétés YAML.

### BAC et JAC du Super Admin par défaut
<a name="bac-and-jac"></a>

Vous pouvez également configurer application-main.yml pour récupérer le nom d'utilisateur et le mot de passe de l'utilisateur super administrateur par défaut dans le secret d'AWS Secrets Manager en spécifiant l'ARN. L'exemple suivant montre comment déclarer ce secret dans un fichier YAML.

```
spring:
   aws:
     client:
       defaultSuperAdmin:
         secret: arn:aws:secretsmanager:XXXX
```

Clés secrètes de base de données super admin prises en charge par défaut :


| Clé secrète | Description de la clé secrète | 
| --- | --- | 
| nom d’utilisateur | Le nom d'utilisateur. | 
| mot de passe | Le mot de passe. | 

### OAuth2
<a name="oauth2"></a>

Vous pouvez également configurer `application-main.yml` pour récupérer le secret du OAuth2 client en spécifiant le fournisseur et l'ARN. AWS Secrets Manager La valeur par défaut de la propriété du fournisseur est Amazon Cognito. Voici un exemple de configuration pour le OAuth2 fournisseur Keycloak :

```
spring:
   aws:
     client:
       provider: keycloak
       keycloak:
         secret: arn:aws:secretsmanager:XXXX
```

Dans cet exemple, le secret client du OAuth2 fournisseur Keycloak est extrait de l'ARN spécifié dans AWS Secrets Manager. Cette configuration prend en charge plusieurs fournisseurs en résolvant dynamiquement le nom du fournisseur et l'ARN secret correspondant.

Clés OAuth2 secrètes prises en charge :


| Clé secrète | Description de la clé secrète | 
| --- | --- | 
| client-secret | Le secret généré par le serveur d'autorisation lors du processus d'enregistrement de l'application. | 

### Gestionnaire secret pour les caches Redis
<a name="ba-runtime-redis-secrets-properties"></a>

Le `application-main.yml` fichier peut référencer l'ARN secret des caches Redis. Les modèles pris en charge sont les suivants :
+ Informations d'identification Gapwalk Redis avec `spring.aws.client.gapwalk.redis.secret`
+ Informations d'identification Bluesam Redis avec `spring.aws.client.bluesam.redis.secret`
+ Bluesam verrouille les informations d'identification Redis avec `spring.aws.client.bluesam.locks.redis.secret`
+ Informations d'identification Redis du catalogue de jeux de données avec `spring.aws.client.dataset.catalog.redis.secret`
+ Informations d'identification JICS Redis avec `spring.aws.client.jics.redis.secret`
+ Identifiants de session Redis avec `spring.aws.client.jics.redis.secret`
+ Identifiants Redis de suivi de session avec `spring.aws.client.session.tracker.redis.secret`
+ JICS TS met en file d'attente les informations d'identification Redis avec `spring.aws.client.jics.queues.ts.redis.secret`
+ Informations d'identification JCL Checkpoint Redis avec `spring.aws.client.jcl.checkpoint.redis.secret`
+ Les fichiers Gapwalk verrouillent les informations d'identification Redis avec `spring.aws.client.gapwalk.files.locks.redis.secret`
+ Blu4iv verrouille les informations d'identification Redis avec `spring.aws.client.blu4iv.locks.redis.secret`

 L'exemple suivant montre comment déclarer ces secrets dans un fichier YAML.

```
spring:
   aws:
     client:
       gapwalk:
         redis:
           secret: arn:aws:secretsmanager:XXXX
       bluesam:
         locks:
           redis:
             secret: arn:aws:secretsmanager:XXXX
         redis:
           secret: arn:aws:secretsmanager:XXXX
       dataset:
         catalog:
           redis:
             secret: arn:aws:secretsmanager:XXXX
       jics:
         redis:
           secret: arn:aws:secretsmanager:XXXX
       session:
         tracker:
           redis:
             secret: arn:aws:secretsmanager:XXXX
       jics:
         queues:
           ts:
             redis:
               secret: arn:aws:secretsmanager:XXXX
       jcl:
         checkpoint:
           redis:
             secret: arn:aws:secretsmanager:XXXX
       gapwalk:
         files:
           locks:
             redis:
               secret: arn:aws:secretsmanager:XXXX
       blu4iv:
         locks:
           redis:
             secret: arn:aws:secretsmanager:XXXX
```

Clés secrètes Redis prises en charge :


| Clé secrète | Description de la clé secrète | 
| --- | --- | 
| hostname | Le nom d'hôte du serveur Redis. | 
| port | Le port du serveur Redis. | 
| nom d’utilisateur | Le nom d'utilisateur. | 
| mot de passe | Le mot de passe. | 

### Gestionnaire de secrets pour les paramètres de mot de passe SSL
<a name="ba-runtime-ssl-secrets-properties"></a>

Le `application-main.yml` fichier peut faire référence à l'ARN secret pour les paramètres de mot de passe SSL. Les éléments suivants sont pris en charge.
+ Informations d'identification SSL Gapwalk avec `spring.aws.client.ssl.secret`

L'exemple suivant montre comment déclarer ces secrets dans un fichier YAML.

```
spring:
   aws:
     client:
       ssl:
         secret: arn:aws:secretsmanager:XXXX
```


| Clé secrète | Description de la clé secrète | 
| --- | --- | 
| trustStorePassword | Le mot de passe Truststore. | 
| keyStorePassword | Le mot de passe du keystore. | 

### Gestionnaire de secrets pour les paramètres de mot de passe IBM MQ
<a name="ba-runtime-IBMMQ-secrets-properties"></a>

Le `application-main.yml` fichier peut faire référence à l'ARN secret pour les paramètres IBM MQ. Les éléments suivants sont pris en charge.
+ Les connexions IBM MQ sont définies sous forme de liste, tout comme les informations d'identification :

  `mq.queues.jmsMQQueueManagers[N].secret:`

  N commence à 0 pour la première connexion.

L'exemple suivant montre comment déclarer ces secrets dans un fichier YAML.

```
mq.queues.jmsMQQueueManagers[0].secret: {{Secret-0-ARN}} 
mq.queues.jmsMQQueueManagers[1].secret: {{Secret-1-ARN}}
```

Pour plus d'informations sur ARNs le secret, voir [Que contient un secret de Secrets Manager ?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/whats-in-a-secret.html)

Les propriétés définies dans le secret remplaceront leurs valeurs correspondantes dans la configuration `jmsMQ` YAML.

S'il `queueManager` est défini dans le secret, il remplacera la `mq.queues.jmsMQQueueManagers[N].jmsMQQueueManager` valeur du fichier YAML.


| Clé secrète | Description de la clé secrète | 
| --- | --- | 
| Gestionnaire de files d'attente | Nom du gestionnaire de files d'attente IBM MQ. | 
| appName | Nom de l'application IBM MQ. | 
| channel | Nom du canal IBM MQ. | 
| hôte | Le nom d'hôte IBM MQ. | 
| port | Le port IBM MQ. | 
| userId | Nom d'utilisateur IBM MQ. | 
| mot de passe | Le mot de passe utilisateur IBM MQ. | 
| maxPoolSize | Taille maximale du pool IBM MQ. | 
| sslCipherKey | La suite de chiffrement SSL IBM MQ. | 

### Base de données JHDB
<a name="JHDB-database"></a>

Le `application-jhdb.yml` fichier client peut référencer le secret des bases ARNs de données de métadonnées JHDB. Chaque connexion à la base de données nécessite un nom unique et un ARN secret correspondant contenant les informations d'identification de connexion. Les noms de base de données sont définis dans une liste séparée par des virgules, avec un secret individuel ARNs mappé à chaque nom de base de données.

```
spring:
   aws:
     jhdb:
       cnxs:
         datasources:
           names: DBD1,DBD2
           DBD1:  
             secret: arn:aws:secretsmanager:XXXX
           DBD2:
             secret: arn:aws:secretsmanager:XXXX
```

Clés secrètes de base de données client prises en charge :


| Clé secrète | Description de la clé secrète | 
| --- | --- | 
| hôte | Le nom de l'hôte. | 
| port | Port. | 
| dbname | Nom de la base de données. | 
| nom d’utilisateur | Le nom d'utilisateur. | 
| mot de passe | Le mot de passe. | 
| engine | Moteur de base de données : Postgres (désormais compatible uniquement avec Postgres). | 
| Schéma actuel | Schéma spécifique à utiliser. | 