Upstream-gedrag configureren
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Met upstream-bronnen van Azure Artifacts profiteren ontwikkelaars van het gemak van het gebruik van een uniforme feed om pakketten te publiceren en te gebruiken van artefactfeeds en populaire openbare registers, zoals NuGet.org of npmjs.com. Eerder combineerde Artifact-feeds een lijst met beschikbare pakketversies van zowel de feed zelf als alle geconfigureerde upstream-bronnen.
Upstream-gedrag is een functie waarmee ontwikkelaars kunnen kiezen of ze externe pakketversies willen gebruiken. Het bepaalt welke pakketten toegankelijk zijn vanuit de openbare registers voor specifieke pakketten.
Zodra het upstream-gedrag is ingeschakeld, wordt elke versie van het openbare register geblokkeerd wanneer een pakket wordt gepubliceerd naar uw Azure Artifacts-feed en kan deze niet worden gedownload.
Deze aanpak voegt een extra beveiligingslaag toe door potentiële blootstelling aan schadelijke pakketten te voorkomen die mogelijk de openbare registers hebben geïnfiltreerd.
Gebruikers kunnen de instelling voor upstreamgedrag echter nog steeds deactiveren, zodat ze pakketten uit de openbare registers kunnen gebruiken als ze dat liever doen.
Notitie
Het nieuwe gedrag heeft geen invloed op pakketversies die momenteel in gebruik zijn, omdat ze behouden blijven in de @local weergave van de feed.
Toepasselijke scenario's
In de volgende sectie ziet u verschillende veelvoorkomende scenario's waarin het upstream-gedrag wordt geactiveerd om externe pakketversies te blokkeren en andere scenario's waarbij de toegang tot openbare pakketten niet hoeft te worden geblokkeerd.
Openbare versies worden geblokkeerd
Persoonlijke pakketversie openbaar gemaakt
In dit scenario heeft een team een privépakket dat openbaar is gemaakt. Het upstream-gedrag in dit geval wordt geactiveerd om nieuwe openbare versies (niet-vertrouwde pakketten) te blokkeren.
Zowel privé- als openbare pakketten hebben
Als een team in dit scenario gebruikmaakt van een combinatie van privé- en openbare pakketten, blokkeert het inschakelen van het upstream-gedrag alle nieuwe pakketversies uit het openbare register.
Openbare versies worden niet geblokkeerd
Alle pakketten zijn privé*
Als alle bestaande pakketten privé zijn en het team geen openbare pakketten wil gebruiken, heeft het nieuwe upstream-gedrag geen invloed op de werkstroom van het team in dit scenario.
Alle pakketten zijn openbaar
Als het team in dit scenario uitsluitend openbare pakketten verbruikt, ongeacht of dit afkomstig is van het openbare register of andere opensource-opslagplaatsen, heeft het nieuwe upstream-gedrag op geen enkele manier invloed op hun werkstroom.
Openbaar pakket privé gemaakt
Wanneer een openbaar pakket in deze situatie wordt geconverteerd naar een privépakket, heeft het nieuwe upstreamgedrag geen invloed op de werkstroom van het team.
Externe versies toestaan
Notitie
U moet een feedeigenaar zijn om extern bronversies toe te staan. Zie Feedmachtigingen voor meer informatie.
Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.
Selecteer Artefacten en selecteer vervolgens uw feed in de vervolgkeuzelijst.
Selecteer uw pakket en selecteer vervolgens de knop met het beletselteken voor meer opties. Selecteer Externe versies toestaan.
Selecteer de wisselknop om externe versies toe te staan. Selecteer Sluiten wanneer u klaar bent.
Externe versies toestaan met behulp van de REST API
Externe versies toestaan met Behulp van PowerShell
Maak een persoonlijk toegangstoken met lees-, schrijf- en beheermachtigingen voor pakketten>.
Maak een omgevingsvariabele voor uw persoonlijke toegangstoken.
$env:PATVAR = "YOUR_PERSONAL_ACCESS_TOKEN"
Converteer uw persoonlijke toegangstoken naar een met baser64 gecodeerde tekenreeks en maak de HTTP-aanvraagheader.
$token = [Convert]::ToBase64String(([Text.Encoding]::ASCII.GetBytes("username:$env:PatVar"))) $headers = @{ Authorization = "Basic $token" }
Maak uw eindpunt-URL. Voorbeeld: //pkgs.dev.azure.com/MyOrg/MyProject/_apis/packaging/feeds/MyFeed/nuget/packages/pkg1.0.0.nupkg/upstreaming?api-version=6.1-preview.1
Feed met projectbereik:
$url = "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_apis/packaging/feeds/<FEED_NAME>/<PROTOCOL>/packages/<PACKAGE_NAME>/upstreaming?api-version=6.1-preview.1"
Feed met organisatiebereik:
$url = "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_apis/packaging/feeds/<FEED_NAME>/<PROTOCOL>/packages/<PACKAGE_NAME>/upstreaming?api-version=6.1-preview.1"
Voer de volgende opdracht uit om de upstream-gedragsstatus van uw pakket op te halen. $url
en $headers
zijn dezelfde variabelen die we in de vorige sectie hebben gebruikt.
Invoke-RestMethod -Uri $url -Headers $headers
Verwante artikelen:
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort: Gedurende 2024 worden GitHub Issues uitgefaseerd als het feedbackmechanisme voor inhoud. Dit wordt vervangen door een nieuw feedbacksysteem. Ga voor meer informatie naar:Feedback verzenden en bekijken voor