Cách cài đặt keyring plugin trong mysql

Hashicorp - https. // nhà phát triển. mysql. com/doc/refman/8. 0/vi/keyring-hashicorp-plugin. html#keyring-hashicorp-plugin-configuration

AWS-https. // nhà phát triển. mysql. com/doc/refman/8. 0/en/keyring-aws-plugin. html#keyring-aws-plugin-configuration

keyring_vault cung cấp giao diện cho cơ sở dữ liệu với máy chủ HashiCorp Vault để lưu trữ khóa và khóa mã hóa an toàn

Ghi chú

Không nên sử dụng plugin keyring_file để tuân thủ quy định

Để cài đặt plugin, hãy làm theo hướng dẫn cài đặt và gỡ cài đặt plugin

Tải plugin keyring

Bạn nên tải plugin khi khởi động máy chủ với tùy chọn -early-plugin-load để kích hoạt chuỗi khóa

Cảnh báo

Mỗi lần chỉ nên bật một plugin khóa. Kích hoạt nhiều phần bổ trợ khóa không được hỗ trợ và có thể dẫn đến mất dữ liệu

Chúng tôi khuyên bạn nên tải plugin trong tệp cấu hình để tạo điều kiện khôi phục cho các bảng được mã hóa. Ngoài ra, không thể sử dụng mã hóa nhật ký làm lại và mã hóa nhật ký hoàn tác nếu không có --early-plugin-load. Tải plugin bình thường xảy ra quá muộn khi khởi động

Ghi chú

Tiện ích mở rộng keyring_vault, “. so” và vị trí tệp cho cấu hình vault phải được thay đổi để phù hợp với phần mở rộng của hệ điều hành và vị trí tệp trong hệ điều hành của bạn

Để sử dụng keyring_vault, bạn có thể thêm tùy chọn này vào tệp cấu hình của mình

[mysqld]
early-plugin-load="keyring_vault=keyring_vault.so"
loose-keyring_vault_config="/home/mysql/keyring_vault.conf"

The keyring_vault extension, ".so" and the file location for the vault
configuration should be changed to match your operating system's extension
and operating system location.

Bạn cũng có thể chạy lệnh sau để tải plugin keyring_file

$ mysqld --early-plugin-load="keyring_file=keyring_file.so"

Ghi chú

Nếu máy chủ bắt đầu với các plugin khác nhau được tải sớm, tùy chọn --early-plugin-load sẽ chứa tên plugin trong danh sách trích dẫn kép với mỗi tên plugin được phân tách bằng dấu chấm phẩy. Việc sử dụng dấu ngoặc kép đảm bảo dấu chấm phẩy không tạo ra sự cố khi danh sách được thực thi trong tập lệnh

Ngoài việc cài đặt plugin, bạn cũng phải đặt biến keyring_vault_config để trỏ đến tệp cấu hình keyring_vault

Tệp keyring_vault_config có thông tin sau

  • vault_url - địa chỉ máy chủ Vault

  • $ mysqld --early-plugin-load="keyring_file=keyring_file.so"
    
    0 - tên điểm gắn kết nơi keyring_vault lưu trữ khóa

  • $ mysqld --early-plugin-load="keyring_file=keyring_file.so"
    
    1 -
    $ mysqld --early-plugin-load="keyring_file=keyring_file.so"
    
    2 được sử dụng. Được triển khai trong Máy chủ Percona cho MySQL 8. 0. 23-14

  • $ mysqld --early-plugin-load="keyring_file=keyring_file.so"
    
    3 - mã thông báo được tạo bởi máy chủ Vault

  • $ mysqld --early-plugin-load="keyring_file=keyring_file.so"
    
    4 - nếu máy không tin cậy chứng chỉ CA của Vault, thì biến này sẽ trỏ tới chứng chỉ CA được sử dụng để ký chứng chỉ của Vault

Đây là một ví dụ về một tập tin cấu hình

vault_url = //vault.public.com:8202
secret_mount_point = secret
secret_mount_point_version = AUTO
token = 58a20c08-8001-fd5f-5192-7498a48eaf20
vault_ca = /data/keyring_vault_confs/vault_ca.crt

Cảnh báo

Mỗi

