Ändra projektsynlighet till offentlig eller privat

Azure DevOps Services

I den här artikeln får du lära dig hur du ändrar synligheten för projektet till offentlig eller privat.

När du växlar ett privat projekt till offentlig synlighet omfattar det allt dess innehåll. Det går inte att selektivt hålla vissa lagringsplatser, områdessökvägar eller byggmappar privata.

Åtkomsten är begränsad för användare som inte är inloggade, ofta kallade anonyma eller offentliga användare. Det finns också användare som är inloggade i Azure DevOps men inte ingår i ett projekt. Båda dessa användarkategorier ges begränsad, skrivskyddad åtkomst enligt beskrivningen i följande tabell.

När du byter ett privat projekt till offentligt får alla projektmedlemmar följande ändringar:

  • Behörigheter som är märkta Neka känns inte igen. Behörigheterna som automatiskt ges till en icke-medlem anger en minsta nivå av funktioner som kan tilldelas till alla projektmedlemmar.
  • Om en bygg-pipeline är inställd på Project Collection-omfånget körs den med ett Projektomfång i stället, vilket minskar risken för att skadliga användare får åtkomst till byggtjänstens autentiseringstoken.
  • Intressenter har fullständig åtkomst till funktioner för lagringsplatser eller kod i offentliga projekt, men har ingen åtkomst till privata projekt.
  • Intressenter har fullständig åtkomst till styrelser eller arbete i offentliga projekt, men endast delvis åtkomst i privata projekt. Mer information finns i Snabbreferens för intressentåtkomst.
  • Basic + Test Plans-användare kan visa och köra tester från testplaner eller test. Grundläggande användare måste uppgradera sin åtkomstnivå till Basic + Test Plans för att få fullständig åtkomst, vilket inkluderar funktioner för att skapa testplaner och lägga till testfall.
Hubb/Inställningar Åtkomst som inte är medlem Intressentåtkomst Grundläggande åtkomst Läsåtkomst Deltagaråtkomst Projektadministratörsåtkomst
Instrumentpaneler läs (många widgetar är inte tillgängliga) Partiell fullständig läsa läs-skriva read-write-admin
Wiki läsa fullständig fullständig läsa läs-skriva read-write-admin
Tavlor (arbete) läsa Partiell fullständig läsa läs-skriva read-write-admin
Lagringsplatser (kod) läsa fullständig fullständig läsa läs-skriva read-write-admin
Pipelines (Build and Release) läsa fullständig fullständig läsa läs-skriva Läs-skriv-administrera
Testplaner ingen åtkomst ingen åtkomst partiell åtkomst (se den sista punkten före tabellen) läsa läs-skriva Läs-skriv-administrera
Aviseringar ingen åtkomst Fullständig Fullständig Läsa läs-skriva read-write-admin
Sök fullständig fullständig fullständig fullständig fullständig fullständig
Inställningar Ingen behörighet Fullständig Fullständig Lästa Läsa Läs-skriv-administrera

Förutsättningar

Checklista för migrering

De flesta privata projekt innehåller en stor mängd historiska data. Gamla arbetsobjekt, tidiga incheckningar och tidigare byggpipelines kan innehålla information som du inte vill dela offentligt.

Följande checklista anger de objekt som du kanske vill granska innan du gör ett projekt offentligt. Den innehåller också tips för att migrera arbetsobjekt eller filer till ett nytt projekt så att du bara kan exponera aktuellt och framtida innehåll.

Kategori

Vägledning

Organisationsidentiteter och inställningar

Förstå att en användare får åtkomst till följande resurser och information om organisationen:

  • Identiteter: Lista över alla medlemmar som lagts till i organisationen och e-postadressen för varje medlem.
  • Inställningar: Skrivskyddad vy över alla organisations- och projektinställningar.
  • Bearbeta metadata: Alla listvärden i alla projekt i organisationen.
  • Versioner och versioner: Namn på personer som utlöste dem, plus identiteter, inklusive e-postadresser som är inbäddade i Git-incheckningar.
  • Incheckningar och arbetsobjekt: Inbäddad information, till exempel förnamn, efternamn och e-postadress.

Objektlänkar mellan projekt

Kontrollera om det finns länkar mellan projekt, eftersom information om den länkade artefakten i det privata projektet visas i det offentliga projektet. Du kan använda följande länktyper: branch, build, changeset, commit, found in build, integrated in build, pull request och versionshanterat objekt. Rubriker och namn visas i följande länktyper: versionsobjekt, gren, wiki-sida, pull-begäran och arbetsobjekt.

Agila verktyg och arbetsobjekt

Bekräfta att dina arbetsobjekt, även stängda, inte innehåller känslig information: hemliga säkerhetsbrister, autentiseringsuppgifter och kunddata. Arbetsobjekt behåller sin historik när de migreras från ett privat till offentligt projekt. Alla diskussioner och beskrivningar är tillgängliga. Kontrollera att ingen innehåller problematiskt tal.

Bekräfta att ingen av dina områdessökvägar har särskilda, låsta säkerhetsinställningar. Nekade behörigheter tillämpas inte i ett offentligt projekt, så sökvägar för begränsade områden blir offentliga.

Code

Bekräfta att du inte har någon känslig information i lagringsplatsernas historik: okopplade säkerhetsbuggar, autentiseringsuppgifter och kod som du inte har rätt att distribuera.

Alla filinnehåll och incheckningsmeddelanden är tillgängliga. Kontrollera att ingen innehåller problematiskt tal. Om du inte är bekväm med att exponera en hel lagringsplats kan du migrera tipset till ett annat projekt. Mer information finns i Instruktioner för en tipsmigrering.

Skapa och släppa

Bekräfta att ingen av dina pipelines exponerar känsliga data: autentiseringsuppgifter/hemligheter, dolda URL:er och privata miljönamn.

Bekräfta att icke-medlemmar inte behöver åtkomst till dina privata feeds. Versioner kan fortfarande komma åt feeds, men icke-medlemmar kan inte. Om du behöver migrera byggpipelines till ett nytt projekt kan du importera och exportera dem med YAML.

  Testa

Förstå att funktionerna för manuell belastningstestning och molnbelastning inte är tillgängliga för icke-medlemmar i ett offentligt projekt.

Analys och instrumentpaneler

Överväg att skapa en instrumentpanel avsedd för allmänheten. Vissa widgetar är inte tillgängliga för icke-medlemmar.

Artefakter

Bekräfta att inget av paketen i någon av feeds som är begränsade till projektet har sekretessproblem. Alla paket i feeds som är begränsade till projektet blir offentliga. Alla befintliga överordnade inställningar för feeds som är begränsade till projektet inaktiveras när projektet blir offentligt.

Tillägg

Bekräfta om det finns några tillägg som är viktiga för projektets upplevelse. Har du till exempel en kontroll över arbetsobjektsformuläret som återger data på ett visst sätt? Finns det anpassade tillägg som visar viktig information?

Bekräfta att varje tilläggsförfattare gjorde det tillgängligt för icke-medlemmar genom att testa det. Om inte ber du tilläggsförfattaren att lägga till stöd för icke-medlemmar.

1. Aktivera anonym åtkomst till projekt

