Op rollen gebaseerd toegangsbeheer voor DevOps-hulpprogramma's

Wanneer u cloudoplossingen implementeert voor uw infrastructuurimplementaties, moet beveiliging altijd uw belangrijkste probleem zijn. Microsoft houdt de onderliggende cloudinfrastructuur veilig. U configureert beveiliging in Azure DevOps of GitHub.

Vereisten

Zodra u hebt bepaald welke Azure Landing Zone-sjablonen u wilt implementeren, kloont u deze in uw eigen opslagplaats. Stel de CI/CD-pijplijnen in. Voor zowel GitHub als Azure DevOps zijn er verschillende verificatiemethoden beschikbaar, zoals persoonlijke toegangstokens (PAT) en integratie met een id-provider, zoals Microsoft Entra ID. Zie Persoonlijke toegangstokens gebruiken voor meer informatie.

We raden u aan om te integreren met Microsoft Entra ID om alle mogelijkheden ervan te gebruiken. Integratie helpt uw roltoewijzingsproces en identiteitslevenscyclusbeheer te stroomlijnen. Zie Verbinding maken uw organisatie naar Microsoft Entra-id voor meer informatie. Als u GitHub gebruikt, kunt u overwegen GitHub Enterprise te integreren met Microsoft Entra-id.

Algemene ontwerpoverwegingen

We raden u aan om de controle over beheerders en serviceaccountgroepen in Microsoft Entra ID en uw DevOps-hulpprogramma strikt te beheren. Overweeg het implementeren van het principe van minimale bevoegdheden voor al uw roltoewijzingen.

Uw organisatie kan bijvoorbeeld een Platform- of Cloud Excellence-team hebben dat Azure Resource Manager-sjablonen onderhoudt voor uw Azure-landingszones. Wijs gebruikers in dat team toe aan een beveiligingsgroep in Microsoft Entra ID, ervan uitgaande dat u het gebruikt als uw id-provider. Wijs rollen toe aan die beveiligingsgroep in uw DevOps-hulpprogramma, zodat deze gebruikers hun werk kunnen doen.

Voor beheerders- of accounts met hoge bevoegdheden in Active Directory wordt u aangeraden de referenties niet te synchroniseren met Microsoft Entra-id en vice versa. Deze aanpak vermindert de dreiging van zijwaartse beweging. Als een beheerder in Microsoft Entra ID is gecompromitteerd, kan de aanvaller geen eenvoudig toegang krijgen tot cloudassets, zoals Azure DevOps. Dit account kan geen schadelijke taken in de CI/CD-pijplijnen injecteren. Deze stap is met name belangrijk voor gebruikers die verhoogde machtigingen hebben toegewezen in uw DevOps-omgeving, zoals Build of Project/Collection Beheer istrators. Zie Best practices voor beveiliging in Microsoft Entra ID voor meer informatie.

Overwegingen voor toegang op basis van rollen in Azure DevOps

Beheer beveiliging in Azure DevOps met beveiligingsgroepen, beleidsregels en instellingen op organisatie-/verzamelings-, project- of objectniveau. Als u wilt integreren met een id-provider zoals Microsoft Entra ID, kunt u beleid voor voorwaardelijke toegang maken om meervoudige verificatie af te dwingen voor alle gebruikers. Het beleid biedt toegang tot uw Azure DevOps-organisatie en meer gedetailleerde beperkingen rond IP-adres, type apparaat dat wordt gebruikt voor toegang en apparaatcompatibiliteit.

Voor de meeste teamleden in uw platformteam die uw Azure-landingszones beheren, moeten het basistoegangsniveau en de standaardbeveiligingsgroep Inzender voldoende toegang bieden. Met de beveiligingsgroep Inzender kunnen ze de Azure Landing Zone-sjablonen in uw opslagplaats en de CI/CD-pijplijnen bewerken waarmee ze worden gevalideerd en geïmplementeerd.

U wordt aangeraden uw Platform-team toe te wijzen aan de beveiligingsgroep Inzender op projectniveau van Azure DevOps. Deze benadering volgt het principe van minimale bevoegdheden. Deze toewijzingen kunnen worden uitgevoerd via de pagina Project Instellingen die hieronder wordt weergegeven.

Screenshot showing the project settings page where assignments can be made.

Een andere best practice voor uw Azure DevOps Projects en organisaties is om overname waar mogelijk uit te schakelen. Gebruikers nemen machtigingen over die zijn toegestaan door de toewijzingen van hun beveiligingsgroep. Vanwege de standaardinstelling van overname toestaan, kunnen onverwachte gebruikers toegang of machtigingen krijgen.

Als u bijvoorbeeld het lidmaatschap van de beveiligingsgroep Inzender voor het platformteam toewijst, controleert u de machtigingen voor de opslagplaats van Azure Landing Zones. U moet vertakkingsbeleid hebben om te controleren of de beveiligingsgroep deze beleidsregels niet mag omzeilen tijdens pull-aanvragen. Controleer deze instelling onder Project Instellingen> Instellingen.

Nadat u machtigingen hebt toegewezen aan gebruikers, controleert u regelmatig controlegebeurtenissen om onverwachte gebruikspatronen door beheerders en andere gebruikers te controleren en erop te reageren. Begin met het maken van een auditstream naar een Log Analytics-werkruimte. Als uw werkruimte Gebruikmaakt van Microsoft Sentinel, maakt u analyseregels om u te waarschuwen over belangrijke gebeurtenissen, zoals onjuist gebruik van machtigingen.

Voor meer informatie raadpleegt u de volgende bronnen:

Overwegingen voor toegang op basis van rollen in GitHub

Als uw primaire DevOps-hulpprogramma GitHub is, kunt u gebruikers toegang tot resources toewijzen door ze rollen te verlenen op opslagplaatsniveau, teamniveau of organisatieniveau. Nadat u de opslagplaats voor Azure Landing Zones hebt gesplitst en hebt geïntegreerd met een id-provider, zoals Microsoft Entra ID, kunt u een team maken in GitHub. Wijs die team schrijftoegang toe aan uw nieuwe Azure Landing Zone-opslagplaats. Voor de meeste leden van uw Platform-team, die de landingszones wijzigen en implementeren, moet schrijftoegang voldoende zijn. Voor projectmanagers of Scrum-managers in het team moet u ze mogelijk de onderhoudsrol toewijzen aan die opslagplaats.

U wordt aangeraden al deze roltoewijzingen te beheren via de geïntegreerde id-provider. U kunt bijvoorbeeld het platformteam synchroniseren voor de Azure Landing Zone-opslagplaats die u in GitHub hebt gemaakt met de bijbehorende platformteambeveiligingsgroep in Microsoft Entra ID. Wanneer u vervolgens leden toevoegt aan of verwijdert uit de Microsoft Entra-beveiligingsgroep, worden deze wijzigingen doorgevoerd in uw GitHub Enterprise Cloud-roltoewijzingen.

Notitie

Zodra u een specifiek GitHub-team hebt verbonden met een geïntegreerde id-provider, hoeft u alleen het teamlidmaatschap te beheren.

Volgende stappen

Zie deze resources voor meer informatie over het beheren van rollen en teams in GitHub: