Unterstützung für die Verbesserung dieser Seite beitragen
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub Link Diese Seite bearbeiten auf, der sich im rechten Bereich jeder Seite befindet.
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Argo-CD-Berechtigungen konfigurieren
Die verwaltete Funktion von Argo CD ist zur Authentifizierung in AWS Identity Center integriert und verwendet integrierte RBAC-Rollen für die Autorisierung. In diesem Thema wird erklärt, wie Berechtigungen für Benutzer und Teams konfiguriert werden.
Wie funktionieren Berechtigungen mit Argo CD
Die Argo-CD-Funktion verwendet AWS Identity Center für die Authentifizierung und bietet drei integrierte RBAC-Rollen für die Autorisierung.
Wenn ein Benutzer auf Argo CD zugreift:
-
Sie authentifizieren sich mithilfe von AWS Identity Center (das eine Verbindung zu Ihrem Corporate Identity Provider herstellen kann)
-
AWS Identity Center stellt Benutzer- und Gruppeninformationen für Argo CD bereit
-
Argo CD ordnet Benutzer und Gruppen basierend auf Ihrer Konfiguration RBAC-Rollen zu
-
Benutzer sehen nur die Anwendungen und Ressourcen, für deren Zugriff sie berechtigt sind
Integrierte RBAC-Rollen
Die Argo-CD-Funktion bietet drei integrierte Rollen, die Sie AWS Identity Center-Benutzern und -Gruppen zuordnen.
ADMINISTRATOR
Voller Zugriff auf alle Anwendungen und Einstellungen:
-
Anwendungen erstellen, aktualisieren und löschen und ApplicationSets
-
Argo-CD-Konfiguration verwalten
-
Registrieren und verwalten Sie Bereitstellungszielcluster
-
Konfigurieren Sie den Zugriff auf das Repository
-
Projekte verwalten
-
Den gesamten Bewerbungsstatus und die Historie anzeigen
HERAUSGEBER
Kann Anwendungen erstellen und ändern, aber die Argo-CD-Einstellungen nicht ändern:
-
Anwendungen erstellen und aktualisieren und ApplicationSets
-
Anwendungen synchronisieren und aktualisieren
-
Status und Verlauf der Bewerbung anzeigen
-
Anwendungen können nicht gelöscht werden
-
Die Argo-CD-Konfiguration kann nicht geändert werden
-
Cluster oder Repositorys können nicht verwaltet werden
BETRACHTER
Nur-Lese-Zugriff auf Anwendungen:
-
Status und Verlauf der Bewerbung anzeigen
-
Anwendungsmanifeste und Ressourcen anzeigen
-
Es können keine Änderungen vorgenommen werden
-
Anwendungen können nicht synchronisiert oder aktualisiert werden
Konfigurieren Sie Rollenzuordnungen
Ordnen Sie AWS Identity Center-Benutzer und -Gruppen bei der Erstellung oder Aktualisierung der Funktion den Argo-CD-Rollen zu.
Beispiel für eine Rollenzuweisung:
{ "rbacRoleMapping": { "ADMIN": ["AdminGroup", "alice@example.com"], "EDITOR": ["DeveloperGroup", "DevOpsTeam"], "VIEWER": ["ReadOnlyGroup", "bob@example.com"] } }
Anmerkung
Bei Rollennamen wird zwischen Groß- und Kleinschreibung unterschieden und sie müssen in Großbuchstaben geschrieben werden (ADMIN, EDITOR, VIEWER).
Wichtig
Die Integration von EKS Capabilities in AWS Identity Center unterstützt bis zu 1.000 Identitäten pro Argo-CD-Funktion. Eine Identität kann ein Benutzer oder eine Gruppe sein.
Rollenzuordnungen aktualisieren:
aws eksfe update-capability \ --regionus-east-1\ --cluster-namecluster\ --capability-namecapname\ --endpoint "https://eks.ap-northeast-2.amazonaws.com" \ --role-arn "arn:aws:iam::[.replaceable]111122223333:role/[.replaceable]`EKSCapabilityRole`" \ --configuration '{ "argoCd": { "rbacRoleMappings": { "addOrUpdateRoleMappings": [ { "role": "ADMIN", "identities": [ { "id": "686103e0-f051-7068-b225-e6392b959d9e", "type": "SSO_USER" } ] } ] } } }'
Nutzung des Admin-Kontos
Das Administratorkonto ist für die Ersteinrichtung und administrative Aufgaben wie die Registrierung von Clustern und die Konfiguration von Repositorys konzipiert.
Wenn das Administratorkonto geeignet ist:
-
Erstmalige Einrichtung und Konfiguration der Funktionen
-
Einzelentwicklung oder schnelle Vorführungen
-
Administrative Aufgaben (Clusterregistrierung, Repository-Konfiguration, Projekterstellung)
Bewährte Methoden für das Administratorkonto:
-
Übergeben Sie Konto-Tokens nicht der Versionskontrolle
-
Wechseln Sie Tokens sofort, wenn sie offengelegt werden
-
Beschränken Sie die Verwendung von Konto-Tokens auf Einrichtungs- und Verwaltungsaufgaben
-
Legen Sie kurze Ablaufzeiten fest (maximal 12 Stunden)
-
Es können jeweils nur 5 Konto-Tokens erstellt werden
Wann sollte stattdessen der projektbasierte Zugriff verwendet werden:
-
Gemeinsame Entwicklungsumgebungen mit mehreren Benutzern
-
Jede Umgebung, die der Produktion ähnelt
-
Wenn Sie Prüfprotokolle darüber benötigen, wer Aktionen ausgeführt hat
-
Wenn Sie Ressourcen- oder Zugriffsbeschränkungen durchsetzen müssen
Verwenden Sie für Produktionsumgebungen und Szenarien mit mehreren Benutzern eine projektbasierte Zugriffskontrolle mit speziellen RBAC-Rollen, die Identity Center-Gruppen zugeordnet sind. AWS
Projektbasierte Zugriffskontrolle
Verwenden Sie Argo CD Projects (AppProject), um Teams eine detaillierte Zugriffskontrolle und Ressourcenisolierung zu bieten.
Projekte bieten:
-
Quellenbeschränkungen: Beschränken Sie, welche Git-Repositorys verwendet werden können
-
Zieleinschränkungen: Beschränken Sie, welche Cluster und Namespaces als Ziel ausgewählt werden können
-
Ressourceneinschränkungen: Beschränken Sie, welche Kubernetes-Ressourcentypen bereitgestellt werden können
-
RBAC-Integration: Ordnen Sie Projekte AWS Identity Center-Gruppen oder Argo-CD-Rollen zu
Beispielprojekt für die Isolierung von Teams:
apiVersion: argoproj.io/v1alpha1 kind: AppProject metadata: name: team-a namespace: argocd spec: description: Team A applications # Source restrictions sourceRepos: - https://github.com/myorg/team-a-apps # Destination restrictions destinations: - namespace: team-a-* server: arn:aws:eks:us-west-2:111122223333:cluster/production # Resource restrictions clusterResourceWhitelist: - group: '' kind: Namespace namespaceResourceWhitelist: - group: 'apps' kind: Deployment - group: '' kind: Service - group: '' kind: ConfigMap
Weisen Sie Benutzern Projekten zu:
Benutzer mit den Rollen EDITOR oder VIEWER können auf bestimmte Projekte beschränkt werden. ADMIN-Benutzer haben Zugriff auf alle Projekte.
apiVersion: argoproj.io/v1alpha1 kind: AppProject metadata: name: team-a spec: # ... project configuration ... # Map Identity Center groups to project roles roles: - name: developer description: Team A developers policies: - p, proj:team-a:developer, applications, *, team-a/*, allow groups: - TeamADevelopers - name: viewer description: Team A viewers policies: - p, proj:team-a:viewer, applications, get, team-a/*, allow groups: - TeamAViewers
Allgemeine Berechtigungsmuster
Muster 1: Admin-Team mit vollem Zugriff
{ "rbacRoleMapping": { "ADMIN": ["PlatformTeam", "SRETeam"] } }
Muster 2: Entwickler können es bereitstellen, andere können es ansehen
{ "rbacRoleMapping": { "ADMIN": ["PlatformTeam"], "EDITOR": ["DevelopmentTeam", "DevOpsTeam"], "VIEWER": ["AllEmployees"] } }
Muster 3: Teambasierte Isolierung bei Projekten
-
Ordnen Sie alle Entwickler der EDITOR-Rolle zu
-
Erstellen Sie AppProjects für jedes Team eine eigene
-
Verwenden Sie Projektrollen, um den Zugriff auf teamspezifische Anwendungen einzuschränken
{ "rbacRoleMapping": { "ADMIN": ["PlatformTeam"], "EDITOR": ["AllDevelopers"] } }
Erstellen Sie dann Projekte mit teamspezifischen Einschränkungen und Rollenzuordnungen.
Best Practices
Verwenden Sie Gruppen statt einzelner Benutzer: Ordnen Sie AWS Identity Center-Gruppen Argo-CD-Rollen statt einzelnen Benutzern zu, um die Verwaltung zu vereinfachen.
Beginnen Sie mit den geringsten Rechten: Beginnen Sie mit VIEWER-Zugriff und gewähren Sie je nach Bedarf EDITOR oder ADMIN.
Verwenden Sie Projekte zur Teamisolierung: Erstellen Sie separate Projekte AppProjects für verschiedene Teams oder Umgebungen, um Grenzen durchzusetzen.
Nutzen Sie den Identity Center-Verbund: Konfigurieren Sie AWS Identity Center so, dass es für eine zentrale Benutzerverwaltung eine Verbindung mit Ihrem Corporate Identity Provider herstellt.
Regelmäßige Zugriffsprüfungen: Überprüfen Sie regelmäßig die Rollenzuordnungen und Projektzuweisungen, um sicherzustellen, dass die Zugriffsebenen angemessen sind.
Clusterzugriff einschränken: Denken Sie daran, dass Argo CD RBAC den Zugriff auf Argo CD-Ressourcen und -Operationen kontrolliert, aber nicht Kubernetes RBAC entspricht. Benutzer mit Argo-CD-Zugriff können Anwendungen auf Clustern bereitstellen, auf die Argo CD Zugriff hat. Beschränken Sie, auf welche Cluster Argo CD zugreifen kann, und kontrollieren Sie anhand von Beschränkungen für Projektziele, wo Anwendungen bereitgestellt werden können.
AWS Serviceberechtigungen
Um AWS Dienste direkt in Anwendungsressourcen zu verwenden (ohne Repository-Ressourcen zu erstellen), fügen Sie der Capability Role die erforderlichen IAM-Berechtigungen hinzu.
ECR für Helm-Diagramme:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "*" } ] }
CodeCommit Repositorien:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:GitPull" ], "Resource": "arn:aws:codecommit:region:account-id:repository-name" } ] }
CodeConnections (GitHub, GitLab, Bitbucket):
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codeconnections:UseConnection" ], "Resource": "arn:aws:codeconnections:region:account-id:connection/connection-id" } ] }
Einzelheiten Repository-Zugriff konfigurieren zur Verwendung dieser Integrationen finden Sie unter.
Nächste Schritte
-
Arbeiten mit Argo CD- Erfahren Sie, wie Sie Anwendungen erstellen und Bereitstellungen verwalten
-
Argo CD-Konzepte- Verstehen Sie die Konzepte von Argo CD, einschließlich Projekte
-
Sicherheitsüberlegungen für EKS-Funktionen- Informieren Sie sich über bewährte Sicherheitsverfahren im Hinblick auf Funktionen