Innan du kan ändra ett privat projekt till ett offentligt projekt måste du aktivera anonym åtkomst för din organisation.

  1. Logga in på din organisation (https://dev.azure.com/{yourorganization}).

  2. Välj Organisationsinställningar.

    Screenshot showing highlighted Organization settings button.

  3. Välj Principer och sedan säkerhetsprincipen Tillåt offentliga projekt .

    Screenshot showing Organization settings, Policy page, Security policies flow.

2. Ange projektsynlighet

  1. Logga in på projektet (https://dev.azure.com/{YourOganization}{YourProject}).

  2. Välj Projektinställningar>Översikt> listrutan Synlighet, välj Offentlig eller Privat och sedan Spara.

    Screenshot showing Project Settings, Overview, Visibility flow.

Åtkomstnivåer och otillgängliga funktioner för offentliga projekt

En projektmedlem har åtkomst till funktioner baserat på den tilldelade åtkomstnivån. Icke-medlemmar/offentliga användare beviljas begränsad åtkomst automatiskt. Om du vill bidra till ett offentligt projekt måste du läggas till som medlem i projektet och tilldelas åtkomst till antingen Intressent, Grundläggande eller Grundläggande + Testplaner. Åtkomstnivåer avgör vilka användargränssnitt du kan komma åt. Säkerhetsgruppen som du har tilldelats avgör vilka funktioner du kan använda. Mer information finns i Om åtkomstnivåer.

Du lägger till projektmedlemmar på samma sätt som för privata projekt. Se till att du förstår vad det innebär att bjuda in en extern användare att ha åtkomst till projektet. Om du har skapat projektet tilldelas du automatiskt till gruppen Projektadministratörer.

Följande användargränssnittselement är dolda för icke-medlemmar.

Tjänst

Dolda gränssnittselement

Anslagstavlor

Arbetsobjekt är tillgängliga, men kvarvarande uppgifter, tavlor, sprintar, frågor och planer är dolda.

Repos

Lagringsplatserna för Team Foundation Version Control (TFVC) är dolda.

Pipelines

Versioner och versioner är tillgängliga, men bibliotek, aktivitetsgrupper, distributionsgrupper, paket och XAML-byggsystem är dolda. Pipeline- och uppgiftsredigerare för bygg- och versionspipelines är inte tillgängliga. Endast den nya sidan Versioner, som finns i offentlig förhandsversion, är tillgänglig.

Test Plans

Testplaner och tillhörande funktioner för manuell och molnbaserad belastningstestning är dolda.

Rapporter

Analysvyer är dolda och Analytics OData-flödet stöds inte för icke-medlemmar. Power BI-integrering stöds i allmänhet inte.

Inställningar

Inställningar och administrativa sidor är dolda.

Icke-medlemmar kan inte utföra följande uppgifter:

  • Redigera eller skapa artefakter, till exempel filer, arbetsobjekt och pipelines
  • Favorit och följ befintliga artefakter
  • Visa projektmedlemmars e-postadresser och annan kontaktinformation; nonmembers kan bara se namn och bild. Filtrera även listor över artefakter efter identitet
  • Växla mellan två offentliga projekt i samma organisation. icke-medlemmar måste gå direkt till ett offentligt projekt med hjälp av en URL
  • Utföra kod- eller arbetsobjektsökningar i en organisation

Partiell migrering

Om din organisation innehåller känsligt material bör du inte aktivera principen för offentliga projekt. Vi rekommenderar att du skapar en helt separat organisation som värd för dina offentliga projekt.

Flytta arbetsobjekt till ett privat projekt

Om några arbetsobjekt är känsliga kan du flytta dem till ett separat privat projekt. Länkar mellan projekt fortsätter att fungera för medlemmar, men icke-medlemmar har inte åtkomst till innehållet eftersom det finns i ett privat projekt.

Om du har ett stort antal känsliga arbetsobjekt bör du överväga att hålla det aktuella projektet privat. Skapa i stället ett nytt offentligt projekt i en annan organisation. Du kan migrera arbetsobjekt med hjälp av öppen källkod WiMigrator som underhålls av Microsoft.

Migrera endast Git-tips

Om en lagringsplats inte kan delas på grund av problematisk historik kan du överväga att utföra en migrering med endast tips till en ny lagringsplats i ett annat projekt. Håll projektet som innehåller den problematiska lagringsplatsen privat. Skapa den nya lagringsplatsen i ett projekt som du inte har något emot att offentliggöra.

Varning

  • Den nya lagringsplatsen ansluter inte till den gamla.
  • Du kan inte enkelt migrera ändringar mellan dem i framtiden.
  • Historiken för pull-begäran migreras inte.
  1. Klona den befintliga lagringsplatsen: git clone <clone_URL>.
  2. Kontrollera att du är i roten på lagringsplatsen: cd <reponame>.
  3. Se till att du är på toppen av den gren som du vill börja från: git checkout main.
  4. Ta bort Git-data: rmdir /s .git i Windows, rm -rf .git i macOS eller Linux.
  5. Initiera en ny Git-lagringsplats: git init.
  6. Skapa en ny, tom lagringsplats i ditt offentliga projekt.
  7. Lägg till den nya lagringsplatsen som din ursprungsfjärr: git remote add origin <new_clone_URL>.
  8. Push-överför din nya lagringsplats: git push --set-upstream origin main.

Nästa steg