Configurez l'authentification des outils avec AWS - AWS Tools for PowerShell

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configurez l'authentification des outils avec AWS

Vous devez définir la manière dont votre code s'authentifie AWS lorsque vous développez avec Services AWS. Vous pouvez configurer l'accès programmatique aux AWS ressources de différentes manières, en fonction de l'environnement et de l' AWS accès dont vous disposez.

Pour connaître les différentes méthodes d'authentification pour les outils PowerShell, consultez la section Authentification et accès dans le Guide de référence AWS des SDK et des outils.

Cette rubrique part du principe qu'un nouvel utilisateur se développe localement, qu'il n'a pas reçu de méthode d'authentification de la part de son employeur et qu'il l'utilisera AWS IAM Identity Center pour obtenir des informations d'identification temporaires. Si votre environnement s'écarte de ces hypothèses, certaines des informations contenues dans cette rubrique ne s'appliquent peut-être pas à votre cas ou vous ont déjà été communiquées.

La configuration de cet environnement nécessite plusieurs étapes, qui sont résumées comme suit :

Activation et configuration d’IAM Identity Center

Pour être utilisé AWS IAM Identity Center, il doit d'abord être activé et configuré. Pour en savoir plus sur la procédure à suivre PowerShell, consultez l'étape 1 de la rubrique consacrée à l'authentification IAM Identity Center dans le Guide de référence AWS des SDK et des outils. Suivez particulièrement toutes les instructions nécessaires dans I do not have established access through IAM Identity Center.

Configurez les outils PowerShell pour utiliser IAM Identity Center.

Note

À partir de la version 4.1.538 des outils pour PowerShell, la méthode recommandée pour configurer les informations d'identification SSO et démarrer une session de portail d' AWS accès consiste à utiliser les Invoke-AWSSSOLoginapplets de commande Initialize-AWSSSOConfigurationet, comme décrit dans cette rubrique. Si vous n'avez pas accès à cette version des outils pour PowerShell (ou version ultérieure) ou si vous ne pouvez pas utiliser ces applets de commande, vous pouvez toujours effectuer ces tâches à l'aide du. AWS CLI Pour savoir comment procéder, voirUtilisez le AWS CLI pour vous connecter au portail.

La procédure suivante met à jour le AWS config fichier partagé avec les informations SSO que les outils PowerShell utilisent pour obtenir des informations d'identification temporaires. À la suite de cette procédure, une session du portail d' AWS accès est également démarrée. Si le config fichier partagé contient déjà des informations SSO et que vous souhaitez simplement savoir comment démarrer une session de portail d'accès à l'aide des outils pour PowerShell, consultez la section suivante de cette rubrique,Démarrer une session sur le portail AWS d'accès.

  1. Si ce n'est pas déjà fait, ouvrez PowerShell et installez le AWS Tools for PowerShell en fonction de votre système d'exploitation et de votre environnement, y compris les applets de commande courants. Pour plus d'informations sur la procédure à utiliser, consultez Installation du AWS Tools for PowerShell.

    Par exemple, si vous installez la version modulaire des outils pour PowerShell Windows, vous exécuterez probablement des commandes similaires aux suivantes :

    Install-Module -Name AWS.Tools.Installer Install-AWSToolsModule AWS.Tools.Common
  2. Exécutez la commande suivante. Remplacez les valeurs de propriété d'exemple par des valeurs issues de votre configuration IAM Identity Center. Pour plus d'informations sur ces propriétés et sur la manière de les trouver, consultez les paramètres du fournisseur d'informations d'identification IAM Identity Center dans le Guide de référence AWS des SDK et des outils.

    $params = @{ ProfileName = 'my-sso-profile' AccountId = '111122223333' RoleName = 'SamplePermissionSet' SessionName = 'my-sso-session' StartUrl = 'https://provided-domain.awsapps.com/start' SSORegion = 'us-west-2' RegistrationScopes = 'sso:account:access' }; Initialize-AWSSSOConfiguration @params

    Vous pouvez également simplement utiliser l'applet de commande seuleInitialize-AWSSSOConfiguration, et les outils vous demandent de PowerShell saisir les valeurs des propriétés.

    Considérations relatives à la valeur de certaines propriétés :

    • Si vous avez simplement suivi les instructions pour activer et configurer IAM Identity Center, la valeur de -RoleName pourrait êtrePowerUserAccess. Mais si vous avez créé un ensemble d'autorisations IAM Identity Center spécifiquement pour le PowerShell travail, utilisez-le plutôt.

    • Assurez-vous d'utiliser l' Région AWS endroit où vous avez configuré IAM Identity Center.

  3. À ce stade, le AWS config fichier partagé contient un profil appelé my-sso-profile avec un ensemble de valeurs de configuration qui peuvent être référencées à partir des outils pour PowerShell. Pour connaître l'emplacement de ce fichier, consultez Location of the shared files dans le manuel AWS SDKs and Tools Reference Guide.

    The Tools for PowerShell utilise le fournisseur de jetons SSO du profil pour acquérir des informations d'identification avant d'envoyer des demandes à AWS. La sso_role_name valeur, qui est un rôle IAM connecté à un ensemble d'autorisations IAM Identity Center, doit autoriser l'accès à l'utilisateur dans Services AWS votre application.

    L'exemple suivant montre le profil créé à l'aide de la commande ci-dessus. Certaines valeurs des propriétés et leur ordre peuvent être différents dans votre profil actuel. La sso-session propriété du profil fait référence à la section nomméemy-sso-session, qui contient les paramètres permettant de lancer une session sur le portail d' AWS accès.

    [profile my-sso-profile] sso_account_id=111122223333 sso_role_name=SamplePermissionSet sso_session=my-sso-session [sso-session my-sso-session] sso_region=us-west-2 sso_registration_scopes=sso:account:access sso_start_url=https://provided-domain.awsapps.com/start/
  4. Si vous avez déjà une session active sur le portail d' AWS accès, les PowerShell outils pour vous indiquent que vous êtes déjà connecté.

    Si ce n'est pas le cas, les outils pour PowerShell tenter d'ouvrir automatiquement la page d'autorisation SSO dans votre navigateur Web par défaut. Suivez les instructions de votre navigateur, qui peuvent inclure un code d'autorisation SSO, un nom d'utilisateur et un mot de passe, ainsi que l'autorisation d'accéder aux AWS IAM Identity Center comptes et aux ensembles d'autorisations.

    Les outils pour vous PowerShell indiquent que la connexion SSO a réussi.

Démarrer une session sur le portail AWS d'accès

Avant d'exécuter des commandes d'accès Services AWS, vous avez besoin d'une session de portail d' AWS accès active afin que les outils PowerShell puissent utiliser l'authentification IAM Identity Center pour résoudre les informations d'identification. Pour vous connecter au portail AWS d'accès, exécutez la commande suivante PowerShell, où se -ProfileName my-sso-profile trouve le nom du profil créé dans le config fichier partagé lorsque vous avez suivi la procédure décrite dans la section précédente de cette rubrique.

Invoke-AWSSSOLogin -ProfileName my-sso-profile

Si vous avez déjà une session active sur le portail d' AWS accès, les PowerShell outils pour vous indiquent que vous êtes déjà connecté.

Si ce n'est pas le cas, les outils pour PowerShell tenter d'ouvrir automatiquement la page d'autorisation SSO dans votre navigateur Web par défaut. Suivez les instructions de votre navigateur, qui peuvent inclure un code d'autorisation SSO, un nom d'utilisateur et un mot de passe, ainsi que l'autorisation d'accéder aux AWS IAM Identity Center comptes et aux ensembles d'autorisations.

Les outils pour vous PowerShell indiquent que la connexion SSO a réussi.

Pour vérifier si vous avez déjà une session active, exécutez la commande suivante après avoir installé ou importé le AWS.Tools.SecurityToken module selon vos besoins.

Get-STSCallerIdentity -ProfileName my-sso-profile

La réponse à l'Get-STSCallerIdentityapplet de commande indique le compte IAM Identity Center et l'ensemble d'autorisations configurés dans le fichier partagé. config

Exemple

Voici un exemple d'utilisation d'IAM Identity Center avec les outils pour PowerShell. Cet exemple suppose que :

  • Vous avez activé IAM Identity Center et l'avez configuré comme décrit précédemment dans cette rubrique. Les propriétés SSO se trouvent dans le my-sso-profile profil, qui a été configuré plus haut dans cette rubrique.

  • Lorsque vous vous connectez via les Invoke-AWSSSOLogin applets de commande Initialize-AWSSSOConfiguration ou, l'utilisateur dispose au moins d'autorisations en lecture seule pour Amazon S3.

  • Cet utilisateur peut consulter certains compartiments S3.

Installez ou importez le AWS.Tools.S3 module selon vos besoins, puis utilisez la PowerShell commande suivante pour afficher la liste des compartiments S3.

Get-S3Bucket -ProfileName my-sso-profile

Informations supplémentaires

  • Pour plus d'options d'authentification pour les outils PowerShell, telles que l'utilisation de profils et de variables d'environnement, consultez le chapitre sur la configuration du Guide de référence AWS des SDK et des outils.

  • Certaines commandes nécessitent AWS la spécification d'une région. Il existe plusieurs méthodes pour ce faire, notamment l'option d'-Regionapplet de commande, le [default] profil et la variable d'AWS_REGIONenvironnement. Pour plus d'informations, consultez Spécifier AWS les régions ce guide et AWS Region dans le Guide de référence AWS des SDK et des outils.

  • Pour en savoir plus sur les bonnes pratiques, consultez Bonnes pratiques de sécurité dans IAM dans le Guide de l'utilisateur IAM.

  • Pour créer des AWS informations d'identification à court terme, consultez la section Informations d'identification de sécurité temporaires dans le guide de l'utilisateur IAM.

  • Pour en savoir plus sur les autres fournisseurs d'informations d'identification, consultez Standardized credential providers dans le manuel AWS SDKs and Tools Reference Guide.