Utilisez le AWS CLI pour vous connecter au portail - 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.

Utilisez le AWS CLI pour vous connecter au portail

À 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. Configurez l'authentification des outils avec AWS 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

Configurez les outils PowerShell pour utiliser IAM Identity Center via le AWS CLI.

Si ce n'est pas déjà fait, assurez-vous d'activer et de configurer IAM Identity Center avant de continuer.

Vous trouverez des informations sur la configuration des outils PowerShell pour utiliser IAM Identity Center via l' AWS CLI étape 2 de la rubrique relative à l'authentification IAM Identity Center dans le Guide de référence AWS des SDK et des outils. Une fois cette configuration terminée, votre système doit contenir les éléments suivants :

  • Le AWS CLI, que vous utilisez pour démarrer une session de portail d' AWS accès avant d'exécuter votre application.

  • Le AWS config fichier partagé qui contient un [default]profil avec un ensemble de valeurs de configuration pouvant ê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.

    Le config fichier d'exemple suivant montre un [default] profil configuré avec un fournisseur de jetons SSO. Le paramètre sso_session du profil fait référence à la section sso-session nommée. La sso-session section contient les paramètres permettant de lancer une session sur le portail AWS d'accès.

    [default] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole region = us-east-1 output = json [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://provided-domain.awsapps.com/start sso_registration_scopes = sso:account:access
Important

Les modules suivants doivent être installés et importés dans votre PowerShell session pour que la résolution SSO puisse fonctionner :

  • AWS.Tools.SSO

  • AWS.Tools.SSOOIDC

Si vous utilisez une ancienne version des outils pour PowerShell et que vous ne disposez pas de ces modules, vous recevrez une erreur similaire à la suivante : « L'assemblage AWSSDK .SSOIDC est introuvable... ».

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

Avant d'exécuter des commandes d'accès Services AWS, vous devez disposer d'une session de portail d' AWS accès active afin que les Outils pour Windows PowerShell puissent utiliser l'authentification IAM Identity Center pour résoudre les informations d'identification. En fonction de la durée de session que vous avez configurée, votre accès finira par expirer et les Outils pour Windows PowerShell rencontreront une erreur d'authentification. Pour vous connecter au portail AWS d'accès, exécutez la commande suivante dans le AWS CLI.

aws sso login

Puisque vous utilisez le [default] profil, il n'est pas nécessaire d'appeler la commande avec l'--profileoption. Si la configuration de votre fournisseur de jetons SSO utilise un profil nommé, la commande l'est à la aws sso login --profile named-profile place. Pour plus d'informations sur les profils nommés, consultez la section Profils du Guide de référence AWS des SDK et des outils.

Pour vérifier si vous avez déjà une session active, exécutez la AWS CLI commande suivante (avec la même considération pour le profil nommé) :

aws sts get-caller-identity

La réponse à cette commande doit indiquer le compte IAM Identity Center et l'ensemble d'autorisations configurés dans le fichier partagé config.

Note

Si vous disposez déjà d'une session active sur le portail AWS d'accès et que vous l'exécutezaws sso login, il ne vous sera pas demandé de fournir des informations d'identification.

Le processus de connexion peut vous demander d'autoriser l' AWS CLI accès à vos données. Comme AWS CLI il repose sur le SDK pour Python, les messages d'autorisation peuvent contenir des variantes du botocore nom.

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 profil [default].

  • Lorsque vous vous connectez via le en AWS CLI utilisantaws sso login, cet utilisateur dispose au moins d'autorisations en lecture seule pour Amazon S3.

  • Cet utilisateur peut consulter certains compartiments S3.

Utilisez les PowerShell commandes suivantes pour afficher la liste des compartiments S3 :

Install-Module AWS.Tools.Installer Install-AWSToolsModule S3 # And if using an older version of the AWS Tools for PowerShell: Install-AWSToolsModule SSO, SSOOIDC # In older versions of the AWS Tools for PowerShell, we're not invoking a cmdlet from these modules directly, # so we must import them explicitly: Import-Module AWS.Tools.SSO Import-Module AWS.Tools.SSOOIDC # Older versions of the AWS Tools for PowerShell don't support the SSO login flow, so login with the CLI aws sso login # Now we can invoke cmdlets using the SSO profile Get-S3Bucket

Comme indiqué ci-dessus, étant donné que vous utilisez le [default] profil, il n'est pas nécessaire d'appeler l'Get-S3Bucketapplet de commande avec l'-ProfileNameoption. Si la configuration de votre fournisseur de jetons SSO utilise un profil nommé, la commande est Get-S3Bucket -ProfileName named-profile. Pour plus d'informations sur les profils nommés, consultez la section Profils du Guide de référence AWS des SDK et des outils.

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 de 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.