La version 5 (V5) du Outils AWS pour PowerShell est sortie !
Pour plus d'informations sur les modifications majeures et la migration de vos applications, consultez la rubrique relative à la migration.
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.
Authentifier le Outils AWS pour PowerShell 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 des outils AWS SDKs et.
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 :
Connectez-vous en utilisant les informations d'identification de console
Vous pouvez utiliser vos identifiants de connexion existants à la console de AWS gestion pour accéder par programmation à. Services AWS Après un flux d'authentification basé sur un navigateur, Outils AWS pour PowerShell génère des informations d'identification temporaires qui fonctionnent avec les outils de développement locaux tels que AWS SDKs, et Outils AWS pour PowerShell . AWS CLI Cette fonctionnalité simplifie le processus de configuration et de gestion des informations d'identification de la CLI, en particulier si vous préférez l'authentification interactive à la gestion des clés d'accès à long terme.
Ce processus vous permet de vous authentifier à l'aide des informations d'identification root créées lors de la configuration initiale du compte, d'un utilisateur IAM ou d'une identité fédérée auprès de votre fournisseur d'identité. Tools for gère PowerShell automatiquement les informations d'identification temporaires pour vous. Cette approche améliore la sécurité en éliminant le besoin de stocker des informations d'identification à long terme localement.
Lorsque vous exécutez l'Invoke-AWSLoginapplet de commande, vous pouvez effectuer une sélection parmi vos sessions de console actives ou vous connecter via le flux d'authentification basé sur le navigateur, ce qui générera automatiquement des informations d'identification temporaires. Outils AWS pour PowerShell actualisera automatiquement ces informations d'identification pendant 12 heures maximum.
Une fois configurée, votre session peut être utilisée dans Outils AWS pour PowerShell et dans tous les autres AWS SDKs outils.
Connectez-vous à l' AWS aide de l'applet de commande Invoke- AWSLogin
Exécutez l'Invoke-AWSLoginapplet de commande pour vous authentifier à l'aide de vos informations d'identification existantes de AWS la console de gestion. Si vous n'avez pas encore configuré de profil, vous serez invité à fournir des informations supplémentaires.
Pour vous connecter ou configurer un profil, suivez les étapes ci-dessous.
-
Assurez-vous d'avoir importé le module approprié que vous avez installé à partir du guide d'installation.
Note
Nous avons trois modules différents pour PowerShell -
AWS.Tools,AWSPowerShell.NetCoreetAWSPowerShell. Pour plus d’informations, consultez Qu'est-ce que les Outils AWS pour PowerShell ?.-
Dans votre PowerShell terminal, exécutez l'applet de commande. Cela utilisera le
defaultprofil.PS > Invoke-AWSLogin -
Pour vous connecter à un profil nommé ou en créer un nouveau, utilisez le
-ProfileNameparamètre.PS > Invoke-AWSLogin -ProfileName 'my-dev-profile' -
S'il s'agit d'un nouveau profil ou si aucun profil n' Région AWS a été spécifié ou configuré dans l'une de vos profiles/environment variables précédentes, l'applet de commande vous invite à fournir une région.
Press Ctrl+C to cancel the following login prompts. Specify AWS Region No AWS region has been configured. The AWS region is the geographic location of your AWS resources. If you've used AWS before and already have resources in your account, tell us which region they were created in. If you haven't created resources in your account before, you can pick the region closest to you: https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html AWS Region:
-
-
Les Outils AWS pour PowerShell tentatives d'ouverture de votre navigateur par défaut pour le processus de connexion à votre AWS compte.
Using region 'us-west-2' Attempting to open the login page for 'us-west-2' in your default browser. If the browser does not open, use the following URL to complete your login: https://signin.us-west-2.amazonaws.com/authorize?<abbreviated> If you cannot connect to this URL, make sure that you have specified a valid region.-
Si l'appareil utilisé Outils AWS pour PowerShell ne possède pas de navigateur, vous pouvez utiliser le
-Remoteparamètre pour fournir une URL à ouvrir sur un appareil compatible avec un navigateur.PS > Invoke-AWSLogin -Remote -
Si vous avez utilisé le
-Remoteparamètre, les instructions pour démarrer manuellement le processus de connexion s'affichent en fonction du type d'autorisation que vous utilisez. L'URL affichée est une URL unique commençant par : https://signin.us-east-1.amazonaws.com /authorize. Une fois la connexion au navigateur terminée, vous devrez copier-coller le code d'autorisation obtenu dans le terminal.Press Ctrl+C to cancel the following login prompts. Using region 'us-west-2' determined by profile/environment defaults. To override, specify '-Region' parameter. Please complete the login workflow via the following URL: https://us-west-2.signin.aws.amazon.com/v1/authorize?<abbrievated> Please enter the authorization code displayed in the browser:
-
-
Dans le navigateur, sélectionnez les informations d'identification à utiliser dans la liste affichée, puis retournez sur votre terminal.
-
Si le profil que vous configurez possède une session de connexion précédemment configurée qui ne correspond pas à votre nouvelle session Outils AWS pour PowerShell , vous êtes invité à confirmer que vous changez de session correspondant au profil existant.
WARNING: Previously profile default was configured for arn:aws:iam::0123456789012:user/ReadOnly, and is now being updated to arn:aws:iam::0123456789012:user/Admin. Do you wish to change the identity that default is associated with? (y/n)
-
-
Un message final décrit la configuration de profil terminée.
Login completed successfully for profile 'my-dev-profile'.Le jeton d'authentification est mis en cache sur le disque sous le. aws/login/cacherépertoire avec un nom de fichier de hachage basé sur le profil résolu.
Fichier de configuration généré
Ces étapes aboutissent à la création du profil par défaut ou spécifié dans le fichier de configuration qui ressemble à ce qui suit :
[default] login_session = arn:aws:iam::0123456789012:user/username region = us-east-1 [my-dev-profile] login_session = arn:aws:iam::0123456789012:user/username region = us-east-1
Exécutez une commande avec votre profil
Une fois connecté, vous pouvez utiliser vos informations d'identification pour appeler les outils pour les PowerShell applets de commande avec le profil associé. L'exemple suivant appelle l'Get-STSCallerIdentityapplet de commande à l'aide du profil par défaut :
PS > Get-STSCallerIdentity
Pour vérifier l'existence d'une session spécifique, utilisez le -ProfileName paramètre.
PS > Get-STSCallerIdentity -ProfileName 'my-dev-profile'
Le jeton d'identification temporaire expirera dans 15 minutes, mais il sera SDKs automatiquement actualisé en cas de besoin lors de vos demandes. Outils AWS pour PowerShell La session globale sera valide pendant 12 heures au maximum, après quoi vous devrez exécuter à nouveau l'Invoke-AWSLoginapplet de commande.
Déconnexion de votre session à l'aide de l'applet de Invoke-AWSLogout commande
Lorsque vous avez terminé votre session, vous pouvez laisser vos informations d'identification expirer ou exécuter l'Invoke-AWSLogoutapplet de commande pour supprimer vos informations d'identification mises en cache. Si aucun profil n'est spécifié dans la CLI ou dans la variable d' AWS_PROFILEenvironnement, la commande vous déconnecte de votre profil par défaut. L'exemple suivant vous déconnecte de votre profil par défaut.
PS > Invoke-AWSLogout
Pour vous déconnecter d'une session de profil spécifique, utilisez le -ProfileName paramètre.
PS > Invoke-AWSLogout -ProfileName 'my-dev-profile'
Pour vous déconnecter de toutes les sessions de profil auxquelles vous vous êtes connectées, utilisez le -All paramètre.
PS > Invoke-AWSLogout -All
Informations d'identification mises en cache
Les informations d'identification temporaires mises en cache, ainsi que les métadonnées requises pour les actualiser, sont stockées par défaut sous %USERPROFILE%\.aws\login\cache Windows ou sous ~/.aws/login/cache Linux et macOS.
Vous pouvez remplacer cet emplacement en définissant la variable d'AWS_LOGIN_CACHE_DIRECTORYenvironnement.
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 SDKs et Tools. 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.
-
Si ce n'est pas déjà fait, ouvrez PowerShell et installez le Outils AWS pour 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 Commencez avec le Outils AWS pour 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 -
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 SDKs et Tools.
$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 @paramsVous pouvez également simplement utiliser l'applet de commande seule
Initialize-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
-RoleNamepourrait ê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.
-
-
À ce stade, le AWS
configfichier partagé contient un profil appelémy-sso-profileavec 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, reportez-vous à la section Emplacement des fichiers partagés dans le Guide de référence des outils AWS SDKs et.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_namevaleur, 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-sessionproprié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=111122223333sso_role_name=SamplePermissionSetsso_session=my-sso-session [sso-session my-sso-session] sso_region=us-west-2sso_registration_scopes=sso:account:access sso_start_url=https://provided-domain.awsapps.com/start/ -
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-profileprofil, qui a été configuré plus haut dans cette rubrique. -
Lorsque vous vous connectez via les
Invoke-AWSSSOLoginapplets de commandeInitialize-AWSSSOConfigurationou, 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 des outils AWS SDKs 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écifiez AWS la région pour Outils AWS pour PowerShell ce guide et AWS Region dans le guide de référence AWS SDKs et Tools.-
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 la section Fournisseurs d'informations d'identification standardisés dans le guide de référence sur les outils AWS SDKs et.