Authentification du SDK avec AWS - AWS SDK for PHP

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.

Authentification du SDK 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 choisir votre méthode d'authentification et la configurer pour le SDK, consultez la section Authentification et accès dans le Guide de référence AWS des SDK et des outils.

Nous recommandons aux nouveaux utilisateurs qui se développent localement et qui ne reçoivent aucune méthode d'authentification de la part de leur employeur de le configurer AWS IAM Identity Center. Cette méthode inclut l'installation AWS CLI pour faciliter la configuration et pour vous connecter régulièrement au portail AWS d'accès. Si vous choisissez cette méthode, votre environnement doit contenir les éléments suivants une fois que vous avez terminé la procédure d'authentification IAM Identity Center décrite dans le Guide de référence AWS des SDK et des outils :

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

  • AWSconfigFichier partagé doté d'un [default] profil avec un ensemble de valeurs de configuration pouvant être référencées par le SDK. Pour connaître l'emplacement de ce fichier, consultez Location of the shared files dans le manuel AWS SDKs and Tools Reference Guide.

  • Le config fichier partagé contient le regionparamètre. Cela définit la valeur par défaut Région AWS que le SDK utilise pour les demandes. Cette région est utilisée pour les demandes de service du SDK qui ne sont pas explicitement configurées avec une region propriété.

  • Le SDK utilise la configuration du fournisseur de jetons SSO du profil pour obtenir 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, permet d'accéder à l'utilisateur Services AWS dans votre application.

    Le config fichier d'exemple suivant montre un profil par défaut configuré avec la configuration du fournisseur de jetons SSO. Le sso_session paramètre du profil fait référence à la sso-sessionsection 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

Il AWS SDK for PHP n'est pas nécessaire d'ajouter des packages supplémentaires (tels que SSO etSSOOIDC) à votre application pour utiliser l'authentification IAM Identity Center.

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

Avant d'exécuter une application qui y accède Services AWS, vous avez besoin d'une session de portail d' AWS accès active pour que le SDK utilise 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 le SDK rencontrera 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

Si vous avez suivi les instructions et que vous avez configuré un profil par défaut, il n'est pas nécessaire d'appeler la commande avec une --profile option. Si la configuration de votre fournisseur de jetons SSO utilise un profil nommé, la commande est aws sso login --profile named-profile.

Pour éventuellement vérifier si vous avez déjà une session active, exécutez la AWS CLI commande suivante.

aws sts get-caller-identity

Si votre session est active, la réponse à cette commande indique le compte IAM Identity Center et l'ensemble d'autorisations configurés dans le config fichier partagé.

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.

En savoir plus sur l'authentification