$ mysqld --early-plugin-load="keyring_file=keyring_file.so"
0 chỉ được sử dụng bởi một máy chủ. Nếu nhiều máy chủ sử dụng cùng một secret_mount_point, hành vi sẽ không thể đoán trước

Lần đầu tiên một khóa được tìm nạp từ một chuỗi khóa, keyring_vault sẽ giao tiếp với máy chủ Vault để truy xuất loại khóa và dữ liệu

thông tin secret_mount_point_version

Được triển khai trong Máy chủ Percona cho MySQL 8. 0. 23-14,

$ mysqld --early-plugin-load="keyring_file=keyring_file.so"
1 có thể là
$ mysqld --early-plugin-load="keyring_file=keyring_file.so"
7,
$ mysqld --early-plugin-load="keyring_file=keyring_file.so"
8,
$ mysqld --early-plugin-load="keyring_file=keyring_file.so"
9 hoặc tham số
$ mysqld --early-plugin-load="keyring_file=keyring_file.so"
1 không được liệt kê trong tệp cấu hình

ValueDescription1Hoạt động với
vault_url = //vault.public.com:8202
secret_mount_point = secret
secret_mount_point_version = AUTO
token = 58a20c08-8001-fd5f-5192-7498a48eaf20
vault_ca = /data/keyring_vault_confs/vault_ca.crt
1. Khi hình thành các URL hoạt động chính,
$ mysqld --early-plugin-load="keyring_file=keyring_file.so"
0 luôn được sử dụng mà không có bất kỳ biến đổi nào. Ví dụ: để trả về khóa có tên
vault_url = //vault.public.com:8202
secret_mount_point = secret
secret_mount_point_version = AUTO
token = 58a20c08-8001-fd5f-5192-7498a48eaf20
vault_ca = /data/keyring_vault_confs/vault_ca.crt
3, URL là/v1//skey2Works với
vault_url = //vault.public.com:8202
secret_mount_point = secret
secret_mount_point_version = AUTO
token = 58a20c08-8001-fd5f-5192-7498a48eaf20
vault_ca = /data/keyring_vault_confs/vault_ca.crt
4 Logic khởi tạo chia tham số
$ mysqld --early-plugin-load="keyring_file=keyring_file.so"
0 thành hai phần
  • vault_url = //vault.public.com:8202
    secret_mount_point = secret
    secret_mount_point_version = AUTO
    token = 58a20c08-8001-fd5f-5192-7498a48eaf20
    vault_ca = /data/keyring_vault_confs/vault_ca.crt
    
    6 - đường dẫn gắn kết theo đó bí mật Máy chủ Vault được tạo
  • vault_url = //vault.public.com:8202
    secret_mount_point = secret
    secret_mount_point_version = AUTO
    token = 58a20c08-8001-fd5f-5192-7498a48eaf20
    vault_ca = /data/keyring_vault_confs/vault_ca.crt
    
    7 - một hậu tố thư mục ảo có thể được sử dụng để tạo các không gian tên ảo có cùng điểm gắn kết thực
Ví dụ: cả
vault_url = //vault.public.com:8202
secret_mount_point = secret
secret_mount_point_version = AUTO
token = 58a20c08-8001-fd5f-5192-7498a48eaf20
vault_ca = /data/keyring_vault_confs/vault_ca.crt
6 và
vault_url = //vault.public.com:8202
secret_mount_point = secret
secret_mount_point_version = AUTO
token = 58a20c08-8001-fd5f-5192-7498a48eaf20
vault_ca = /data/keyring_vault_confs/vault_ca.crt
7 đều cần thiết để tạo URL truy cập chính. /v1/ INSTALL PLUGIN keyring_udf SONAME 'keyring_udf.so'; 0 hay
mysql> INSTALL PLUGIN keyring_udf SONAME 'keyring_udf.so';
1 và dựa trên kết quả sẽ sử dụng nguyên trạng của ______1_______0 hoặc chia ___1_______0 thành hai phần. Không được liệt kêNếu
$ mysqld --early-plugin-load="keyring_file=keyring_file.so"
1 không được liệt kê trong tệp cấu hình, hành vi sẽ giống như
$ mysqld --early-plugin-load="keyring_file=keyring_file.so"
9

Nếu bạn đặt

$ mysqld --early-plugin-load="keyring_file=keyring_file.so"
1 thành
$ mysqld --early-plugin-load="keyring_file=keyring_file.so"
8 nhưng đường dẫn được chỉ định bởi
$ mysqld --early-plugin-load="keyring_file=keyring_file.so"
0 dựa trên
vault_url = //vault.public.com:8202
secret_mount_point = secret
secret_mount_point_version = AUTO
token = 58a20c08-8001-fd5f-5192-7498a48eaf20
vault_ca = /data/keyring_vault_confs/vault_ca.crt
1, một lỗi sẽ được báo cáo và plugin không khởi tạo được

Nếu bạn đặt

$ mysqld --early-plugin-load="keyring_file=keyring_file.so"
1 thành
$ mysqld --early-plugin-load="keyring_file=keyring_file.so"
7 nhưng đường dẫn được chỉ định bởi
$ mysqld --early-plugin-load="keyring_file=keyring_file.so"
0 dựa trên keyring_vault3, thì quá trình khởi tạo plugin thành công nhưng mọi thao tác liên quan đến khóa MySQL không thành công

Nâng cấp từ 8. 0. 22-13 hoặc sớm hơn đến 8. 0. 23-14 hoặc muộn hơn

Các tệp cấu hình plugin keyring_vault được tạo trước Percona Server cho MySQL 8. 0. 23-14 chỉ hoạt động với

vault_url = //vault.public.com:8202
secret_mount_point = secret
secret_mount_point_version = AUTO
token = 58a20c08-8001-fd5f-5192-7498a48eaf20
vault_ca = /data/keyring_vault_confs/vault_ca.crt
1 và không có tham số
$ mysqld --early-plugin-load="keyring_file=keyring_file.so"
1. Sau khi nâng cấp lên 8. 0. 23-14 trở đi,
$ mysqld --early-plugin-load="keyring_file=keyring_file.so"
1 được mặc nhiên coi là
$ mysqld --early-plugin-load="keyring_file=keyring_file.so"
9 và thông tin được thăm dò và phiên bản động cơ bí mật được xác định là
$ mysqld --early-plugin-load="keyring_file=keyring_file.so"
7

Nâng cấp từ Vault Secrets Engine Phiên bản 1 lên Phiên bản 2

Bạn có thể nâng cấp từ Vault Secrets Engine Phiên bản 1 lên Phiên bản 2. Sử dụng một trong các phương pháp sau

  • Đặt

    $ mysqld --early-plugin-load="keyring_file=keyring_file.so"
    
    1 thành
    $ mysqld --early-plugin-load="keyring_file=keyring_file.so"
    
    9 hoặc biến không được đặt trong tệp cấu hình plugin keyring_vault trong tất cả Máy chủ Percona. Giá trị
    $ mysqld --early-plugin-load="keyring_file=keyring_file.so"
    
    9 đảm bảo cơ chế tự động phát hiện được gọi trong quá trình khởi tạo plugin

  • Đặt

    $ mysqld --early-plugin-load="keyring_file=keyring_file.so"
    
    1 thành
    $ mysqld --early-plugin-load="keyring_file=keyring_file.so"
    
    8 để đảm bảo rằng plugin không khởi tạo trừ khi quá trình nâng cấp
    mysql> INSTALL PLUGIN keyring_udf SONAME 'keyring_udf.so';
    
    0 thành
    mysql> INSTALL PLUGIN keyring_udf SONAME 'keyring_udf.so';
    
    1 hoàn tất

Ghi chú

Plugin keyring_vault hoạt động với các công cụ bí mật của

mysql> INSTALL PLUGIN keyring_udf SONAME 'keyring_udf.so';
1 không sử dụng khả năng lập phiên bản khóa tích hợp. Các phiên bản khóa keyring được mã hóa thành tên khóa

KV Secret Engine cân nhắc nâng cấp từ 5. 7 đến 8. 0

Khi bạn nâng cấp từ Percona Server cho MySQL 5. 7. 32 tuổi trở lên, bạn chỉ có thể sử dụng -early-plugin-load0. Bạn có thể nâng cấp lên bất kỳ phiên bản nào của Percona Server cho MySQL 8. 0. Cả plugin keyring_vault cũ và plugin keyring_vault mới đều hoạt động chính xác với dữ liệu Máy chủ Vault hiện có trong tệp cấu hình plugin keyring_vault hiện có

Nếu bạn nâng cấp từ Percona Server cho MySQL 5. 7. 33 trở lên, bạn có các tùy chọn sau

  • Nếu bạn đang sử dụng -early-plugin-load0, bạn có thể nâng cấp với bất kỳ phiên bản nào của Percona Server cho MySQL 8. 0

  • Nếu bạn đang sử dụng -early-plugin-load5, bạn có thể nâng cấp với Percona Server cho MySQL 8. 0. 23 hoặc mới hơn. Máy chủ Percona cho MySQL 8. 0. 23. 14 là phiên bản đầu tiên của 8. 0 có plugin keyring_vault hỗ trợ

    mysql> INSTALL PLUGIN keyring_udf SONAME 'keyring_udf.so';
    
    1

Chỉ có thể xóa khóa do người dùng tạo bằng cách sử dụng plugin keyring_udf và xóa khóa khỏi bản đồ băm trong bộ nhớ và máy chủ Vault. Bạn không thể xóa các khóa hệ thống, chẳng hạn như khóa chính

Plugin này hỗ trợ giao diện SQL để quản lý khóa khóa được mô tả trong hướng dẫn Chức năng quản lý khóa khóa mục đích chung

Thư viện plugin chứa các chức năng khóa do người dùng xác định cho phép truy cập vào các chức năng dịch vụ khóa nội bộ. Để kích hoạt các chức năng, bạn phải kích hoạt plugin -early-plugin-load8

mysql> INSTALL PLUGIN keyring_udf SONAME 'keyring_udf.so';

Ghi chú

Plugin -early-plugin-load8 phải được cài đặt. Sử dụng các chức năng do người dùng định nghĩa mà không có plugin -early-plugin-load8 sẽ tạo ra lỗi

Bạn cũng phải tạo các chức năng mã hóa khóa do người dùng xác định

Sử dụng thành phần keyring_file

Xem cài đặt thành phần khóa để biết thông tin về cách cài đặt thành phần

Cảnh báo

Không nên sử dụng thành phần keyring_file để tuân thủ quy định

Xem thêm

Tài liệu MySQL. Sử dụng thành phần keyring_file

Biến hệ thống

--early-plugin-load2

Tùy chọnMô tảDòng lệnh–keyring-vault-configScopeGlobalDynamicYesKiểu dữ liệuVăn bảnMặc định

Biến này xác định vị trí của tệp cấu hình keyring_vault_plugin

--early-plugin-load3

Tùy chọnMô tảDòng lệnh–keyring-vault-timeoutPhạm viGlobalDynamicYesKiểu dữ liệuNumericDefault15

Đặt thời lượng tính bằng giây cho thời gian chờ kết nối máy chủ Vault. Giá trị mặc định là --early-plugin-load4. Phạm vi cho phép là từ --early-plugin-load5 đến --early-plugin-load6. Thời gian chờ cũng có thể bị vô hiệu hóa để đợi một khoảng thời gian vô hạn bằng cách đặt biến này thành --early-plugin-load5

Làm cách nào để cài đặt plugin khóa trong MySQL trong Ubuntu?

Tôi đang cố gắng cài đặt plugin keyring trên MySQL 5. 7. .
Thêm dòng sau vào của tôi. ini sớm-plugin-load=keyring_file. dll
Tạo một thư mục có tên keyring tại C. \Tệp chương trình\MySQL\Máy chủ MySQL 8. 0 vị trí
Cấp quyền truy cập sửa đổi vào thư mục này vì MySQL cần đọc thư mục và chèn khóa vào thư mục

Khóa trong MySQL là gì?

Máy chủ MySQL hỗ trợ một chuỗi khóa cho phép các phần bổ trợ và thành phần máy chủ nội bộ lưu trữ an toàn thông tin nhạy cảm để truy xuất sau này . Việc thực hiện bao gồm các yếu tố này. Các plugin tạo khóa quản lý kho dự phòng hoặc giao tiếp với kho lưu trữ phía sau.

Chủ Đề