Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kaedah praktikal untuk menggunakan Vault untuk melindungi data peribadi dalam projek Golang

Kaedah praktikal untuk menggunakan Vault untuk melindungi data peribadi dalam projek Golang

王林
王林asal
2023-07-17 22:09:05987semak imbas

Cara praktikal untuk menggunakan Vault untuk melindungi data peribadi dalam projek Golang

Pengenalan:
Dalam era Internet hari ini, melindungi keselamatan data peribadi merupakan isu yang perlu diberi perhatian oleh setiap pembangun. Dalam pembangunan projek Golang, cara menyimpan dan menggunakan data sensitif dengan selamat adalah cabaran penting. Vault ialah pengurusan kunci sumber terbuka dan alat storan selamat yang boleh membantu pembangun melindungi data peribadi dengan berkesan. Artikel ini akan memperkenalkan cara menggunakan Vault untuk melindungi data peribadi dalam projek Golang dan memberikan contoh kod yang sepadan.

1. Understand Vault
Vault ialah alat yang dibangunkan oleh HashiCorp untuk pengurusan utama dan perlindungan data sensitif. Ia menyediakan repositori selamat untuk menyimpan dan mengakses data sensitif seperti kata laluan pangkalan data, kunci API, kunci penyulitan, dll. Vault menggunakan pelbagai kawalan keselamatan, seperti kawalan akses, penyulitan dan log audit, untuk memastikan keselamatan data yang disimpan.

2. Menggunakan projek Vault dalam Golang
Di bawah kami akan memperkenalkan cara menggunakan projek Vault dalam Golang untuk melindungi data peribadi.

  1. Pasang Vault
    Mula-mula, kita perlu memasang dan menjalankan pelayan Vault. Vault boleh dimuat turun dan dipasang melalui pautan berikut: https://www.vaultproject.io/downloads.html
  2. Mulakan pelayan Vault
    Selepas pemasangan selesai, gunakan arahan berikut untuk memulakan pelayan Vault:

    vault server -dev

    Selepas menjalankan arahan ini, Vault Pelayan akan berjalan secara setempat dan kami boleh mengakses antara muka UI web melalui alamat http://127.0.0.1:8200.

  3. Initialize Vault
    Apabila memulakan Vault buat kali pertama, kita perlu memulakan Vault dan menetapkan token root. Gunakan arahan berikut untuk memulakan Vault:

    vault operator init

    Setelah permulaan selesai, Vault akan menjana output yang mengandungi token akar dan kunci penyahsulitan.

  4. Konfigurasi Vault
    Buat fail config.hcl untuk mengkonfigurasi parameter sambungan Vault: config.hcl文件,用于配置Vault的连接参数:

    storage "file" {
      path = "./data"
    }
    
    listener "tcp" {
      address     = "127.0.0.1:8200"
      tls_disable = 1
    }
  5. 连接Vault
    使用以下代码来连接Vault,并获取访问令牌:

    package main
    
    import (
     "fmt"
     "github.com/hashicorp/vault/api"
     "log"
    )
    
    func main() {
     config := api.DefaultConfig()
     config.Address = "http://127.0.0.1:8200"
     client, err := api.NewClient(config)
     if err != nil {
         log.Fatal(err)
     }
    
     client.SetToken("<root_token>")
     fmt.Println("Connected to Vault")
    
     // TODO: 进行Vault的操作
    }

    在代码中需要替换9f93380f96c7c67c367a96333072843a为实际的根令牌值。

  6. 存储和读取敏感数据
    使用以下代码来存储和读取敏感数据:

    package main
    
    import (
     "fmt"
     "github.com/hashicorp/vault/api"
     "log"
    )
    
    func main() {
     // 连接Vault的代码省略
    
     // 存储数据
     secret := map[string]interface{}{
         "username": "admin",
         "password": "secret123",
     }
     _, err := client.Logical().Write("secret/data/myapp", secret)
     if err != nil {
         log.Fatal(err)
     }
     fmt.Println("Data stored successfully")
    
     // 读取数据
     secretData, err := client.Logical().Read("secret/data/myapp")
     if err != nil {
         log.Fatal(err)
     }
     if secretData != nil {
         fmt.Println("Username:", secretData.Data["username"])
         fmt.Println("Password:", secretData.Data["password"])
     }
    }

    以上代码中,我们将usernamepassword存储在名为myapp的路径下,并通过Readrrreee

Sambung ke Vault

Gunakan kod berikut untuk menyambung ke Vault dan dapatkan akses ke Vault rrreee
Anda perlu menggantikan 9f93380f96c7c67c367a96333072843a dengan nilai token akar sebenar dalam kod.

🎜🎜🎜Menyimpan dan membaca data sensitif🎜Gunakan kod berikut untuk menyimpan dan membaca data sensitif: 🎜rrreee🎜Dalam kod di atas, kami menyimpan nama pengguna dan kata laluan dalam Di Bawah laluan bernama myapp dan baca data melalui kaedah Read. 🎜🎜🎜🎜3. Ringkasan🎜Artikel ini memperkenalkan kaedah praktikal menggunakan Vault untuk melindungi data peribadi dalam projek Golang. Dengan menggunakan Vault, anda boleh melindungi data sensitif dan meningkatkan keselamatan projek dengan berkesan. Kami membantu pembangun menyimpan dan menggunakan data peribadi dengan selamat dalam projek Golang dengan memahami konsep asas Vault, memasang dan mengkonfigurasi pelayan serta memberikan contoh kod yang sepadan. 🎜

Atas ialah kandungan terperinci Kaedah praktikal untuk menggunakan Vault untuk melindungi data peribadi dalam projek Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn