Ahora Rails 6 podemos agregar credenciales para múltiples entornos y en cada uno se encontraran sus propias claves de cifrado.
_
Credenciales globales
Para cualquier entorno, Rails detecta automáticamente qué conjunto de credenciales utilizar. Las credenciales específicas del entorno tendrán prioridad sobre las credenciales globales. De no encontrarse credenciales específicas del entorno Rails utilizará las credenciales globales y la clave maestra que están representadas por los siguientes archivos:
config/credentials.yml.enc
config/master.key
(Archivo a compartir con nuestro equipo)
_
Cree credenciales espesifico (producción)
Ejecutaremos el siguiente comando:
EDITOR=nano rails credentials:edit --environment production
Este comando abrirá el editor de texto seleccionado y nos permitirá crear las credenciales (formato, clave - valor) que consideremos necesarios, ademas nos creara los siguientes archivos
config/credentials/production.key
(Archivo a compartir con el equipo que tenga acceso al entorno producción)config/credentials/production.yml.enc
_
Usando las credenciales en Rails
Para desarrollo:
rails c
Rails.application.credentials.config # nos mostrara todo el contenido
Rails.application.credentials.aws # nos mostrara el valor de la clave aws
Para producción:
RAILS_ENV=production rails c
Rails.application.credentials.config # nos mostrara todo el contenido
Rails.application.credentials.aws # nos mostrara el valor de la clave aws
_
Conceptos extraídos de:
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.