Tillåt betrodda tjänster att på ett säkert sätt komma åt ett nätverksbegränsat containerregister
Azure Container Registry kan tillåta att utvalda betrodda Azure-tjänster får åtkomst till ett register som har konfigurerats med regler för nätverksåtkomst. När betrodda tjänster tillåts kan en betrodd tjänstinstans på ett säkert sätt kringgå registrets nätverksregler och utföra åtgärder som pull- eller push-avbildningar. Den här artikeln beskriver hur du aktiverar och använder betrodda tjänster med ett nätverksbegränsat Azure-containerregister.
Använd Azure Cloud Shell eller en lokal installation av Azure CLI för att köra kommandoexemplen i den här artikeln. Om du vill använda den lokalt krävs version 2.18 eller senare. Kör az --version
för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI.
Begränsningar
- Vissa scenarier för registeråtkomst med betrodda tjänster kräver en hanterad identitet för Azure-resurser. Förutom när det noteras att en användartilldelad hanterad identitet stöds kan endast en systemtilldelad identitet användas.
- Att tillåta betrodda tjänster gäller inte för ett containerregister som konfigurerats med en tjänstslutpunkt. Funktionen påverkar endast register som är begränsade med en privat slutpunkt eller som har regler för offentlig IP-åtkomst .
Om betrodda tjänster
Azure Container Registry har en säkerhetsmodell i flera lager som stöder flera nätverkskonfigurationer som begränsar åtkomsten till ett register, inklusive:
- Privat slutpunkt med Azure Private Link. När det konfigureras är ett registers privata slutpunkt endast tillgänglig för resurser i det virtuella nätverket med hjälp av privata IP-adresser.
- Brandväggsregler för registret, som endast tillåter åtkomst till registrets offentliga slutpunkt från specifika offentliga IP-adresser eller adressintervall. Du kan också konfigurera brandväggen så att den blockerar all åtkomst till den offentliga slutpunkten när du använder privata slutpunkter.
När det distribueras i ett virtuellt nätverk eller konfigureras med brandväggsregler nekar ett register åtkomst till användare eller tjänster utanför dessa källor.
Flera Azure-tjänster för flera klientorganisationer fungerar från nätverk som inte kan ingå i dessa registernätverksinställningar, vilket hindrar dem från att utföra åtgärder som att hämta eller skicka avbildningar till registret. Genom att ange vissa tjänstinstanser som "betrodda" kan en registerägare tillåta att azure-resurser på ett säkert sätt kringgår registrets nätverksinställningar för att utföra registeråtgärder.
Betrodda tjänster
Instanser av följande tjänster kan komma åt ett nätverksbegränsat containerregister om registrets inställning tillåtna betrodda tjänster är aktiverad (standard). Fler tjänster läggs till över tid.
Om det anges kräver åtkomst av den betrodda tjänsten ytterligare konfiguration av en hanterad identitet i en tjänstinstans, tilldelning av en RBAC-roll och autentisering med registret. Exempel på steg finns i Arbetsflöde för betrodda tjänster senare i den här artikeln.
Betrodd tjänst | Användningsscenarier som stöds | Konfigurera hanterad identitet med RBAC-roll |
---|---|---|
Azure Container Instances | Distribuera till Azure Container Instances från Azure Container Registry med hjälp av en hanterad identitet | Ja, antingen systemtilldelad eller användartilldelad identitet |
Microsoft Defender for Cloud | Sårbarhetsgenomsökning av Microsoft Defender efter containerregister | Nej |
ACR-uppgifter | Få åtkomst till det överordnade registret eller ett annat register än en ACR-uppgift | Ja |
Machine Learning | Distribuera eller träna en modell på en Machine Learning-arbetsyta med en anpassad Docker-containeravbildning | Ja |
Azure Container Registry | Importera avbildningar till eller från ett nätverksbegränsat Azure-containerregister | Nej |
Kommentar
För närvarande gäller inte aktivering av inställningen tillåtna betrodda tjänster för App Service.
Tillåt betrodda tjänster – CLI
Som standard aktiveras inställningen Tillåt betrodda tjänster i ett nytt Azure-containerregister. Inaktivera eller aktivera inställningen genom att köra kommandot az acr update .
Så här inaktiverar du:
az acr update --name myregistry --allow-trusted-services false
Så här aktiverar du inställningen i ett befintligt register eller ett register där det redan är inaktiverat:
az acr update --name myregistry --allow-trusted-services true
Tillåt betrodda tjänster – portalen
Som standard aktiveras inställningen Tillåt betrodda tjänster i ett nytt Azure-containerregister.
Så här inaktiverar eller återaktiverar du inställningen i portalen:
- Gå till containerregistret i portalen.
- Under Inställningar väljer du Nätverk.
- I Tillåt åtkomst till offentligt nätverk väljer du Valda nätverk eller Inaktiverat.
- Gör något av följande:
- Om du vill inaktivera åtkomst av betrodda tjänster avmarkerar du Tillåt betrodda Microsoft-tjänster att komma åt det här containerregistret under Brandväggsfel.
- Om du vill tillåta betrodda tjänster går du till Brandväggsfel och kontrollerar Tillåt betrodda Microsoft-tjänster att komma åt det här containerregistret.
- Välj Spara.
Arbetsflöde för betrodda tjänster
Här är ett typiskt arbetsflöde för att aktivera en instans av en betrodd tjänst för åtkomst till ett nätverksbegränsat containerregister. Det här arbetsflödet behövs när en tjänstinstans hanterade identitet används för att kringgå registrets nätverksregler.
- Aktivera en hanterad identitet i en instans av en av de betrodda tjänsterna för Azure Container Registry.
- Tilldela identiteten en Azure-roll till ditt register. Du kan till exempel tilldela rollen ACRPull för att hämta containeravbildningar.
- I det nätverksbegränsade registret konfigurerar du inställningen för att tillåta åtkomst av betrodda tjänster.
- Använd identitetens autentiseringsuppgifter för att autentisera med det nätverksbegränsade registret.
- Hämta avbildningar från registret eller utför andra åtgärder som tillåts av rollen.
Exempel: ACR-uppgifter
I följande exempel visas hur du använder ACR Tasks som en betrodd tjänst. Mer information finns i autentisering mellan register i en ACR-uppgift med hjälp av en Azure-hanterad identitet .
- Skapa eller uppdatera ett Azure-containerregister.
Skapa en ACR-uppgift.
- Aktivera en systemtilldelad hanterad identitet när du skapar uppgiften.
- Inaktivera standardautentiseringsläget (
--auth-mode None
) för uppgiften.
- Tilldela uppgiftsidentiteten en Azure-roll för åtkomst till registret. Du kan till exempel tilldela rollen AcrPush, som har behörighet att hämta och push-överföra bilder.
- Lägg till autentiseringsuppgifter för hanterad identitet för registret i uppgiften.
- Om du vill bekräfta att uppgiften kringgår nätverksbegränsningar inaktiverar du offentlig åtkomst i registret.
- Kör uppgiften. Om registret och uppgiften har konfigurerats korrekt körs uppgiften korrekt eftersom registret tillåter åtkomst.
Så här testar du inaktivering av åtkomst av betrodda tjänster:
- Inaktivera inställningen för att tillåta åtkomst av betrodda tjänster.
- Kör uppgiften igen. I det här fallet misslyckas aktivitetskörningen eftersom registret inte längre tillåter åtkomst av aktiviteten.
Nästa steg
- Information om hur du begränsar åtkomsten till ett register med hjälp av en privat slutpunkt i ett virtuellt nätverk finns i Konfigurera Azure Private Link för ett Azure-containerregister.
- Information om hur du konfigurerar brandväggsregler för register finns i Konfigurera regler för offentliga IP-nätverk.