Opcional: Utilizar Vault como autoridad de certificación

Puede utilizar Vault como autoridad de certificación especificando VAULT_CA=true. Esta es una configuración opcional y se puede utilizar con cualquiera de los modos de configuración soportados para manejar la certificación interna entre los contenedores.

Si tiene Vault configurado como una autoridad de certificación (CA), puede utilizar VAULT_CA=true, que desencadena /SETUP/bin/updateCerts.sh en la imagen de Docker. Para obtener información sobre la configuración de Vault como CA, consulte Gestionar certificados con Vault.

VAULT_CA=true es una configuración independiente que puede utilizar con cualquiera de los tres modos (CONFIGURE_MODE=Vault, CONFIGURE_MODE=EnvVariables o sin modo de configuración). Si utiliza CONFIGURE_MODE=Vault|EnvVariables, asegúrese de que también especifica los parámetros obligatorios de su modalidad. Por ejemplo, si habilita CONFIGURE_MODE=Vault y VAULT_CA=true, debe especificar TENANT, ENVIRONMENT y ENVTYPE porque es necesario para CONFIGURE_MODE=Vault. Si al leer los parámetros de contenedor se da cuenta que se utilizan las mismas variables en diferentes modos de configuración (como VAULT_TOKEN), solo tiene que definirla una vez como variable de entorno de contenedor. Los diferentes modos de configuración compartirán las mismas variables que proporcione.

El parámetro VAULT_CA=true también tiene dos modos de configuración.
  • Sin CONTAINER_HOSTNAME
  • Con CONTAINER_HOSTNAME=<customHostName>

Iniciar un contenedor con VAULT_CA=true pero sin CONTAINER_HOSTNAME

Utilice este método en un entorno en el que las variables de contenedor se agrupen con el para mato <TENANT><ENVIRONMENT><ENVTYPE><TARGETKEY>. Por ejemplo, si utiliza VAULT para almacenar los parámetros y utiliza CONFIGURE_MODE=Vault.

Este método es ideal en una plataforma de orquestación de Docker como, por ejemplo, Kubernetes o DC/OS, en la que puede resolver <TENANT><ENVIRONMENT><ENVTYPE>. Cuando VAULT_CA=true, la lógica de inicio /SETUP/bin/updateCerts.sh aplica la certificación internos basados en el patrón de denominación exclusivo <TENANT><ENVIRONMENT><ENVTYPE><DOCKER_CONTAINER>.<DOMAIN_NAME> como common_name y SubjectAlternativeName. Con esta modalidad, el nombre de host es fijo. Si no proporciona un DOMAIN_NAME, el valor predeterminado es default.svc.cluster.local.

Por ejemplo, para iniciar un contenedor con el DOMAIN_NAME como txn,
docker run -it -e LICENSE=accept  \
    -e VAULT_TOKEN=<vault_token > \
    -e VAULT_URL=<vault_url. For example, http://IP:Port/v1> \
    -e VAULT_CA=true \
    -e TENANT=<tenantValue> \
    -e ENVIRONMENT=<environmentValue. For example, non-prod> \
    -e ENVTYPE=<envtypeValue. For example, auth> \
    -e DOMAIN_NAME=<The container's hostname, which will be used to apply certification. For example, txn> \
    -e <Parameter1>=<Value1>
    -e <Parameter2>=<Value2>
    .... 
    <Docker_Image>

Iniciar un contenedor con VAULT_CA=true y CONTAINER_HOSTNAME=<customHostName>

A partir de HCL Commerce Versión 9.0.0.2, puede iniciar el contenedor con VAULT_CA=true y CONTAINER_HOSTNAME=<customHostName>. Utilice este método en su propio entorno personalizado en el que no tenga <TENANT><ENVIRONMENT><ENVTYPE>. Por ejemplo, si está utilizando un entorno local y no está utilizando CONFIGURE_MODE=Vault, querrá especificar CONTAINER_HOSTNAME.

Cuando se pasa CONTAINER_HOSTNAME, la lógica de inicio /SETUP/bin/updateCerts.sh aplica la certificación interna basada en la CONTAINER_HOSTNAME como el common_name y SubjectAlternativeName del certificado.

Por ejemplo, para iniciar un contenedor con el nombre de host mycontainerhostname
docker run -it -e LICENSE=accept  \
    -e VAULT_TOKEN=<vault_token > \
    -e VAULT_URL=<vault_url. For example, http://IP:Port/v1> \
    -e VAULT_CA=true \  
    -e CONTAINER_HOSTNAME=mycontainerhostname   
    -e <Parameter1>=<Value1>
    -e <Parameter2>=<Value2>
    ....
    <Docker_Image>