Kapsamlı API anahtarları
NuGet'i paket dağıtımı için daha güvenli bir ortam haline getirmek için kapsamları ekleyerek API anahtarlarının denetimini alabilirsiniz.
API anahtarlarınıza kapsam sağlama özelliği, API'leriniz üzerinde daha iyi denetim sağlar. Şunları yapabilirsiniz:
- Değişen süre sonu zaman çerçevelerine sahip farklı paketler için kullanılabilecek birden çok kapsamlı API anahtarı oluşturun.
- API anahtarlarını güvenli bir şekilde alın.
- Paket uygulanabilirliğini değiştirmek için mevcut API anahtarlarını düzenleyin.
- Diğer anahtarları kullanarak işlemleri aksatırmadan mevcut API anahtarlarını yenileyin veya silin.
Daha ayrıntılı izinlere sahip olmanıza olanak sağlamak için API anahtarlarının kapsamlarını destekliyoruz. Daha önce NuGet bir hesap için tek bir API anahtarı sunuyordu ve bu yaklaşımın birkaç dezavantajı vardı:
- Tüm paketleri denetlemek için bir API anahtarı. Tüm paketleri yönetmek için kullanılan tek bir API anahtarıyla, birden çok geliştirici farklı paketlere dahil olduğunda ve bir yayımcı hesabını paylaştığında anahtarı güvenli bir şekilde paylaşmak zordur.
- Tüm izinler veya hiçbiri. API anahtarına erişimi olan herkesin paketlerde tüm izinleri (yayımlama, gönderme ve listelemeyi kaldırma) vardır. Bu durum genellikle birden çok ekibin olduğu ortamlarda istenmez.
- Tek hata noktası. Tek bir API anahtarı aynı zamanda tek bir hata noktası anlamına gelir. Anahtarın gizliliği ihlal edilirse, hesapla ilişkili tüm paketlerin güvenliği tehlikeye girebilir. SıZıNTıyı takmanın ve CI/CD iş akışınızın kesintiye uğramasını önlemenin tek yolu API anahtarını yenilemektir. Ayrıca, bir kişinin API anahtarına erişimi iptal etmek istediğiniz durumlar da olabilir (örneğin, bir çalışan kuruluşta ayrıldığında). Bugün bunu halletmenin temiz bir yolu yok.
Kapsamlı API anahtarlarıyla, mevcut iş akışlarından hiçbirinin kopmamasını sağlarken bu sorunları gidermeye çalışıyoruz.
nuget.org hesabınızda oturum açın veya henüz hesabınız yoksa bir hesap oluşturun.
Sağ üst köşeden kullanıcı adınızı ve ardından API Anahtarları'nı seçin.
Oluştur'u seçin ve anahtarınız için bir ad belirtin.
Kapsamları Seç'in altında Gönder'i seçin.
Paketleri>Seç Glob Deseni'nin altına * girin.
Oluştur'u belirleyin.
Yeni anahtarı kopyalamak için Kopyala'yı seçin.
Önemli
- API anahtarınızı her zaman gizli tutun. API anahtarı, herkesin sizin adınıza paketleri yönetmesine olanak tanıyan bir parola gibidir. YANLıŞLıKLA ortaya çıkarsa API anahtarınızı silin veya yeniden oluşturun.
- Anahtarı daha sonra yeniden kopyalayamadığınızdan anahtarınızı güvenli bir konuma kaydedin. API anahtarı sayfasına dönerseniz, anahtarı kopyalamak için yeniden oluşturmanız gerekir. Paketleri artık göndermek istemiyorsanız API anahtarını da kaldırabilirsiniz.
Kapsam belirleme, farklı amaçlar için ayrı API anahtarları oluşturmanıza olanak tanır. Her anahtarın bir süre sonu zaman çerçevesi vardır ve anahtarın kapsamını belirli paketlere veya glob desenlerine göre ayarlayabilirsiniz. Ayrıca her anahtarın kapsamını belirli işlemlerin kapsamına alırsınız: Yeni paketler ve paket sürümleri gönderme, yalnızca yeni paket sürümleri gönderme veya listeden kaldırma.
Kapsam belirleme yoluyla, kuruluşunuz için paketleri yöneten farklı kişiler için API anahtarları oluşturabilir ve böylece yalnızca ihtiyaç duydukları izinlere sahip olursunuz.
Gereksinimlerinize göre birden çok API anahtarı oluşturabilirsiniz. API anahtarı bir veya daha fazla pakete uygulanabilir, belirli ayrıcalıklar veren farklı kapsamlara sahip olabilir ve onunla ilişkilendirilmiş bir sona erme tarihi olabilir.
Aşağıdaki örnekte, belirli Contoso.Service
paketler için paketleri göndermek için kullanılabilecek ve 365 gün boyunca geçerli olan adlı Contoso service CI
bir API anahtarınız vardır. Bu, aynı kuruluştaki farklı ekiplerin farklı paketler üzerinde çalıştığı ve ekip üyelerine yalnızca üzerinde çalıştıkları paket için ayrıcalık sağlayan anahtarın sağlandığı tipik bir senaryodur. Süre sonu, eski veya unutulan anahtarları önlemeye yönelik bir mekanizma görevi görür.
Birden çok paket üzerinde çalışıyorsanız ve yönetebileceğiniz paketlerin büyük bir listesi varsa, birden çok paketi birlikte seçmek için globbing desenlerini kullanmayı seçebilirsiniz. Örneğin, kimliği ile Fabrikam.Service
başlayan tüm paketler için bir anahtara belirli kapsamlar vermek istiyorsanız, Glob deseni metin kutusunda belirterek fabrikam.service.*
bunu yapabilirsiniz.
API anahtarı izinlerini belirlemek için glob desenlerinin kullanılması, glob deseniyle eşleşen yeni paketler için de geçerlidir. Örneğin, adlı Fabrikam.Service.Framework
yeni bir paket göndermeye çalışırsanız, bunu daha önce oluşturulan anahtarla yapabilirsiniz, çünkü paket glob deseniyle eşleşir fabrikam.service.*
.
Güvenlik için, yeni oluşturulan bir anahtar hiçbir zaman ekranda gösterilmez ve yalnızca Kopyala düğmesi kullanılarak kullanılabilir. Benzer şekilde, sayfa yenilendikten sonra anahtara erişilemez.
Anahtarın kendisini değiştirmeden anahtar izinlerini ve kapsamlarını da güncelleştirmek isteyebilirsiniz. Tek bir paket için belirli kapsamlara sahip bir anahtarınız varsa, bir veya daha fazla pakete aynı kapsamları uygulamayı seçebilirsiniz.
Hesap sahibi anahtarı yenilemeyi seçebilir; bu durumda izin (paketlerde), kapsam ve süre sonu aynı kalır, ancak eski anahtarı kullanılamaz hale getirmek için yeni bir anahtar verilir. Bu, eski anahtarları yönetmede veya API anahtarı sızıntısı olasılığı olduğunda yararlıdır.
Artık gerekli değilse bu anahtarları silmeyi de seçebilirsiniz. Bir anahtarın silinmesi, anahtarı kaldırır ve kullanılamaz hale getirir.
Eski API anahtarınız (eski) çalışmaya devam eder ve istediğiniz sürece çalışabilir. Ancak, bu anahtarlar bir paketi göndermek için 365 günden fazla kullanılmadıysa kullanımdan kaldırılır. Diğer ayrıntılar için Süresi dolan API anahtarlarında yapılan değişiklikler blog gönderisine bakın. Bu anahtarı artık yenileyesiniz. Bunun yerine eski anahtarı silmeniz ve yeni bir kapsamlı anahtar oluşturmanız gerekir.
Not
Bu anahtarın tüm paketlerde tüm izinleri vardır ve süresi hiç dolmaz. Bu anahtarı silmeyi ve kapsamlı izinlerle ve kesin süre sonuyla yeni anahtarlar oluşturmayı düşünmelisiniz.
Oluşturabileceğiniz API anahtarlarının sayısıyla ilgili bir sınır yoktur. Ancak, bunları nerede ve kimin kullandığı hakkında hiçbir bilginiz olmadan çok sayıda eski anahtara sahip olmaması için bunu yönetilebilir bir sayıya saklamanızı öneririz.
Evet. Eski API anahtarınızı silebilirsiniz.
Hayır Silindikten sonra yalnızca yeni anahtarlar oluşturabilirsiniz. Yanlışlıkla silinen anahtarlar için kurtarma mümkün değildir.
Hayır Bir anahtarı yenilediğinizde, eski anahtarla aynı kapsama, izne ve süre sonuna sahip yeni bir anahtar oluşturulur. Eski anahtar artık yok.
Kapsamı değiştiremezsiniz, ancak uygulanabileceği paket listesini düzenleyebilirsiniz.
Herhangi bir anahtarın süresi dolarsa, sayfanın üst kısmındaki bir uyarı iletisiyle size bildiririz. Ayrıca, anahtarın süresi dolmadan on gün önce hesap sahibine bir uyarı e-postası göndeririz, böylece önceden iyi işlem yapabilirsiniz.