Amazon EKS Pod Identity upraszcza uprawnienia IAM dla aplikacji w klastrach Amazon EKS

26 listopada 2023

Od dzisiaj możesz korzystać z Amazon EKS Pod Identity, aby uprościć swoje aplikacje uzyskujące dostęp do usług AWS.

To udoskonalenie zapewnia bezproblemową i łatwą w konfiguracji obsługę, która umożliwia definiowanie wymaganych uprawnień IAM dla aplikacji w klastrach usługi Amazon Elastic Kubernetes Service (Amazon EKS), dzięki czemu można łączyć się z usługami AWS poza klastrem.

Amazon EKS Pod Identity pomaga stawić czoła rosnącym wyzwaniom związanym z zarządzaniem uprawnieniami w wielu klastrach EKS.

Amazon EKS Pod Identity

Ułatwianie obsługi z Amazon EKS Pod Identity

W 2019 roku w AWS wprowadzono role uprawnień dla kont usług (IRSA). IRSA umożliwia powiązanie roli IAM z kontem usługi Kubernetes. Pomaga to wdrożyć zasadę najmniejszych uprawnień, przyznając podom tylko te uprawnienia, których potrzebują. Takie podejście nadaje priorytet podom w IAM i pomaga programistom konfigurować aplikacje z precyzyjnymi uprawnieniami, które umożliwiają najmniej uprzywilejowany dostęp do usług AWS.

Teraz dzięki Amazon EKS Pod Identity konfiguracja i automatyzacja przyznawania uprawnień AWS tożsamościom Kubernetes jest jeszcze łatwiejsza. Jako administrator klastra nie musisz już przełączać się między usługami Amazon EKS i IAM, aby uwierzytelniać swoje aplikacje we wszystkich zasobach AWS.

Ogólny przepływ pracy związany z rozpoczęciem korzystania z tożsamości Amazon EKS Pod można streścić w kilku prostych krokach:

  • Krok 1: Utwórz rolę IAM z wymaganymi uprawnieniami dla aplikacji i określ pods.eks.amazonaws.com jako jednostkę usługi w jej zasadach zaufania;
  • Krok 2: Zainstaluj dodatek Amazon EKS Pod Identity Agent przy użyciu konsoli Amazon EKS lub interfejsu wiersza poleceń AWS (AWS CLI);
  • Krok 3: Zmapuj rolę na konto usługi bezpośrednio w konsoli Amazon EKS, interfejsach API lub CLI AWS.

Gdy to zrobisz, wszystkie nowe pody korzystające z tego konta usługi zostaną automatycznie skonfigurowane do otrzymywania poświadczeń IAM.

Rozpoczynanie

Za chwilę dowiesz się, jak rozpocząć korzystanie z EKS Pod Identity. Na potrzeby demonstracji w tym artykule, autorzy muszą skonfigurować uprawnienia do prostego interfejsu API działającego w ich klastrze Amazon EKS, który zwróci listę plików w moim segmencie Amazon Simple Storage Service (Amazon S3).

Najpierw należy utworzyć rolę IAM, w celu zapewnienia wymaganych uprawnień, aby Twoje aplikacje mogły działać poprawnie. W tym przypadku musisz skonfigurować uprawnienia dostępu do zasobnika S3.

 

Amazon EKS Pod Identity

Następnie w tej samej roli IAM trzeba skonfigurować zasady zaufania i skonfigurować podmiot zabezpieczeń na pods.eks.amazonaws.com. Poniżej znajduje się szablon IAM, którego należy użyć:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "pods.eks.amazonaws.com"
            },
            "Action": [
                "sts:AssumeRole",
                "sts:TagSession"
            ]
        }
    ]
}

Na tym etapie IAM jest gotowa. Teraz należy skonfigurować the Amazon EKS Pod Identity Agent w klastrze. Co istotne, w tym artykule autorzy korzystają z istniejącego klastra EKS. Jeśli chcesz dowiedzieć się, jak to zrobić, zapoznaj się z Getting started with Amazon EKS.

Następnie przejdź do pulpitu nawigacyjnego Amazon EKS i wybierz klaster EKS.

Amazon EKS Pod Identity Agent w klastrze

Na stronie klastra EKS musisz wybrać zakładkę Add-ons , a następnie opcję Get more add-ons.

Na stronie klastra EKS musisz wybrać zakładkę Add-ons , a następnie opcję Get more add-ons.

Następnie należy dodać dodatek Amazon EKS Pod Identity Agent.

Następnie należy dodać dodatek Amazon EKS Pod Identity Agent.

W razie potrzeby na następnej stronie możesz dodać dodatkową konfigurację. W tym przypadku autorzy pozostawiają domyślną konfigurację i wybierają Next.

W razie potrzeby na następnej stronie możesz dodać dodatkową konfigurację. W tym przypadku autorzy pozostawiają domyślną konfigurację i wybierają Next.

Następnie musisz tylko sprawdzić konfigurację dodatku i wybrać opcję Create.

Następnie musisz tylko sprawdzić konfigurację dodatku i wybrać opcję Create.

Po kilku minutach dodatek Amazon EKS Pod Identity Agent będzie aktywny dla Twojego klastra.

Po kilku minutach dodatek Amazon EKS Pod Identity Agent będzie aktywny dla Twojego klastra.

Gdy Amazon EKS Pod Identity jest już w Twoim klastrze, musisz powiązać IAM z Twoimi zasobnikami Kubernetes.

