

 **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 unter, 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.

# Gewähren Sie dem EKS Auto Mode Load Balancer-Controller Zugriff auf ein bestimmtes Secret
<a name="auto-managed-rbac-example"></a>

In diesem Tutorial gewähren Sie dem Amazon EKS Auto Mode Load Balancer-Controller Lesezugriff auf ein bestimmtes Kubernetes. `Secret` Dadurch wird die OIDC-Authentifizierung auf einem ALB entsperrt. `Ingress` Sie verwenden einen `Role` Namespace-Bereich, der auf die Gruppe ausgerichtet ist. `RoleBinding` `eks:managed`

Die Fertigstellung dieses Tutorials dauert ungefähr 15 Minuten. Für die Kubernetes-RBAC-Objekte, die Sie erstellen, fallen keine Gebühren an. AWS 

Der Amazon EKS Auto Mode Load Balancer-Controller unterstützt die OIDC-Authentifizierung für ALB-Objekte. `Ingress` Es verwendet die `alb.ingress.kubernetes.io/auth-type: oidc` Anmerkung, um diese Authentifizierung zu aktivieren. Um die OIDC-Konfiguration aufzulösen, liest der Controller ein Kubernetes, das in der Anmerkung `Secret` benannt ist. `alb.ingress.kubernetes.io/auth-idp-oidc` Die Richtlinie für verwalteten Zugriff gewährt derzeit keine `Secret` Objekte. Daher schlägt `get` der Abgleich fehl und es wird eine Meldung ähnlich der folgenden angezeigt:

```
Failed build model due to ingress: <ns>/<name>:
  secrets "<secret>" is forbidden:
  User "arn:aws:sts::<acct>:assumed-role/AWSServiceRoleForAmazonEKS/<session>"
  cannot get resource "secrets" in API group "" in the namespace "<ns>"
```

Mithilfe des unter beschriebenen Mechanismus können Sie dem verwalteten Controller `get` genau den OIDC `Secret` gewähren, den er benötigt. [Gewähren Sie verwalteten EKS Auto Mode-Controllern zusätzliche Kubernetes-RBAC](auto-managed-rbac.md)

## Voraussetzungen
<a name="_prerequisites"></a>

Bevor Sie beginnen, stellen Sie sicher, dass Sie:
+ Ein Amazon EKS-Auto-Mode-Cluster mit dem automatisch erstellten `AWSServiceRoleForAmazonEKS` Zugriffseintrag.
+  `kubectl`konfiguriert mit Clusterzugriff.
+ Die AWS CLI wurde installiert und mit den Berechtigungen für `aws sts get-caller-identity` und konfiguriert`aws eks describe-access-entry`.
+ Ein ALB`Ingress`, das die `alb.ingress.kubernetes.io/auth-type: oidc` Annotation verwendet, und die Kubernetes`Secret`, auf die es verweist.

## Schritt 1: Identifizieren Sie den Secret, der zur Zulassungsliste hinzugefügt werden soll
<a name="_step_1_identify_the_secret_to_add_to_the_allow_list"></a>

Die OIDC-Konfiguration auf einem ALB `Ingress` sieht wie folgt aus. Notieren Sie sich den `Secret` Namen und den `Ingress` Namespace — die RBAC-Objekte müssen sich im selben Namespace wie der befinden. `Secret`

```
annotations:
  alb.ingress.kubernetes.io/auth-type: oidc
  alb.ingress.kubernetes.io/auth-idp-oidc: >
    {
      "issuer": "...",
      "authorizationEndpoint": "...",
      "tokenEndpoint": "...",
      "userInfoEndpoint": "...",
      "secretName": "oidc"
    }
```

Im Rest dieses Beispiels werden Namespace und Name verwendet. `monitoring` `Secret` `oidc`

## Schritt 2: Wenden Sie eine Rolle mit Namespace-Gültigkeitsbereich an und RoleBinding
<a name="_step_2_apply_a_namespace_scoped_role_and_rolebinding"></a>

Dieses Formular gewährt genau den Namen in genau `get` einem Namespace. `Secret` Speichern Sie Folgendes unter: `eks-managed-oidc-secret-reader.yaml`

```
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: eks-managed-oidc-secret-reader
  namespace: monitoring
rules:
- apiGroups: [""]
  resources: ["secrets"]
  resourceNames: ["oidc"]
  verbs: ["get"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: eks-managed-oidc-secret-reader
  namespace: monitoring
subjects:
- kind: Group
  name: eks:managed
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: Role
  name: eks-managed-oidc-secret-reader
  apiGroup: rbac.authorization.k8s.io
```

Wenden Sie es an:

```
kubectl apply -f eks-managed-oidc-secret-reader.yaml
```

Wenn Sie der Zulassungsliste später weitere `Secret` Objekte hinzufügen möchten, fügen Sie deren Namen an die `Role’s `resourceNames` Liste an und wenden Sie sie erneut an.

## Schritt 3: Bestätigen Sie, dass Ingress wiederhergestellt wird
<a name="_step_3_confirm_the_ingress_recovers"></a>

Der Load Balancer-Controller gleicht das bei seinem nächsten Durchlauf (in der `Ingress` Regel innerhalb weniger Minuten) erneut ab. Wenn der Grant funktioniert, wird der vorherige `secrets "oidc" is forbidden` Fehler nicht mehr auf dem angezeigt `Ingress` und der Load Balancer arbeitet weiter. Wenn der Fehler weiterhin besteht, überprüfen Sie das`Role’s `namespace`, `resourceNames` und den Betreff erneut. `RoleBinding`

## Den Zuschuss entfernen
<a name="_removing_the_grant"></a>

**Wichtig**  
Halten Sie das `Role` und so lange `RoleBinding` an Ort und Stelle, wie das ALB es `Ingress` verwendet`alb.ingress.kubernetes.io/auth-type: oidc`. Wenn Sie sie entfernen, wird die OIDC-Resolution auf dem erneut unterbrochen. `Ingress`

Wenn Sie OIDC auf dem nicht mehr verwenden, entfernen Sie den `Ingress` Zuschuss:

```
kubectl delete rolebinding eks-managed-oidc-secret-reader -n monitoring
kubectl delete role        eks-managed-oidc-secret-reader -n monitoring
```

## Zugehörige Ressourcen
<a name="_related_resources"></a>
+  [Gewähren Sie verwalteten EKS Auto Mode-Controllern zusätzliche Kubernetes-RBAC](auto-managed-rbac.md)— Konzeptioneller Überblick über die `eks:managed` Gruppe und den Umfang der Zuschüsse.
+  [IAM-Benutzern mit EKS-Zugriffseinträgen Zugriff auf Kubernetes gewähren](access-entries.md)— Amazon EKS-Zugriffseinträge.
+  [Verwendung der RBAC-Autorisierung ](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) in der Kubernetes-Dokumentation.