[RUBY] [Rails] Verwalten Sie geheime Schlüssel usw. mit credentials.yml

Einführung

Hier ist ein Memorandum über die Anmeldeinformationen, die in der Rails 5-Serie veröffentlicht wurden.

Was sind Anmeldeinformationen?

Es ist eine Datei zum Speichern des privaten Schlüssels usw.

Der Inhalt dieser Datei wird von master.key verschlüsselt, sodass jeder, der den richtigen master.key nicht kennt, den Inhalt nicht sehen kann.

Der Inhalt von Anmeldeinformationen kann in anderen Dateien als Variablen aufgerufen werden, wenn Informationen zu master.key vorhanden sind. Daher kann es zweckmäßig sein, den API-Schlüssel usw. in diese Datei einzufügen.

Die Dateien master.key und credentials werden automatisch erstellt, wenn Sie "Rails New" verwenden, und die Datei "master.key" befindet sich standardmäßig in ".gitignore", sodass Sie sich keine Sorgen machen müssen, dass sie aus Github austritt.

Vorbereitungen

Diesmal wird davon ausgegangen, dass VScode verwendet wird.

Öffnen Sie zuerst die Palette mit Befehl + Umschalt + P in VScode. Geben Sie dann "shell" in das Suchfeld ein, um die Shell zu installieren.

Sie können jetzt die Anmeldeinformationsdatei mit VScode vom Terminal aus bearbeiten.

Wie einstellen

Öffnen Sie die Anmeldeinformationsdatei in VScode mit dem folgenden Befehl.

Terminal


$ EDITOR='code --wait' rails credentials:edit

Standardmäßig ist in den ersten drei Zeilen ein Beispiel auskommentiert, sodass Sie es kopieren können.

yml:xxxxx.credentials.yml


aws:
  access_key_id: 123
  secret_access_key: 345q

Die erste Zeile beschreibt, um welche Art von Gruppe es sich handelt, und die zweite und dritte Zeile beschreiben die ID und den Zugriffsschlüssel. Der Inhalt der Gruppe muss eingerückt werden.

Sie können mehrere Einstellungen anstelle von nur einer festlegen. Versuchen Sie daher, sie festzulegen.

yml:xxxxx.credentials.yml


aws:
  access_key_id: 123
  secret_access_key: 345q

gmail:
  email: '[email protected]'
  password: 'sample1234'

sparen

Sie müssen die Registerkarte VScode schließen, um die Anmeldeinformationsdatei zu speichern. Wenn es geschlossen und korrekt gespeichert ist, wird die folgende Meldung im Terminal angezeigt. New credentials encrypted and saved.

Wie rufe ich an?

Um den Inhalt aufzurufen, schreiben Sie Folgendes in die Ruby-Datei.

Rails.application.credentials[:Gruppenname][:Inhalt]

In diesem Beispiel kann es wie folgt verwendet werden.

Rails.application.credentials[:aws][:access_key_id]
Rails.application.credentials[:gmail][:email]

Sie können es vom Terminal auf der Konsole aus überprüfen. Es empfiehlt sich daher, es beim Bearbeiten der Anmeldeinformationsdatei zu überprüfen. Öffnen Sie die Konsole mit "Rails C" und überprüfen Sie sie. cb6ac75e17de6feb8c00047fc7b39d02.png Sie können es richtig nennen.

Hinweis

Durch die Freigabe von master.key, z. B. bei der Entwicklung eines Teams, können andere Personen den Inhalt von Anmeldeinformationen anzeigen und bearbeiten. Ich denke, es ist eine gute Idee, master.key mit einer Nachrichten-App zu teilen.

Selbst wenn Sie ein vertrauenswürdiger Begleiter sind, sollten Sie die aws-ID und den Zugriffsschlüssel, über die Sie persönlich verfügen, nicht mit Anmeldeinformationen teilen. (Stellen Sie sich vor, Sie teilen Ihre Kreditkartennummer und Ihren Bestätigungscode mit.)

Entscheiden Sie sorgfältig, welche Informationen Sie teilen sollen und welche nicht. Bereue es nicht, betrogen zu werden und dich wie Kaiji zu entwickeln! Lol

Recommended Posts

[Rails] Verwalten Sie geheime Schlüssel usw. mit credentials.yml
[Rails] Verwalten wir Konstanten mit config gem
[Rails 6] Laufzeitfehler mit $ Rails s
Gerät mit Schienen handhaben
[Rails] Lernen mit Rails Tutorial
[Schienen] Test mit RSpec
[Rails] Entwicklung mit MySQL
Unterstützt Mehrsprachigkeit mit Rails!