Następnie trzeba przejść do zakładki Access w klastrze EKS. W Pod Identity associations wybierz opcję Create Pod Identity association, aby zmapować swoją rolę IAM na pody Kubernetes.

Następnie trzeba przejść do zakładki Access w klastrze EKS. W Pod Identity associations wybierz opcję Create Pod Identity association, aby zmapować swoją rolę IAM na pody Kubernetes.

Następnie trzeba przejść do zakładki Access w klastrze EKS. W Pod Identity associations wybierz opcję Create Pod Identity association, aby zmapować swoją rolę IAM na pody Kubernetes.

Następnie trzeba przejść do zakładki Access w klastrze EKS. W Pod Identity associations wybierz opcję Create Pod Identity association, aby zmapować swoją rolę IAM na pody Kubernetes.

To wszystkie kroki, które musisz wykonać, aby skonfigurować uprawnienia IAM dla swoich aplikacji działających na Amazon EKS z EKS Pod Identity. Teraz możesz zauważyć, że Twoja rola IAM jest wymieniona w Pod Identity associations.

To wszystkie kroki, które musisz wykonać, aby skonfigurować uprawnienia IAM dla swoich aplikacji działających na Amazon EKS z EKS Pod Identity. Teraz możesz zauważyć, że Twoja rola IAM jest wymieniona w Pod Identity associations.

Kiedy przetestujesz swój interfejs API działający na Amazon EKS, zadziała on zgodnie z oczekiwaniami i zwraca listę plików w Twoim segmencie S3.

curl -X https://<API-URL> -H "Accept: application/json" 

{
   "files": [
         "test-file-1.md",
         "test-file-2.md"
    ]        
}

Autorzy zauważyli, że Amazon EKS Pod Identity upraszcza zarządzanie rolami IAM dla Twoich aplikacji działających na Amazon EKS. Możesz więc z łatwością ponownie wykorzystywać role IAM w wielu klastrach EKS bez konieczności aktualizowania zasad zaufania ról za każdym razem, gdy tworzony jest nowy klaster.

Nowe interfejsy API AWS do konfiguracji EKS Pod Identity 

Masz także możliwość elastycznej konfiguracji Amazon EKS Pod Identity dla swojego klastra przy użyciu interfejsu CLI AWS. Amazon EKS Pod Identity zapewnia nowy zestaw interfejsów API, z których możesz korzystać.

Przykładowo, możesz użyć aws eks create-addon, aby zainstalować dodatek Amazon EKS Pod Identity Agent w swoim klastrze. Oto polecenie CLI AWS:

BASH
$ aws eks create-addon \ --cluster-name <CLUSTER_NAME> \ --addon-name eks-pod-identity-agent \ --addon-version v1.0.0-eksbuild.1 { "addon": { "addonName": "eks-pod-identity-agent", "clusterName": "<CLUSTER_NAME>", "status": "CREATING", "addonVersion": "v1.0.0-eksbuild.1", "health": { "issues": [] }, "addonArn": "<ARN>", "createdAt": 1697734297.597, "modifiedAt": 1697734297.612, "tags": {} } }

Innym przykładem tego, co można zrobić za pomocą interfejsów API AWS, jest mapowanie roli IAM na pody Kubernetes.

BASH

$ aws eks create-pod-identity-association \
  --cluster-name <CLUSTER_NAME> \
  --namespace <NAMESPACE> \
  --service-account <SERVICE_ACCOUNT_NAME> \
  --role-arn <IAM_ROLE_ARN>

Warto wiedzieć

Dostępność – Amazon EKS Pod Identity jest dostępny we wszystkich regionach AWS obsługiwanych przez Amazon EKS, z wyjątkiem AWS GovCloud (Stany Zjednoczone-Wschód), AWS GovCloud (Stany Zjednoczone-Zachód), Chin (Pekin, obsługiwany przez Sinnet) i Chin (Ningxia, obsługiwany przez NWCD).

Koszty – Amazon EKS Pod Identity jest bezpłatny.

Supported Amazon EKS cluster – Amazon EKS Pod Identity obsługuje Kubernetes z wersją 1.24 i nowszą w Amazon EKS. Aby uzyskać więcej informacji, możesz sprawdzić wersje klastra EKS Pod Identity.

Supported AWS SDK versions – musisz zaktualizować swoją aplikację, aby korzystać z najnowszych wersji AWS SDK. Sprawdź AWS developer tools, aby dowiedzieć się, jak zainstalować i zaktualizować pakiet AWS SDK.

Zacznij już dziś i odwiedź stronę dokumentacji EKS Pod Identities, aby dowiedzieć się więcej o tym, jak uprościć zarządzanie uprawnieniami w swoich aplikacjach.

Udanego tworzenia!

źródło: AWS

Case Studies
Referencje

Firma Hostersi pozwoliła nam osadzić ogólne zagadnienia programu Well Architected Framework w kontekście naszej firmy. Oszczędziło nam to wiele czasu i pozwoliło znaleźć lepiej dopasowane rozwiązania do specyfiki naszego biznesu. WAF był świetnym katalizatorem do wprowadzenie szeregu zmian w obszarze niezawodności, szybkości i bezpieczeństwa edrone. 

Piotr Stachowicz
CTO
W skrócie o nas
Specjalizujemy się w dostarczaniu rozwiązań IT w obszarach projektowania infrastruktury serwerowej, wdrażania chmury obliczeniowej, opieki administracyjnej i bezpieczeństwa danych.