İçeriğe atla
Şimdi yükleniyor
AKAşkın KILIÇ
  • Anasayfa
  • Azure & Bulut
    • Microsoft Azure
    • Bulut Altyapı
    • Microsoft 365
  • Yazılım
    • DevOps
    • Geliştirici Araçları
    • Konteyner & K8s
  • AI & Veri
    • Yapay Zeka
    • Veri & Analitik
  • Güvenlik
    • Güvenlik & Kimlik
    • Kurumsal Teknoloji
  • Hakkımda
    • İletişim
×
  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka
  • Başlangıç
  • Güvenlik & Kimlik
  • PowerShell Paketlerini Güvenli Yönetmek: PSResourceGet’te Yeni Dönem
Bulut Altyapı Geliştirici Araçları Güvenlik & Kimlik DevOps otomasyonu, DSC resource, kurumsal güvenlik, modül güvenliği, PowerShell paket yönetimi, PSResourceGet, supply chain güvenliği Aşkın KILIÇ 21/05/2026 4 Yorumlar

PowerShell Paketlerini Güvenli Yönetmek: PSResourceGet’te Yeni Dönem

PowerShell Paketlerini Güvenli Yönetmek: PSResourceGet’te Yeni Dönem
⏱️ 7 dk okuma📅 21 Mayıs 2026🔄 Güncelleme: 15 Temmuz 2026

Giriş: Paket işi, script işinden daha can alıcı hâle geldi

PowerShell tarafında yıllardır aynı şeyi görüyorum: herkes önce scripti konuşuyor, sonra bir yerde paket kaynağına dönüyor. Kısa cevap şu; otomasyon büyüdükçe asıl risk scriptin içinde değil, o scriptin neyi çektiğinde saklanıyor. Yanı paket deposu biraz binanın su hattı gibi, dışarıdan pek görünmüyor ama kirlenirse bütün yapı etkileniyor.

