Sdílet prostřednictvím


Změny bezplatných grantů ve službě Azure Pipelines

Dočasně měníme proces získání bezplatných grantů Azure Pipelines, abychom vyřešili rostoucí zneužití hostovaných agentů. Ve výchozím nastavení nemusí nové organizace vytvořené v Azure DevOps získat bezplatné udělení souběžných kanálů. Noví uživatelé budou muset odeslat e-mail a poskytnout další informace, aby získali bezplatnou CI/CD.

Podrobnosti najdete v seznamu funkcí níže.

Azure Pipelines

Azure Repos

Azure Pipelines

Změny bezplatných grantů ve službě Azure Pipelines

Azure Pipelines už několik let nabízí bezplatné CI/CD pro veřejné a soukromé projekty. Vzhledem k tomu, že se jedná o poskytnutí bezplatného výpočetního výkonu, byl vždy cílem zneužití – zejména kryptografické těžby. Minimalizace tohoto zneužití vždy převzala energii od týmu. Během několika posledních měsíců se situace podstatně zhoršila, přičemž vysoké procento nových projektů v Azure DevOps se používá pro kryptografické dolování a další aktivity, které klasifikujeme jako zneužívající. Toto zneužití způsobilo několik servisních incidentů za poslední měsíc, což vede k dlouhé době čekání pro stávající zákazníky.

Abychom tuto situaci vyřešili, přidali jsme pro nové organizace v Azure DevOps další krok, abychom získali bezplatné granty. Následující změny jsou účinné okamžitě:

  • Ve výchozím nastavení už nové organizace vytvořené v Azure DevOps nebudou mít bezplatné udělení souběžných kanálů. To platí pro veřejné i soukromé projekty v nových organizacích.
  • Pokud chcete požádat o bezplatnou grant, odešlete žádost a jasně uveďte následující podrobnosti:
    • Vaše jméno
    • Organizace Azure DevOps, pro kterou žádáte o bezplatné udělení
    • Bez ohledu na to, jestli potřebujete bezplatné granty pro veřejné projekty nebo soukromé projekty
    • Odkazy na úložiště, která plánujete sestavit (pouze veřejné projekty)
    • Stručný popis projektu (pouze veřejné projekty)

Vaši žádost zkontrolujeme a odpovíme během několika dnů.

Poznámka:

Tato změna má vliv jenom na nové organizace. Nevztahuje se na existující projekty ani organizace. Tím se nezmění množství bezplatného grantu, které můžete získat. Přidá jenom další krok k získání bezplatného grantu.

Omlouváme se za případné nepříjemnosti, což může způsobit, že noví zákazníci chtějí používat Azure Pipelines pro CI/CD. Věříme, že je to nezbytné k tomu, aby se všem našim zákazníkům nadále poskytovala vysoká úroveň služeb. Budeme dále zkoumat automatizované způsoby prevence zneužití a obnovíme předchozí model, jakmile budeme mít spolehlivý mechanismus, abychom zabránili zneužití.

Odebrání zásad uchovávání informací pro jednotlivé kanály v klasických buildech

V nastavení projektu Azure DevOps teď můžete nakonfigurovat zásady uchovávání informací pro klasické buildy a kanály YAML. I když je to jediný způsob, jak nakonfigurovat uchovávání pro kanály YAML, můžete také nakonfigurovat uchovávání pro klasické kanály sestavení na základě jednotlivých kanálů. V nadcházející verzi odebereme všechna pravidla uchovávání jednotlivých kanálů pro kanály buildu Classic.

To znamená pro vás: jakýkoli klasický kanál buildu, který má stále pravidla uchovávání podle kanálu, se brzy řídí pravidly uchovávání informací na úrovni projektu.

Abychom vám pomohli tyto kanály identifikovat, zavádíme změnu v této verzi, abychom v horní části stránky seznamu spuštění zobrazili banner.

Vylepšení uchovávání buildů

Doporučujeme aktualizovat kanály odebráním pravidel uchovávání jednotlivých kanálů. Pokud váš kanál konkrétně vyžaduje vlastní pravidla, můžete v kanálu použít vlastní úlohu. Informace o přidávání zapůjčení uchovávání informací prostřednictvím úlohy najdete v dokumentaci k nastavení zásad uchovávání informací pro sestavení, vydané verze a testy.

Nové ovládací prvky pro proměnné prostředí v kanálech

Agent Azure Pipelines prohledá standardní výstup pro speciální příkazy protokolování a spustí je. Příkaz setVariable lze použít k nastavení proměnné nebo úpravě dříve definované proměnné. To může potenciálně zneužít aktér mimo systém. Pokud má například váš kanál krok, který vypíše seznam souborů na serveru FTP, může osoba s přístupem k serveru FTP přidat nový soubor, jehož název obsahuje setVariable příkaz a způsobit, že kanál změní jeho chování.

Máme mnoho uživatelů, kteří spoléhají na nastavení proměnných pomocí příkazu protokolování ve svém kanálu. V této verzi provádíme následující změny, abychom snížili riziko nežádoucího setVariable použití příkazu.

  • Přidali jsme nový konstruktor pro autory úkolů. Zahrnutím fragmentu kódu, jako je například následující, task.jsonmůže autor úkolu řídit, jestli jsou podle jejich úkolu nastaveny nějaké proměnné.
{
    "restrictions": {
        "commands": {
            "mode": "restricted"
        },
        "settableVariables": {
            "allowed": [
                "myVar",
                "otherVar"
            ]
        }
    },
}​ 
  • Kromě toho aktualizujeme řadu předdefinovaných úloh, jako je ssh, aby je nebylo možné zneužít.

  • Nakonec můžete pomocí konstruktorů YAML řídit, jestli může krok nastavit proměnné.

steps:
- script: echo hello
  target:
    settableVariables: none
steps:
- script: echo hello
  target:
    settableVariables:
    - things
    - stuff

Generování neomezeného tokenu pro sestavení forku

Uživatelé GitHubu běžně používají forky k přispívání do upstreamového úložiště. Když Azure Pipelines vytváří příspěvky z forku úložiště GitHubu, omezí oprávnění udělená tokenu přístupu k úloze a neumožňuje přístup k tajným kódům kanálu těmito úlohami. Další informace o zabezpečení forků budov najdete v naší dokumentaci.

Stejná omezení platí ve výchozím nastavení při vytváření forků úložiště GitHub Enterprise Server. To může být v takových uzavřených prostředích více omezující, než je žádoucí, protože uživatelé můžou stále těžit z modelu pro spolupráci vnitřního zdroje. Nastavení v kanálu sice můžete nakonfigurovat tak, aby zpřístupnily tajné kódy forkům, ale neexistuje žádné nastavení pro řízení oboru přístupového tokenu úlohy. V této verzi vám dáváme kontrolu nad generováním běžného přístupového tokenu úlohy i pro sestavení forků.

Toto nastavení můžete změnit z triggerů v editoru kanálů. Před změnou tohoto nastavení se ujistěte, že plně rozumíte dopadům na zabezpečení při povolování této konfigurace.

Generování neomezeného tokenu pro sestavení forku

Změna předinstalovaných modulů Az, Azure a Azure RM

Aktualizujeme proces předběžné instalace modulů Az, Azure a AzureRM na image hostované s Ubuntu a Windows pro efektivnější podporu a využití prostoru imagí.

Během týdne 29. března budou všechny verze s výjimkou nejnovější a nejoblíbenější verze uloženy jako archivy a budou extrahovány úlohou Azure PowerShellu na vyžádání. Podrobný seznam změn je uvedený níže:

  1. Image Windows

    • Všechny verze modulu Az s výjimkou nejnovější verze (aktuálně 5.5.0) se budou archivovat.

    • Všechny moduly Azure s výjimkou nejnovějšího (aktuálně 5.3.0) a 2.1.0 se budou archivovat.

    • Všechny moduly AzureRM s výjimkou nejnovějšího modulu (aktuálně 6.13.1) a 2.1.0 se budou archivovat.

  2. Image Ubuntu

    • Všechny moduly Az s výjimkou nejnovějšího modulu (aktuálně 5.5.0) se budou archivovat nebo zcela odebírat z image a budou nainstalovány úlohou na vyžádání.

Všechny kanály, které používají místní úlohy Azure na hostovaných agentech, budou fungovat podle očekávání a nebudou vyžadovat aktualizace. Pokud tyto úlohy nepoužíváte, přepněte kanály na používání úlohy Azure PowerShellu, abyste se vyhnuli změnám předinstalovaných modulů.

Poznámka:

Tyto aktualizace neovlivní kanály spuštěné na agentech v místním prostředí.

Azure Repos

Zakázání úložiště

Zákazníci často požadovali způsob, jak zakázat úložiště a zabránit uživatelům v přístupu k jeho obsahu. Můžete to například udělat v těchto případech:

  • V úložišti jste našli tajný kód.
  • Nástroj pro kontrolu třetí strany zjistil, že úložiště nedodržuje předpisy.

V takových případech můžete chtít dočasně zakázat úložiště, zatímco pracujete na vyřešení problému. Při této aktualizaci můžete úložiště zakázat, pokud máte oprávnění k odstranění úložiště . Zakázáním úložiště:

  • Může vypsat úložiště v seznamu úložišť.
  • Obsah úložiště nelze přečíst.
  • Obsah úložiště nelze aktualizovat.
  • Podívejte se na zprávu, že úložiště bylo zakázané, když se pokusí o přístup k úložišti v uživatelském rozhraní Azure Repos.

Po provedení nezbytných kroků pro zmírnění rizik můžou uživatelé s oprávněním Odstranit úložiště úložiště znovu povolit. Pokud chcete úložiště zakázat nebo povolit, přejděte do Nastavení projektu, vyberte Úložiště a pak konkrétní úložiště.

Zakázání úložiště

Další kroky

Poznámka:

Tyto funkce se budou zavádět během následujících dvou až tří týdnů.

Přejděte na Azure DevOps a podívejte se na ně.

Jak poskytnout zpětnou vazbu

Rádi bychom slyšeli, co si o těchto funkcích myslíte. Pomocí nabídky nápovědy můžete nahlásit problém nebo poskytnout návrh.

Vytvoření návrhu

Můžete také získat rady a své otázky zodpovězené komunitou ve službě Stack Overflow.

Díky,

Vijay Machiraju