Cách quản lý bảo mật một cách an toàn với Hashicorp Vault trên Ubuntu 20.04

Giới thiệu

Điều này xác minh rằng mã thông báo ứng dụng ít đặc quyền không thể thực hiện bất kỳ hành động hủy hoại hoặc truy cập các giá trị bí mật khác ngoài các quy định rõ ràng trong chính sách Vault của nó. Nếu bạn muốn tiếp tục sử dụng mã thông báo chỉ đọc, hãy chắc chắn ghi lại ở đâu đó an toàn để sử dụng trong tương lai.

Trong hướng dẫn này, bạn sẽ:

  • Điều này xác minh rằng mã thông báo ứng dụng ít đặc quyền không thể thực hiện bất kỳ hành động hủy hoại hoặc truy cập các giá trị bí mật khác ngoài các quy định rõ ràng trong chính sách Vault của nó. Nếu bạn muốn tiếp tục sử dụng mã thông báo chỉ đọc, hãy chắc chắn ghi lại ở đâu đó an toàn để sử dụng trong tương lai.
  • Phần kết luận
  • Trong bài viết này, bạn đã cài đặt, được định cấu hình và triển khai Vault trên Ubuntu 20.04. Bạn cũng đã tạo một khóa bị xáo trộn cho Unsreal Vault, đã bật

Mặc dù hướng dẫn này chỉ trình diễn cách sử dụng mã thông báo không có đặc quyền, tài liệu Vault có nhiều ví dụ về các cách bổ sung để lưu trữ và truy cập bí mật cũng như các phương thức xác thực thay thế.

Như với bất kỳ dịch vụ nào quản lý thông tin nhạy cảm, bạn nên xem xét việc đọc tài liệu bổ sung về các thực hành tốt nhất triển khai của Vault trước khi sử dụng nó trong môi trường giống như sản xuất. Ví dụ, hướng dẫn làm cứng sản xuất của Vault bao gồm các chủ đề như chính sách, mã thông báo gốc và kiểm toán.

Điều kiện tiên quyết

Điều này xác minh rằng mã thông báo ứng dụng ít đặc quyền không thể thực hiện bất kỳ hành động hủy hoại hoặc truy cập các giá trị bí mật khác ngoài các quy định rõ ràng trong chính sách Vault của nó. Nếu bạn muốn tiếp tục sử dụng mã thông báo chỉ đọc, hãy chắc chắn ghi lại ở đâu đó an toàn để sử dụng trong tương lai.

  • Điều này xác minh rằng mã thông báo ứng dụng ít đặc quyền không thể thực hiện bất kỳ hành động hủy hoại hoặc truy cập các giá trị bí mật khác ngoài các quy định rõ ràng trong chính sách Vault của nó. Nếu bạn muốn tiếp tục sử dụng mã thông báo chỉ đọc, hãy chắc chắn ghi lại ở đâu đó an toàn để sử dụng trong tương lai.
  • Giá trị khóa

--- ----- : Vault tạo chứng chỉ TLS tự ký khi bạn cài đặt gói lần đầu tiên. Nếu bạn không có chứng chỉ tên miền hoặc chứng chỉ TLS để sử dụng với Vault nhưng muốn làm theo các bước trong hướng dẫn này, bạn có thể bỏ qua xác minh TLS bằng cách thêm -tls-skip-verify flag to the commands in this tutorial, or by defining the VAULT_SKIP_VERIFY environment variable.

Giá trị khóa

--- -----

HASHICORP cung cấp Vault là một gói Debian / Ubuntu điển hình, vì vậy chúng tôi sẽ thông qua các bước thông thường để thêm kho lưu trữ gói của họ vào danh sách các nguồn gói của máy chủ:

Trước tiên, hãy thêm mã gpg vào trình quản lý gói của bạn, để hệ thống của bạn tin tưởng vào kho gói của họ:

--- -----

  • sudo apt-add-repository "deb [arch = amd64] //apt.release.hashicorp.com $ [lsb_release -cs] Main"

