Rumah >pembangunan bahagian belakang >Tutorial Python >Alihkan rahsia berkod keras kepada Pengurus Rahsia

Alihkan rahsia berkod keras kepada Pengurus Rahsia

Barbara Streisand
Barbara Streisandasal
2024-10-14 06:15:29529semak imbas

Move hardcoded secrets to a Secrets Manager

Pengurus rahsia ialah alat untuk menyimpan dan mengurus kata laluan anda, kunci API, bukti kelayakan pangkalan data dan jenis data sensitif lain yang diperlukan oleh aplikasi anda.

Rahsia berkod keras dalam kod sumber aplikasi atau disimpan dalam fail teks biasa untuk digunakan oleh kod anda boleh dieksploitasi oleh entiti berniat jahat yang boleh memeriksa aplikasi atau komponen dalam sistem anda. Risiko ini boleh dikurangkan dengan pengurus rahsia.

dotenv-vault

dotenv-vault ialah salah satu pengurus rahsia yang menyediakan alternatif yang lebih selamat untuk meletakkan rahsia anda dalam kod.

[!Nota]
Ini bukan tutorial menggunakan dotenv-vault. Matlamat dokumen ini adalah untuk menerangkan cara pengurus rahsia boleh membantu pembangun mengelakkan rahsia pengekodan keras atau menyimpannya dalam fail teks biasa. Anda boleh belajar cara untuk bermula dengan dotenv-vault di sini.

Katakanlah saya mempunyai maklumat sensitif tentang watak tertentu dalam filem Star Wars: Episod V dan saya mahu program saya menggunakan maklumat itu.

def spoiler():
    spoiler = "Darth Vader is Luke Skywalker's father"
    return { "spoiler": spoiler }

Daripada pengekodan keras maklumat, saya akan menulisnya sebagai pembolehubah persekitaran dalam fail .env:

SPOILER="Darth Vader is Luke Skywalker's father"

Dengan dotenv-vault, program saya dapat mengakses maklumat sensitif dengan menggunakan pembolehubah persekitaran.

import os
from dotenv_vault import load_dotenv

load_dotenv() # Take environment variables from .env

def spoiler():
    spoiler = os.getenv("SPOILER") # Get the secret
    return { "spoiler": spoiler }

Kemudian saya menyulitkan pembolehubah persekitaran dengan menyegerakkan fail .env. Setelah penyegerakan selesai, data yang dikenali sebagai DOTENV_KEY boleh dijana. Output ini boleh dibaca oleh program saya sebagai pembolehubah persekitaran dalam pengeluaran.

DOTENV_KEY='dotenv://:key_1234@dotenv.org/vault/.env.vault?environment=production' python main.py

Hasilnya, aplikasi pengeluaran saya dapat mengakses rahsia.

{ "spoiler": "Darth Vader is Luke Skywalker's father" }

Pilih Pengurus Rahsia yang sesuai untuk anda

Terdapat pelbagai penyelesaian pengurusan rahsia tersedia. Setiap pengurus rahsia datang dengan set kebaikan dan keburukannya sendiri. Pilih pilihan yang paling sesuai dengan keperluan organisasi anda.

Senarai Pengurus Rahsia alternatif:

  1. Infiskal
  2. Doppler
  3. HashiCorp Vault
  4. Pengurus Rahsia AWS
  5. Kunci Kebal Azure

Atas ialah kandungan terperinci Alihkan rahsia berkod keras kepada Pengurus Rahsia. 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