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 :
-
Vous êtes connecté à une instance Amazon EC2.
-
Vous utilisez Git et HTTPS avec l'assistantAWS CLI d'identification pour vous connecter à desCodeCommit référentiels depuis l'instance Amazon EC2.
-
L'instance Amazon EC2 possède un profil d'instance IAM joint qui contient les autorisations d'accès décrites dansPour les connexions HTTPS sous Linux, macOS ou Unix avec leAWS CLIassistant d'identification ouPour les connexions HTTPS sous Windows avecAWS CLIassistant d'identification.
-
Vous avez installé et configuré l'assistant d'identification Git sur l'instance Amazon EC2, comme décrit dansPour les connexions HTTPS sous Linux, macOS ou Unix avec leAWS CLIassistant d'identification ouPour les connexions HTTPS sous Windows avecAWS CLIassistant d'identification.
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 :
-
Pour l'accès entre comptes, consultez Procédure pas à pas : Délégation de l'accès entre comptes Amazon Web Services à l'aide de rôles IAM etConfiguration de l'accès entre comptes à un AWS CodeCommit référentiel à l'aide de rôles.
-
Pour SAML et la fédération, consultez Utilisation du système d'authentification de votre organisation pour accorder l'accès aux ressources AWS et À propos de la fédération SAML 2.0 AWS STS.
-
Pour l'authentification multifactorielle, consultez la section Utilisation de périphériques d'authentification multifactorielle (MFA)AWS et création d'informations d'identification de sécurité temporaires pour permettre l'accès aux utilisateurs IAM.
-
Pour Login with Amazon, Amazon Cognito, Facebook, Google ou tout autre fournisseur d'identité compatible avec OIDC, consultez À propos deAWS STS Web Identity Federation.
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 :
-
Pour accéder à plusieurs comptes, appelez la commandeAWS CLI assume-role ou appelez l'AWS STSAssumeRoleAPI.
-
Pour SAML, appelez laAWS CLI assume-role-with-samlcommande ou l'APIAWS STS AssumeRoleWithSAML.
-
Pour la fédération, appelez les get-federation-tokencommandesAWS CLI assume-roleAWS STSAssumeRoleou les GetFederationTokenAPI.
-
Pour le MFA, appelez laAWS CLI get-session-tokencommande ou l'AWS STSGetSessionTokenAPI.
-
Pour Login with Amazon, Amazon Cognito, Facebook, Google ou tout autre fournisseur d'identité compatible OIDC, appelez la commandeAWS CLI assume-role-with-web-identity ou l'AWS STSAssumeRoleWithWebIdentityAPI.
É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
-
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.
-
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é
CodeCommitAccess
dans 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éCodeAccess
qui assume un rôle nomméCodeCommitAccess
. Le nom d'utilisateurMaria_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
--profileCodeAccess
aws configure set source_profile default --profileCodeAccess
aws configure set role_session_name "Maria_Garcia
" --profileCodeAccess
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 leCodeCommitAccess
rô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=~/
role_session_name = Maria_Garciamy-credentials
/my-token-file
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.