📋 İçindekiler

  1. Küçük startup iseniz her şeyi özel registry’ye taşımanız şart değil; bazen kontrollü cache + sınırlı trust yeterli olur. Ama enterprise seviyedeyseniz “internet açılsın bitsin” yaklaşımı artık pek idare etmiyor. Hem denetim hem uyumluluk hem de olay müdahalesi açısından sizi yoruyor.

    Microsoft Artifact Registry neden önemli?

    Microsoft’un yayınladığı PowerShell içerikleri için MAR’ın öne çıkması bence doğru yönde atılmış adım.
    Peki neden?

    Bak şimdi, Cevap basit aslında: first-party içeriğin nereden geldiğini tartışmak istemiyorsunuz; mümkünse belirsizlik sıfırlansın istiyorsunuz. Kurumsal müşteriyle çalışırken en çok zaman yediğimiz konulardan biri buydu zaten: “Bu modül gerçekten Microsoft’tan mı geldi?” sorusu gereksiz yere toplantı uzatıyordu.

    Bunu 2025’in Şubat ayında İstanbul’daki bir bankacılık projesinde birebir gördük.
    Evet.
    Güvenlik ekibi PowerShellGallery’den gelen bazı modüller için ekstra inceleme istiyordu — haklılardı da — fakat operasyon ekibi her seferinde manuel doğrulama yapınca iş akışı yavaşlıyordu.
    MAR mantığı burada güzel oturuyor çünkü sahiplik ve yayın hattı daha netleşiyor.

    Kurumsal dünyada güvenliği artırmanın yolu çoğu zaman daha fazla engel koymak değil; doğru kaynağı baştan seçip sonradan tartışmayı azaltmaktır.

    Peki PowerShell Gallery bitti mi?

    Hayır tabiî ki bitmedi ve bitmemeli de! Gallery hâlâ keşif ve topluluk katkısı için çok değerli bir yer.
    Bunu markete benzetiyorum:
    sizin ihtiyaç olan malzemenin nerede olduğunu görmeniz lazım ama eve getireceğiniz ürünü yine sız seçiyorsunuz.

    Şunu söyleyeyim, Buradaki denge önemli.

    Eğer her şeyi tamamen kapatırsanız inovasyonu boğarsınız.

    Ama hiç filtre koymazsanız prod ortamını açık büfe yapmış olursunuz.

    İkisi de kötü.

    Benim görüşüm net:
    topluluk deposu keşif içindir,
    kurumsal üretim işe onaylı kaynak ister.
    Bu kadar basit aslında… ama uygulaması kolay değil.

    OCI desteğiyle oyun alanı genişliyor mu?

    E tabi burada OCI desteği işin rengini değiştiriyor çünkü mevcut container altyapınızı reuse edebiliyorsunuz. Kimlik yönetimi zaten hazırsa yeniden tekerlek icat etmiyorsunuz; RBAC var mı? Var! Audit log var mı? Var! Ağ politikası var mı? Çoğunlukla var! Bu yüzden PowerShell paketlerini container registry mantığıyla taşımak bana oldukça mantıklı geliyor.

    Bazı ekiplerde şöyle itiraz geliyor: “Ama biz modülü niye container registry’ye koyuyoruz ki?” Cevap şu olabilir — çünkü platform standardizasyonu sağlıyor sunuzdur (burada kasıt bilinçli). Yanı Docker image ile PowerShell package arasında kavramsal köprü kuruyorsunuz; farklı artefakt türleri olsa da yönetim dili ortaklaşıyor.

    # Örnek düşünce modeli
    # 1) Keşif repo'su
    # 2) Onaylanan içerik mirror'a alınır
    # 3) Üretimde yalnızca mirror kullanılır
    Set-PSResourceRepository -Name "InternalApproved" -Trusted -Uri "https://registry.example.local/powershell"
    Install-PSResource -Name Az.Accounts -Repository InternalApproved
    
    

    Ama eksik kalan yerler de var

    Bence henüz en zayıf halka birlikte çalışma senaryolarının kolaylığı.

    Yanı teknoloji güzel,
    ama süreç tasarımı kullanıcı dostu olmak zorunda.

    Kural koymak kolay;
    kuralın sürdürülebilir olması zor.
    Ben bazı projelerde tam burada takıldığını gördüm.
    Mesela Şubat 2026’da İzmir’deki orta ölçekli bir üretim firmasına yaptığımız değerlendirmede teknik çözüm tamam gibiydi fakat operasyon ekibi günlük kullanımda fazla adım yüzünden geri çekildi.
    Demek ki adoption kısmını hafife almamak gerekiyor…

    Sahada benim önerdiğim yol haritası

    Şöyle ki, Lafı gevelemeden söyleyeyim:
    düşünmeden önce tüm repository’leri sayın.
    Peki sonra?
    Zaten asıl iş orada başlıyor (en azından benim deneyimim böyle)

    1. Paket tüketen sunucuları listeleyin. (bu kritik)
    2. Hangi repo’nun trusted olduğunu yazılı hâle getirin.
    3. Tedarik zinciri onay süreci belirleyin.
    4. Mümkünse private registry’ye mirror kurun. (bu kritik)
    5. Tüm değişiklikleri loglayın ve periyodik gözden geçirin. — bunu es geçmeyin
    💡 Bilgi: Eğer bütçeniz kısıtlıysa önce tüm sistemi taşımaya kalkmayın; en hayatı modüllerden başlayıp sadece onları onaylı depoya alın.

    Küçük ekip vs enterprise farkı
    }Küçük ekiplerde hız önemli.
    Neyse uzatmayalım;
    bazen üç kişilik grupta bile gereksiz approval zinciri işleri bozuyor.
    Aynı zamanda uzun cümlelerle kafayı şişirmeye gerek yok,
    bazen hafif trust modeli + basit kayıt tutma çoğu zaman yeterli,
    bazen de yetmez — işte orada tekrar bakarsınız.
    Enterprise tarafta işe durum değişir:
    rol ayrımı,
    audit,
    change management,
    hatta incident response bile işin içine girer.
    Aynı teknoloji iki yerde bambaşka davranır yanı…
    bu yüzden reçete tek değildir.
    Ben buna hep “aynı anahtar her kapıyı açmaz” derim.”>

    Sıkça Sorulan Sorular

    Zaten PowerShell Gallery varken PSResourceGet’e neden ihtiyaç duyuyoruz ki?

    Aslında cevap oldukça basit: Gallery içerik bulmak için harika, yanı modül keşfi konusunda gerçekten iyi iş çıkarıyor. Ama kurumsal güven modeli kurmak için tek başına yeterli gelmiyor. PSResourceGet size repository trust, kaynak ayırma ve çok daha kontrollü bir tüketim modeli sunuyor. Bence özellikle kurumsal ortamlarda bu farkı er ya da geç hissediyorsunuz.

    MARC kullanmak zorunlu mu?

    Şöyle ki, Hayır, zorunlu değil! Ama açıkçası Microsoft yayınlı içerikte MAR ciddi avantaj sağlıyor; hani sahiplik çok daha net oluyor ve kurumsal karar vermek kolaylaşıyor (evet, doğru duydunuz). Tecrübeme göre önü atlamak çoğu zaman ilerleyen süreçte baş ağrısına dönüşüyor.

    OCI registries her durumda uygun mu?

    Şunu söyleyeyim, Her durumda değil tabiî. Mesela ekibiniz container registry operasyonuna zaten alışıksa çok mantıklı bir seçim. Değilse önce basit bir dahili mirror ile başlamak çok daha rahat olabilir. Yanı altyapı olgunluğuna göre karar vermek lazım (ki bu çoğu kişinin gözünden kaçıyor)

    Kötü yapılandırılmış repo ne tür risk çıkarır?

    Yanlış sürüm çekme, beklenmeyen davranışlar, gölge dependency’ler ve denetimde açıklanamayan trafik çıkarabiliyor. Kısacası masum görünen küçük hatalar büyük prod sorunlarına dönebiliyor. Bence bu konu hafife alınan ama aslında en kritik noktalardan biri.

    Kaynaklar ve İleri Okuma

    Şahsen, PowerShell Blog Ana Sayfa

    Aslında, PSResourceGet Resmî Dokümantasyonu

    Azure Container Registry Resmî Dokümantasyonu

    Şahsen, NuGet Paket Budaması Daha Temiz.NET Bağımlılıkları

    Eh, Azure DevOps Server Mayıs Yamaları Neyi Neden Nasıl Kontrol Etmeli? (bizzat test ettim)

    🤖Bu yazı yapay zeka (büyük dil modelleri) ile hazırlanmış, insan editör tarafından incelenmiştir. İçerik üretim sürecimiz.
    Aşkın KILIÇ
    Aşkın KILIÇYazar

    20+ yıl deneyimli Azure Solutions Architect. Microsoft sertifikalı bulut mimari ve DevOps danışmanı. Azure, yapay zekâ ve bulut teknolojileri üzerine Türkçe teknik içerikler üretiyor.

    AZ-305AZ-104AZ-500AZ-400DP-203AI-102

    İlgili Yazılar

    azd Hook'larını Python, TypeScript, .NET ile Yazın
    azd Hook'larını Python, TypeScript, .NET ile Yazın23 Nis 2026
    Foundry Toolboxes: Ajan Araçlarını Toplamak Neden Şart Oldu?
    Foundry Toolboxes: Ajan Araçlarını Toplamak Neden Şart Oldu?10 May 2026
    GitHub Projects ve Issues'ta Multi-Select Alanlar
    GitHub Projects ve Issues'ta Multi-Select Alanlar26 Tem 2026
    Gemini 3.6 Flash GitHub Copilot'ta Kullanıma Sunuldu
    Gemini 3.6 Flash GitHub Copilot'ta Kullanıma Sunuldu21 Tem 2026

    Bu içerik işinize yaradı mı?

    Benzer içerikleri kaçırmamak için YouTube ve GitHub hesaplarımı takip edin.

    YouTube GitHub

    Haftalık Bülten

    Her pazar özenle seçilmiş teknoloji yazıları doğrudan e-postanıza gelsin.

Etiket DevOps otomasyonu DSC resource kurumsal güvenlik modül güvenliği PowerShell paket yönetimi PSResourceGet supply chain güvenliği
Önceki yazı

Gemini 3.5 Flash Copilot’ta: Hız, Maliyet ve Gerçek Etki

Sonraki yazı

MSVC Build Tools Preview Mayıs 2026: Derleyicide Sessiz Ama Kritik Güncellemeler

İlginizi Çekebilir

SQL Server Express'ten Azure SQL Free Tier'a Geçiş
Aşkın KILIÇ 0

SQL Server Express’ten Azure SQL Free Tier’a Geçiş

20/08/2026
GitHub Copilot App: My Work ile İşlerini Yönetmek
Aşkın KILIÇ 0

GitHub Copilot App: My Work ile İşlerini Yönetmek

19/08/2026
VS Code Python Environments Eklentisi Genel Kullanıma Açıldı
Aşkın KILIÇ 0

VS Code Python Environments Eklentisi Genel Kullanıma Açıldı

19/08/2026

4 comments

comments user
Burak S. 21/05/2026 19:32

PSResourceGet’in güven mekanizması gerçekten kritik bir eksikliği kapatıyor, özellikle kurumsal ortamlarda hangi repository’nin onaylı olduğunu merkezi yönetmek büyük fark yaratıyor. Bu arada şu yazınız da güzeldi: Azure IaaS’te Savunma Katmanları: Güvenlik Nasıl Oturuyor? — https://www.askinkilic.com.tr/azure-iaaste-savunma-katmanlari-guvenlik-nasil-oturuyor/ İkisi birlikte okunca güvenlik katmanları daha net oturuyor zihinде.

comments user
Deniz R. 21/05/2026 19:32

PSResourceGet’i duymuştum ama güven ve onay akışı kısmını bu kadar detaylı düşünmemiştim açıkçası. Özellikle kurumsal ortamlarda hangi repository’e güvenip güvenmeyeceğini yönetmek gerçekten kritik bir konu. Repository keşfini pratikte nasıl kısıtlayabildiğimize dair bir örnek görsek çok işe yarardı.

comments user
Koray M. 21/05/2026 19:55

PSResourceGet ile repository güven mekanizmasını henüz test etmedim ama özellikle kurumsal ortamlarda onay akışı kısmı can kurtarır gibi görünüyor. Acaba mevcut PowerShellGet scriptlerini PSResourceGet’e geçirmek ne kadar sancılı oluyor, bunu da ele alsanız?

comments user
Ahmet Y. 21/05/2026 20:33

PSResourceGet’e geçiş zorunlu mu yoksa eski PowerShellGet ile devam edilebilir mi? Kurumsal ortamlarda paket kaynaklarını kilitleyebilmek gerçekten kritik bir özellik, özellikle supply chain saldırıları bu kadar artmışken.

Yorumlar kapalı.

Yazı Ara

Takip Edin

  • Takipçi
  • Takipçi
  • Takipçi
  • Abone
  • Takipçi
  • SQL Server Express'ten Azure SQL Free Tier'a Geçiş
    20/08/2026 SQL Server Express’ten Azure SQL Free Tier’a Geçiş
  • GitHub Copilot App: My Work ile İşlerini Yönetmek
    19/08/2026 GitHub Copilot App: My Work ile İşlerini Yönetmek
  • VS Code Python Environments Eklentisi Genel Kullanıma Açıldı
    19/08/2026 VS Code Python Environments Eklentisi Genel Kullanıma Açıldı
  • Microsoft, 2026 Gartner Cloud-Native Platform Raporunda
    19/08/2026 Microsoft, 2026 Gartner Cloud-Native Platform Raporunda
  • Azure Cosmos DB VS Code Eklentisi: Ajanlar İçin Yeni Araçlar
    19/08/2026 Azure Cosmos DB VS Code Eklentisi: Ajanlar İçin Yeni Araçlar
  • Copilot Cloud Agent Metriği: Kullanımı Ölçmek Kolaylaştı
    11/04/2026 Copilot Cloud Agent Metriği: Kullanımı Ölçmek Kolaylaştı
  • GitHub Code Scanning’de Toplu Düzeltme: PR’lar Hızlandı
    07/04/2026 GitHub Code Scanning’de Toplu Düzeltme: PR’lar Hızlandı
  • MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
    08/04/2026 MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
  • GitHub Copilot Cloud Agent İçin Runner Kontrolü: Kurumsal Düzen
    03/04/2026 GitHub Copilot Cloud Agent İçin Runner Kontrolü: Kurumsal Düzen
  • ASP.NET Core 2.3 İçin Saat İşliyor: Ne Yapmalı?
    07/04/2026 ASP.NET Core 2.3 İçin Saat İşliyor: Ne Yapmalı?
  • GitHub Copilot Pro Denemeleri Neden Durdu?
    11/04/2026 GitHub Copilot Pro Denemeleri Neden Durduruldu?
  • vcpkg'de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
    06/04/2026 vcpkg’de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
  • MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
    08/04/2026 MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
  • Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
    06/04/2026 Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
  • Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler
    10/04/2026 Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler

SİZİN İÇİN DERLEDİK

SQL Server Express'ten Azure SQL Free Tier'a Geçiş
Bulut Altyapı Geliştirici Araçları Microsoft Azure

SQL Server Express’ten Azure SQL Free Tier’a Geçiş

20/08/2026 Aşkın KILIÇ
GitHub Copilot App: My Work ile İşlerini Yönetmek
Geliştirici Araçları Yapay Zeka

GitHub Copilot App: My Work ile İşlerini Yönetmek

19/08/2026 Aşkın KILIÇ
VS Code Python Environments Eklentisi Genel Kullanıma Açıldı
Bulut Altyapı Geliştirici Araçları

VS Code Python Environments Eklentisi Genel Kullanıma Açıldı

19/08/2026 Aşkın KILIÇ
Microsoft, 2026 Gartner Cloud-Native Platform Raporunda
Bulut Altyapı Microsoft Azure Yapay Zeka

Microsoft, 2026 Gartner Cloud-Native Platform Raporunda

19/08/2026 Aşkın KILIÇ
Azure Cosmos DB VS Code Eklentisi: Ajanlar İçin Yeni Araçlar
Bulut Altyapı Geliştirici Araçları Yapay Zeka

Azure Cosmos DB VS Code Eklentisi: Ajanlar İçin Yeni Araçlar

19/08/2026 Aşkın KILIÇ
Canvases: Ajanlı Copilot Akışlarını Görünür Kılan Katman
Geliştirici Araçları Yapay Zeka

Canvases: Ajanlı Copilot Akışlarını Görünür Kılan Katman

18/08/2026 Aşkın KILIÇ
Windows Terminal Preview 1.25: Yeni Ayarlar ve Kitty Desteği
Bulut Altyapı Geliştirici Araçları

Windows Terminal Preview 1.25: Yeni Ayarlar ve Kitty Desteği

18/08/2026 Aşkın KILIÇ
Azure Pipelines'a Apple Silicon ve Xcode 27 Geldi
Bulut Altyapı DevOps

Azure Pipelines’a Apple Silicon ve Xcode 27 Geldi

18/08/2026 Aşkın KILIÇ
BlockOnPossibleDataLoss=True: Neden Dostunuz?
DevOps Geliştirici Araçları Güvenlik & Kimlik Microsoft Azure

BlockOnPossibleDataLoss=True: Neden Dostunuz?

18/08/2026 Aşkın KILIÇ
TypeScript 6.0 RC Duyuruldu: 7.0'a Hazırlık Sürümü
Geliştirici Araçları Kurumsal Teknoloji

