API Anahtarlarımın Arama Sonuçlarında Görünmesini Nasıl Korurum?

API Anahtarlarımın Arama Sonuçlarında Görünmesini Nasıl Korurum?

Kaynak Düğüm: 2726143

Soru: API anahtarlarımın başka birinin GitHub aramasının parçası olmasını nasıl önleyebilirim?

Cevap: Potansiyel güvenlik riskleri nedeniyle API anahtarlarını doğrudan kodunuzda saklamanız genellikle önerilmez. Kodunuz paylaşılırsa veya herkesin erişimine açık hale gelirse, API anahtarını gören herkes onu kullanabilir ve bu da potansiyel olarak kötüye kullanıma veya güvenlik ihlaline yol açabilir.

API anahtarlarını güvenli bir şekilde saklamanın birkaç yolu vardır:

  • Ortam Değişkenleri: API anahtarlarını makinenizdeki ortam değişkenlerinde saklayabilir ve ardından bu değişkenlere kodunuzdan erişebilirsiniz. Bu yöntem, anahtarları kodunuzun dışında tutma avantajına sahiptir (kodun çalıştığı ortamdadırlar). Bu aynı zamanda anahtarların yerel makineniz, geliştirme sunucusu, üretim sunucusu vb. gibi farklı ortamlar için farklı olabileceği anlamına da gelir.
  • Yapılandırma dosyaları: API anahtarlarını, kod deponuzda bulunmayan ayrı bir yapılandırma dosyasında da saklayabilirsiniz. Bu dosya dosyanıza eklenmelidir .gitignore dosyanızın deponuza kaydedilmesini önlemek için. Yetkisiz erişimi önlemek için bu yapılandırma dosyasına dosya düzeyinde uygun izinleri eklediğinizden emin olun. Kodunuzda bu dosyadaki API anahtarlarını okursunuz.
  • Sırlar yönetim sistemleri: Daha büyük uygulamalar veya daha hassas veriler için bir sır yönetim sistemi. Bunlar, AWS Secrets Manager, HashiCorp Vault ve Google'ın Secret Manager'ı gibi API anahtarları gibi gizli bilgilere erişimi yönetmenize yardımcı olan özel araçlardır.
  • Ortama özel konfigürasyon hizmetleri: Heroku ve Netlify gibi platformlar, API anahtarlarını depolamak için kullanılabilecek ortam değişkenlerini ayarlamak için belirli özelliklere veya hizmetlere sahiptir.
  • Şifreli depolama: API anahtarlarını bir veritabanında veya başka bir depolama sisteminde saklamanız gerekiyorsa bunları şifrelemelisiniz. Bu şekilde, birisi olsa bile depolama sistemine erişim kazanır, şifreleme anahtarı olmadan anahtarları kullanamazlar.

Bu çözümlerden en düşük maliyetli olan ilk ikisini güvenli kodlamada nasıl uygulayacağımıza bir göz atalım. Bunun için örnek dil olarak Python'u kullandım, ancak herhangi bir dil benzer kavramlara sahip olacaktır. Python'un avantajı basitliği ve kullanım kolaylığıdır; bu, müthiş veri işleme yetenekleriyle birlikte onu çoğu kullanım için ideal kılar.

API Anahtarlarını Depolamak İçin Ortam Değişkenlerini Kullanmak İçin

Ortam değişkenleri, API anahtarları gibi hassas bilgileri kaynak kodunuzun dışında saklamanıza olanak tanır. Çalışma zamanı sırasında uygulama tarafından erişilebilirler ve farklı ortamlarda (örneğin geliştirme, hazırlama ve üretim) kolayca yapılandırılabilirler.

Öncelikle sisteminizde veya uygulamanızın çalıştığı platformda ortam değişkenini ayarlayın. Unix tabanlı bir sistemde, aşağıdaki komutu kullanarak bir ortam değişkeni ayarlayabilirsiniz: ihracat komut:

% dışa aktarma API_KEY=

Daha sonra uygulamanızın kodundaki ortam değişkenine erişin. Örneğin Python'da bir ortam değişkeninin değerine aşağıdaki komutu kullanarak erişebilirsiniz: os modülü:

% python içe aktarma os api_key = os.environ['API_KEY']

API Anahtarlarını Depolamak İçin Harici Yapılandırma Dosyalarını Kullanmak İçin

Yeni başlayan geliştiricinin veya veri bilimcinin API anahtarlarını saklamasının başka bir yolu da harici yapılandırma dosyalarıdır. Bunlar çok faydalı olabilir; ancak bunları kullanarak depodan hariç tutmalısınız. .gitignore veya eşdeğeri.

Öncelikle aşağıdaki gibi bir yapılandırma dosyası oluşturun: yapılandırma.jsonve API anahtarını burada saklayın:

json { "api_anahtarı": " " }

Daha sonra yapılandırma dosyasını projenizin .gitignore (veya eşdeğeri) sürüm kontrol sisteminiz tarafından takip edilmediğinden emin olmak için.

Son olarak, API anahtarına erişmek için uygulamanızın kodundaki yapılandırma dosyasını yükleyin. Örneğin Python'da bir JSON yapılandırma dosyası yükleyebilir ve API anahtarına şu şekilde erişebilirsiniz:

json'u open('config.json') ile f olarak içe aktarın
yapılandırma = load(f) api_key = yapılandırma['api_key']

API'lerinizi Kilitleyin

Ortam değişkenlerini veya harici yapılandırma dosyalarını kullanarak daha iyi API anahtarlarınızı yanlışlıkla açığa çıkmaya karşı koruyunhassas bilgilerin yönetimini basitleştirir ve çeşitli ortamlar için farklı yapılandırmaların sürdürülmesini kolaylaştırır. Yetkisiz erişimi önlemek için ortam değişkenleri ve yapılandırma dosyaları üzerinde uygun erişim kontrollerini uygulamalısınız.

Projenizin karmaşıklığı (ve önemi) arttıkça, hassas öğeleri depolamak için sır yönetimi sistemleri veya ortama özel yapılandırma hizmetleri gibi doğuştan gelen yeteneklere sahip platformlara geçmeniz önerilebilir. Ancak bu hızlı çözümler, daha güvenli bir temelle başlamanıza yardımcı olur.

Zaman Damgası:

Den fazla karanlık okuma