メインコンテンツまでスキップ

Identity Center経由でArgo CDにサインインする

マネージドArgo CD capabilityは、AWS IAM Identity Center経由でのみ認証を行います。ローカルadminアカウントや自動生成されたパスワードは存在しません。サインインする全ての人は、3つの組み込みArgo CDロール(ADMIN、EDITOR、VIEWER)のいずれかにマッピングされたIdentity Centerのアイデンティティを使用します。

このページでは、初回セットアップと初回サインインについて説明します。この手順を完了すれば、このラボの残りの部分では、ここで設定したパスワードを再利用できます。

AWSが主催するイベントでは、ステップ4にスキップしてください

イベントのプロビジョニングでは、作成したIdentity CenterインスタンスのMFAを緩和し、このユーザーの初回サインインを完了しています。そのため、ワンタイムパスワードを生成する必要はありません。パスワードはAWS Secrets Managerの<cluster-name>-argocd-idcに保存されています。

~$aws secretsmanager get-secret-value --secret-id $EKS_CLUSTER_NAME-argocd-idc \
--query SecretString --output text

ステップ2と3は、ご自身のアカウントでこのラボを実行する場合の手順です。

注意

MFAを無効にすると、ワークショップユーザーだけでなく、IAM Identity Centerインスタンスの全てのユーザーのセキュリティが弱まります。個人用/開発用/テスト用アカウントでは許容されますが、本番アカウントや共有組織では適用しないでください。

イベントのプロビジョニングでは、自身が作成したインスタンスに対してのみこれを適用します。既存のインスタンスが見つかった場合は、それを採用し、サインインポリシーはそのままにします。なぜなら、他のワークロードのMFA設定を弱めることはワークショップの権限ではないからです。

備考

UIへのサインインはオプションです。Argo CDダッシュボードを探索することができますが、このラボの残りの部分はサインインなしで動作します。

1. Identity Centerユーザーとグループ​

ワークショップユーザーとグループは、環境ごとに1回作成され、Identity Centerとフェデレーションするすべてのcapabilityのラボで共有されます。アカウントとリージョンごとにIdentity Centerインスタンスは1つであるため、ラボごとにユーザーを作成すると、それぞれに対して個別の初回サインインが必要になります。これらはprepare-environmentによってシェルにエクスポートされています。

~$echo $EKS_CAP_ARGOCD_USER
eks-workshop
~$echo $EKS_CAP_ARGOCD_ADMIN_GROUP
eks-workshop-argocd-admins

事前作成されたユーザー

  • $EKS_CAP_ARGOCD_USER: Argo CDのADMINロールにマッピングされた管理者ユーザー。

事前作成されたグループ

  • $EKS_CAP_ARGOCD_ADMIN_GROUP: 管理者権限を持つグループで、Argo CD capabilityに関連付けられています。

2. ワークショップのためのMFA無効化​

ワークショップ中の認証体験を簡素化するため、Identity CenterユーザーのMulti-Factor Authentication(MFA)を無効化します。

AWSコンソールでIAM Identity Centerの設定を開きます。

AWS console iconIdentity Centerの設定を開く
注意

IAM Identity Centerはリージョンサービスです。続行する前に、コンソールのリージョンセレクター(右上)がワークショップクラスターを作成したリージョンと一致していることを確認してください。「Enable IAM Identity Center」画面が表示された場合、間違ったリージョンにいます。リージョンを切り替えると、既存のインスタンスが表示されます。

次にMFAを無効にします。

  1. Settingsページで、Authenticationセクションを見つけ、多要素認証のConfigureを選択します。

    Configure MFA

  2. MFA設定で**Never (disabled)**を選択し、変更を保存します。

    SSO MFA Disable

3. 管理者ユーザーの一時パスワードを生成する​

Identity Centerの新しいユーザーは、管理者が一時パスワードを生成する必要があります。

まず、コンソールで探すべき正確なユーザー名を表示します。Terraformはクラスター名に基づいてユーザーに名前を付けたため、コンソールには文字通り$EKS_CAP_ARGOCD_USERとは表示されません。

~$echo $EKS_CAP_ARGOCD_USER
eks-workshop

Identity CenterのUsersリストを開きます。

AWS console iconIdentity Centerユーザーを開く
  1. 先ほど表示した名前と一致するユーザー(例:eks-workshop)を見つけて選択します。

    Select Argoadmin

  2. パスワードのリセット

    • 「Reset password」をクリック
    • 「Generate a one-time password」を選択

    Argoadmin Reset Password

  3. 生成されたワンタイムパスワードをコピーし、安全な場所に貼り付けて保存します(スクラッチファイルやメモ)。次のステップでサインインする際に必要になります。また、ここで生成するとクリップボードが上書きされます。

    Copy Reset Argoadmin Password

4. Argo CDへの初回サインイン​

新しいブラウザタブでArgo CDのURLを開きます。capabilityがそれを公開しているため、環境で期待するのではなく、EKS APIに問い合わせます。

~$aws eks describe-capability \
--cluster-name $EKS_CLUSTER_AUTO_NAME \
--capability-name $EKS_CAP_ARGOCD_CAPABILITY \
--query 'capability.configuration.argoCd.serverUrl' --output text
  1. Log in via AWS Identity Centerをクリックします。
  2. Username: $EKS_CAP_ARGOCD_USERの値を入力します。Nextをクリックします。
  3. Password: ステップ3でコピーしたワンタイムパスワードを入力します。Sign inをクリックします。
  4. Identity Centerは初回サインイン時にSet new password画面を強制します。任意の新しいパスワードを選択して確認します。
  5. 新しいパスワードを設定すると、ADMINとしてArgo CDのApplicationsビューにリダイレクトされます。

Identity Centerサインイン後のArgo CD UI

ヒント

UIにはAmazon EKSコンソールからもアクセスできます。クラスターを選択し、Capabilitiesタブを選択し、Argo CDを選択してから、Open Argo CD UIを選択します。どちらの経路も同じIdentity Centerサインインを経由します。

これでこのラボの残りの部分を進める準備が整いました。