Bạn cũng có thể kiểm tra rằng mã thông báo không có khả năng này không thể thực hiện các hoạt động khác, chẳng hạn như danh sách Bí mật trong Vault.

  • Vault_token = $ app_token danh sách vault kv /

Lỗi đọc KV /: Yêu cầu API thực hiện lỗi. Vault . Hãy thử kiểm tra phiên bản của Vault để đảm bảo nó hoạt động.

  • URL: Nhận // your_domain: 8200 / V1 / Secret? List = True

Đầu ra.
Vault v1.8.5 [647eccfe0bd5817bdd8628f3c3171402dfc8a8fc]

Giá trị khóa

Bước 2 - Cấu hình Vault

Cài đặt gói Vault tự động tạo Vault Vault Người dùng trên hệ thống của bạn và thiết lập một hệ thống Dịch vụ để chạy kho tiền trong nền. Chúng ta cần thực hiện một vài thay đổi về cấu hình mặc định của mình để sử dụng các chứng chỉ HTTPS được tạo bởi Let's Encrypt. your_token_value vault user on your system and sets up a system service for running Vault in the background. We need to make a couple of changes to its default configuration in order to use the HTTPS certificates generated by Lets Encrypt.

Note : Trong hướng dẫn này và theo mặc định, Vault sử dụng phụ trợ hệ thống tệp để lưu trữ bí mật được mã hóa trên hệ thống tệp cục bộ tại / Opt / Vault . Điều này phù hợp với các triển khai cục bộ hoặc một máy chủ không cần phải được nhân rộng. Các phụ trợ Vault khác, chẳng hạn như phần phụ trợ lãnh sự, sẽ lưu trữ bí mật được mã hóa khi nghỉ trong một kho lưu trữ / giá trị phân tán. . mypassword /opt/vault. This is suitable for local or single-server deployments that do not need to be replicated. Other Vault backends, such as the Consul backend, will store encrypted secrets at rest within a distributed key/value store.

Cấu hình mặc định của Vault được lưu trữ trong /etc/vault.d/vault.hcl . Bạn sẽ sử dụng tệp này để kiểm soát các tùy chọn khác nhau trong Vault, chẳng hạn như các bí mật được mã hóa được lưu trữ.

Mở Vault.hcl Sử dụng Nano hoặc yêu thích của bạn Trình soạn thảo văn bản. vault.hcl using nano or your favorite text editor.

  • sudo nano /etc/vault.d/vault.hc.

Tìm Trình nghe "TCP" của tệp chứa khối này. Nếu bạn đang sử dụng nano, you can press Ctrl+W then enter listener tcp to find that line directly:

/etc/vault.hcl