TypeScript 6.0 RC Duyuruldu: 7.0’a Hazırlık Sürümü

17/08/2026 Aşkın KILIÇ
GitHub Kişisel Depolarda Yorumdan Kullanıcı Engelleme
Geliştirici Araçları Kurumsal Teknoloji

GitHub Kişisel Depolarda Yorumdan Kullanıcı Engelleme

17/08/2026 Aşkın KILIÇ
Microsoft.Testing.Platform ile Test Raporlama Rehberi
Bulut Altyapı DevOps Geliştirici Araçları

Microsoft.Testing.Platform ile Test Raporlama Rehberi

17/08/2026 Aşkın KILIÇ

Hakkımda

Aşkın KILIÇ

Microsoft Azure Çözüm Uzmanı. Bulut bilişim, yapay zekâ, DevOps ve kurumsal güvenlik üzerine yazılar yazıyorum.

Devamını Oku →

Kategoriler

  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka

Popüler Etiketler

AI ajanları Azure azure app service Azure Cosmos DB Azure Developer CLI Azure DevOps Azure Functions Azure OpenAI azure sdk Azure SQL bulut bilişim C++ CI/CD copilot Copilot CLI DevOps DevSecOps geliştirici verimliliği GitHub GitHub Actions GitHub Copilot güvenlik Kimlik Doğrulama Kubernetes Kurumsal geliştirme kurumsal güvenlik kurumsal yapay zeka maliyet optimizasyonu Microsoft Agent Framework Microsoft Azure Microsoft Foundry MSVC otomasyon performans Pull Request Python RAG SEO uyumlu verimlilik veri yönetimi Visual Studio VS Code yapay zeka yapay zeka ajanları Yazılım geliştirme
  • Gizlilik Politikası
  • Çerez Politikası
  • Kullanım Koşulları
  • Hakkımda
  • İletişim

© 2026 Aşkın KILIÇ | Tüm hakları saklıdır. | Powered By SpiceThemes

Çerez tercihleri Zorunlu çerezler sitenin çalışması için kullanılır. Analitik çerezler yalnız açık izninizden sonra Google Analytics ve Microsoft Clarity için etkinleştirilir. KVKK ve Çerez Politikası
✉

Haftalık Bülten

Azure, DevOps ve Yapay Zeka dünyasındaki en güncel içerikleri her hafta doğrudan e-postanıza alın.

Spam yok. İstediğiniz zaman iptal edebilirsiniz.
📱
Uygulamayı Yükle Ana ekrana ekle, çevrimdışı oku
Ana Sayfa
Kategoriler
💻 Geliştirici Araçları 339 yazı 🏗️ Bulut Altyapı 280 yazı 🤖 Yapay Zeka 240 yazı 🔧 DevOps 198 yazı ☁️ Microsoft Azure 186 yazı 🔒 Güvenlik & Kimlik 161 yazı 🏢 Kurumsal Teknoloji 65 yazı 📊 Veri & Analitik 57 yazı 🐳 Konteyner & Kubernetes 47 yazı 📧 Microsoft 365 21 yazı 📁 Azure 1 yazı
Ara
Popüler
Yapay Zeka Azure Kubernetes DevOps Copilot Docker
Paylaş
WhatsApp
İçindekiler
    ← Gemini 3.5 Flash Copilot’ta: H...
    MSVC Build Tools Preview Mayıs... →
    📩

    Gitmeden önce!

    Her pazar özenle seçilmiş teknoloji yazıları ve AI haberleri doğrudan e-postanıza gelsin. Ücretsiz, spam yok.

    🔒 Bilgileriniz güvende. İstediğiniz zaman ayrılabilirsiniz.

    📬 Haftalık bülten: Teknoloji + AI haberleri
    Beni Takip Et Yeni Azure / AI / DevOps yazılarını GitHub ve RSS üzerinden takip edin.
    GitHub RSS