Rumah > pembangunan bahagian belakang > Golang > Petua Pengurusan Utama di Golang: Menggunakan Vault untuk Menyimpan dan Mengakses Kata Laluan Pangkalan Data

Petua Pengurusan Utama di Golang: Menggunakan Vault untuk Menyimpan dan Mengakses Kata Laluan Pangkalan Data

王林
Lepaskan: 2023-07-17 17:13:47
asal
1132 orang telah melayarinya

Petua Pengurusan Utama di Golang: Menggunakan Bilik Kebal untuk Menyimpan dan Mengakses Kata Laluan Pangkalan Data

Ikhtisar:
Semasa pembangunan, aplikasi selalunya perlu mengakses pangkalan data untuk menyimpan dan mendapatkan data. Melindungi kata laluan pangkalan data adalah sangat penting, kerana membocorkan maklumat sensitif ini boleh membawa kepada isu keselamatan yang serius. Artikel ini akan memperkenalkan cara menggunakan Vault untuk mengurus dan mengakses kata laluan pangkalan data untuk memastikan keselamatan data sensitif ini.

Memperkenalkan Vault:
Vault ialah sistem pengurusan kunci sumber terbuka yang boleh digunakan untuk menyimpan dan mengakses data sensitif dengan selamat, seperti kata laluan pangkalan data, kunci API, dsb. Ia menyediakan kawalan akses yang ketat, putaran kunci dan log audit, menjadikannya lebih mudah untuk disepadukan ke dalam aplikasi. Di Golang, kami boleh menggunakan API Vault untuk melaksanakan pengurusan utama.

Pasang Vault:
Mula-mula, anda perlu memasang dan mengkonfigurasi Vault. Anda boleh memuat turun dan memasang Vault daripada tapak web rasmi Vault. Selepas pemasangan selesai, anda perlu memulakan Vault dan menyediakan token akar.

Membangunkan aplikasi Golang menggunakan Vault:
Untuk menggunakan Vault di Golang, anda perlu mengimport perpustakaan bilik kebal. Anda boleh menggunakan arahan "go get" untuk memasang perpustakaan.

import (
    "fmt"
    "github.com/hashicorp/vault/api"
)
Salin selepas log masuk

Seterusnya, anda perlu mengkonfigurasi alamat Vault dan token akar.

config := &api.Config{
    Address: "http://localhost:8200",
}
client, err := api.NewClient(config)
if err != nil {
    fmt.Println("Failed to create Vault client:", err)
    return
}
client.SetToken("your_root_token")
Salin selepas log masuk

Dalam Bilik Kebal, anda boleh mencipta kunci penyulitan baharu untuk menyimpan kata laluan pangkalan data.

secret := map[string]interface{}{
    "username": "your_username",
    "password": "your_password",
}
secretPath := "secret/myapp/database"
_, err = client.Logical().Write(secretPath, secret)
if err != nil {
    fmt.Println("Failed to store database password in Vault:", err)
    return
}
Salin selepas log masuk

Untuk mengakses kunci dengan selamat, anda boleh mencipta token akses baharu dan menggunakan token itu untuk mengakses kata laluan pangkalan data.

response, err := client.Logical().Read(secretPath)
if err != nil {
    fmt.Println("Failed to read database password from Vault:", err)
    return
}
data := response.Data
username := data["username"].(string)
password := data["password"].(string)

// 连接数据库并使用密码进行身份验证和操作
Salin selepas log masuk

Apabila anda menggunakan kunci pelengkap, anda boleh membatalkannya untuk keselamatan.

client.Logical().Revoke(secretPath)
Salin selepas log masuk

Ringkasan:
Menggunakan Vault untuk menyimpan dan mengakses kata laluan pangkalan data ialah cara yang berkesan untuk melindungi maklumat sensitif. Vault menyediakan ciri seperti kawalan akses dan putaran kunci untuk memastikan keselamatan data sensitif. Di Golang, kami boleh menggunakan API Vault untuk melaksanakan fungsi ini dan meningkatkan keselamatan aplikasi.

Dengan contoh kod di atas, anda boleh menggunakan Vault dengan mudah untuk mengurus dan mengakses kata laluan pangkalan data di Golang. Saya harap artikel ini akan membantu kerja pembangunan anda!

Atas ialah kandungan terperinci Petua Pengurusan Utama di Golang: Menggunakan Vault untuk Menyimpan dan Mengakses Kata Laluan Pangkalan Data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan