はじめに
多くの消費者は、Microsoft Azure Energetic Directory (Azure AD) を一元化された企業の明細化として使用しています。 顧客からの要望の 1 つは、ユーザーが企業の認証情報を使用して、Amazon Elastic Kubernetes Service (
Amazon EKS
) クラスターへのアクセス許可を回復できるようにすることです。 この流行により、お客様は、企業ユーザーが EKS クラスターへのサルベージ アドミッションを管理するための認証を提供するという、既に確立された取り決めを実行できます。
これを組み立てる方法は 2 つあります。
AWSの演習IAM Identity Middle (AWSシングル指名の後継) ) OpenID Connect(OIDC)認証の行使
場合によっては、AWS IAM Identity Middle を使用して複数のグループ サルベージ アドミッションを一元的に処理する必要があります。 AWS アカウントとアプリケーションを使用し、Azure AD から AWS Identity Middle へのユーザーとグループのコンピュータ化されたプロビジョニングと同期をセットアップすると、Amazon EKS クラスターへの管理へのサルベージ アドミッションのために AWS IAM Identity Middle を追加で使用できる可能性があります。 おそらくさらに、この選択についてさらに学ぶのは良いことです ここで
. )
この投稿では、2 番目の取り決めを扱い、Azure AD を使用して Amazon EKS クラスターに対してユーザーを認証する方法と、Amazon EKS OIDC 認証の実行に関するヒントを示します。 この統合を提供するために、Azure portal と Amazon EKS で必要なセットアップ手順を順を追って説明します
概要の返信
)OIDC 認証の取り決めは、クラスターへのサルベージ許可を付与する Amazon EKS ネイティブ ソリューションを提供し、AWS IAM ユーザーとロールの出現を必要としません。 この流行により、Azure AD は Amazon EKS クラスターへの認証を提供します。 Amazon EKS クラスターの Kubernetes API と対話するためのアクセス許可は、ネイティブの Kubernetes 機能ベースのほとんどサルベージ アドミッション (RBAC) によって管理されます。
次の手順では、 -ステージ認証と認可が漂います.
持つ必要があります
指示に沿って意識するには、使用する Amazon EKS クラスターが必要です (EKS クラスターを提供するための指示
)。 Amazon EKS クラスターを管理し、
RBAC 承認 に必要な Kubernetes オブジェクトを生成するには、容認できるサルベージ アドミッションが必要です。 .
アプリケーション、ユーザー、およびグループを登録および構成するためのアクセス許可を持つ、Azure AD テナントへのサルベージ アドミッションが必要です (テナントを提供する手順 ここ
).
念のため、さらに kubectl describe line インターフェイス ツールをインストールして、Amazon EKS クラスターと対話することをお勧めします (インストール手順
ここ ).ウォークスルー
デプロイの手順
Azure AD で Amazon EKS ユーティリティを登録して構成することから始めます。 次に、Azure AD を Amazon EKS の Open ID Connect (OIDC) プロバイダーとして関連付けます。 最後の手順は、Azure AD ID を Kubernetes ソースに承認するように Kubernetes RBAC を構成することです
セットアップをテストするには、kubelogin
は、Microsoft が管理する kubectl scoot-in です ステップ 1: Azure AD に Amazon EKS ユーティリティを登録して構成する
このステップでは、Azure portal を使用して、Amazon EKS ユーティリティを Azure AD テナントに登録および構成します。 次に、ユーザーとグループを作成し、それらをユーティリティに関連付けます。
1.1 Azure AD テナント内に Amazon EKS アプリケーションを登録する
Azure AD テナント内にユーティリティを登録することで、Azure AD がユーティリティにタイトルを付けることができ、トークンをユーティリティにペインする方法に関するヒントを意識できるようになります。
- Azure
- 盗む
認証
- 以下 開発済み設定
- キャプチャアウト
管理者の同意を与える
デフォルトディレクトリ 。 これにより、Amazon EKS 達成ユーティリティは、ユーザー プロファイルを学習し、認証を組み立てるための管理者の同意を与えることができます
.

- を決めてユーティリティ登録ページを開く ->



ユーティリティ登録概要ページより、 アプリケーション(クライアント)ID
および
ディレクトリ (テナント) id.
1.2 Azure AD 内で Amazon EKS ユーティリティを構成する
まず、Amazon EKS ユーティリティをパブリック クライアント ユーティリティとして設定します。 パブリック クライアント ユーティリティでは、認証過程の一部として証明書やシークレットは必要ありません。 このフォームでは、ユーザーは、Amazon EKS クラスターへのアクセスを回復するために、シークレットや証明書をローカル環境に保存することを望んでいません。
、位置 パブリック クライアント フローを許可する
から はい


ここで、ユーザーが Amazon EKS ユーティリティに指定するために必要なアクセス許可を構成し、ユーティリティがサインインしたユーザーのプロファイルを学習するために必要なアクセス許可を構成します。
キャプチャアウト API権限 from アプリの登録
)ページ。
Microsoft Graph API の Learn アクセス許可が設定されていることを確認してください。 もう使用していない場合は、アクセス許可の追加
を選択して、Microsoft Graph のアクセス許可をセットアップします。 ボタン。
1.3 Azure AD でのユーザーとグループのセットアップ
認証はAzure ADで、認可はAzure ADで行うため、 Kubernetes RBAC の場合、このソリューションでは、Amazon EKS のロールまたは ClusterRoles を Azure AD ユーザーに関連付け、RoleBinding または ClusterRoleBinding を実行する必要があります。 適切に組織されたさまざまなユーザーのサルベージ アドミッションを管理する必要がある場合、これはさらに面倒になる可能性があります。 この場合の推奨される取り決めは、Azure AD グループを実行することです。
ステージへのさまざまなサルベージ アドミッション用に、おそらく追加で Azure AD グループを生成することをお勧めします (例: 、developer-group、admin-group) を作成し、これらのグループに元のユーザーを追加します。 おそらく追加で、Amazon EKS で RoleBinding と ClusterRoleBinding を生成し、Kubernetes ロールを Azure AD グループにマッピングすることもお勧めします
デフォルトでは、ユーザーのグループ情報はAzure AD によって返される OIDC トークンの一部として組み込まれていません。 そのため、Amazon EKS ユーティリティを構成して、グループの公開も組み込むようにします。 Capture out トークンの設定
from
アプリ登録 ページ。 キャプチャーアウト
グループを追加してください
.
を捕まえるセキュリティグループ
チェックボックスとピック ご近所ID
ID トークン。 キャプチャアウト 追加
お試し用セットアップでは、2 つの元のユーザー (eks-admin-user、eks-secrets-reader-user) を作成し、それらを 2 つの元のグループ (eks-admin-group、eks-secrets-reader-group) に追加します。 後で、これら 2 つのグループに、Amazon EKS クラスターへのサルベージ アドミッションのさまざまな段階を提供します。


キャプチャアウト ご近所フォーム
を Security として入力し、
Neighborhood タイトルに eks-admin-group と入力します。
キャプチャーアウト
メイク
オブジェクト ID
概要ページより
古い手順を繰り返して生成しますが、eks-secrets-reader と呼ばれる他のグループは-グループ。 オブジェクト ID を書き留めます概要ページより。 スプリントディレクトリのホームページ盗む クライアント
s -> Unusual Client -> Make Unusual Client. ユーザー名を eks-admin-user として入力し、パスワード を入力します。
ユーザー追加前に作成した eks-admin-group に。 キャプチャアウト
Make . クライアントのメインネーム .

古い手順を繰り返して、他のすべてのユーザー eks-secrets-reader-user を提供し、そのユーザーを eks-secrets-reader-group に追加します。 ステップ 2: OIDC ID プロバイダーを Amazon EKS クラスターに関連付ける
Amazon EKS は OIDC ID プロバイダーの設定をサポートしていますAWS コンソールの演習 eksctl
および AWS
CloudFormation
)。 このスタンドで、コンソールを動かして位置を調整します。 からAmazon EKS クラスターの概要ページ、pic k
認証
タブから出て
Affiliate Identity Provider .
発行元URL は、Kubernetes API サーバーによって渡され、トークンを検証するための公開署名キーをギャップします。 https://sts.windows.get/ と入力します。 /
、テナントの場所ID は
ディレクトリ (テナント) id
Azure portal のアプリ登録の概要ページから。 URL の末尾に「/」を追加するようにしてください .
内のクライアントID
フィールドに、
アプリケーション (クライアント) ID アプリ登録概要ページより- さらに、ユーザー タイトルおよびグループ タイトルとして行使するクレーム (ID トークン内) について言及する必要があります。 upn
と入力します。
ユーザー名漏えい 内分野。 グループを入力してください
グループ内で公開 分野。 おそらく、Azure AD によって返される全体的な ID トークン クレームについてさらに学習することをお勧めします
ここに.
アフィリエイト
ボタンを押して実行します。 このステップが完了するまでに 10 ~ 15 分かかります。 ステップ 3: ClusterRole と ClusterRoleBinding を作成するこのステップでは、Kubernetes 機能ベースの主にサルベージ アドミッション (RBAC) を実行するためのユーザー認証をセットアップします。 ClusterRoleBindings.
ブループリントの eks-admin-group を組み込みの cluster-admin ClusterRole に関連付けます。 次に、シークレットを学習する権限を持つブランド オリジナルの ClusterRole を作成し、それに eks-secrets-reader-group を関連付けます。
管理者用 ClusterRoleBinding を作成します
kubectl の演習で ClusterRoleBinding を作成します。 変化 とともに オブジェクト ID Azure portal の Neighborhood 概要ページから eks-admin-group の
猫 <<'EOF' | kubectl affirm -f - apiVersion: rbac.authorization.k8s.io/v1 種類: ClusterRoleBinding メタデータ: タイトル: aad-eks-admin-rb roleRef: apiGroup: rbac.authorization.k8s.io
𝚆𝚊𝚝𝚌𝚑 𝙽𝙾𝚆 📺
- クライアントのメインネーム .
- 古い手順を繰り返して、他のすべてのユーザー eks-secrets-reader-user を提供し、そのユーザーを eks-secrets-reader-group に追加します。
- さらに、ユーザー タイトルおよびグループ タイトルとして行使するクレーム (ID トークン内) について言及する必要があります。 upn
と入力します。
ユーザー名漏えい 内分野。 グループ
を入力してください
グループ内で公開 分野。 おそらく、Azure AD によって返される全体的な ID トークン クレームについてさらに学習することをお勧めします
ここに.
ステップ 2: OIDC ID プロバイダーを Amazon EKS クラスターに関連付ける
Amazon EKS は OIDC ID プロバイダーの設定をサポートしていますAWS コンソールの演習
- および AWS

)。 このスタンドで、コンソールを動かして位置を調整します。 からAmazon EKS クラスターの概要ページ、pic k
認証









アフィリエイト
ボタンを押して実行します。 このステップが完了するまでに 10 ~ 15 分かかります。 ステップ 3: ClusterRole と ClusterRoleBinding を作成するこのステップでは、Kubernetes 機能ベースの主にサルベージ アドミッション (RBAC) を実行するためのユーザー認証をセットアップします。 ClusterRoleBindings.
ブループリントの eks-admin-group を組み込みの cluster-admin ClusterRole に関連付けます。 次に、シークレットを学習する権限を持つブランド オリジナルの ClusterRole を作成し、それに eks-secrets-reader-group を関連付けます。
管理者用 ClusterRoleBinding を作成します
kubectl の演習で ClusterRoleBinding を作成します。 変化
猫 <<'EOF' | kubectl affirm -f - apiVersion: rbac.authorization.k8s.io/v1 種類: ClusterRoleBinding メタデータ: タイトル: aad-eks-admin-rb roleRef: apiGroup: rbac.authorization.k8s.io
𝚆𝚊𝚝𝚌𝚑 𝙽𝙾𝚆 📺