Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

182
Views
Rails sigue pidiendo credenciales de AWS para el almacenamiento de MySQL

Estoy probando Sharetribe Community Edition en un servidor Debian 10 (no AWS) siguiendo estas instrucciones: https://github.com/sharetribe/sharetribe#installation

Estoy atascado en el paso 7 con el siguiente error:

Aws::Sigv4::Errors::MissingCredentialsError: faltan credenciales, proporcione las credenciales con una de las siguientes opciones:

 :access_key_id and :secret_access_key :credentials :credentials_provider

Sin embargo, Rails sabe que no estoy usando Amazon sino el almacenamiento local porque tengo las siguientes dos configuraciones:

 File: config/environments/development.rb config.active_storage.service = :local File: config/environments/production.rb config.active_storage.service = :local

Después de cambiar esa configuración, ejecuté el siguiente comando:

 ~/sharetribe$ EDITOR=“sub1 --wait” bin/rails credentials:edit

Y obtuve el resultado a continuación:

Adición de config/master.key para almacenar la clave de cifrado maestra: [ELIMINADO]

Guárdelo en un administrador de contraseñas al que pueda acceder su equipo. Si pierde la clave, nadie, ni siquiera usted, podrá acceder a nada encriptado con ella.

crear config/master.key

Ignorando config/master.key para que no termine en el historial de Git:

agregar .gitignore

Nuevas credenciales encriptadas y guardadas.

Pero después de ejecutar esto:

 ~/sharetribe$ bundle exec rake db:create db:structure:load

Me sale el error de arriba.

Editar: Aquí está config/storage.yml. No estoy seguro si debo comentar la sección de Amazon

 test: service: Disk root: <%= Rails.root.join("tmp/storage") %> local: service: Disk root: <%= Rails.root.join("storage") %> # Use rails credentials:edit to set the AWS secrets (as aws:access_key_id|secret_access_key) amazon: service: S3 access_key_id: <%= APP_CONFIG.aws_access_key_id%> secret_access_key: <%= APP_CONFIG.aws_secret_access_key %> region: <%= APP_CONFIG.s3_region %> bucket: <%= APP_CONFIG.clp_s3_bucket_name %> upload: acl: "public-read" cache_control: 'max-age=3600'

TLDR: quiero almacenar la base de datos de Sharetribe en su propio servidor, pero Rails sigue pidiendo credenciales de AWS/Amazon a pesar de la configuración local

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Sharetribe tiene aws-sdk-ruby como dependencia (ver: https://github.com/sharetribe/sharetribe/blob/master/Gemfile#L34 ).

aws-sdk-ruby necesita un archivo de configuración con las credenciales de AWS configuradas para ejecutarse. Este archivo se encuentra en ~/.aws/credentials y tiene este formato:

 [default] aws_access_key_id = YOUR_ACCESS_KEY aws_secret_access_key = YOUR_SECRET_ACCESS_KEY

Esto ha sido documentado en el archivo README aquí ( https://github.com/aws/aws-sdk-ruby#configuration ) y también en esta publicación de blog: https://aws.amazon.com/blogs/security/a -forma-nueva-y-estandarizada-de-administrar-credenciales-en-los-sdks-de-aws .

Inicialmente, no pude replicar su problema porque tengo ese archivo presente en mi máquina local. Sin embargo, tan pronto como ~/.aws/credentials , puedo replicar el problema.

over 4 years ago · Santiago Trujillo Report

0

Tuve este problema y lo resolví así:

En Storage.yml comente todo el bloque de Amazon, de forma similar a como se comenta el bloque de Google.

En production.rb config.active_storage.service = :local

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!