Freigeben über


Rollenbasierte Zugriffssteuerung für DevOps-Tools

Wenn Sie cloudbasierte Lösungen für Ihre Infrastrukturbereitstellungen bereitstellen, sollten Die Sicherheit immer Ihr wichtigstes Anliegen sein. Microsoft hält die zugrunde liegende Cloudinfrastruktur sicher. Sie konfigurieren die Sicherheit in Azure DevOps oder GitHub.

Voraussetzungen

Sobald Sie entscheiden, welche Azure Landing Zone-Vorlagen bereitgestellt werden sollen, klonen Sie sie in Ihr eigenes Repository. Richten Sie die CI/CD-Pipelines ein. Für GitHub und Azure DevOps stehen mehrere Authentifizierungsmethoden zur Verfügung, z. B. persönliche Zugriffstoken (PAT) und die Integration mit einem Identitätsanbieter, z. B. Microsoft Entra ID. Weitere Informationen finden Sie unter Verwenden von persönlichen Zugriffstoken.

Es wird empfohlen, dass Sie die Integration mit der Microsoft Entra-ID verwenden, um alle funktionen zu verwenden. Durch die Integration können Sie Ihren Rollenzuweisungsprozess und die Identitätslebenszyklusverwaltung optimieren. Weitere Informationen finden Sie unter Verknüpfen Ihrer Organisation mit Microsoft Entra ID. Wenn Sie GitHub verwenden, sollten Sie GitHub Enterprise mit Microsoft Entra ID integrieren.

Allgemeine Entwurfsüberlegungen

Wir empfehlen, die Kontrolle über Administratoren und Dienstkonto-Gruppen bei Microsoft Entra ID und Ihrem DevOps-Tool streng zu behalten. Erwägen Sie die Implementierung des Prinzips der geringsten Rechte in allen Rollenzuweisungen.

Beispielsweise verfügt Ihre Organisation über ein Plattform- oder Cloud Excellence-Team, das Azure Resource Manager-Vorlagen für Ihre Azure Landing Zones verwaltet. Weisen Sie Benutzer in diesem Team einer Sicherheitsgruppe in Microsoft Entra ID zu, unter der Annahme, dass Sie es als Identitätsanbieter verwenden. Weisen Sie dieser Sicherheitsgruppe in Ihrem DevOps-Tool Rollen zu, damit diese Benutzer ihre Aufgaben erledigen können.

Für alle Administratorkonten oder Konten mit hoher Berechtigung in Active Directory wird empfohlen, dass die Anmeldeinformationen nicht mit microsoft Entra-ID synchronisiert werden und umgekehrt. Dieser Ansatz reduziert die Bedrohung der Lateralbewegung. Wenn ein Administrator in der Microsoft Entra-ID kompromittiert wird, kann der Angreifer keinen einfachen Zugriff auf Cloudressourcen wie Azure DevOps erhalten. Dieses Konto kann keine potenziell schädlichen Aufgaben in die CI/CD-Pipelines einfügen. Dieser Schritt ist besonders wichtig für alle Benutzer, denen erhöhte Berechtigungen in Ihrer DevOps-Umgebung zugewiesen wurden, z. B. Build- oder Project/Collection-Administratoren. Weitere Informationen finden Sie unter "Bewährte Methoden zur Sicherheit" in der Microsoft Entra-ID.

Überlegungen zum rollenbasierten Azure DevOps-Zugriff

Verwalten Sie die Sicherheit in Azure DevOps mit Sicherheitsgruppen, Richtlinien und Einstellungen auf Organisation/Sammlungs-, Projekt- oder Objektebene. Um in einen Identitätsanbieter wie microsoft Entra ID zu integrieren, sollten Sie Richtlinien für bedingten Zugriff erstellen, um die mehrstufige Authentifizierung für alle Benutzer zu erzwingen. Die Richtlinien ermöglichen den Zugriff auf Ihre Azure DevOps-Organisation und genauere Einschränkungen hinsichtlich DER IP-Adresse, des Gerätetyps, der für den Zugriff verwendet wird, und der Gerätekonformität.

