Rumah > pembangunan bahagian belakang > Golang > Petua Pengurusan Utama di Golang: Menggunakan Bilik Kebal untuk Menyimpan dan Mengakses Token Akses

Petua Pengurusan Utama di Golang: Menggunakan Bilik Kebal untuk Menyimpan dan Mengakses Token Akses

WBOY
Lepaskan: 2023-07-17 14:06:06
asal
794 orang telah melayarinya

Petua pengurusan utama di Golang: Gunakan Vault untuk menyimpan dan mengakses token akses

Pengenalan:
Dalam aplikasi moden, kunci ialah sumber yang sangat penting, digunakan untuk melindungi data sensitif dan maklumat pengesahan. Untuk memastikan kunci selamat dan terurus, pembangun memerlukan cara yang boleh dipercayai untuk menyimpan dan mengakses kunci ini. Dalam artikel ini, kami akan membincangkan cara menggunakan Golang dan HashiCorp Vault untuk mengurus dan menyimpan token akses.

Pengenalan:
Vault ialah alat pengurusan kunci sumber terbuka yang boleh digunakan untuk mengurus dan menyimpan maklumat sensitif secara berpusat, seperti kunci API, kata laluan pangkalan data, dsb. Ia menyediakan cara selamat untuk mengakses dan menggunakan kunci ini serta menyediakan kawalan akses dan keupayaan pengauditan.

Proses asas menggunakan Vault untuk menyimpan dan mengakses token akses di Golang adalah seperti berikut:

  1. Pasang Vault dan mulakan pelayan Vault.
  2. Buat klien Vault untuk berinteraksi dengan pelayan Vault.
  3. Jana token akses dan simpan dalam Vault.
  4. Gunakan token akses klien Vault dalam aplikasi anda.

Langkah 1: Pasang dan mulakan pelayan Vault
Untuk menggunakan Vault, anda perlu memasang pelayan Vault terlebih dahulu secara setempat atau dalam awan. Versi terbaharu binari Vault boleh dimuat turun dari tapak web rasmi HashiCorp dan dipasang dengan mengikut arahan pemasangan. Kemudian, anda boleh memulakan pelayan Vault dengan arahan berikut:

vault server -dev
Salin selepas log masuk

Perintah ini akan memulakan pelayan Vault mod pembangunan untuk memudahkan ujian dan pembangunan setempat.

Langkah 2: Buat klien Vault
Di Golang, anda boleh menggunakan pakej vault untuk mencipta klien Vault dan berinteraksi dengan pelayan Vault. Mula-mula, anda perlu memasang pakej vault ke dalam projek Golang menggunakan arahan berikut: vault包来创建Vault客户端,并与Vault服务器进行交互。首先,需要使用以下命令将vault包安装到Golang项目中:

go get github.com/hashicorp/vault/api
Salin selepas log masuk

然后,在代码中导入vault包,并创建一个Vault客户端:

import (
    "github.com/hashicorp/vault/api"
)

...

config := api.DefaultConfig()
client, err := api.NewClient(config)
Salin selepas log masuk

使用上面的代码,可以创建一个连接到本地Vault服务器的客户端。

步骤三:生成并存储访问令牌
Vault使用访问令牌来识别和验证客户端。在使用Vault之前,需要生成一个访问令牌,并将其存储在Vault中以供以后使用。以下是示例代码:

import (
    "github.com/hashicorp/vault/api"
)

...

func generateToken(client *api.Client) (string, error) {
    // 创建一个新的访问令牌
    resp, err := client.Logical().Write("auth/token/create", nil)
    if err != nil {
        return "", err
    }

    // 从响应中获取访问令牌
    token := resp.Auth.ClientToken

    // 存储访问令牌在Vault中
    _, err = client.Logical().Write("secret/token", map[string]interface{}{
        "value": token,
    })
    if err != nil {
        return "", err
    }

    return token, nil
}
Salin selepas log masuk

在上面的代码中,generateToken函数使用Vault客户端向Vault服务器发送请求,并获取生成的访问令牌。然后,它将访问令牌存储在Vault中,以便以后使用。

步骤四:使用访问令牌
在应用程序中,可以使用Vault客户端来访问存储在Vault中的访问令牌。以下是示例代码:

import (
    "fmt"
    "github.com/hashicorp/vault/api"
)

...

func main() {
    // 创建Vault客户端
    config := api.DefaultConfig()
    client, err := api.NewClient(config)
    if err != nil {
        fmt.Println(err)
        return
    }

    // 从Vault中获取访问令牌
    secret, err := client.Logical().Read("secret/token")
    if err != nil {
        fmt.Println(err)
        return
    }

    // 打印访问令牌
    fmt.Println("Access Token:", secret.Data["value"])
}
Salin selepas log masuk

在上面的代码中,mainrrreee

Kemudian, import pakej vault dalam kod dan buat klien Vault:

rrreee
Menggunakan kod di atas, anda boleh mencipta klien yang bersambung ke pelayan Vault setempat.

🎜Langkah Tiga: Jana dan Simpan Token Akses 🎜Vault menggunakan token akses untuk mengenal pasti dan mengesahkan pelanggan. Sebelum menggunakan Vault, anda perlu menjana token akses dan menyimpannya dalam Vault untuk kegunaan kemudian. Berikut ialah contoh kod: 🎜rrreee🎜 Dalam kod di atas, fungsi generateToken menggunakan klien Vault untuk menghantar permintaan kepada pelayan Vault dan mendapatkan token akses yang dijana. Ia kemudian menyimpan token akses dalam Vault untuk kegunaan kemudian. 🎜🎜Langkah Empat: Gunakan Token Akses🎜Dalam aplikasi, anda boleh menggunakan klien Vault untuk mengakses token akses yang disimpan dalam Vault. Berikut ialah contoh kod: 🎜rrreee🎜 Dalam kod di atas, fungsi utama mencipta klien Vault dan kemudian menggunakan klien untuk meminta pelayan Vault mendapatkan token akses yang disimpan dalam Vault. Akhirnya, ia mencetak token akses. 🎜🎜Kesimpulan: 🎜Menggunakan Vault untuk mengurus dan menyimpan token akses ialah cara yang selamat dan selamat untuk melindungi data sensitif dan maklumat pengesahan. Dalam artikel ini, kami menerangkan cara untuk mencapai ini menggunakan Golang dan Vault, serta menyediakan contoh kod yang berkaitan. Semoga artikel ini membantu anda dengan pengurusan utama dalam aplikasi Golang. 🎜

Atas ialah kandungan terperinci Petua Pengurusan Utama di Golang: Menggunakan Bilik Kebal untuk Menyimpan dan Mengakses Token Akses. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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