SSL hoạt động như thế nào trong MySQL?

Trang này mô tả cách định cấu hình phiên bản để sử dụng SSL/TLS. Bạn cũng có thể tìm hiểu thêm về cách Cloud SQL sử dụng chứng chỉ SSL/TLS tự quản lý để kết nối an toàn với các phiên bản Cloud SQL

Tổng quan

Cloud SQL tự động tạo chứng chỉ máy chủ (_______09) khi bạn tạo phiên bản của mình. Chúng tôi khuyên bạn nên thực thi tất cả các kết nối để sử dụng SSL/TLS

Để xác thực danh tính máy khách/máy chủ bằng chứng chỉ SSL/TLS, bạn cần tạo chứng chỉ ứng dụng khách và tải chứng chỉ xuống máy chủ máy khách MySQL của bạn. Ghi chú. Cloud SQL khuyến nghị xác thực lẫn nhau, bao gồm việc sử dụng chứng chỉ để xác thực cả máy khách và máy chủ. Việc thực thi mã hóa SSL/TLS như được mô tả bên dưới sẽ khiến TLS chung bắt buộc đối với tất cả khách hàng. Tuy nhiên, nếu SSL/TLS không được thực thi, vẫn có thể kết nối với TLS không tương hỗ bằng chứng chỉ máy chủ

Để biết thêm thông tin, hãy tham khảo tài liệu dành cho công cụ cơ sở dữ liệu của bạn

Bạn phải khởi động lại phiên bản sau khi thực thi SSL cho phiên bản. Tuy nhiên, bạn không cần khởi động lại phiên bản sau khi thay đổi chứng chỉ SSL/TLS. Nếu cần phải khởi động lại thì việc này sẽ được thực hiện tự động trong sự kiện cập nhật SSL

Ghi chú. Nếu phiên bản Cloud SQL của bạn đang sử dụng địa chỉ IP công khai, bạn cần thêm địa chỉ IP của máy khách MySQL làm mạng được ủy quyền khi định cấu hình SSL/TLS

Thực thi mã hóa SSL/TLS

Thiết lập phiên bản Cloud SQL của bạn để chấp nhận các kết nối SSL/TLS sẽ bật các kết nối SSL/TLS cho phiên bản này, nhưng các kết nối không được mã hóa và không an toàn vẫn được chấp nhận. Nếu bạn không yêu cầu SSL/TLS cho tất cả các kết nối, các máy khách không có chứng chỉ hợp lệ sẽ được phép kết nối. Vì lý do này, nếu bạn đang truy cập phiên bản của mình bằng IP công cộng, bạn nên thực thi SSL cho tất cả các kết nối

Khi tùy chọn yêu cầu SSL/TLS được bật, bạn có thể sử dụng proxy Cloud SQL Auth hoặc chứng chỉ SSL/TLS để kết nối với phiên bản Cloud SQL của mình. Sử dụng proxy Cloud SQL Auth không yêu cầu Chứng chỉ SSL/TLS vì kết nối được mã hóa bất kể cài đặt

Để bật yêu cầu SSL/TLS

Bảng điều khiển

  1. Trong bảng điều khiển Google Cloud, hãy truy cập trang Phiên bản Cloud SQL

    Chuyển đến Phiên bản đám mây SQL

  2. Để mở trang Tổng quan về một phiên bản, hãy nhấp vào tên phiên bản
  3. Nhấp vào Kết nối từ menu điều hướng SQL
  4. Chọn tab Bảo mật
  5. Nhấp vào Chỉ cho phép kết nối SSL

gcloud

gcloud sql instances patch INSTANCE_NAME
--require-ssl
  

địa hình

Để thực thi mã hóa SSL/TLS, hãy sử dụng tài nguyên Terraform

sql_instance_ssl_cert/chính. tf

Xem trên GitHub Phản hồi

resource "google_sql_database_instance" "mysql_instance" {
  name             = "mysql-instance"
  region           = "asia-northeast1"
  database_version = "MYSQL_8_0"
  settings {
    tier = "db-f1-micro"
    ip_configuration {
      require_ssl = "true"
    }
  }
  deletion_protection = false # set to true to prevent destruction of the resource
}

Áp dụng các thay đổi

