Connexion à desAWS CodeCommit référentiels avec des informations d'identification rotatives - AWS CodeCommit

AWS CodeCommit n'est plus disponible pour les nouveaux clients. Les clients existants de AWS CodeCommit peuvent continuer à utiliser le service normalement. En savoir plus »

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.

Connexion à desAWS CodeCommit référentiels avec des informations d'identification rotatives

Vous pouvez donner aux utilisateurs l'accès à vosAWS CodeCommit référentiels sans configurer d'utilisateurs IAM pour eux ni utiliser de clé d'accès et de clé secrète. Pour attribuer des autorisations à une identité fédérés, vous créez un rôle et définissez des autorisations pour le rôle. Quand une identité externe s'authentifie, l'identité est associée au rôle et reçoit les autorisations qui sont définies par celui-ci. Pour obtenir des informations sur les rôles pour la fédération, consultez Création d'un rôle pour un fournisseur d'identité tiers (fédération) dans le Guide de l'utilisateur IAM. Si vous utilisez IAM Identity Center, vous configurez un jeu d'autorisations. IAM Identity Center met en corrélation le jeu d'autorisations avec un rôle dans IAM afin de contrôler à quoi vos identités peuvent accéder après leur authentification. Pour plus d'informations sur les jeux d'autorisations, veuillez consulter la rubrique Jeux d'autorisations dans le AWS IAM Identity Center Guide d'utilisateur. Vous pouvez également configurer un accès basé sur les rôles pour que les utilisateurs IAM puissent accéder àCodeCommit des référentiels sur des comptes Amazon Web Services distincts (technique connue sous le nom d'accès entre comptes). Pour connaître la procédure permettant de configurer l'accès entre comptes à un référentiel, consultez Configuration de l'accès entre comptes à un AWS CodeCommit référentiel à l'aide de rôles.

Vous pouvez configurer l'accès pour les utilisateurs qui veulent ou doivent s'authentifier via des méthodes telles que les suivantes :

  • Security Assertion Markup Language (SAML)

  • Une authentification multifactorielle (MFA)

  • Fédération

  • Login with Amazon

  • Amazon Cognito

  • Facebook

  • Google

  • Fournisseur d'identité compatible avec OpenID Connect (OIDC)

Note

Les informations suivantes s'appliquent uniquement à l'utilisation de git-remote-codecommit ou de l'assistant d'informations d'identification de l'AWS CLI pour se connecter aux référentiels CodeCommit. Étant donné que l'approche recommandée pour l'accès temporaire ou fédéré à CodeCommit consiste à configurer git-remote-codecommit, cette rubrique fournit des exemples d'utilisation de cet utilitaire. Pour plus d'informations, veuillez consulter Étapes de configuration pour les connexions HTTPS àAWS CodeCommitavecgit-remote-codecommit.

Vous ne pouvez pas utiliser SSH ni les informations d'identification Git et HTTPS pour vous connecter aux référentiels CodeCommit avec des informations d'identification d'accès temporaires ou rotatives.

N'effectuez pas ces étapes si toutes les conditions suivantes sont vérifiées :

Les instances Amazon EC2 qui répondent aux exigences précédentes sont déjà configurées pour communiquer des informations d'accès temporairesCodeCommit en votre nom.

Note

Vous pouvez configurer et utilisergit-remote-codecommit sur des instances Amazon EC2.

Pour accorder à des utilisateurs un accès temporaire à vos référentiels CodeCommit, procédez comme suit.

Étape 1 : Exécuter les prérequis

Suivez les étapes de configuration pour permettre à un utilisateur d'accéder à vos référentiels CodeCommit à l'aide de la rotation des informations d'identification :

Utilisez les informations indiquées dans Authentification et contrôle d'accès pour AWS CodeCommit pour spécifier les autorisations CodeCommit que vous voulez octroyer temporairement à l'utilisateur.

Étape 2 : obtenir le nom du rôle ou les informations d'accès

Si vous souhaitez que vos utilisateurs accèdent aux référentiels en assumant un rôle, fournissez-leur l'ARN (Amazon Resource Name) de ce rôle. Sinon, selon la façon dont vous configurez l'accès, l'utilisateur peut obtenir des informations d'identification rotatives de l'une des manières suivantes :

Étape 3 : Installationgit-remote-codecommit et configuration duAWS CLI

Vous devez configurer votre ordinateur local pour qu'il utilise les informations d'identification d'accès en installant git-remote-codecommit et en configurant un profil dans l'AWS CLI.

  1. Suivez les instructions de Configuration pour configurer l'AWS CLI. Utilisez la commande aws configure pour configurer un ou plusieurs profils. Envisagez de créer un profil nommé à utiliser lorsque vous vous connectez à des référentiels CodeCommit à l'aide d'informations d'identification rotatives.

  2. Vous pouvez associer les informations d'identification au profil nommé d'AWS CLI de l'utilisateur de l'une des manières suivantes.

    • Si vous assumez un rôle pour accéder à CodeCommit, configurez un profil nommé avec les informations requises pour assumer ce rôle. Par exemple, si vous souhaitez assumer un rôle nommé CodeCommitAccessdans le compte Amazon Web Services 1111111111, vous pouvez configurer un profil par défaut à utiliser lorsque vous travaillez avec d'autresAWS ressources et un profil nommé à utiliser lorsque vous assumez ce rôle. Les commandes suivantes créent un profil nommé CodeAccessqui assume un rôle nommé CodeCommitAccess. Le nom d'utilisateur Maria_Garcia est associé à la session et le profil par défaut est défini comme source de sesAWS informations d'identification :

      aws configure set role_arn arn:aws:iam::111111111111:role/CodeCommitAccess --profile CodeAccess aws configure set source_profile default --profile CodeAccess aws configure set role_session_name "Maria_Garcia" --profile CodeAccess

      Si vous souhaitez vérifier les modifications, affichez ou modifiez manuellement le fichier ~/.aws/config (pour Linux) ou le fichier %UserProfile%.aws\config (pour Windows) et examinez les informations sous le profil nommé. Votre fichier peut ressembler à l'exemple suivant :

      [default] region = us-east-1 output = json [profile CodeAccess] source_profile = default role_session_name = Maria_Garcia role_arn = arn:aws:iam::111111111111:role/CodeCommitAccess

      Après avoir configuré votre profil nommé, vous pouvez ensuite cloner des référentiels CodeCommit avec l'utilitaire git-remote-codecommit à l'aide du profil nommé. Par exemple, pour cloner un référentiel nommé MyDemoRepo :

      git clone codecommit://CodeAccess@MyDemoRepo
    • Si vous utilisez la fédération d'identités web et OpenID Connect (OIDC), configurez un profil nommé qui effectue l'appel d'API AWS Security Token Service (AWS STS) AssumeRoleWithWebIdentity en votre nom pour actualiser les informations d'identification temporaires. Utilisez la commande aws configure set ou modifiez manuellement le fichier ~/.aws/credentials (pour Linux) ou le fichier %UserProfile%.aws\credentials (pour Windows) pour ajouter un profil d'AWS CLI nommé avec les valeurs de paramètre requises. Par exemple, pour créer un profil qui assume le CodeCommitAccessrôle et utilise un fichier de jetons d'identité Web ~/ my-credentials/my-token-file:

      [CodeCommitWebIdentity] role_arn = arn:aws:iam::111111111111:role/CodeCommitAccess web_identity_token_file=~/my-credentials/my-token-file role_session_name = Maria_Garcia

    Pour plus d'informations, consultez la section ConfigurationAWS Command Line Interface et utilisation d'un rôle IAMAWS CLI dans le Guide deAWS Command Line Interface l'utilisateur.

Étape 4 : Accès auxCodeCommit référentiels

En supposant que l'utilisateur a suivi les instructions indiquées dans Connexion à un référentiel pour se connecter aux référentiels CodeCommit, puis qu'il utilise Git pour appeler git-remote-codecommit,git clone, git push et git pull afin d'effectuer des opérations de clonage, de transmission (push) et d'extraction (pull) sur les référentiels CodeCommit auxquels il a accès. Par exemple, pour cloner un référentiel :

git clone codecommit://CodeAccess@MyDemoRepo

Les commandes Git commit, push et pull utilisent la syntaxe Git régulière.

Lorsque l'utilisateur utilise l'AWS CLI et spécifie le profil nommé d'AWS CLI associé aux informations d'identification d'accès rotatives, les résultats correspondant à ce profil sont renvoyés.