Für die meisten Teammitglieder in Ihrem Plattformteam, die Ihre Azure Landing Zones verwalten, sollte die Zugriffsberechtigung der Basis und die Standardsicherheitsgruppe der Mitwirkender ausreichenden Zugriff bieten. Die Contributor-Sicherheitsgruppe ermöglicht es ihnen, die Azure Landing Zone-Vorlagen in Ihrem Repository sowie die CI/CD-Pipelines, die die Vorlagen validieren und bereitstellen, zu bearbeiten.

Es wird empfohlen, Ihr Plattformteam der Sicherheitsgruppe "Mitwirkender" auf Der Projektebene von Azure DevOps zuzuweisen. Dieser Ansatz folgt dem Prinzip der geringsten Rechte. Diese Zuordnungen können über die unten gezeigte Projekteinstellungenseite erfolgen.

Screenshot der Seite

Eine weitere bewährte Methode für Ihre Azure DevOps-Projekte und -Organisationen besteht darin, die Vererbung nach Möglichkeit zu deaktivieren. Benutzer erben Berechtigungen, die durch ihre Sicherheitsgruppenzuweisungen gewährt werden. Da diese Vererbung standardmäßig erfolgt, kann es dazu kommen, dass Benutzer*innen unerwarteten Zugriff oder nicht vorgesehene Berechtigungen erhalten.

Wenn Sie z. B. für Ihr Plattformteam als Mitglied der Sicherheitsgruppe „Mitwirkender“ zuweisen, sollten Sie seine Berechtigungen im Azure-Zielzonenrepository überprüfen. Sie sollten Branch-Richtlinien eingerichtet haben, um sicherzustellen, dass die Sicherheitsgruppe diese Richtlinien während der Pull-Requests nicht umgehen darf. Überprüfen Sie diese Einstellung unter Projekteinstellungen>Repositorys.

Nachdem Sie Benutzern Berechtigungen zugewiesen haben, überprüfen Sie regelmäßig Überwachungsereignisse, um unerwartete Verwendungsmuster von Administratoren und anderen Benutzern zu überwachen und darauf zu reagieren. Erstellen Sie zunächst einen Audit-Stream in einem Log Analytics-Arbeitsbereich. Wenn Ihr Arbeitsbereich Microsoft Sentinel verwendet, erstellen Sie Analyseregeln, um Sie über wichtige Ereignisse zu benachrichtigen, z. B. die fehlerhafte Verwendung von Berechtigungen.

Weitere Informationen finden Sie in den folgenden Ressourcen:

Überlegungen zum rollenbasierten Zugriff auf GitHub

Wenn Ihr primäres DevOps-Tool GitHub ist, können Sie Benutzern Zugriff auf Ressourcen zuweisen, indem Sie ihnen Rollen auf Repositoryebene, Teamebene oder Organisationsebene gewähren. Nachdem Sie das Azure Landing Zones-Repository geforkt und die Integration mit einem Identitätsanbieter wie Microsoft Entra ID abgeschlossen haben, sollten Sie erwägen, ein Team in GitHub zu erstellen. Weisen Sie diesem Team Schreibzugriff auf Ihr neues Azure Landing Zone-Repository zu. Für die meisten Ihrer Plattformteammitglieder, die die Landezonen ändern und bereitstellen, sollte der Schreibzugriff ausreichend sein. Für Projektmanager oder Scrum-Manager im Team müssen Sie ihnen möglicherweise die Pflegerolle diesem Repository zuweisen.

Es wird empfohlen, alle diese Rollenzuweisungen über den integrierten Identitätsanbieter zu verwalten. Sie können beispielsweise das Plattformteam für das Azure Landing Zone-Repository synchronisieren, das Sie in GitHub mit der entsprechenden Plattformteam-Sicherheitsgruppe in Microsoft Entra ID erstellt haben. Wenn Sie dann Mitglieder zur Microsoft Entra Security Group hinzufügen oder entfernen, werden diese Änderungen in Ihren GitHub Enterprise Cloud-Rollenzuweisungen angezeigt.

Hinweis

Nachdem Sie ein bestimmtes GitHub-Team mit einem integrierten Identitätsanbieter verbunden haben, sind Sie auf die Verwaltung der Teammitgliedschaft beschränkt.

Nächste Schritte

Weitere Informationen zum Verwalten von Rollen und Teams in GitHub finden Sie in den folgenden Ressourcen: