Hermes Agent API Anahtarları Neden Güvende Olmalı?
Hermes Agent, OpenRouter, OpenAI, Anthropic gibi birden fazla AI sağlayıcısını destekliyor. Her sağlayıcının size verdiği API anahtarı, aslında bir dijital imza niteliğinde. Bu anahtarı kim ele geçirirse, sizin hesabınız üzerinden işlem yapabilir, kullanım limitlerinizi tüketebilir veya hassas verilerinize erişebilir.
Bu yazıda Hermes Agent kurulumu sırasında API anahtarlarınızı nasıl güvenli şekilde saklayacağınızı, .env dosyası yapılandırmasını ve dikkat etmeniz gereken güvenlik önlemlerini adım adım anlatıyorum.
Hermes Agent API Anahtarı Güvenliği İçin İlk Kural: .env Dosyası Kullanmak
Hermes Agent, yapılandırma dosyalarında doğrudan API anahtarı yazmak yerine .env dosyası kullanmanızı öneriyor. Bunun birkaç önemli sebebi var:
- Yapılandırma dosyanızı (
hermes.yamlveyaconfig.yaml) versiyon kontrolüne ekleyebilir, anahtarları dışarıda bırakabilirsiniz. .envdosyasınıchmod 600ile kilitleyerek yalnızca sizin okumanızı sağlayabilirsiniz.- Cron işlerinde veya otomasyon betiklerinde anahtarları doğrudan komut satırında göstermek zorunda kalmazsınız.
Örnek bir .env dosyası şöyle görünebilir:
OPENAI_API_KEY=sk-pro-xxx...
OPENROUTER_API_KEY=sk-or-v1-xxx...
ANTHROPIC_API_KEY=sk-ant-xxx...
Bu dosyayı oluşturduktan sonra chmod 600 ~/.hermes/.env komutuyla yalnızca sizin erişebileceğiniz hale getirin. Hermes Agent bu dosyayı otomatik okumaz — yapılandırma dosyanızda env_file olarak belirtmeniz gerekiyor.
Config Dosyasında API Anahtarlarını Referans Gösterme
Hermes Agent yapılandırma dosyanızda (genelde ~/.hermes/config.yaml) API anahtarlarını doğrudan yazmak yerine ${ENV_VAR} sözdizimiyle referans gösterin:
providers:
openrouter:
base_url: https://openrouter.ai/api/v1
api_key: ${OPENROUTER_API_KEY}
models:
- deepseek/deepseek-v4-flash
Bu sayede yapılandırma dosyanızı başkalarıyla paylaşabilir, GitHub’a ekleyebilir ve hatta cron tanımlarında kullanabilirsiniz. Anahtarlar yalnızca sizin makinenizdeki .env dosyasında kalır.
Cron Jobs ve Otomasyonlarda API Anahtarı Güvenliği
Hermes Agent cron jobs ile zamanlanmış görevler çalıştırmanıza izin verir. Ancak burada çok önemli bir güvenlik detayı var: cron tanımına veya betik içine API anahtarını doğrudan yazmayın.
Doğru yaklaşım şu:
- API anahtarlarını yalnızca
chmod 600ile korunan bir.envdosyasında saklayın. - Otomasyon betikleriniz bu dosyayı okuyarak anahtarları alsın, komut satırında görünmesin.
- Cron job tanımında anahtar değil, dosya yolunu referans gösterin.
Örneğin bir WordPress içerik yayınlama cron job’ınız varsa, kimlik bilgilerini ayrı bir .env dosyasında tutun ve betik dosyasının içinden okuyun. Böylece crontab -l çıktısında veya sistem loglarında hiçbir hassas bilgi görünmez.
WordPress REST API ve Application Password Kullanımı
Hermes Agent ile WordPress otomasyonu yaparken normal kullanıcı şifrenizi kullanmak yerine Application Password (Uygulama Şifresi) oluşturmanız gerekiyor. Bunun sebebi basit: normal şifre WordPress REST API’de Basic Auth ile çalışmaz ve güvenlik riski oluşturur.
Application Password oluşturmak için WordPress yönetici panelinde Kullanıcılar > Profil sayfasına gidin, sayfanın altındaki “Uygulama Şifreleri” bölümünden yeni bir şifre oluşturun. Bu şifreyi de .env dosyasında saklayın, doğrudan kod içinde yazmayın.
Aynı yaklaşım web tasarım ve e-ticaret projelerinizde de geçerli — hangi WordPress otomasyon aracını kullanırsanız kullanın, API kimlik bilgilerinizi her zaman ayrı ve korumalı bir dosyada tutun.
Sık Yapılan Güvenlik Hataları ve Çözümleri
1. API Anahtarını Doğrudan Config Dosyasına Yazmak
En yaygın hata. Yapılandırma dosyası versiyon kontrolüne eklenirse anahtar herkese açık hale gelir. Çözüm: her zaman ${ENV_VAR} sözdizimini kullanın.
2. .env Dosyasını Versiyon Kontrolüne Eklemek
.env dosyanızı .gitignore listenize mutlaka ekleyin. Yanlışlıkla GitHub’a göndermek, anahtarlarınızın internette yayılmasına yol açar — ve bu genelde istenmeyen fatura anlamına gelir.
3. Application Password’ü Kod İçinde Sabit Olarak Yazmak
Bir betik dosyasının içine WordPress Application Password’ünü doğrudan yazmak, o dosyayı gören herkesin sitenize erişmesi anlamına gelir. Bunun yerine Python betiklerinde python-dotenv kütüphanesi ile .env dosyasından okuyun.
import os
from dotenv import load_dotenv
load_dotenv('/path/to/project/.env')
username = os.getenv('WP_USERNAME')
password = os.getenv('WP_APP_PASSWORD')
base_url = os.getenv('WP_BASE_URL')
4. Cron Loglarında Anahtar Sızdırmak
Cron job çıktılarını bir log dosyasına yönlendiriyorsanız, betik içinde print() ile yanlışlıkla API anahtarı yazdırmadığınızdan emin olun. Log dosyaları da sunucuda yeterince korunmuyor olabilir.
Hermes Agent Sağlayıcı Değiştirirken Anahtar Yönetimi
Hermes Agent’da model ve sağlayıcı ayarlarını değiştirirken eski API anahtarlarını .env dosyasından silmeyi unutmayın. Kullanmadığınız sağlayıcıların anahtarlarını dosyada bırakmak gereksiz risk oluşturur.
Yeni bir sağlayıcı eklerken izlenecek adımlar:
- Sağlayıcının yönetici panelinden yeni bir API anahtarı oluşturun.
- Anahtarı
.envdosyasına ekleyin:NEW_PROVIDER_API_KEY=xxxx - Config dosyasında referans gösterin:
api_key: ${NEW_PROVIDER_API_KEY} - Dosya izinlerini kontrol edin:
chmod 600 ~/.hermes/.env
Profiller Arasında Anahtar Paylaşımı ve İzolasyon
Hermes Agent profilleri ile çoklu proje yönetimi yaparken her profil için ayrı bir .env dosyası kullanmanızı öneririm. Böylece bir profilde kullandığınız API anahtarı diğer profile sızmaz.
Örnek profil yapısı:
~/.hermes/profiles/musteri-a/.env~/.hermes/profiles/musteri-b/.env~/.hermes/profiles/kisisel/.env
Her profil kendi yapılandırma dosyasında kendi .env yolunu belirtir. Bu sayede müşteri projelerinde kullandığınız API anahtarları birbirinden tamamen izole olur.
Hermes Agent’da .env Dosyası Kullanmanın Avantajları
- Sızıntı riski azalır: Anahtarlar tek bir dosyada toplanır ve bu dosya kilitlenir.
- Taşınabilirlik: Yapılandırma dosyanızı başka bir makineye taşırken sadece
.envdosyasını yeniden oluşturmanız yeterli. - Ekip çalışması: Takım arkadaşlarınız
.env.exampledosyasından kendi anahtarlarını oluşturabilir, gerçek anahtarlar hiçbir yerde paylaşılmaz. - Denetim kolaylığı: Hangi ortam değişkenlerinin kullanıldığını tek bir dosyadan görebilirsiniz.
Hermes Agent API anahtarı güvenliği, aracı ne kadar etkili kullanacağınızı doğrudan etkiler. Anahtarlarınızı .env dosyasında saklamak, chmod 600 ile korumak ve yapılandırma dosyanızda ${ENV_VAR} sözdizimiyle referans göstermek, profesyonel bir Hermes Agent kullanıcısı olmanın temel adımları.
WordPress tarafında da Application Password kullanımı ve kimlik bilgilerini ayrı bir dosyada tutma alışkanlığı, hem sizin hem de müşterilerinizin verilerini korur. İletişim sayfasından veya web tasarım paketleri sayfasından bu konularla ilgili sorularınızı iletebilirsiniz.