Configurer Okta en tant qu'IdP pour AWS CLI

L'interface de ligne de commande AWS (AWS CLI) est un outil open source qui permet aux utilisateurs d'interagir avec les services AWS à l'aide du shell de ligne de commande. Vous pouvez intégrer Okta en tant que fournisseur d'identité (IdP) pour la CLI. Cela renforce la sécurité de vos environnements AWS en permettant aux développeurs d'utiliser Okta pour l'authentification unique.

Fonctionnement

Intégrez l'intégration AWS CLI d'Okta dans Admin Console en connectant une application native OIDC à l'application AWS Account Federation basée sur SAML. La CLI gère l'authentification via Okta. Okta interagit ensuite avec le service AWS Security Token Service (STS) pour collecter un rôle approprié pour le développeur à l'aide d'AWS CLI.

Conditions préalables

Procédure

Cette configuration se compose de trois tâches distinctes :

Configurer une application native OIDC

Connecter l'application OIDC à une application AWS Account Federation

Tester l'intégration AWS CLI d'Okta

Configurer une application native OIDC

  1. Dans Admin Console, accédez à ApplicationsApplications.

  2. Cliquez sur Créer une intégration d'application.
  3. Sélectionnez OIDC - OpenID Connect comme méthode de connexion.
  4. Sélectionnez Application native comme type d'application.
  5. Cliquez sur Suivant. La page Nouvelle intégration d'application native s'ouvre.
  6. Sur la page, indiquez le Nom de l'intégration d'application et un logo (facultatif).
  7. Sélectionnez les types d'autorisation suivants :
    • Code d'autorisation
    • Autorisation d'appareil
    • Échange de jetons (dans les options sous Avancé)
  8. Ignorez URI de redirection de connexion et URI de redirection de déconnexion.
  9. Dans AffectationsAccès contrôlé, sélectionnez Ignorer l'affectation de groupe pour le moment.
  10. Cliquez sur Enregistrer. L'application est créée et l'onglet Général s'affiche, pour modifier ou configurer plus d'options. Aucune modification n'est requise.
  11. Dans l'onglet Général sous Identifiants client, copiez l'identifiant de client.
  12. Dans l'onglet Affectations, affectez l'application aux groupes ou aux individus qui utilisent AWS CLI. Consultez Gestion des utilisateurs.

Connecter l'application OIDC à une application AWS Account Federation

  1. Dans Admin Console, accédez à ApplicationsApplications.

  2. Sélectionnez une application AWS Account Federation configurée.
  3. Cliquez sur l'onglet Authentification, puis sur Modifier.
  4. Sous Paramètres d'authentification avancés, faites défiler jusqu'à Client autorisé pour le SSO Web.
  5. Saisissez l'identifiant de client pour l' pour l'application OIDC que vous avez copiée lors de la tâche précédente.
  6. Cliquez sur Enregistrer.
  7. Répétez ces étapes pour toutes les autres applications AWS Account Federation que vous souhaitez connecter à l'application OIDC native.
  8. Facultatif. Affectez les applications à des politiques de connexion à une application. Consultez Affecter des applications à une politique de connexion à une application.

Tester l'intégration AWS CLI d'Okta

Assurez-vous que l'intégration fonctionne en la testant dans AWS CLI.

  1. Dans AWS CLI, saisissez la commande suivante :

    $ okta-aws-cli

    L'invite suivante apparaît :

    Open the following URL to begin Okta device authorization for the AWS CLI. https://your-org.okta.com/activate?user_code=<usercode>

  2. Ouvrez l'URL dans un navigateur Web et suivez l'invite.
  3. Dans AWS CLI, choisissez un fournisseur d'identité :

    ? Choose an IdP: arn:aws:iam::123456789012:saml-provider/My_IdP

    Sélectionnez un IdP dans la liste des fournisseurs d'identité SAML disponibles pour l'utilisateur.

  4. Choisissez un rôle IAM.

    ? Choose a Role: arn:aws:iam::456789012345:role/My_Role

    Sélectionnez un rôle IAM dans la liste des rôles IAM d'AWS associés à l'IdP que vous avez choisi.

Les identifiants AWS suivants se chargent (exemples) :

export AWS_ACCESS_KEY_ID=<key-id>

export AWS_SECRET_ACCESS_KEY=<key-code>

export AWS_SESSION_TOKEN=<token-id>

Cela indique que la connexion à votre compte AWS a réussi.