Để áp dụng cấu hình Terraform của bạn trong dự án Google Cloud, hãy hoàn thành các bước sau

  1. Khởi chạy Cloud Shell
  2. Đặt dự án Google Cloud nơi bạn muốn áp dụng cấu hình Terraform.
    export GOOGLE_CLOUD_PROJECT=PROJECT_ID
    
  3. Tạo một thư mục và mở một tệp mới trong thư mục đó. Tên tệp phải có phần mở rộng
    terraform plan
    0, ví dụ
    terraform plan
    1.
    mkdir DIRECTORY && cd DIRECTORY && nano main.tf
    
  4. Sao chép mẫu vào
    terraform plan
    1
  5. Xem xét và sửa đổi các tham số mẫu để áp dụng cho môi trường của bạn
  6. Lưu các thay đổi của bạn bằng cách nhấn
    terraform plan
    3 rồi nhấn
    terraform plan
    4
  7. Khởi tạo địa hình.
    terraform init
  8. Xem lại cấu hình và xác minh rằng các tài nguyên mà Terraform sẽ tạo hoặc cập nhật phù hợp với mong đợi của bạn.
    terraform plan

    Chỉnh sửa cấu hình khi cần thiết

  9. Áp dụng cấu hình Terraform bằng cách chạy lệnh sau và nhập
    terraform plan
    5 tại dấu nhắc.
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    3

    Chờ cho đến khi Terraform hiển thị thông báo "Áp dụng hoàn tất. " thông điệp

  10. Mở dự án Google Cloud của bạn để xem kết quả. Trong bảng điều khiển Google Cloud, điều hướng đến tài nguyên của bạn trong giao diện người dùng để đảm bảo rằng Terraform đã tạo hoặc cập nhật chúng

Xóa các thay đổi

Để xóa các thay đổi của bạn, hãy làm như sau

  1. Để tắt tính năng bảo vệ xóa, trong tệp cấu hình Terraform của bạn, hãy đặt đối số
    terraform plan
    6 thành
    terraform plan
    7.
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    6
  2. Áp dụng cấu hình Terraform đã cập nhật bằng cách chạy lệnh sau và nhập
    terraform plan
    5 tại dấu nhắc.
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    3
  1. Xóa các tài nguyên đã áp dụng trước đó với cấu hình Terraform của bạn bằng cách chạy lệnh sau và nhập

    terraform plan
    5 tại dấu nhắc

    resource "google_sql_database_instance" "mysql_instance" {
      name             = "mysql-instance"
      region           = "asia-northeast1"
      database_version = "MYSQL_8_0"
      settings {
        tier = "db-f1-micro"
        ip_configuration {
          require_ssl = "true"
        }
      }
      deletion_protection = false # set to true to prevent destruction of the resource
    }
    0

REST v1

  1. Trước khi sử dụng bất kỳ dữ liệu yêu cầu nào, hãy thực hiện các thay thế sau

    • dự án-id. ID dự án
    • ví dụ-id. ID ví dụ

    Phương thức HTTP và URL

    resource "google_sql_database_instance" "mysql_instance" {
      name             = "mysql-instance"
      region           = "asia-northeast1"
      database_version = "MYSQL_8_0"
      settings {
        tier = "db-f1-micro"
        ip_configuration {
          require_ssl = "true"
        }
      }
      deletion_protection = false # set to true to prevent destruction of the resource
    }
    0

    Yêu cầu nội dung JSON

    resource "google_sql_database_instance" "mysql_instance" {
      name             = "mysql-instance"
      region           = "asia-northeast1"
      database_version = "MYSQL_8_0"
      settings {
        tier = "db-f1-micro"
        ip_configuration {
          require_ssl = "true"
        }
      }
      deletion_protection = false # set to true to prevent destruction of the resource
    }
    1

    Để gửi yêu cầu của bạn, hãy mở rộng một trong các tùy chọn này

    cuộn tròn (Linux, macOS hoặc Cloud Shell)

    Ghi chú. Lệnh sau đây giả định rằng bạn đã đăng nhập vào
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    30 CLI bằng tài khoản người dùng của mình bằng cách thực thi
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    31 hoặc
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    32 hoặc bằng cách sử dụng Cloud Shell, dịch vụ này sẽ tự động đăng nhập bạn vào
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    30 CLI. Bạn có thể kiểm tra tài khoản đang hoạt động bằng cách thực hiện lệnh
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    34

    Lưu nội dung yêu cầu trong tệp có tên

    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    35 và thực hiện lệnh sau

    resource "google_sql_database_instance" "mysql_instance" {
      name             = "mysql-instance"
      region           = "asia-northeast1"
      database_version = "MYSQL_8_0"
      settings {
        tier = "db-f1-micro"
        ip_configuration {
          require_ssl = "true"
        }
      }
      deletion_protection = false # set to true to prevent destruction of the resource
    }
    2

    PowerShell (Windows)

    Ghi chú. Lệnh sau đây giả định rằng bạn đã đăng nhập vào
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    30 CLI bằng tài khoản người dùng của mình bằng cách thực thi
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    31 hoặc
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    32 hoặc bằng cách sử dụng Cloud Shell, dịch vụ này sẽ tự động đăng nhập bạn vào
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    30 CLI. Bạn có thể kiểm tra tài khoản đang hoạt động bằng cách thực hiện lệnh
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    34

    Lưu nội dung yêu cầu trong tệp có tên

    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    35 và thực hiện lệnh sau

    resource "google_sql_database_instance" "mysql_instance" {
      name             = "mysql-instance"
      region           = "asia-northeast1"
      database_version = "MYSQL_8_0"
      settings {
        tier = "db-f1-micro"
        ip_configuration {
          require_ssl = "true"
        }
      }
      deletion_protection = false # set to true to prevent destruction of the resource
    }
    3

    Bạn sẽ nhận được phản hồi JSON tương tự như sau

    Phản ứng

    resource "google_sql_database_instance" "mysql_instance" {
      name             = "mysql-instance"
      region           = "asia-northeast1"
      database_version = "MYSQL_8_0"
      settings {
        tier = "db-f1-micro"
        ip_configuration {
          require_ssl = "true"
        }
      }
      deletion_protection = false # set to true to prevent destruction of the resource
    }
    4

REST v1beta4

  1. Trước khi sử dụng bất kỳ dữ liệu yêu cầu nào, hãy thực hiện các thay thế sau

    • dự án-id. ID dự án
    • ví dụ-id. ID ví dụ

    Phương thức HTTP và URL

    resource "google_sql_database_instance" "mysql_instance" {
      name             = "mysql-instance"
      region           = "asia-northeast1"
      database_version = "MYSQL_8_0"
      settings {
        tier = "db-f1-micro"
        ip_configuration {
          require_ssl = "true"
        }
      }
      deletion_protection = false # set to true to prevent destruction of the resource
    }
    5

    Yêu cầu nội dung JSON

    resource "google_sql_database_instance" "mysql_instance" {
      name             = "mysql-instance"
      region           = "asia-northeast1"
      database_version = "MYSQL_8_0"
      settings {
        tier = "db-f1-micro"
        ip_configuration {
          require_ssl = "true"
        }
      }
      deletion_protection = false # set to true to prevent destruction of the resource
    }
    1

    Để gửi yêu cầu của bạn, hãy mở rộng một trong các tùy chọn này

    cuộn tròn (Linux, macOS hoặc Cloud Shell)

    Ghi chú. Lệnh sau đây giả định rằng bạn đã đăng nhập vào
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    30 CLI bằng tài khoản người dùng của mình bằng cách thực thi
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    31 hoặc
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    32 hoặc bằng cách sử dụng Cloud Shell, dịch vụ này sẽ tự động đăng nhập bạn vào
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    30 CLI. Bạn có thể kiểm tra tài khoản đang hoạt động bằng cách thực hiện lệnh
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    34

    Lưu nội dung yêu cầu trong tệp có tên

    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    35 và thực hiện lệnh sau

    resource "google_sql_database_instance" "mysql_instance" {
      name             = "mysql-instance"
      region           = "asia-northeast1"
      database_version = "MYSQL_8_0"
      settings {
        tier = "db-f1-micro"
        ip_configuration {
          require_ssl = "true"
        }
      }
      deletion_protection = false # set to true to prevent destruction of the resource
    }
    7

    PowerShell (Windows)

    Ghi chú. Lệnh sau đây giả định rằng bạn đã đăng nhập vào
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    30 CLI bằng tài khoản người dùng của mình bằng cách thực thi
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    31 hoặc
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    32 hoặc bằng cách sử dụng Cloud Shell, dịch vụ này sẽ tự động đăng nhập bạn vào
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    30 CLI. Bạn có thể kiểm tra tài khoản đang hoạt động bằng cách thực hiện lệnh
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    34

    Lưu nội dung yêu cầu trong tệp có tên

    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    35 và thực hiện lệnh sau

    resource "google_sql_database_instance" "mysql_instance" {
      name             = "mysql-instance"
      region           = "asia-northeast1"
      database_version = "MYSQL_8_0"
      settings {
        tier = "db-f1-micro"
        ip_configuration {
          require_ssl = "true"
        }
      }
      deletion_protection = false # set to true to prevent destruction of the resource
    }
    8

    Bạn sẽ nhận được phản hồi JSON tương tự như sau

    Phản ứng

    resource "google_sql_database_instance" "mysql_instance" {
      name             = "mysql-instance"
      region           = "asia-northeast1"
      database_version = "MYSQL_8_0"
      settings {
        tier = "db-f1-micro"
        ip_configuration {
          require_ssl = "true"
        }
      }
      deletion_protection = false # set to true to prevent destruction of the resource
    }
    9

Chứng chỉ máy chủ

Cloud SQL tự động tạo chứng chỉ máy chủ khi bạn tạo phiên bản của mình. Miễn là chứng chỉ máy chủ hợp lệ, bạn không cần chủ động quản lý chứng chỉ máy chủ của mình. Tuy nhiên, chứng chỉ có thời hạn sử dụng là 10 năm; . Bạn được thông báo định kỳ rằng chứng chỉ máy chủ sắp hết hạn. Thông báo được gửi vào số ngày sau đây trước ngày hết hạn. 90, 30, 10, 2 và 1

Bạn có thể nhận thông tin về chứng chỉ máy chủ của mình, chẳng hạn như thời điểm chứng chỉ được tạo và thời điểm hết hạn hoặc tạo chứng chỉ mới theo cách thủ công

Bảng điều khiển

  1. Trong bảng điều khiển Google Cloud, hãy truy cập trang Phiên bản Cloud SQL

    Chuyển đến Phiên bản đám mây SQL

  2. Để mở trang Tổng quan về một phiên bản, hãy nhấp vào tên phiên bản
  3. Nhấp vào Kết nối từ menu điều hướng SQL
  4. Chọn tab Bảo mật
  5. Cuộn xuống phần Quản lý chứng chỉ máy chủ

    Bạn có thể xem ngày hết hạn của chứng chỉ máy chủ trong bảng

gcloud

  1. Nhận thông tin về chứng chỉ dịch vụ.
    export GOOGLE_CLOUD_PROJECT=PROJECT_ID
    
    0
  2. Tạo chứng chỉ máy chủ.
    export GOOGLE_CLOUD_PROJECT=PROJECT_ID
    
    1
  3. Tải thông tin chứng chỉ xuống tệp PEM cục bộ.
    export GOOGLE_CLOUD_PROJECT=PROJECT_ID
    
    2
  4. Cập nhật tất cả máy khách của bạn để sử dụng thông tin mới bằng cách sao chép tệp đã tải xuống vào máy chủ của khách hàng, thay thế máy chủ-ca hiện tại. tập tin pem

địa hình

Để cung cấp thông tin chứng chỉ máy chủ dưới dạng đầu ra, hãy sử dụng nguồn dữ liệu Terraform

  1. Thêm phần sau vào tệp cấu hình Terraform của bạn.
    export GOOGLE_CLOUD_PROJECT=PROJECT_ID
    
    3
  2. Để tạo tệp
    terraform init
    9, hãy chạy lệnh sau.
    export GOOGLE_CLOUD_PROJECT=PROJECT_ID
    
    4

Chứng chỉ ứng dụng khách

Tạo chứng chỉ ứng dụng khách mới

Bạn có thể tạo tối đa 10 chứng chỉ ứng dụng khách cho mỗi phiên bản. Để tạo chứng chỉ ứng dụng khách, bạn phải có vai trò IAM

gcloud sql instances patch INSTANCE_NAME
--require-ssl
  
35

Dưới đây là một số điều quan trọng cần biết về chứng chỉ ứng dụng khách

  • Nếu bạn mất khóa riêng cho chứng chỉ, bạn phải tạo một khóa mới;
  • Theo mặc định, chứng chỉ ứng dụng khách có ngày hết hạn là 10 năm
  • Bạn không được thông báo khi chứng chỉ ứng dụng khách sắp hết hạn

Bảng điều khiển

  1. Trong bảng điều khiển Google Cloud, hãy truy cập trang Phiên bản Cloud SQL

    Chuyển đến Phiên bản đám mây SQL

  2. Để mở trang Tổng quan về một phiên bản, hãy nhấp vào tên phiên bản
  3. Nhấp vào Kết nối từ menu điều hướng SQL
  4. Chọn tab Bảo mật
  5. Nhấp vào Tạo chứng chỉ ứng dụng khách
  6. Trong hộp thoại Tạo chứng chỉ ứng dụng khách, hãy thêm một tên duy nhất
  7. Nhấp vào Tạo
  8. Trong phần đầu tiên của hộp thoại Tạo chứng chỉ SSL mới, hãy nhấp vào Tải xuống khóa máy khách. pem để tải khóa riêng xuống một tệp có tên
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    36. Quan trọng. Lưu trữ khóa riêng này một cách an toàn. Nếu bạn làm mất nó, bạn phải tạo chứng chỉ ứng dụng khách mới
  9. Trong phần thứ hai, nhấp vào Tải xuống client-cert. pem để tải chứng chỉ ứng dụng khách xuống tệp có tên
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    37
  10. Trong phần thứ ba, nhấp vào Tải xuống máy chủ-ca. pem để tải chứng chỉ máy chủ xuống tệp có tên
    terraform init
    9
  11. Nhấp vào Đóng

