Hướng dẫn quản lý biến môi trường với Infisical + Node.js

Trong quá trình phát triển phần mềm, việc quản lý các biến môi trường như khóa API, thông tin đăng nhập và thông tin nhạy cảm khác là rất quan trọng. Infisical là một nền tảng mã hóa đầu cuối, mã nguồn mở có thể giúp bạn quản lý các biến môi trường trên quy mô lớn.
Trong hướng dẫn này, chúng tôi trình bày cách sử dụng Infisical để quản lý các biến môi trường cho ngăn xếp Nút của bạn, từ phát triển cục bộ đến sản xuất. Chúng tôi sẽ sử dụng Infisical Cloud , nhưng các bước tương tự sẽ áp dụng nếu bạn đang sử dụng phiên bản tự lưu trữ .
Hãy đi sâu vào!
Infisical là gì?
Infisical , một nền tảng quản lý bí mật được mã hóa đầu cuối, nguồn mở mà bạn có thể lưu trữ các biến môi trường. Nó hoàn toàn tự lưu trữ trên cơ sở hạ tầng của riêng bạn, được ghi chép đầy đủ và cực kỳ đẹp mắt.

SDK nút của nó cho phép bạn tìm nạp lại các biến môi trường trong thời gian chạy cho dù đó là quá trình phát triển hay sản xuất cục bộ.
Thiết lập dự án
Để bắt đầu, chúng ta sẽ thiết lập một dự án trong Infisical và thêm các biến môi trường vào một môi trường.
- Tạo một dự án mới trong Infisical.
- Thêm một bí mật cho môi trường phát triển của dự án này để chúng tôi có thể kéo nó trở lại để phát triển địa phương. Trong trang Tổng quan về bí mật, nhấn Khám phá Phát triển và thêm bí mật bằng khóa NAME và giá trị YOUR_NAME . Biến môi trường này sẽ được tìm nạp để phát triển cục bộ.
Để truy cập bí mật từ ứng dụng Nút của chúng tôi, chúng tôi cần tạo Mã thông báo tài chính .
- Chuyển đến Cài đặt dự án > Mã thông báo dịch vụ và nhấn Thêm mã thông báo mới .
- Đặt tên cho mã thông báo (ví dụ: “Mã thông báo ứng dụng của tôi”) và chọn Phát triển trong Môi trường . Trong bước này, chúng tôi đang cung cấp quyền truy cập mã thông báo này vào môi trường phát triển của dự án này.
- Sao chép mã thông báo và giữ nó tiện dụng.

Đối với hướng dẫn này, chúng tôi sẽ tạo một ứng dụng Express tối thiểu. Tuy nhiên, các nguyên tắc tương tự áp dụng cho bất kỳ ứng dụng Node nào, chẳng hạn như các ứng dụng được xây dựng trên Koa hoặc Fastify.
Khởi tạo dự án Node.js mới với package.json
tệp mặc định.
$ npm init -y
$ npm install express infisical-node
const express = require("express");
const app = express();
const PORT = 3000;
const client = new InfisicalClient({
token: "YOUR_INFISICAL_TOKEN"
});
app.get("/", async (req, res) => {
const name = (await client.getSecret("NAME")).secretValue;
res.send(`Hello, ${name}!`);
});
app.listen(PORT, () => {
console.log(`Example app listening on port ${PORT}`);
});
Khởi động ứng dụng và truy cậphttp://localhost:3000để xem thông báo “Xin chào, Tên của bạn”.
$ node index.js
Lời khuyên
Để đảm bảo hiệu suất tối ưu, tôi khuyên bạn nên tạo một phiên bản duy nhất của ứng dụng khách Infisical và xuất nó để sử dụng trên toàn bộ ứng dụng của bạn. Lý do là vì Node SDK lưu trữ mọi bí mật và cập nhật định kỳ, giảm các cuộc gọi quá mức; bộ nhớ đệm tích hợp này giúp đồng bộ hóa các biến môi trường liền mạch trên quy mô lớn.
Tôi cũng khuyên bạn nên lưu trữ Mã thông báo tài chính trong một .env
tệp trong quá trình phát triển cục bộ hoặc dưới dạng biến môi trường duy nhất trong quá trình sản xuất. Bằng cách này, bạn không cần phải mã hóa cứng nó vào ứng dụng của mình và có thể sử dụng nó để tìm nạp phần còn lại của các biến môi trường.
Cuối cùng, SDK có nhiều khả năng hơn là chỉ tìm nạp lại các bí mật. Với các thao tác tạo , cập nhật và xóa có sẵn, bạn có thể xây dựng một chiến lược quản lý bí mật năng động, chính thức với các thao tác như xoay vòng bí mật.
Phần kết luận
Bây giờ bạn đã biết cách tìm nạp các bí mật từ Infisical cho ứng dụng Node của mình. Bằng cách sử dụng Mã thông báo Infisical trong phạm vi các môi trường khác nhau, bạn có thể dễ dàng quản lý các bí mật trong các giai đoạn khác nhau của dự án, từ phát triển cục bộ đến sản xuất. Infisical cung cấp giải pháp an toàn, thân thiện với nhà phát triển để quản lý dữ liệu nhạy cảm của bạn, đảm bảo các ứng dụng của bạn được xây dựng dựa trên các phương pháp hay nhất.