Delen via


API-sleutels met toegekend bereik

Als u NuGet een veiligere omgeving wilt maken voor pakketdistributie, kunt u de controle over de API-sleutels overnemen door bereiken toe te voegen.

De mogelijkheid om het bereik van uw API-sleutels te bieden, biedt u betere controle over uw API's. U kunt:

  • Maak meerdere API-sleutels binnen het bereik die kunnen worden gebruikt voor verschillende pakketten met verschillende verloopperioden.
  • API-sleutels veilig verkrijgen.
  • Bewerk bestaande API-sleutels om de toepasselijkheid van pakketten te wijzigen.
  • Vernieuw of verwijder bestaande API-sleutels zonder dat bewerkingen met andere sleutels worden belemmerd.

Waarom ondersteunen we api-sleutels met een bereik?

We ondersteunen scopes voor API-sleutels, zodat u gedetailleerdere machtigingen kunt hebben. Voorheen bood NuGet één API-sleutel voor een account en die benadering had verschillende nadelen:

  • Eén API-sleutel om alle pakketten te beheren. Met één API-sleutel die wordt gebruikt voor het beheren van alle pakketten, is het moeilijk om de sleutel veilig te delen wanneer meerdere ontwikkelaars betrokken zijn bij verschillende pakketten en wanneer ze een uitgeversaccount delen.
  • Alle machtigingen of geen. Iedereen met toegang tot de API-sleutel heeft alle machtigingen (publiceren, pushen en de lijst opheffen) op de pakketten. Dit is vaak niet wenselijk in omgeving met meerdere teams.
  • Enkelvoudig storingspunt. Een enkele API-sleutel betekent ook een enkel storingspunt. Als de sleutel is aangetast, kunnen alle pakketten die aan het account zijn gekoppeld, mogelijk worden aangetast. Het vernieuwen van de API-sleutel is de enige manier om het lek te pluggen en te voorkomen dat uw CI/CD-werkstroom wordt onderbroken. Bovendien kunnen er gevallen zijn wanneer u de toegang tot de API-sleutel voor een persoon wilt intrekken (bijvoorbeeld wanneer een werknemer de organisatie verlaat). Er is geen schone manier om dit vandaag af te handelen.

Met api-sleutels binnen het bereik proberen we deze problemen op te lossen terwijl we ervoor zorgen dat geen van de bestaande werkstromen wordt verbroken.

Een API-sleutel verkrijgen

  1. Meld u aan bij uw nuget.org-account of maak een account als u er nog geen hebt.

  2. Selecteer uw gebruikersnaam in de rechterbovenhoek en selecteer vervolgens API-sleutels.

  3. Selecteer Maken en geef een naam op voor uw sleutel.

  4. Selecteer onder Bereiken selecteren, Push.

  5. Voer * in onder Selecteer Packages>Glob Pattern.

  6. Klik op Creëren.

  7. Selecteer Kopiëren om de nieuwe sleutel te kopiëren.

    Schermopname van de nieuwe API-sleutel met de koppeling Kopiëren.

Belangrijk

  • Bewaar uw API-sleutel altijd een geheim. De API-sleutel is vergelijkbaar met een wachtwoord waarmee iedereen namens u pakketten kan beheren. Verwijder uw API-sleutel of genereer deze opnieuw als deze per ongeluk wordt weergegeven.
  • Sla uw sleutel op een veilige locatie op, omdat u de sleutel later niet meer kunt kopiëren. Als u terugkeert naar de pagina api-sleutel, moet u de sleutel opnieuw genereren om deze te kopiëren. U kunt de API-sleutel ook verwijderen als u pakketten niet meer wilt pushen.

Scoping stelt u in staat om afzonderlijke API-sleutels te maken voor verschillende doeleinden. Elke sleutel heeft een vervaltijd en kunt u de sleutel toepassen op specifieke pakketten of glob-patronen. U kunt ook elke sleutel opgeven voor specifieke bewerkingen: nieuwe pakketten en pakketversies pushen, alleen nieuwe pakketversies pushen of de lijst opheffen.

Door middel van scoping kunt u API-sleutels maken voor verschillende personen die pakketten voor uw organisatie beheren, zodat ze alleen de machtigingen hebben die ze nodig hebben.

Scoped API-sleutels maken

U kunt meerdere API-sleutels maken op basis van uw vereisten. Een API-sleutel kan gelden voor een of meer pakketten, verschillende scopes hebben die specifieke rechten verlenen en een vervaldatum hebben.

In het volgende voorbeeld hebt u een API-sleutel met de naam Contoso service CI die kan worden gebruikt om pakketten voor specifieke Contoso.Service pakketten te pushen en is deze 365 dagen geldig. Dit is een typisch scenario waarbij verschillende teams binnen dezelfde organisatie aan verschillende pakketten werken en de leden van het team de sleutel krijgen waarmee ze alleen bevoegdheden krijgen voor het pakket waaraan ze werken. De vervaldatum dient als mechanisme om verouderde of vergeten sleutels te voorkomen.

API-sleutels maken

Glob-patronen gebruiken

Als u aan meerdere pakketten werkt en een grote lijst met pakketten wilt beheren, kunt u ervoor kiezen om globbing-patronen te gebruiken om meerdere pakketten samen te selecteren. Als u bijvoorbeeld specifieke toegangsrechten wilt verlenen aan een sleutel voor alle pakketten waarvan de ID begint met Fabrikam.Service, kunt u dit doen door het Globpatroon in het tekstvak fabrikam.service.* op te geven.

API-sleutels maken - 2

Het gebruik van glob-patronen om API-sleutelmachtigingen te bepalen, is ook van toepassing op nieuwe pakketten die overeenkomen met het glob-patroon. Als u bijvoorbeeld een nieuw pakket met de naam Fabrikam.Service.Frameworkprobeert te pushen, kunt u dat doen met de sleutel die u eerder hebt gemaakt, omdat het pakket overeenkomt met het glob-patroon fabrikam.service.*.

API-sleutels veilig verkrijgen

Voor beveiliging wordt nooit een zojuist gemaakte sleutel weergegeven op het scherm en is deze alleen beschikbaar via de knop Kopiëren . Op dezelfde manier is de sleutel niet toegankelijk nadat de pagina is vernieuwd.

API-sleutels maken - 3

Bestaande API-sleutels bewerken

U kunt ook de sleutelmachtigingen en bereiken bijwerken zonder de sleutel zelf te wijzigen. Als u een sleutel met een specifiek bereik voor één pakket hebt, kunt u ervoor kiezen om hetzelfde bereik toe te passen op één of meer andere pakketten.

API-sleutels maken - 4

Bestaande API-sleutels vernieuwen of verwijderen

De accounteigenaar kan ervoor kiezen om de sleutel te vernieuwen, in welk geval de machtiging (voor pakketten), het bereik en de vervaldatum hetzelfde blijven, maar er wordt een nieuwe sleutel uitgegeven, waardoor de oude sleutel onbruikbaar wordt. Dit is handig bij het beheren van verouderde sleutels of wanneer er kans is op het lekken van een API-sleutel.

API-sleutels maken - 5

U kunt er ook voor kiezen om deze sleutels te verwijderen als ze niet meer nodig zijn. Als u een sleutel verwijdert, wordt de sleutel verwijderd en wordt deze onbruikbaar.

FAQs

Wat gebeurt er met mijn oude (verouderde) API-sleutel?

Uw oude API-sleutel (verouderd) blijft werken en kan werken zolang u wilt dat deze werkt. Deze sleutels worden echter buiten gebruik gesteld als ze meer dan 365 dagen niet zijn gebruikt om een pakket te pushen. Zie het blogbericht Wijzigingen in verlopen API-sleutels voor meer informatie. U kunt deze sleutel niet meer vernieuwen. U moet de verouderde sleutel verwijderen en in plaats daarvan een nieuwe scoped sleutel maken.

Opmerking

Deze sleutel heeft alle machtigingen voor alle pakketten en verloopt nooit. U moet overwegen deze sleutel te verwijderen en nieuwe sleutels te maken met gescopeerde machtigingen en een definitieve vervaldatum.

Hoeveel API-sleutels kan ik maken?

Er is geen limiet voor het aantal API-sleutels dat u kunt maken. We raden u echter aan om het bij een beheersbaar aantal te houden, zodat u niet veel verouderde sleutels krijgt zonder dat u weet waar en wie ze gebruikt.

Kan ik mijn verouderde API-sleutel verwijderen of nu stoppen met gebruik?

Ja. U kunt- en waarschijnlijk moet u uw verouderde API-sleutel verwijderen.

Kan ik mijn API-sleutel die ik per ongeluk heb verwijderd, terughalen?

Nee. Nadat u deze hebt verwijderd, kunt u alleen nieuwe sleutels maken. Er is geen herstel mogelijk voor per ongeluk verwijderde sleutels.

Blijft de oude API-sleutel werken bij het vernieuwen van de API-sleutel?

Nee. Wanneer u een sleutel vernieuwt, wordt er een nieuwe sleutel gegenereerd met hetzelfde bereik, dezelfde machtiging en een vervaldatum als de oude sleutel. De oude sleutel houdt op te bestaan.

Kan ik meer machtigingen verlenen voor een bestaande API-sleutel?

U kunt het bereik niet wijzigen, maar u kunt de pakketlijst bewerken waarop het van toepassing is.

Hoe weet ik of een van mijn sleutels is verlopen of binnenkort zal verlopen?

Als een sleutel verloopt, laten we u weten via een waarschuwingsbericht boven aan de pagina. We sturen ook een waarschuwingsmail naar de rekeninghouder tien dagen voor de vervaldatum van de sleutel, zodat u er ruim van tevoren op kunt reageren.