gcloud

  1. Tạo chứng chỉ ứng dụng khách bằng lệnh

    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    39

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID
    
    5Quan trọng. Lưu trữ khóa riêng này một cách an toàn. Nếu bạn làm mất nó, bạn phải tạo chứng chỉ ứng dụng khách mới
  2. Truy xuất khóa công khai cho chứng chỉ bạn vừa tạo và sao chép nó vào tệp

    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    37 bằng lệnh
    resource "google_sql_database_instance" "mysql_instance" {
      name             = "mysql-instance"
      region           = "asia-northeast1"
      database_version = "MYSQL_8_0"
      settings {
        tier = "db-f1-micro"
        ip_configuration {
          require_ssl = "true"
        }
      }
      deletion_protection = false # set to true to prevent destruction of the resource
    }
    01

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID
    
    6
  3. Sao chép chứng chỉ máy chủ vào tệp

    terraform init
    9 bằng lệnh
    resource "google_sql_database_instance" "mysql_instance" {
      name             = "mysql-instance"
      region           = "asia-northeast1"
      database_version = "MYSQL_8_0"
      settings {
        tier = "db-f1-micro"
        ip_configuration {
          require_ssl = "true"
        }
      }
      deletion_protection = false # set to true to prevent destruction of the resource
    }
    03

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID
    
    7

địa hình

Để tạo chứng chỉ ứng dụng khách, hãy sử dụng tài nguyên Terraform

sql_instance_ssl_cert/chính. tf

Xem trên GitHub Phản hồi

export GOOGLE_CLOUD_PROJECT=PROJECT_ID
8

REST v1

  1. Tạo chứng chỉ SSL/TLS, đặt tên riêng cho trường hợp này

    Trước khi sử dụng bất kỳ dữ liệu yêu cầu nào, hãy thực hiện các thay thế sau

    • dự án-id. ID dự án
    • ví dụ-id. ID ví dụ
    • client-cert-name. Tên chứng chỉ ứng dụng khách

    Phương thức HTTP và URL

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID
    
    9

    Yêu cầu nội dung JSON

    mkdir DIRECTORY && cd DIRECTORY && nano main.tf
    
    0

    Để gửi yêu cầu của bạn, hãy mở rộng một trong các tùy chọn này

    cuộn tròn (Linux, macOS hoặc Cloud Shell)

    Ghi chú. Lệnh sau đây giả định rằng bạn đã đăng nhập vào
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    30 CLI bằng tài khoản người dùng của mình bằng cách thực thi
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    31 hoặc
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    32 hoặc bằng cách sử dụng Cloud Shell, dịch vụ này sẽ tự động đăng nhập bạn vào
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    30 CLI. Bạn có thể kiểm tra tài khoản đang hoạt động bằng cách thực hiện lệnh
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    34

    Lưu nội dung yêu cầu trong tệp có tên

    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    35 và thực hiện lệnh sau

    mkdir DIRECTORY && cd DIRECTORY && nano main.tf
    
    1

    PowerShell (Windows)

    Ghi chú. Lệnh sau đây giả định rằng bạn đã đăng nhập vào
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    30 CLI bằng tài khoản người dùng của mình bằng cách thực thi
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    31 hoặc
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    32 hoặc bằng cách sử dụng Cloud Shell, dịch vụ này sẽ tự động đăng nhập bạn vào
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    30 CLI. Bạn có thể kiểm tra tài khoản đang hoạt động bằng cách thực hiện lệnh
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    34

    Lưu nội dung yêu cầu trong tệp có tên

    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    35 và thực hiện lệnh sau

    mkdir DIRECTORY && cd DIRECTORY && nano main.tf
    
    2

    Bạn sẽ nhận được phản hồi JSON tương tự như sau

    Phản ứng

    mkdir DIRECTORY && cd DIRECTORY && nano main.tf
    
    3
  2. Sao chép tất cả nội dung chứng chỉ trong dấu ngoặc kép (nhưng không phải chính dấu ngoặc kép) từ phản hồi vào tệp cục bộ như sau
    1. Sao chép
      resource "google_sql_database_instance" "mysql_instance" {
        name             = "mysql-instance"
        region           = "asia-northeast1"
        database_version = "MYSQL_8_0"
        settings {
          tier = "db-f1-micro"
          ip_configuration {
            require_ssl = "true"
          }
        }
        deletion_protection = false # set to true to prevent destruction of the resource
      }
      06 vào
      terraform init
      9
    2. Sao chép
      resource "google_sql_database_instance" "mysql_instance" {
        name             = "mysql-instance"
        region           = "asia-northeast1"
        database_version = "MYSQL_8_0"
        settings {
          tier = "db-f1-micro"
          ip_configuration {
            require_ssl = "true"
          }
        }
        deletion_protection = false # set to true to prevent destruction of the resource
      }
      08 vào
      gcloud sql instances patch INSTANCE_NAME
      --require-ssl
        
      37
    3. Sao chép
      resource "google_sql_database_instance" "mysql_instance" {
        name             = "mysql-instance"
        region           = "asia-northeast1"
        database_version = "MYSQL_8_0"
        settings {
          tier = "db-f1-micro"
          ip_configuration {
            require_ssl = "true"
          }
        }
        deletion_protection = false # set to true to prevent destruction of the resource
      }
      10 vào
      gcloud sql instances patch INSTANCE_NAME
      --require-ssl
        
      36
    Quan trọng. Lưu trữ khóa riêng này một cách an toàn. Nếu bạn làm mất nó, bạn phải tạo chứng chỉ ứng dụng khách mới
  3. Trước khi sử dụng bất kỳ dữ liệu yêu cầu nào, hãy thực hiện các thay thế sau

    • dự án-id. ID dự án
    • ví dụ-id. ID ví dụ
    • chính sách kích hoạt. Chính sách kích hoạt là LUÔN LUÔN hoặc KHÔNG BAO GIỜ

    Phương thức HTTP và URL

    mkdir DIRECTORY && cd DIRECTORY && nano main.tf
    
    4

    Yêu cầu nội dung JSON

    mkdir DIRECTORY && cd DIRECTORY && nano main.tf
    
    5

    Để gửi yêu cầu của bạn, hãy mở rộng một trong các tùy chọn này

    cuộn tròn (Linux, macOS hoặc Cloud Shell)

    Ghi chú. Lệnh sau đây giả định rằng bạn đã đăng nhập vào
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    30 CLI bằng tài khoản người dùng của mình bằng cách thực thi
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    31 hoặc
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    32 hoặc bằng cách sử dụng Cloud Shell, dịch vụ này sẽ tự động đăng nhập bạn vào
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    30 CLI. Bạn có thể kiểm tra tài khoản đang hoạt động bằng cách thực hiện lệnh
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    34

    Lưu nội dung yêu cầu trong tệp có tên

    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    35 và thực hiện lệnh sau

    mkdir DIRECTORY && cd DIRECTORY && nano main.tf
    
    6

    PowerShell (Windows)

    Ghi chú. Lệnh sau đây giả định rằng bạn đã đăng nhập vào
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    30 CLI bằng tài khoản người dùng của mình bằng cách thực thi
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    31 hoặc
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    32 hoặc bằng cách sử dụng Cloud Shell, dịch vụ này sẽ tự động đăng nhập bạn vào
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    30 CLI. Bạn có thể kiểm tra tài khoản đang hoạt động bằng cách thực hiện lệnh
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    34

    Lưu nội dung yêu cầu trong tệp có tên

    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    35 và thực hiện lệnh sau

    mkdir DIRECTORY && cd DIRECTORY && nano main.tf
    
    7

    Bạn sẽ nhận được phản hồi JSON tương tự như sau

    mkdir DIRECTORY && cd DIRECTORY && nano main.tf
    
    8

REST v1beta4

  1. Tạo chứng chỉ SSL/TLS, đặt tên riêng cho trường hợp này

    Trước khi sử dụng bất kỳ dữ liệu yêu cầu nào, hãy thực hiện các thay thế sau

    • dự án-id. ID dự án
    • ví dụ-id. ID ví dụ
    • client-cert-name. Tên chứng chỉ ứng dụng khách

    Phương thức HTTP và URL

    mkdir DIRECTORY && cd DIRECTORY && nano main.tf
    
    9

    Yêu cầu nội dung JSON

    mkdir DIRECTORY && cd DIRECTORY && nano main.tf
    
    0

    Để gửi yêu cầu của bạn, hãy mở rộng một trong các tùy chọn này

    cuộn tròn (Linux, macOS hoặc Cloud Shell)

    Ghi chú. Lệnh sau đây giả định rằng bạn đã đăng nhập vào
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    30 CLI bằng tài khoản người dùng của mình bằng cách thực thi
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    31 hoặc
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    32 hoặc bằng cách sử dụng Cloud Shell, dịch vụ này sẽ tự động đăng nhập bạn vào
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    30 CLI. Bạn có thể kiểm tra tài khoản đang hoạt động bằng cách thực hiện lệnh
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    34

    Lưu nội dung yêu cầu trong tệp có tên

    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    35 và thực hiện lệnh sau

    terraform init
    1

    PowerShell (Windows)

    Ghi chú. Lệnh sau đây giả định rằng bạn đã đăng nhập vào
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    30 CLI bằng tài khoản người dùng của mình bằng cách thực thi
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    31 hoặc
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    32 hoặc bằng cách sử dụng Cloud Shell, dịch vụ này sẽ tự động đăng nhập bạn vào
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    30 CLI. Bạn có thể kiểm tra tài khoản đang hoạt động bằng cách thực hiện lệnh
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    34

    Lưu nội dung yêu cầu trong tệp có tên

    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    35 và thực hiện lệnh sau

    terraform init
    2

    Bạn sẽ nhận được phản hồi JSON tương tự như sau

    Phản ứng

    terraform init
    3
  2. Sao chép tất cả nội dung chứng chỉ trong dấu ngoặc kép (nhưng không phải chính dấu ngoặc kép) từ phản hồi vào tệp cục bộ như sau
    1. Sao chép
      resource "google_sql_database_instance" "mysql_instance" {
        name             = "mysql-instance"
        region           = "asia-northeast1"
        database_version = "MYSQL_8_0"
        settings {
          tier = "db-f1-micro"
          ip_configuration {
            require_ssl = "true"
          }
        }
        deletion_protection = false # set to true to prevent destruction of the resource
      }
      06 vào
      terraform init
      9
    2. Sao chép
      resource "google_sql_database_instance" "mysql_instance" {
        name             = "mysql-instance"
        region           = "asia-northeast1"
        database_version = "MYSQL_8_0"
        settings {
          tier = "db-f1-micro"
          ip_configuration {
            require_ssl = "true"
          }
        }
        deletion_protection = false # set to true to prevent destruction of the resource
      }
      08 vào
      gcloud sql instances patch INSTANCE_NAME
      --require-ssl
        
      37
    3. Sao chép
      resource "google_sql_database_instance" "mysql_instance" {
        name             = "mysql-instance"
        region           = "asia-northeast1"
        database_version = "MYSQL_8_0"
        settings {
          tier = "db-f1-micro"
          ip_configuration {
            require_ssl = "true"
          }
        }
        deletion_protection = false # set to true to prevent destruction of the resource
      }
      10 vào
      gcloud sql instances patch INSTANCE_NAME
      --require-ssl
        
      36
    Quan trọng. Lưu trữ khóa riêng này một cách an toàn. Nếu bạn làm mất nó, bạn phải tạo chứng chỉ ứng dụng khách mới
  3. Trước khi sử dụng bất kỳ dữ liệu yêu cầu nào, hãy thực hiện các thay thế sau

    • dự án-id. ID dự án
    • ví dụ-id. ID ví dụ
    • chính sách kích hoạt. Chính sách kích hoạt là LUÔN LUÔN hoặc KHÔNG BAO GIỜ

    Phương thức HTTP và URL

    terraform init
    4

    Yêu cầu nội dung JSON

    mkdir DIRECTORY && cd DIRECTORY && nano main.tf
    
    5

    Để gửi yêu cầu của bạn, hãy mở rộng một trong các tùy chọn này

    cuộn tròn (Linux, macOS hoặc Cloud Shell)

    Ghi chú. Lệnh sau đây giả định rằng bạn đã đăng nhập vào
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    30 CLI bằng tài khoản người dùng của mình bằng cách thực thi
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    31 hoặc
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    32 hoặc bằng cách sử dụng Cloud Shell, dịch vụ này sẽ tự động đăng nhập bạn vào
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    30 CLI. Bạn có thể kiểm tra tài khoản đang hoạt động bằng cách thực hiện lệnh
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    34

    Lưu nội dung yêu cầu trong tệp có tên

    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    35 và thực hiện lệnh sau

    terraform init
    6

    PowerShell (Windows)

    Ghi chú. Lệnh sau đây giả định rằng bạn đã đăng nhập vào
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    30 CLI bằng tài khoản người dùng của mình bằng cách thực thi
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    31 hoặc
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    32 hoặc bằng cách sử dụng Cloud Shell, dịch vụ này sẽ tự động đăng nhập bạn vào
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    30 CLI. Bạn có thể kiểm tra tài khoản đang hoạt động bằng cách thực hiện lệnh
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    34

    Lưu nội dung yêu cầu trong tệp có tên

    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    35 và thực hiện lệnh sau

    terraform init
    7

    Bạn sẽ nhận được phản hồi JSON tương tự như sau

    terraform init
    8