Người nghe "TCP" { Địa chỉ = "0,0.0.0.0:8200" tls_cert_file = "/ opt/vault/tls/tls.crt" tls_key_file = "/opt/vault/tls/tls.key" ... Không

Chỉnh sửa TLS_CERT_FILE và TLS_KEY_FILE Dòng để chỉ vào Let Let của bạn mã hóa chứng chỉ và tệp chính. Đừng quên thay thế bằng tên miền của riêng bạn thay cho của bạn_domain một phần của mỗi dòng. tls_cert_file and tls_key_file lines to point to your Lets Encrypt certificate and key files. Dont forget to substitute in your own domain name in place of the highlighted your_domain part of each line.

/etc/vault.hcl

Người nghe "TCP" { ... tls_cert_file = "/ etc / letsencrypt / live / your_domain /fullchain.pem" tls_key_file = "/ etc / letsencrypt / live / your_domain /privkey.pem" Không

Lưu ý : Bạn cũng nên thay đổi Địa chỉ = "0,0.0.0:8200" thành Địa chỉ = "127.0.0.1:8200" để ngăn kết nối bên ngoài với máy chủ này ngay bây giờ. 127.0.0.1 là một địa chỉ dành riêng cho localhost. Điều này là để đảm bảo rằng dịch vụ không được tiếp xúc với Internet công cộng trước khi nó được bảo mật đúng cách. Bạn có thể cập nhật sau này, nhưng bây giờ, thay đổi cấu hình này sẽ cho phép chúng ta sử dụng Vault và giải quyết chính xác tên miền được bảo mật HTTPS. .: You should also change address = "0.0.0.0:8200" to address = 127.0.0.1:8200 to prevent external connections to this server for now. 127.0.0.1 is a reserved address for localhost only. This is to ensure that the service is not exposed to the public internet before it has been properly secured. You can update this later, but for now, this configuration change will let us use the vault command and correctly resolve the HTTPS-secured domain name.

Lưu và đóng tệp. Nếu bạn đang sử dụng nano, press Ctrl+X, then Y when prompted to save the file, and Enter to confirm.

Tiếp theo, Vault Người dùng hệ thống cũng cần sự cho phép để đọc các chứng chỉ này. Theo mặc định, các chứng chỉ và khóa riêng này chỉ có thể truy cập được bởi root . Để thực hiện những thứ này có sẵn một cách an toàn, chúng tôi sẽ tạo một nhóm đặc biệt có tên PKI để truy cập các tệp này. Chúng tôi sẽ tạo nhóm và sau đó thêm Vault Người dùng với nó.

  • sudo groupadd pki.

Cập nhật các quyền trên hai thư mục trong / etc / letSencrypt để cho phép các thành viên pki nhóm để đọc nội dung. /etc/letsencrypt directory to allow members of the pki group to read the contents.

  • sudo chrp pki / etc / letsencrypt / Lưu trữ
  • sudo chrp pki / etc / letsencrypt / live
  • sudo chmod g + rx / etc / letsencrypt / Lưu trữ
  • sudo chmod g + rx / etc / letsencrypt / live

Sau đó thêm Vault Người dùng vào PKI Nhóm . Điều này sẽ cấp quyền truy cập Vault vào các chứng chỉ để có thể phục vụ các yêu cầu an toàn qua HTTPS. vault user to the pki group. This will grant Vault access to the certificates so that it can serve requests securely over HTTPS.

  • sudo usermod -a -g pki vault

Là bước cuối cùng để thuận tiện, hãy thêm một quy tắc trong / etc / hosts để yêu cầu trực tiếp đến Vault vào localhost . /etc/hosts to direct requests to Vault to localhost.

thay thế your_domain Trong lệnh sau với tên miền bạn đã mua chứng chỉ mã hóa Let:

  • echo 127.0.0.1 your_domain.com | sudo tee -a / etc / hosts

Lệnh này nối vào dòng 127.0.0.1 your_domain.com thành / etc / hosts để bất kỳ yêu cầu HTTP nào bạn thực hiện trên máy chủ Vault của mình thành your_domain.com Bỏ qua DNS và được gửi đến localhost trực tiếp. 127.0.0.1 your_domain.com to /etc/hosts so that any HTTP requests that you make on your Vault server to your_domain.com ignore DNS and are sent to localhost directly.

Với dịch vụ Vault được thiết lập và hoàn tất tệp Cấu hình Vault, giờ đây chúng ta đã sẵn sàng để bắt đầu Vault và khởi tạo Cửa hàng bí mật.

Bước 3 - Khởi tạo Vault

Khi bạn lần đầu tiên bắt đầu Vault, nó sẽ không được khởi tạo, điều đó có nghĩa là nó không sẵn sàng để nhận và lưu trữ dữ liệu. Trong phần này của hướng dẫn, bạn sẽ khởi động máy chủ Vault, sau đó khởi tạo nó với một tập hợp các khóa bí mật sẽ được sử dụng để unsreal [mở] các cửa hàng bí mật của Vault [mở].

Lần đầu tiên bạn bắt đầu Vault, phần phụ trợ thực sự lưu trữ bí mật được mã hóa là không được khởi tạo, quá. Bắt đầu dịch vụ hệ thống Vault để khởi tạo phần phụ trợ và bắt đầu tự chạy Vault.

  • sudo systemctl bắt đầu vault. Dịch vụ

Bạn có thể chạy kiểm tra nhanh để xác nhận dịch vụ đã bắt đầu thành công.

  • Sudo Systemctl Trạng thái Vault.Service

Bạn sẽ nhận được đầu ra tương tự như sau:

Đầu ra.
vault.service - "HashiCorp Vault - A tool for managing secrets" Loaded: loaded [/lib/systemd/system/vault.service; enabled; vendor preset: enabled] Active: active [running] since Tue 2021-11-16 21:55:13 UTC; 22s ago Docs: //www.vaultproject.io/docs/ Main PID: 104207 [vault] Tasks: 7 [limit: 1137] Memory: 179.3M CGroup: /system.slice/vault.service 104207 /usr/bin/vault server -config=/etc/vault.d/vault.hcl

Đầu ra của lệnh đó sẽ bao gồm một số thông tin về dịch vụ đang chạy, chẳng hạn như ID quy trình và cách sử dụng tài nguyên của nó. Đảm bảo rằng dòng sau được bao gồm trong đầu ra, cho biết dịch vụ đang chạy chính xác.

Đầu ra.
. . . Active: active [running] . . .

Đầu ra của lệnh đó sẽ bao gồm một số thông tin về dịch vụ đang chạy, chẳng hạn như ID quy trình và cách sử dụng tài nguyên của nó. Đảm bảo rằng dòng sau được bao gồm trong đầu ra, cho biết dịch vụ đang chạy chính xác.

Nếu dịch vụ không hoạt động, hãy xem các dòng nhật ký kèm theo ở cuối đầu ra của lệnh để xem đầu ra của Vault, có thể giúp xác định lại bất kỳ vấn đề nào. Vault Lệnh cách kết nối với máy chủ Vault. Trong bước 1, bạn đã định cấu hình Vault chỉ nghe trên giao diện loopback cục bộ, vì vậy hãy đặt vault_addr biến môi trường thành điểm cuối https cục bộ.

  • Tiếp theo, chúng tôi sẽ đặt một biến môi trường để nói với Vault Lệnh cách kết nối với máy chủ Vault. Trong bước 1, bạn đã định cấu hình Vault chỉ nghe trên giao diện loopback cục bộ, vì vậy hãy đặt Xuất vault_addr = // your_domain : 8200 Xuất vault_addr = // your_domain : 8200 Xuất vault_addr = // your_domain : 8200 Xuất vault_addr = // your_domain : 8200 Xuất vault_addr = // your_domain : 8200 Xuất vault_addr = // your_domain : 8200 Xuất vault_addr = // your_domain : 8200 Xuất vault_addr = // your_domain : 8200 Xuất vault_addr = // your_domain : 8200 Xuất vault_addr = // your_domain : 8200 Xuất vault_addr = // your_domain : 8200 Xuất vault_addr = // your_domain : 8200 Xuất vault_addr = // your_domain : 8200 Xuất vault_addr = // your_domain : 8200

. Vault Lệnh hiện có thể liên lạc với daemon. Lưu ý rằng xác định tên máy chủ thực sự thay vì đơn giản là localhost or 127.0.0.1 is necessary to properly validate the HTTPS certificate.

  • Xác nhận rằng máy chủ Vault nằm trong trạng thái chưa được khởi tạo bằng cách kiểm tra trạng thái của nó. Trạng thái Vault.

Máy chủ sẽ trả về một số đầu ra để bạn có thể nói rằng nó đang hoạt động nhưng chưa được khởi tạo.

Giá trị khóa --- ----- Loại con dấu Shamir. BẮT ĐẦU SALY Niêm phong đúng Tổng số cổ phiếu 0. Ngưỡng 0. GIẢI QUYẾT GIẢI QUYẾT 0/0. Unsreal nonce n / a Phiên bản 1.8.5. Tệp loại lưu trữ Ha được kích hoạt sai. ...........

. không có sẵn tại bất kỳ điểm nào khác:

  • Có hai thông tin mà Vault sẽ phơi bày tại thời điểm khởi tạo sẽ không
  • Mã thông báo gốc ban đầu . Điều này tương đương với quyền root đối với việc triển khai Vault của bạn, cho phép quản lý tất cả các chính sách, gắn kết và bí mật của Vault.

Phím vô định

Cụ thể hơn, quy trình không phân bổ của Vault giải mã phần phụ trợ bằng khóa được hình thành bởi các cổ phiếu chính. Khi bạn lần đầu tiên khởi tạo Vault, bạn có thể chọn có bao nhiêu khóa UNLEAL để tạo và bao nhiêu phím cần thiết tại thời gian vô hiệu để giải quyết thành công Vault. Để tìm hiểu thêm về cơ chế niêm phong của Vault, bạn có thể tham khảo tài liệu Vault.

Một cấu hình thông thường cho các tham số unsleal sẽ là tạo ba phím và yêu cầu ít nhất hai trong số các phím đó tại thời gian vô định. Điều này cho phép các cổ phiếu quan trọng được phân tách và lưu trữ ở các vị trí riêng biệt để đảm bảo rằng sự thỏa hiệp này là không đủ để giải nén Vault.at least two unseal keys will be required in order to make the service become available and ready to use. While sealed, the files that store the actual secret values will remain encrypted and inaccessible.

Nói cách khác, bất cứ khi nào Vault được bắt đầu, Ít nhất hai Phím giải định sẽ được yêu cầu để làm cho dịch vụ trở nên có sẵn và sẵn sàng để sử dụng. Trong khi niêm phong, các tệp lưu trữ các giá trị bí mật thực tế sẽ vẫn được mã hóa và không thể truy cập được. -key-shares=3 option, and require at least two keys to unseal the vault with the -key-threshold=2 flag::

  • Khởi tạo Vault với ba phím Unsreal bằng cách sử dụng -Key-Share = 3 và yêu cầu ít nhất hai phím để giải nén kho tiền với -KEY-ngưỡng = 2 Cờ :: Nhà điều hành Vault -Key-Shares = 3 -Key-ngưỡng = 2

Bạn sẽ nhận được đầu ra như sau:

Đầu ra.
Unseal Key 1: eZcJeydRrqeSMZ1zTN+VVll9TFT2KvJy7VlnxUgtvuz5 Unseal Key 2: ntmqCKq8rgNnKT1YSLCjVmCCZBAA3NwUeqxIyRpYD4Wm Unseal Key 3: 3FK1+Hsorh4p8/L9mki3VskaEU2eQhLqGOI/pJkTHMbx Initial Root Token: s.hY0ieybfDqCadz7JpL88uO3x

Đầu ra của lệnh đó sẽ bao gồm một số thông tin về dịch vụ đang chạy, chẳng hạn như ID quy trình và cách sử dụng tài nguyên của nó. Đảm bảo rằng dòng sau được bao gồm trong đầu ra, cho biết dịch vụ đang chạy chính xác.

Nếu dịch vụ không hoạt động, hãy xem các dòng nhật ký kèm theo ở cuối đầu ra của lệnh để xem đầu ra của Vault, có thể giúp xác định lại bất kỳ vấn đề nào.vault status again, the Initialized status will now be set to true, and the Total Shares and Threshold values will reflect the number of key shards and minimum number of keys that you will need to unseal the vault.

  • Xác nhận rằng máy chủ Vault nằm trong trạng thái chưa được khởi tạo bằng cách kiểm tra trạng thái của nó. Trạng thái Vault.

Đầu ra.
Tiếp theo, chúng tôi sẽ đặt một biến môi trường để nói với Vault Lệnh cách kết nối với máy chủ Vault. Trong bước 1, bạn đã định cấu hình Vault chỉ nghe trên giao diện loopback cục bộ, vì vậy hãy đặt vault_addr biến môi trường thành điểm cuối https cục bộ. Xuất vault_addr = // your_domain : 8200 Vault Lệnh hiện có thể liên lạc với daemon. Lưu ý rằng xác định tên máy chủ thực sự thay vì đơn giản là Xuất vault_addr = // your_domain : 8200 Vault Lệnh hiện có thể liên lạc với daemon. Lưu ý rằng xác định tên máy chủ thực sự thay vì đơn giản là Xuất vault_addr = // your_domain : 8200 Vault Lệnh hiện có thể liên lạc với daemon. Lưu ý rằng xác định tên máy chủ thực sự thay vì đơn giản là Xuất vault_addr = // your_domain : 8200 Vault Lệnh hiện có thể liên lạc với daemon. Lưu ý rằng xác định tên máy chủ thực sự thay vì đơn giản là Xuất vault_addr = // your_domain : 8200 Vault Lệnh hiện có thể liên lạc với daemon. Lưu ý rằng xác định tên máy chủ thực sự thay vì đơn giản là 2 Giải quyết tiến bộ 0/2. . . .

Lưu ý rằng unsreal progess Line hiển thị giá trị 0/2 . Bắt đầu giải nén Vault bằng cách sử dụng mã thông báo mới được tạo mới của bạn. Chạy Người vận hành Vault unsreal Lệnh và nhập bất kỳ khóa nào khi được nhắc: Unseal Progess line shows the value 0/2. Begin unsealing Vault using your newly created unseal tokens. Run the 2 command and input any of your keys when prompted:

  • Giá trị khóa

--- -----

Đầu ra.
Key [will be hidden]:

Đầu ra của lệnh đó sẽ bao gồm một số thông tin về dịch vụ đang chạy, chẳng hạn như ID quy trình và cách sử dụng tài nguyên của nó. Đảm bảo rằng dòng sau được bao gồm trong đầu ra, cho biết dịch vụ đang chạy chính xác.

Đầu ra.
Giá trị khóa --- ----- Loại con dấu Shamir. Khởi tạo đúng. Niêm phong đúng Tổng số cổ phiếu 3. Ngưỡng 2. Unsreal Tiến bộ 1/2 Unsreal nonce 0f3a328b-e0c6-6294-D6A2-56DA49271DFF Phiên bản 1.8.5. Tệp loại lưu trữ Ha được kích hoạt sai. Mã thông báo gốc ban đầu . Điều này tương đương với quyền root đối với việc triển khai Vault của bạn, cho phép quản lý tất cả các chính sách, gắn kết và bí mật của Vault. Phím vô định . Chúng được sử dụng để giải tỏa hầm khi daemon bắt đầu, cho phép daemon Vault để giải mã cửa hàng bí mật phụ trợ. Mã thông báo gốc ban đầu . Điều này tương đương với quyền root đối với việc triển khai Vault của bạn, cho phép quản lý tất cả các chính sách, gắn kết và bí mật của Vault. Phím vô định . Chúng được sử dụng để giải tỏa hầm khi daemon bắt đầu, cho phép daemon Vault để giải mã cửa hàng bí mật phụ trợ. Mã thông báo gốc ban đầu . Điều này tương đương với quyền root đối với việc triển khai Vault của bạn, cho phép quản lý tất cả các chính sách, gắn kết và bí mật của Vault. Phím vô định . Chúng được sử dụng để giải tỏa hầm khi daemon bắt đầu, cho phép daemon Vault để giải mã cửa hàng bí mật phụ trợ.

Thông báo cách Unsreal Tiến bộ 1/2 Dòng đã thay đổi trong đầu ra. Chạy Unsreal Lặp lại lệnh.

  • Nhà điều hành Vault unsreal.

Và nhập một khóa khác với loại bạn đã sử dụng:

Đầu ra.
Key [will be hidden]:

Đầu ra của lệnh chỉ ra rằng quy trình không xác định đã hoàn thành thành công.

Đầu ra.
Key Value --- ----- Seal Type shamir Initialized true Sealed false Total Shares 3 Threshold 2 Version 1.8.5 Storage Type file Cluster Name vault-cluster-3042c7bc Cluster ID c3e9d814-cf2a-2901-f0e4-ebc52d29e5cc HA Enabled false

Đầu ra của lệnh chỉ ra rằng quy trình không xác định đã hoàn thành thành công.

Vault hiện chưa được sử dụng và sẵn sàng để sử dụng. Những bước giải tạch này là cần thiết bất cứ khi nào hầm được bắt đầu hoặc khởi động lại. Đúng Đúng . Trong các bước tiếp theo, chúng tôi sẽ tạo các mã thông báo và chính sách truy cập cần thiết để lưu trữ các giá trị bí mật và đọc / ghi vào các đường dẫn cụ thể trong Vault.

Tuy nhiên, Unsrealing là một quá trình khác biệt từ tương tác bình thường với Vault [như giá trị đọc và viết], được xác thực bởi

Bước 4 - Đọc và viết bí mật Đúng Đúng secret backend. This backend stores simple key/value pairs in Vault. However, it is not enabled by default.

Có một số [Backends bí mật]] [//www.vaultproject.io/docs/secrets/index.html] rằng bạn có thể sử dụng với Vault, nhưng đối với ví dụ này, chúng ta sẽ sử dụng KV BÍ MẬT BÍ MẬT. Backend này lưu trữ các cặp khóa / giá trị đơn giản trong kho tiền. Tuy nhiên, nó không được bật theo mặc định. kv secret backend, and then learn how to read and write secrets to it.

Trong phần hướng dẫn này, bạn sẽ kích hoạt KV Backend, sau đó tìm hiểu cách đọc và viết bí mật vào đó. .

  • Đầu tiên, lưu mã thông báo gốc được tạo trước đó vào một biến shell để dễ sử dụng. your_root_token_here

root_token = your_root_token_here Backend:

  • Tiếp theo, trong khi xác thực với mã thông báo gốc, kích hoạt

. . .

Đầu ra.
Success! Enabled the kv secrets engine at: kv/

Đầu ra của lệnh chỉ ra rằng quy trình không xác định đã hoàn thành thành công.

  • Tuy nhiên, Unsrealing là một quá trình khác biệt từ tương tác bình thường với Vault [như giá trị đọc và viết], được xác thực bởi

Bước 4 - Đọc và viết bí mật

Đầu ra.
Tuy nhiên, Unsrealing là một quá trình khác biệt từ tương tác bình thường với Vault [như giá trị đọc và viết], được xác thực bởi Tokens . Trong các bước tiếp theo, chúng tôi sẽ tạo các mã thông báo và chính sách truy cập cần thiết để lưu trữ các giá trị bí mật và đọc / ghi vào các đường dẫn cụ thể trong Vault. ....

root_token = your_root_token_here được bật. Bây giờ chúng ta có thể lưu trữ một số dữ liệu với phần phụ trợ này.

  • Tiếp theo, trong khi xác thực với mã thông báo gốc, kích hoạt kv Backend: .....

.kv/ prefix indicates that we are writing to the kv backend mounted at the kv path, and we are storing the key value at the path message with the value mypassword. We used the root token, which has superuser privileges, to write the generic secret.

Bạn sẽ nhận được đầu ra như sau nếu lệnh thành công: Unsreal Tiến bộ 1/2 Dòng đã thay đổi trong đầu ra. Chạy

  • Sau đó, bạn có thể xác minh rằng nó đã được thêm vào danh sách các phần phụ trợ bí mật có sẵn tại địa phương của bạn: Danh sách Bí mật Vault_Token = $ root_token

Vault hiện chưa được sử dụng và sẵn sàng để sử dụng. Những bước giải tạch này là cần thiết bất cứ khi nào hầm được bắt đầu hoặc khởi động lại.

Đầu ra.
Key Value --- ----- refresh_interval 768h value mypassword

Đầu ra của lệnh chỉ ra rằng quy trình không xác định đã hoàn thành thành công.

Vault hiện chưa được sử dụng và sẵn sàng để sử dụng. Những bước giải tạch này là cần thiết bất cứ khi nào hầm được bắt đầu hoặc khởi động lại.

Tuy nhiên, Unsrealing là một quá trình khác biệt từ tương tác bình thường với Vault [như giá trị đọc và viết], được xác thực bởi

Bước 4 - Đọc và viết bí mật Chính sách Vault .

Có một số [Backends bí mật]] [//www.vaultproject.io/docs/secrets/index.html] rằng bạn có thể sử dụng với Vault, nhưng đối với ví dụ này, chúng ta sẽ sử dụng KV BÍ MẬT BÍ MẬT. Backend này lưu trữ các cặp khóa / giá trị đơn giản trong kho tiền. Tuy nhiên, nó không được bật theo mặc định. KV / KV KV_4D58555C8 N / A using nano or your preferred editor:

  • Trong phần hướng dẫn này, bạn sẽ kích hoạt KV Backend, sau đó tìm hiểu cách đọc và viết bí mật vào đó. . Đầu tiên, lưu mã thông báo gốc được tạo trước đó vào một biến shell để dễ sử dụng.

root_token =

policy.hcl

Tiếp theo, trong khi xác thực với mã thông báo gốc, kích hoạt

Lưu và đóng tệp, sau đó viết chính sách này để Vault. Lệnh sau sẽ tải chính sách KV / Giá trị tin nhắn = MYPASSWORDmessage-readonly with the read-only capability

  • Vault_token = $ Chính sách kho tiền gốc root_token Viết tin nhắn-readonly chính sách.

Tiếp theo, tạo mã thông báo mà bạn sẽ sử dụng để truy cập chỉ đọc vào Vault. Thêm Vault đọc Lệnh: vault token create command to use the new policy that you created:

  • Vault_token = $ root_token mã thông báo Tar -policy = "Tin nhắn-readonly"

Đầu ra sẽ trông như thế này:

Đầu ra.
Giá trị khóa --- ----- mã thông báo your_token_value Token_accessor your_token_accessor. Token_duration 768h0mms. Token_Renewable đúng Token_pologies ["Mặc định" "Tin nhắn-readonly"] danh tính_prockies [] Chính sách ["Mặc định" "Tin nhắn-readOnly"]

Lưu phần tô sáng Your_Token_Value Giá trị cho một biến môi trường được gọi là app_token : your_token_value value to an environment variable called app_token:

  • app_token = your_token_value

Bạn có thể sử dụng giá trị app_token Để truy cập dữ liệu được lưu trữ trong đường dẫn KV / Tin nhắn [và không có giá trị nào khác trong Vault]. KV / Giá trị tin nhắn = MYPASSWORDkv/message [and no other values in Vault].

  • Vault_token = $ app_token Vault Đọc KV / Tin nhắn

Đầu ra.
Giá trị khóa --- ----- mã thông báo your_token_value

Token_duration 768h0mms.

  • Token_Renewable đúng Token_pologies ["Mặc định" "Tin nhắn-readonly"]

Đầu ra.
Giá trị khóa --- ----- mã thông báo your_token_value

danh tính_prockies []

Chính sách ["Mặc định" "Tin nhắn-readOnly"]

.kv backend secret store, and defined a read-only policy to limit how a user can interact with Vault secrets.

Lưu phần tô sáng Your_Token_Value Giá trị cho một biến môi trường được gọi là app_token :

app_token =

  • Bạn có thể sử dụng giá trị app_token Để truy cập dữ liệu được lưu trữ trong đường dẫn KV / Tin nhắn [và không có giá trị nào khác trong Vault]. app_token in this tutorial illustrates how you can create limited-privilege tokens and policies.

  • Vault_token = $ app_token Vault Đọc KV / Tin nhắn

Video liên quan

Chủ Đề