

AWS El servicio de modernización de mainframes (experiencia en entornos de ejecución gestionados) ya no está abierto a nuevos clientes. Para obtener prestaciones similares a las del Servicio de Modernización de AWS Mainframe (experiencia en entornos de ejecución gestionados), explore el Servicio de Modernización de AWS Mainframe (experiencia autogestionada). Los clientes existentes pueden seguir utilizando el servicio con normalidad. Para obtener más información, consulte Cambio en la disponibilidad de la modernización del [AWS mainframe.](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# AWS Los secretos del tiempo de ejecución de Transform for mainframe
<a name="ba-runtime-config-app-secrets"></a>

Algunas de las configuraciones de recursos que contienen credenciales se pueden proteger aún más mediante el uso de secretos de AWS . La idea es almacenar los datos críticos en un lugar AWS secreto y tener una referencia al secreto en la configuración de YAML para que el contenido secreto se recoja sobre la marcha al iniciar Apache Tomcat.

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

La configuración de la base de datos Aurora (para JICSBlusam, base de datos de clientes, etc.) utilizará el [secreto de base de datos](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_database_secret.html) integrado, que rellenará automáticamente todos los campos relevantes de la base de datos correspondiente.

**nota**  
La clave `dbname` es opcional y, según la configuración de la base de datos, se incluirá en el secreto o no. Puede agregarla allí manualmente o proporcionando el nombre del archivo YAML.

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

Hay otros secretos para los recursos que tienen una sola contraseña (en particular, las cachés de Redis protegidas con contraseña). En este caso, se debe usar el [otro tipo de secreto](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) con una sola clave.

### Referencias en YAML a secretos
<a name="ba-runtime-config-app-secrets-reference"></a>

El archivo `application-main.yml` puede hacer referencia al ARN secreto para varios recursos.

### Base de datos de JICS
<a name="jics-database"></a>

Credenciales de la base de datos de JICS con `spring.aws.jics.db.secret`

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

Claves secretas de bases de datos de JICS compatibles:


| Clave secreta | Descripción de la clave secreta | 
| --- | --- | 
| host | El nombre del host | 
| puerto | El puerto | 
| dbname | El nombre de la base de datos | 
| nombre de usuario | El nombre de usuario | 
| contraseña | La contraseña | 
| engine | Motor de base de datos: Postgres, Oracle, Db2, Microsoft SQL Server | 
| currentSchema | Esquema específico que se utilizará (solo compatible con Db2) | 
| sslConnection | Si se usará la conexión SSL (solo compatible con Db2) | 
| sslTrustStoreLocation | La ubicación del almacén de confianza en el cliente (solo compatible con Db2) | 
| sslTrustStoreContraseña | La contraseña del almacén de confianza del cliente (solo compatible con Db2) | 

**nota**  
El nombre de la base de datos se proporciona en el secreto o en la referencia de YAML `spring.aws.jics.db.dbname`.

### Base de datos de Blusam
<a name="blusam-database"></a>

Blusamcredenciales de base de datos con `spring.aws.client.bluesam.db.secret`

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

Claves secretas Blusam de bases de datos compatibles:


| Clave secreta | Descripción de la clave secreta | 
| --- | --- | 
| host | El nombre del host | 
| puerto | El puerto | 
| dbname | El nombre de la base de datos | 
| nombre de usuario | El nombre de usuario | 
| contraseña | La contraseña | 
| engine | Motor de base de datos: Postgres | 

**nota**  
El nombre de la base de datos se proporciona en el secreto o en la referencia de YAML `spring.aws.client.bluesam.db.dbname`.

### Base de datos de clientes
<a name="client-database"></a>

El `application-profile.yml` del cliente puede hacer referencia al ARN secreto de la base de datos del cliente. Esto requiere una propiedad adicional para enumerar los nombres de orígenes de datos `spring.aws.client.datasources.names`. Para cada nombre de origen de datos `ds_name`, especifique el ARN secreto en la siguiente propiedad: `spring.aws.client.datasources.ds_name.secret`. Ejemplo:

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

*names: primary,host*:

Un ejemplo con dos orígenes de datos de clientes denominados principal y host, cada uno con su base de datos y sus credenciales.

*dbname: hostdb*:

En este ejemplo, el nombre de la base de datos “host” no está en el secreto, sino que se proporciona aquí, mientras que la base de datos “primary” sí está en el secreto.

Claves secretas de bases de datos de cliente admitidos:


| Clave secreta | Descripción de la clave secreta | 
| --- | --- | 
| host | El nombre del host | 
| puerto | El puerto | 
| dbname | El nombre de la base de datos | 
| nombre de usuario | El nombre de usuario | 
| contraseña | La contraseña | 
| engine | Motor de base de datos: Postgres, Oracle, Db2, Microsoft SQL Server | 
| currentSchema | Esquema específico que se utilizará (solo compatible con Db2) | 
| sslConnection | Si se usará la conexión SSL (solo compatible con Db2) | 
| sslTrustStoreLocation | La ubicación del almacén de confianza en el cliente (solo compatible con Db2) | 
| sslTrustStoreContraseña | La contraseña del almacén de confianza del cliente (solo compatible con Db2) | 

### Base de datos de utilidades PGM
<a name="pgm-utility-database"></a>

El archivo `application-utility-pgm.yml` puede hacer referencia al ARN secreto para obtener varios recursos.
+  `spring.aws.client.datasources.primary` 
  + `secret`

     ARN secreto para la base de datos de la aplicación.

Tipo: cadena
+ `type`

Nombre completo de la implementación del grupo de conexiones que se usará.

Tipo: cadena

Valor predeterminado: `com.zaxxer.hikari.HikariDataSource`
+ `spring.aws.client.utility.pgm.datasources` 
  + `names`

Lista de nombres de orígenes de datos

Tipo: cadena
+ `dsname` 
  + `dbname`

Nombre del host

Tipo: cadena
+ `secret`

ARN secreto de la base de datos de host

Tipo: cadena
+ `type`

Nombre completo de la implementación del grupo de conexiones que se usará.

Tipo: cadena

Valor predeterminado: `com.zaxxer.hikari.HikariDataSource`

Para un secreto de varios orígenes de datos:

```
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
```

### No hay claves secretas compatibles con XA
<a name="no-xa"></a>
+ motor (postgres/oracle/db2/mssql)
+ puerto
+ dbname
+ currentSchema
+ nombre de usuario
+ contraseña
+ url
+ sslConnection
+ sslTrustStoreLocation
+ sslTrustStoreContraseña

Para `postgres`, solo el valor de la clave secreta `sslMode` (`disable/allow/prefer/require/verify-ca/verify-full`) y la propiedad YAML `spring.aws.rds.ssl.cert-path`, es posible conectarse con SSL.

### Claves secretas compatibles con XA
<a name="xa"></a>

Si la base de datos del cliente utiliza XA, las subpropiedades xa se admiten mediante valores secretos.
+ host
+ puerto
+ dbname
+ currentSchema
+ nombre de usuario
+ contraseña
+ url
+ sslConnection (verdadero/falso)
+ sslTrustStoreLocation
+ sslTrustStoreContraseña

Sin embargo, para otras propiedades xa (por ejemplo, `maxPoolSize` o`driverType`), se debe seguir proporcionando la clave YAML normal `spring.jta.atomikos.datasource.XXXX.unique-resource-name`.

El valor secreto anula las propiedades YAML.

### BAC y JAC de superadministrador predeterminado
<a name="bac-and-jac"></a>

También puede configurar application-main.yml para recuperar el nombre de usuario y la contraseña del usuario superadministrador predeterminado en el secreto de AWS Secrets Manager especificando el ARN. En el siguiente ejemplo, se muestra cómo declarar este secreto en un archivo YAML.

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

Claves secretas de bases de datos de superadministrador predeterminadas admitidas:


| Clave secreta | Descripción de la clave secreta | 
| --- | --- | 
| nombre de usuario | El nombre de usuario. | 
| contraseña | La contraseña. | 

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

También puedes configurar `application-main.yml` para recuperar el secreto del OAuth2 cliente especificando el proveedor y el ARN. AWS Secrets Manager El valor predeterminado de la propiedad del proveedor es Amazon Cognito. El siguiente es un ejemplo de configuración para el proveedor Keycloak: OAuth2 

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

En este ejemplo, el secreto del cliente del OAuth2 proveedor Keycloak se recupera del ARN especificado en AWS Secrets Manager. Esta configuración admite varios proveedores al resolver dinámicamente el nombre del proveedor y el ARN secreto correspondiente.

Claves secretas compatibles: OAuth2 


| Clave secreta | Descripción de la clave secreta | 
| --- | --- | 
| client-secret | El secreto generado por el servidor de autorización durante el proceso de registro de la aplicación. | 

### Administrador de secretos de las cachés de Redis
<a name="ba-runtime-redis-secrets-properties"></a>

El archivo `application-main.yml` puede hacer referencia al ARN secreto de las cachés de Redis. Las admitidas son:
+ Credenciales de Redis de Gapwalk con `spring.aws.client.gapwalk.redis.secret`
+ Credenciales de Redis de Blusam con `spring.aws.client.bluesam.redis.secret`
+ Credenciales de Redis de bloqueos de Blusam con `spring.aws.client.bluesam.locks.redis.secret`
+ Credenciales de Redis de catálogo de conjuntos de datos con `spring.aws.client.dataset.catalog.redis.secret`
+ Credenciales Redis de JICS con `spring.aws.client.jics.redis.secret`
+ Credenciales de Redis de sesiones con `spring.aws.client.jics.redis.secret`
+ Credenciales de Redis del rastreador de sesiones con `spring.aws.client.session.tracker.redis.secret`
+ Credenciales de Redis de colas TS de JICS con `spring.aws.client.jics.queues.ts.redis.secret`
+ Credenciales de Redis de puntos de comprobación de JCL con `spring.aws.client.jcl.checkpoint.redis.secret`
+ Credenciales de Redis de bloqueos de archivos con `spring.aws.client.gapwalk.files.locks.redis.secret`
+ Credenciales de Redis de bloqueos de Blu4IV con `spring.aws.client.blu4iv.locks.redis.secret`

 En el siguiente ejemplo, se muestra cómo declarar estos secretos en un archivo 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
```

Claves secretas de Redis admitidas:


| Clave secreta | Descripción de la clave secreta | 
| --- | --- | 
| hostname | El nombre de host del servidor de Redis. | 
| puerto | El puerto del servidor de Redis. | 
| nombre de usuario | El nombre de usuario. | 
| contraseña | La contraseña. | 

### Administrador de secretos para la configuración de contraseñas SSL
<a name="ba-runtime-ssl-secrets-properties"></a>

El archivo `application-main.yml` puede hacer referencia al ARN del secreto para la configuración de la contraseña SSL. Se admite lo siguiente:
+ Credenciales de SSL de Gapwalk con `spring.aws.client.ssl.secret`

En el siguiente ejemplo, se muestra cómo declarar estos secretos en un archivo YAML.

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


| Clave secreta | Descripción de la clave secreta | 
| --- | --- | 
| trustStorePassword | La contraseña del almacén de confianza | 
| keyStorePassword | La contraseña del almacén de claves | 

### Administrador de secretos para la configuración de contraseñas de IBM MQ
<a name="ba-runtime-IBMMQ-secrets-properties"></a>

El `application-main.yml` archivo puede hacer referencia al ARN secreto de la configuración de IBM MQ. Se admite lo siguiente:
+ Las conexiones de IBM MQ se definen como una lista, al igual que las credenciales:

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

  N empieza en 0 para la primera conexión.

En el siguiente ejemplo, se muestra cómo declarar estos secretos en un archivo YAML.

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

Para obtener información sobre el secreto ARNs, consulta [¿Qué hay en un secreto de Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/whats-in-a-secret.html)

Las propiedades definidas en el secreto anularán sus valores correspondientes en la configuración de `jmsMQ` YAML.

Si `queueManager` se establece en el secreto, anulará el `mq.queues.jmsMQQueueManagers[N].jmsMQQueueManager` valor del archivo YAML.


| Clave secreta | Descripción de la clave secreta | 
| --- | --- | 
| Gestor de colas | El nombre del administrador de colas MQ de IBM. | 
| appName | El nombre de la aplicación IBM MQ. | 
| channel | El nombre del canal MQ de IBM. | 
| host | El nombre de host de IBM MQ. | 
| puerto | El puerto MQ de IBM. | 
| userId | El nombre de usuario de IBM MQ. | 
| contraseña | La contraseña de usuario de IBM MQ. | 
| maxPoolSize | El tamaño máximo del pool MQ de IBM. | 
| sslCipherKey | La suite de cifrado SSL MQ de IBM. | 

### Base de datos JHDB
<a name="JHDB-database"></a>

El `application-jhdb.yml` archivo del cliente puede hacer referencia al secreto de las bases de datos de ARNs metadatos de JHDB. Cada conexión de base de datos requiere un nombre único y el ARN secreto correspondiente que contenga las credenciales de conexión. Los nombres de las bases de datos se definen en una lista separada por comas, con un secreto individual ARNs asignado a cada nombre de base de datos.

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

Claves secretas de bases de datos de cliente admitidos:


| Clave secreta | Descripción de la clave secreta | 
| --- | --- | 
| host | Se mostrará el nombre del alojamiento. | 
| puerto | El puerto. | 
| dbname | El nombre de la base de datos. | 
| nombre de usuario | El nombre de usuario. | 
| contraseña | La contraseña. | 
| engine | Motor de base de datos: Postgres (ahora solo es compatible con Postgres). | 
| currentSchema | Esquema específico a utilizar. | 