Tại thời điểm này, bạn có

  • Chứng chỉ máy chủ được lưu dưới dạng
    terraform init
    9
  • Chứng chỉ khóa công khai của ứng dụng khách được lưu dưới dạng
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    37
  • Khóa riêng của khách hàng được lưu dưới dạng
    gcloud sql instances patch INSTANCE_NAME
    --require-ssl
      
    36

Tùy thuộc vào công cụ bạn sử dụng để kết nối, ba mục này được chỉ định theo những cách khác nhau. Ví dụ: khi kết nối bằng máy khách MySQL, ba tệp này lần lượt là các giá trị cho các tùy chọn lệnh

resource "google_sql_database_instance" "mysql_instance" {
  name             = "mysql-instance"
  region           = "asia-northeast1"
  database_version = "MYSQL_8_0"
  settings {
    tier = "db-f1-micro"
    ip_configuration {
      require_ssl = "true"
    }
  }
  deletion_protection = false # set to true to prevent destruction of the resource
}
57,
resource "google_sql_database_instance" "mysql_instance" {
  name             = "mysql-instance"
  region           = "asia-northeast1"
  database_version = "MYSQL_8_0"
  settings {
    tier = "db-f1-micro"
    ip_configuration {
      require_ssl = "true"
    }
  }
  deletion_protection = false # set to true to prevent destruction of the resource
}
58 và
resource "google_sql_database_instance" "mysql_instance" {
  name             = "mysql-instance"
  region           = "asia-northeast1"
  database_version = "MYSQL_8_0"
  settings {
    tier = "db-f1-micro"
    ip_configuration {
      require_ssl = "true"
    }
  }
  deletion_protection = false # set to true to prevent destruction of the resource
}
59. Để biết kết nối mẫu bằng ứng dụng khách MySQL và SSL/TLS, hãy xem Kết nối với ứng dụng khách MySQL

Làm cách nào để sử dụng SSL với MySQL?

Định cấu hình kết nối SSL MySQL .
Tạo thư mục để lưu trữ các khóa SSL. Để tạo thư mục chứa khóa SSL, hãy thực hiện các bước sau. .
Tạo khóa SSL. Ghi chú. .
Chỉnh sửa cấu hình MySQL. .
Kiểm tra cấu hình SSL. .
Tạo người dùng và cho phép truy cập từ xa. .
Kiểm tra kết nối MySQL từ xa

SSL cho MySQL là gì?

Theo mặc định, MySQL được cấu hình để chỉ cho phép các kết nối từ hệ thống cục bộ. Nếu bạn muốn kết nối với máy chủ MySQL từ một hệ thống từ xa, bạn nên bảo mật nó bằng SSL/TLS. Kích hoạt SSL/TLS sẽ mã hóa dữ liệu được gửi đến và từ cơ sở dữ liệu .

MySQL có sử dụng SSL theo mặc định không?

Cấu hình SSL mặc định trong MySQL . Tuy nhiên, không bắt buộc khách hàng kết nối bằng SSL. Khách hàng có thể chọn kết nối có hoặc không có SSL vì máy chủ cho phép cả hai loại kết nối. By default, MySQL server always installs and enables SSL configuration. However, it is not enforced that clients connect using SSL. Clients can choose to connect with or without SSL as the server allows both types of connections.

Máy khách MySQL có sử dụng SSL không?

Theo mặc định, các máy chủ MySQL được biên dịch bằng OpenSSL sẽ tạo các tệp này trong thư mục dữ liệu khi khởi động nếu chúng không có mặt. (MySQL Enterprise Edition được biên dịch bằng OpenSSL. ) Yêu cầu duy nhất là tùy chọn --ssl được bật theo mặc định và không có tùy chọn --ssl- * nào khác được chỉ định .