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.

Kapsamlı API anahtarlarını neden destekliyoruz?

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.

API anahtarı alma

  1. nuget.org hesabınızda oturum açın veya henüz hesabınız yoksa bir hesap oluşturun.

  2. Sağ üst köşeden kullanıcı adınızı ve ardından API Anahtarları'nı seçin.

  3. Oluştur'u seçin ve anahtarınız için bir ad belirtin.

  4. Kapsamları Seç'in altında Gönder'i seçin.

  5. Paketleri>Seç Glob Deseni'nin altına * girin.

  6. Oluştur'u belirleyin.

  7. Yeni anahtarı kopyalamak için Kopyala'yı seçin.

    Screenshot that shows the new API key with the Copy link.

Ö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.

Kapsamlı API anahtarları oluşturma

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.

Create API keys

Glob desenlerini kullanma

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.Servicebaşlayan tüm paketler için bir anahtara belirli kapsamlar vermek istiyorsanız, Glob deseni metin kutusunda belirterek fabrikam.service.*bunu yapabilirsiniz.

Create API keys - 2

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.Frameworkyeni bir paket göndermeye çalışırsanız, bunu daha önce oluşturulan anahtarla yapabilirsiniz, çünkü paket glob deseniyle eşleşir fabrikam.service.*.

API anahtarlarını güvenli bir şekilde alma

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.

Create API keys - 3

Mevcut API anahtarlarını düzenleme

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.

Create API keys - 4

Mevcut API anahtarlarını yenileme veya silme

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.

Create API keys - 5

Artık gerekli değilse bu anahtarları silmeyi de seçebilirsiniz. Bir anahtarın silinmesi, anahtarı kaldırır ve kullanılamaz hale getirir.

SSS

Eski (eski) API anahtarıma ne olur?

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.

Kaç API anahtarı oluşturabilirim?

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.

Eski API anahtarımı silebilir veya şimdi kullanmayı durdurabilir miyim?

Evet. Eski API anahtarınızı silebilirsiniz.

Yanlışlıkla sildiğim API anahtarımı geri alabilir miyim?

Hayır Silindikten sonra yalnızca yeni anahtarlar oluşturabilirsiniz. Yanlışlıkla silinen anahtarlar için kurtarma mümkün değildir.

Eski API anahtarı, API anahtarı yenilemesi üzerinde çalışmaya devam ediyor mu?

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.

Mevcut bir API anahtarı için daha fazla izin verebilir miyim?

Kapsamı değiştiremezsiniz, ancak uygulanabileceği paket listesini düzenleyebilirsiniz.

Nasıl yaparım? anahtarlarımın süresinin dolduğunu veya süresinin dolduğunu biliyor musunuz?

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.