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.
Identity and Access Management pour AWS CodeCommit
AWS Identity and Access Management (IAM) est un outil Service AWS qui permet à un administrateur de contrôler en toute sécurité l'accès aux AWS ressources. IAMles administrateurs contrôlent qui peut être authentifié (connecté) et autorisé (autorisé) à utiliser les CodeCommit ressources. IAMest un Service AWS outil que vous pouvez utiliser sans frais supplémentaires.
Rubriques
- Public ciblé
- Authentification par des identités
- Gestion des accès à l’aide de politiques
- Authentification et contrôle d'accès pour AWS CodeCommit
- Comment AWS CodeCommit fonctionne avec IAM
- CodeCommitPolitiques basées sur les ressources
- Autorisation basée sur les CodeCommit tags
- CodeCommit IAMrôles
- AWS CodeCommit exemples de politiques basées sur l'identité
- Résolution des problèmes AWS CodeCommit d'identité et d'accès
Public ciblé
La façon dont vous utilisez AWS Identity and Access Management (IAM) varie en fonction du travail que vous effectuez CodeCommit.
Utilisateur du service : si vous utilisez le CodeCommit service pour effectuer votre travail, votre administrateur vous fournit les informations d'identification et les autorisations dont vous avez besoin. Au fur et à mesure que vous utilisez de nouvelles CodeCommit fonctionnalités pour effectuer votre travail, vous aurez peut-être besoin d'autorisations supplémentaires. En comprenant bien la gestion des accès, vous saurez demander les autorisations appropriées à votre administrateur. Si vous ne parvenez pas à accéder à une fonctionnalité dans CodeCommit, consultezRésolution des problèmes AWS CodeCommit d'identité et d'accès.
Administrateur du service — Si vous êtes responsable des CodeCommit ressources de votre entreprise, vous avez probablement un accès complet à CodeCommit. C'est à vous de déterminer les CodeCommit fonctionnalités et les ressources auxquelles les utilisateurs de votre service doivent accéder. Vous devez ensuite envoyer des demandes à votre IAM administrateur pour modifier les autorisations des utilisateurs de votre service. Consultez les informations de cette page pour comprendre les concepts de base deIAM. Pour en savoir plus sur la manière dont votre entreprise peut utiliser IAM avec CodeCommit, voirComment AWS CodeCommit fonctionne avec IAM.
IAMadministrateur — Si vous êtes IAM administrateur, vous souhaiterez peut-être en savoir plus sur la manière dont vous pouvez rédiger des politiques pour gérer l'accès à CodeCommit. Pour consulter des exemples de politiques CodeCommit basées sur l'identité que vous pouvez utiliser dansIAM, consultez. AWS CodeCommit exemples de politiques basées sur l'identité
Authentification par des identités
L'authentification est la façon dont vous vous connectez à AWS l'aide de vos informations d'identification. Vous devez être authentifié (connecté à AWS) en tant que Utilisateur racine d'un compte AWS, en tant qu'IAMutilisateur ou en assumant un IAM rôle.
Vous pouvez vous connecter en AWS tant qu'identité fédérée en utilisant les informations d'identification fournies par le biais d'une source d'identité. AWS IAM Identity Center Les utilisateurs (IAMIdentity Center), l'authentification unique de votre entreprise et vos informations d'identification Google ou Facebook sont des exemples d'identités fédérées. Lorsque vous vous connectez en tant qu'identité fédérée, votre administrateur a préalablement configuré la fédération d'identité à l'aide de IAM rôles. Lorsque vous accédez à AWS l'aide de la fédération, vous assumez indirectement un rôle.
Selon le type d'utilisateur que vous êtes, vous pouvez vous connecter au portail AWS Management Console ou au portail AWS d'accès. Pour plus d'informations sur la connexion à AWS, consultez la section Comment vous connecter à votre compte Compte AWS dans le guide de Connexion à AWS l'utilisateur.
Si vous y accédez AWS par programmation, AWS fournit un kit de développement logiciel (SDK) et une interface de ligne de commande (CLI) pour signer cryptographiquement vos demandes à l'aide de vos informations d'identification. Si vous n'utilisez pas d' AWS outils, vous devez signer vous-même les demandes. Pour plus d'informations sur l'utilisation de la méthode recommandée pour signer vous-même les demandes, consultez la version 4 de AWS Signature pour les API demandes dans le guide de IAM l'utilisateur.
Quelle que soit la méthode d’authentification que vous utilisez, vous devrez peut-être fournir des informations de sécurité supplémentaires. Par exemple, il vous AWS recommande d'utiliser l'authentification multifactorielle (MFA) pour renforcer la sécurité de votre compte. Pour en savoir plus, voir Authentification multifactorielle dans le guide de l'AWS IAM Identity Center utilisateur et Authentification AWS multifactorielle IAM dans le guide de l'IAMutilisateur.
Compte AWS utilisateur root
Lorsque vous créez un Compte AWS, vous commencez par une identité de connexion unique qui donne un accès complet à toutes Services AWS les ressources du compte. Cette identité est appelée utilisateur Compte AWS root et est accessible en vous connectant avec l'adresse e-mail et le mot de passe que vous avez utilisés pour créer le compte. Il est vivement recommandé de ne pas utiliser l’utilisateur racine pour vos tâches quotidiennes. Protégez vos informations d’identification d’utilisateur racine et utilisez-les pour effectuer les tâches que seul l’utilisateur racine peut effectuer. Pour obtenir la liste complète des tâches qui nécessitent que vous vous connectiez en tant qu'utilisateur root, consultez la section Tâches nécessitant des informations d'identification utilisateur root dans le Guide de IAM l'utilisateur.
Utilisateurs et groupes IAM
Un IAMutilisateur est une identité au sein de vous Compte AWS qui possède des autorisations spécifiques pour une seule personne ou une seule application. Dans la mesure du possible, nous vous recommandons de vous appuyer sur des informations d'identification temporaires plutôt que de créer des IAM utilisateurs dotés d'informations d'identification à long terme, telles que des mots de passe et des clés d'accès. Toutefois, si vous avez des cas d'utilisation spécifiques qui nécessitent des informations d'identification à long terme auprès des IAM utilisateurs, nous vous recommandons de faire pivoter les clés d'accès. Pour plus d'informations, voir Rotation régulière des clés d'accès pour les cas d'utilisation nécessitant des informations d'identification à long terme dans le Guide de IAM l'utilisateur.
Un IAMgroupe est une identité qui définit un ensemble d'IAMutilisateurs. Vous ne pouvez pas vous connecter en tant que groupe. Vous pouvez utiliser les groupes pour spécifier des autorisations pour plusieurs utilisateurs à la fois. Les groupes permettent de gérer plus facilement les autorisations pour de grands ensembles d’utilisateurs. Par exemple, vous pouvez nommer un groupe IAMAdminset lui donner les autorisations nécessaires pour administrer IAM des ressources.
Les utilisateurs sont différents des rôles. Un utilisateur est associé de manière unique à une personne ou une application, alors qu’un rôle est conçu pour être endossé par tout utilisateur qui en a besoin. Les utilisateurs disposent d’informations d’identification permanentes, mais les rôles fournissent des informations d’identification temporaires. Pour en savoir plus, consultez la section Cas d'utilisation pour IAM les utilisateurs dans le Guide de IAM l'utilisateur.
IAMrôles
Un IAMrôle est une identité au sein de Compte AWS vous dotée d'autorisations spécifiques. Il est similaire à un IAM utilisateur, mais n'est pas associé à une personne en particulier. Pour assumer temporairement un IAM rôle dans le AWS Management Console, vous pouvez passer d'un rôle d'utilisateur à un IAM rôle (console). Vous pouvez assumer un rôle en appelant une AWS API opération AWS CLI or ou en utilisant une option personnaliséeURL. Pour plus d'informations sur les méthodes d'utilisation des rôles, consultez la section Méthodes pour assumer un rôle dans le Guide de IAM l'utilisateur.
IAMles rôles dotés d'informations d'identification temporaires sont utiles dans les situations suivantes :
-
Accès utilisateur fédéré : pour attribuer des autorisations à une identité fédérée, 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 plus d'informations sur les rôles pour la fédération, voir Création d'un rôle pour un fournisseur d'identité tiers dans le guide de IAM l'utilisateur. Si vous utilisez IAM Identity Center, vous configurez un ensemble d'autorisations. Pour contrôler les accès auxquels vos identités peuvent accéder après leur authentification, IAM Identity Center met en corrélation l'ensemble d'autorisations avec un rôle dans. IAM Pour plus d’informations sur les jeux d’autorisations, consultez Jeux d’autorisations dans le Guide de l’utilisateur AWS IAM Identity Center .
-
Autorisations IAM utilisateur temporaires : un IAM utilisateur ou un rôle peut assumer un IAM rôle afin d'obtenir temporairement différentes autorisations pour une tâche spécifique.
-
Accès entre comptes : vous pouvez utiliser un IAM rôle pour autoriser une personne (un mandant fiable) d'un autre compte à accéder aux ressources de votre compte. Les rôles constituent le principal moyen d’accorder l’accès intercompte. Toutefois, dans certains Services AWS cas, vous pouvez associer une politique directement à une ressource (au lieu d'utiliser un rôle comme proxy). Pour connaître la différence entre les rôles et les politiques basées sur les ressources pour l'accès entre comptes, voir Accès aux ressources entre comptes IAM dans le guide de l'IAMutilisateur.
-
Accès multiservices — Certains Services AWS utilisent des fonctionnalités dans d'autres Services AWS. Par exemple, lorsque vous effectuez un appel dans un service, il est courant que ce service exécute des applications dans Amazon EC2 ou stocke des objets dans Amazon S3. Un service peut le faire en utilisant les autorisations d’appel du principal, un rôle de service ou un rôle lié au service.
-
Sessions d'accès transmises (FAS) — Lorsque vous utilisez un IAM utilisateur ou un rôle pour effectuer des actions AWS, vous êtes considéré comme un mandant. Lorsque vous utilisez certains services, vous pouvez effectuer une action qui initie une autre action dans un autre service. FASutilise les autorisations du principal appelant an Service AWS, combinées à la demande Service AWS pour adresser des demandes aux services en aval. FASles demandes ne sont effectuées que lorsqu'un service reçoit une demande qui nécessite des interactions avec d'autres personnes Services AWS ou des ressources pour être traitée. Dans ce cas, vous devez disposer d’autorisations nécessaires pour effectuer les deux actions. Pour plus de détails sur les politiques relatives FAS aux demandes, consultez la section Transférer les sessions d'accès.
-
Rôle de service — Un rôle de service est un IAMrôle qu'un service assume pour effectuer des actions en votre nom. Un IAM administrateur peut créer, modifier et supprimer un rôle de service de l'intérieurIAM. Pour plus d'informations, consultez la section Création d'un rôle auquel déléguer des autorisations Service AWS dans le Guide de IAM l'utilisateur.
-
Rôle lié à un service — Un rôle lié à un service est un type de rôle de service lié à un. Service AWS Le service peut endosser le rôle afin d’effectuer une action en votre nom. Les rôles liés à un service apparaissent dans votre Compte AWS répertoire et appartiennent au service. Un IAM administrateur peut consulter, mais pas modifier les autorisations pour les rôles liés à un service.
-
-
Applications exécutées sur Amazon EC2 : vous pouvez utiliser un IAM rôle pour gérer les informations d'identification temporaires pour les applications qui s'exécutent sur une EC2 instance et qui AWS CLI soumettent des AWS API demandes. Cela est préférable au stockage des clés d'accès dans l'EC2instance. Pour attribuer un AWS rôle à une EC2 instance et le rendre disponible pour toutes ses applications, vous devez créer un profil d'instance attaché à l'instance. Un profil d'instance contient le rôle et permet aux programmes exécutés sur l'EC2instance d'obtenir des informations d'identification temporaires. Pour plus d'informations, consultez la section Utilisation d'un IAM rôle pour accorder des autorisations aux applications exécutées sur des EC2 instances Amazon dans le Guide de IAM l'utilisateur.
Gestion des accès à l’aide de politiques
Vous contrôlez l'accès en AWS créant des politiques et en les associant à AWS des identités ou à des ressources. Une politique est un objet AWS qui, lorsqu'il est associé à une identité ou à une ressource, définit leurs autorisations. AWS évalue ces politiques lorsqu'un principal (utilisateur, utilisateur root ou session de rôle) fait une demande. Les autorisations dans les politiques déterminent si la demande est autorisée ou refusée. La plupart des politiques sont stockées AWS sous forme de JSON documents. Pour plus d'informations sur la structure et le contenu des documents de JSON politique, voir Présentation des JSON politiques dans le guide de IAM l'utilisateur.
Les administrateurs peuvent utiliser AWS JSON des politiques pour spécifier qui a accès à quoi. C’est-à-dire, quel principal peut effectuer des actions sur quelles ressources et dans quelles conditions.
Par défaut, les utilisateurs et les rôles ne disposent d’aucune autorisation. Pour autoriser les utilisateurs à effectuer des actions sur les ressources dont ils ont besoin, un IAM administrateur peut créer des IAM politiques. L'administrateur peut ensuite ajouter les IAM politiques aux rôles, et les utilisateurs peuvent assumer les rôles.
IAMles politiques définissent les autorisations pour une action, quelle que soit la méthode que vous utilisez pour effectuer l'opération. Par exemple, supposons que vous disposiez d’une politique qui autorise l’action iam:GetRole
. Un utilisateur doté de cette politique peut obtenir des informations sur le rôle auprès du AWS Management Console AWS CLI, ou du AWS
API.
Politiques basées sur l’identité
Les politiques basées sur l'identité sont JSON des documents de politique d'autorisation que vous pouvez joindre à une identité, telle qu'un IAM utilisateur, un groupe d'utilisateurs ou un rôle. Ces politiques contrôlent quel type d’actions des utilisateurs et des rôles peuvent exécuter, sur quelles ressources et dans quelles conditions. Pour savoir comment créer une politique basée sur l'identité, voir Définir des IAM autorisations personnalisées avec des politiques gérées par le client dans le Guide de l'IAMutilisateur.
Les politiques basées sur l’identité peuvent être classées comme des politiques en ligne ou des politiques gérées. Les politiques en ligne sont intégrées directement à un utilisateur, groupe ou rôle. Les politiques gérées sont des politiques autonomes que vous pouvez associer à plusieurs utilisateurs, groupes et rôles au sein de votre Compte AWS. Les politiques gérées incluent les politiques AWS gérées et les politiques gérées par le client. Pour savoir comment choisir entre une politique gérée ou une politique intégrée, voir Choisir entre les politiques gérées et les politiques intégrées dans le Guide de l'IAMutilisateur.
Politiques basées sur les ressources
Les politiques basées sur les ressources sont des documents JSON de stratégie que vous attachez à une ressource. Les politiques de confiance dans les IAM rôles et les politiques relatives aux compartiments Amazon S3 sont des exemples de politiques basées sur les ressources. Dans les services qui sont compatibles avec les politiques basées sur les ressources, les administrateurs de service peuvent les utiliser pour contrôler l’accès à une ressource spécifique. Pour la ressource dans laquelle se trouve la politique, cette dernière définit quel type d’actions un principal spécifié peut effectuer sur cette ressource et dans quelles conditions. Vous devez spécifier un principal dans une politique basée sur les ressources. Les principaux peuvent inclure des comptes, des utilisateurs, des rôles, des utilisateurs fédérés ou. Services AWS
Les politiques basées sur les ressources sont des politiques en ligne situées dans ce service. Vous ne pouvez pas utiliser de politiques AWS gérées depuis une IAM stratégie basée sur les ressources.
Listes de contrôle d'accès (ACLs)
Les listes de contrôle d'accès (ACLs) contrôlent les principaux (membres du compte, utilisateurs ou rôles) autorisés à accéder à une ressource. ACLssont similaires aux politiques basées sur les ressources, bien qu'elles n'utilisent pas le format du document JSON de stratégie.
Amazon S3 et Amazon VPC sont des exemples de services compatiblesACLs. AWS WAF Pour en savoir plusACLs, consultez la présentation de la liste de contrôle d'accès (ACL) dans le guide du développeur Amazon Simple Storage Service.
Autres types de politique
AWS prend en charge d'autres types de politiques moins courants. Ces types de politiques peuvent définir le nombre maximum d’autorisations qui vous sont accordées par des types de politiques plus courants.
-
Limites d'autorisations — Une limite d'autorisations est une fonctionnalité avancée dans laquelle vous définissez le maximum d'autorisations qu'une politique basée sur l'identité peut accorder à une IAM entité (IAMutilisateur ou rôle). Vous pouvez définir une limite d’autorisations pour une entité. Les autorisations en résultant représentent la combinaison des politiques basées sur l’identité d’une entité et de ses limites d’autorisation. Les politiques basées sur les ressources qui spécifient l’utilisateur ou le rôle dans le champ
Principal
ne sont pas limitées par les limites d’autorisations. Un refus explicite dans l’une de ces politiques annule l’autorisation. Pour plus d'informations sur les limites d'autorisations, consultez la section Limites d'autorisations pour les IAM entités dans le Guide de IAM l'utilisateur. -
Politiques de contrôle des services (SCPs) : SCPs JSON politiques qui spécifient les autorisations maximales pour une organisation ou une unité organisationnelle (UO) dans AWS Organizations. AWS Organizations est un service permettant de regrouper et de gérer de manière centralisée Comptes AWS les multiples propriétés de votre entreprise. Si vous activez toutes les fonctionnalités d'une organisation, vous pouvez appliquer des politiques de contrôle des services (SCPs) à l'un ou à l'ensemble de vos comptes. Les SCP limites d'autorisations pour les entités présentes dans les comptes des membres, y compris chacune d'entre elles Utilisateur racine d'un compte AWS. Pour plus d'informations sur les OrganizationsSCPs, voir Politiques de contrôle des services dans le Guide de AWS Organizations l'utilisateur.
-
Politiques de séance : les politiques de séance sont des politiques avancées que vous utilisez en tant que paramètre lorsque vous créez par programmation une séance temporaire pour un rôle ou un utilisateur fédéré. Les autorisations de séance en résultant sont une combinaison des politiques basées sur l’identité de l’utilisateur ou du rôle et des politiques de séance. Les autorisations peuvent également provenir d’une politique basée sur les ressources. Un refus explicite dans l’une de ces politiques annule l’autorisation. Pour plus d'informations, consultez la section Politiques de session dans le guide de IAM l'utilisateur.
Plusieurs types de politique
Lorsque plusieurs types de politiques s’appliquent à la requête, les autorisations en résultant sont plus compliquées à comprendre. Pour savoir comment AWS déterminer s'il faut autoriser une demande lorsque plusieurs types de politiques sont impliqués, consultez la section Logique d'évaluation des politiques dans le guide de IAM l'utilisateur.
CodeCommitPolitiques basées sur les ressources
CodeCommit ne prend pas en charge les politiques basées sur les ressources.
Autorisation basée sur les CodeCommit tags
Vous pouvez associer des balises à CodeCommit des ressources ou transmettre des balises dans une demande à CodeCommit. Pour contrôler l’accès basé sur des étiquettes, vous devez fournir les informations d’étiquette dans l’élément de condition d’une politique utilisant les clés de condition codecommit:ResourceTag/
, key-name
aws:RequestTag/
ou key-name
aws:TagKeys
. Pour plus d'informations sur le balisage CodeCommit des ressources, consultezExemple 5 : refuser ou autoriser des actions sur des référentiels contenant des balises. Pour plus d'informations sur les stratégies de balisage, consultez la section Ressources de balisage. AWS
CodeCommit prend également en charge les politiques basées sur les balises de session. Pour de plus amples informations, veuillez consulter Balises de session.
Utilisation de balises pour fournir des informations d'identité dans CodeCommit
CodeCommit prend en charge l'utilisation de balises de session, qui sont des attributs de paires clé-valeur que vous transmettez lorsque vous assumez un IAM rôle, utilisez des informations d'identification temporaires ou fédérez un utilisateur dans AWS Security Token Service ().AWS STS Vous pouvez également associer des tags à un IAM utilisateur. Vous pouvez utiliser les informations fournies dans ces balises pour identifier plus facilement l'auteur d'une modification ou d'un événement. CodeCommit inclut les valeurs des balises portant les noms de clé suivants dans les CodeCommit événements :
Nom de la touche | Valeur |
---|---|
displayName |
Nom significatif à afficher et à associer à l'utilisateur (par exemple, Mary Major ou Saanvi Sarkar). |
emailAddress |
L'adresse e-mail que vous souhaitez afficher et associée à l'utilisateur (par exemple, mary_major@example.com ou saanvi_sarkar@example.com). |
Si ces informations sont fournies, CodeCommit incluez-les dans les événements envoyés à Amazon EventBridge et Amazon CloudWatch Events. Pour de plus amples informations, veuillez consulter Surveillance CodeCommit événements sur Amazon EventBridge et Amazon CloudWatch Events (Événements).
Pour utiliser le balisage de session, les rôles doivent avoir des stratégies qui incluent l'autorisation sts:TagSession
définie sur Allow
. Si vous utilisez l'accès fédéré, vous pouvez configurer les informations de nom d'affichage et de balise d'e-mail dans le cadre de votre configuration. Par exemple, si vous utilisez Azure Active Directory, vous pouvez fournir les informations de demande suivantes :
Nom de la demande | Valeur |
---|---|
https://aws.amazon.com/SAML/Attributes/PrincipalTag:displayNam e |
user.displayname |
https://aws.amazon.com/SAML/Attributes/PrincipalTag:emailAddress |
user.mail |
Vous pouvez utiliser le AWS CLI pour transmettre des balises de session pour displayName
et emailAddress
utiliserAssumeRole. Par exemple, un utilisateur qui souhaite assumer un rôle nommé Developer
qui veut associer son nom Mary Major
peut utiliser la assume-role commande similaire à la suivante :
aws sts assume-role \ --role-arn arn:aws:iam::
123456789012
:role/Developer
\ --role-session-nameMary-Major
\ –-tags Key=displayName,Value="Mary Major" Key=emailAddress,Value="mary_major@example.com" \ --external-id Example987
Pour plus d'informations, consultez AssumeRole.
Vous pouvez utiliser l'opération AssumeRoleWithSAML
pour renvoyer un ensemble d'informations d'identification temporaires qui incluent les balises displayName
et emailAddress
. Vous pouvez utiliser ces balises lorsque vous accédez à CodeCommit des référentiels. Cela nécessite que votre entreprise ou votre groupe ait déjà intégré votre SAML solution tierce à AWS. Dans ce cas, vous pouvez transmettre des SAML attributs sous forme de balises de session. Par exemple, si vous souhaitez transmettre des attributs d'identité pour un nom d'affichage et une adresse e-mail pour un utilisateur nommé Saanvi Sarkar
sous forme de balises de session :
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:displayName"> <AttributeValue>
Saanvi Sarkar
</AttributeValue> </Attribute> <Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:emailAddress"> <AttributeValue>saanvi_sarkar@example.com</AttributeValue> </Attribute>
Pour plus d'informations, consultez la section Transmission de balises de session à l'aide de AssumeRoleWithSAML.
Vous pouvez utiliser l'opération AssumeRoleWithIdentity
pour renvoyer un ensemble d'informations d'identification temporaires qui incluent les balises displayName
et emailAddress
. Vous pouvez utiliser ces balises lorsque vous accédez à CodeCommit des référentiels. Pour transmettre des balises de session depuis OpenID Connect (OIDC), vous devez inclure les balises de session dans le jeton JSON Web ()JWT. Par exemple, le JWP jeton décodé utilisé pour appeler AssumeRoleWithWebIdentity
qui inclut les balises de emailAddress
session displayName
et pour un utilisateur nommé Li
Juan
:
{ "sub": "lijuan", "aud": "ac_oic_client", "jti": "ZYUCeREXAMPLE", "iss": "https://xyz.com", "iat": 1566583294, "exp": 1566583354, "auth_time": 1566583292, "https://aws.amazon.com/tags": { "principal_tags": { "displayName": ["
Li Juan
"], "emailAddress": ["li_juan@example.com"], }, "transitive_tag_keys": [ "displayName", "emailAddress" ] } }
Pour plus d'informations, consultez la section Transmission de balises de session à l'aide de AssumeRoleWithWebIdentity.
Vous pouvez utiliser l'opération GetFederationToken
pour renvoyer un ensemble d'informations d'identification temporaires qui incluent les balises displayName
et emailAddress
. Vous pouvez utiliser ces balises lorsque vous accédez à CodeCommit des référentiels. Par exemple, pour utiliser le AWS CLI pour obtenir un jeton de fédération incluant les emailAddress
balises displayName
et :
aws sts get-federation-token \ --name my-federated-user \ –-tags key=displayName,value="Nikhil Jayashankar" key=emailAddress,value=nikhil_jayashankar@example.com
Pour plus d'informations, consultez la section Transmission de balises de session à l'aide de GetFederationToken.
CodeCommit IAMrôles
Un IAMrôle est une entité de votre compte Amazon Web Services dotée d'autorisations spécifiques.
Utilisation d'informations d'identification temporaires avec CodeCommit
Vous pouvez utiliser des informations d'identification temporaires pour vous connecter à la fédération, assumer un IAM rôle ou assumer un rôle entre comptes. Vous obtenez des informations d'identification de sécurité temporaires en appelant AWS STS API des opérations telles que AssumeRoleou GetFederationToken.
CodeCommit prend en charge l'utilisation d'informations d'identification temporaires. Pour de plus amples informations, veuillez consulter Connexion à desAWS CodeCommit référentiels avec des informations d'identification rotatives.
Rôles liés à un service
Les rôles liés aux AWS services permettent aux services d'accéder aux ressources d'autres services pour effectuer une action en votre nom. Les rôles liés au service apparaissent dans votre IAM compte et appartiennent au service. Un IAM administrateur peut consulter mais pas modifier les autorisations pour les rôles liés à un service.
CodeCommit n'utilise pas de rôles liés à un service.
Rôles de service
Cette fonction permet à un service d’endosser une fonction du service en votre nom. Ce rôle autorise le service à accéder à des ressources d’autres services pour effectuer une action en votre nom. Les rôles de service apparaissent dans votre IAM compte et sont détenus par le compte. Cela signifie qu'un IAM administrateur peut modifier les autorisations associées à ce rôle. Toutefois, une telle action peut perturber le bon fonctionnement du service.
CodeCommit n'utilise pas de rôles de service.
AWS CodeCommit exemples de politiques basées sur l'identité
Par défaut, IAM les utilisateurs et les rôles ne sont pas autorisés à créer ou à modifier CodeCommit des ressources. Ils ne peuvent pas non plus effectuer de tâches à l'aide du AWS Management Console AWS CLI, ou AWS API. Un IAM administrateur doit créer des IAM politiques qui accordent aux utilisateurs et aux rôles l'autorisation d'effectuer des API opérations spécifiques sur les ressources spécifiques dont ils ont besoin. L'administrateur doit ensuite associer ces politiques aux IAM utilisateurs ou aux groupes qui ont besoin de ces autorisations.
Pour consulter des exemples de stratégies, veuillez consulter les rubriques suivantes :
-
Exemple 2 : autoriser un utilisateur à utiliser Git pour un seul dépôt
-
Exemple 4 : refuser ou autoriser des actions sur les branches
-
Exemple 5 : refuser ou autoriser des actions sur des référentiels contenant des balises
-
Configuration de l'accès entre comptes à un AWS CodeCommit référentiel à l'aide de rôles
Pour savoir comment créer une politique IAM basée sur l'identité à l'aide de ces exemples de documents de JSON stratégie, voir Création de politiques dans l'JSONonglet du guide de l'IAMutilisateur.
Rubriques
Bonnes pratiques en matière de politiques
Les politiques basées sur l'identité déterminent si quelqu'un peut créer, accéder ou supprimer CodeCommit des ressources dans votre compte. Ces actions peuvent entraîner des frais pour votre Compte AWS. Lorsque vous créez ou modifiez des politiques basées sur l’identité, suivez ces instructions et recommandations :
-
Commencez AWS par les politiques gérées et passez aux autorisations du moindre privilège : pour commencer à accorder des autorisations à vos utilisateurs et à vos charges de travail, utilisez les politiques AWS gérées qui accordent des autorisations pour de nombreux cas d'utilisation courants. Ils sont disponibles dans votre Compte AWS. Nous vous recommandons de réduire davantage les autorisations en définissant des politiques gérées par les AWS clients spécifiques à vos cas d'utilisation. Pour plus d'informations, consultez les politiques AWS gérées ou les politiques AWS gérées pour les fonctions professionnelles dans le Guide de IAM l'utilisateur.
-
Appliquer les autorisations du moindre privilège : lorsque vous définissez des autorisations à IAM l'aide de politiques, accordez uniquement les autorisations nécessaires à l'exécution d'une tâche. Pour ce faire, vous définissez les actions qui peuvent être entreprises sur des ressources spécifiques dans des conditions spécifiques, également appelées autorisations de moindre privilège. Pour plus d'informations sur l'utilisation IAM pour appliquer des autorisations, consultez la section Politiques et autorisations IAM dans le guide de IAM l'utilisateur.
-
Utilisez des conditions dans IAM les politiques pour restreindre davantage l'accès : vous pouvez ajouter une condition à vos politiques pour limiter l'accès aux actions et aux ressources. Par exemple, vous pouvez rédiger une condition de politique pour spécifier que toutes les demandes doivent être envoyées en utilisantSSL. Vous pouvez également utiliser des conditions pour accorder l'accès aux actions de service si elles sont utilisées par le biais d'un service spécifique Service AWS, tel que AWS CloudFormation. Pour plus d'informations, voir Éléments IAM JSON de politique : Condition dans le guide de IAM l'utilisateur.
-
Utilisez IAM Access Analyzer pour valider vos IAM politiques afin de garantir des autorisations sécurisées et fonctionnelles. IAM Access Analyzer valide les politiques nouvelles et existantes afin qu'elles soient conformes au langage des IAM politiques (JSON) et IAM aux meilleures pratiques. IAMAccess Analyzer fournit plus de 100 vérifications des politiques et des recommandations exploitables pour vous aider à créer des politiques sécurisées et fonctionnelles. Pour plus d'informations, consultez la section Valider les politiques avec IAM Access Analyzer dans le guide de l'IAMutilisateur.
-
Exiger l'authentification multifactorielle (MFA) : si vous avez un scénario qui nécessite des IAM utilisateurs ou un utilisateur root Compte AWS, activez-le MFA pour une sécurité supplémentaire. Pour exiger le MFA moment où les API opérations sont appelées, ajoutez MFA des conditions à vos politiques. Pour plus d'informations, consultez la section APIAccès sécurisé avec MFA dans le guide de IAM l'utilisateur.
Pour plus d'informations sur les meilleures pratiques en matière de sécuritéIAM, consultez la section Bonnes pratiques en matière de sécurité IAM dans le Guide de IAM l'utilisateur.
Utilisation de la CodeCommit console
Pour accéder à la AWS CodeCommit console, vous devez disposer d'un ensemble minimal d'autorisations. Ces autorisations doivent vous permettre de répertorier et d'afficher les informations relatives CodeCommit aux ressources de votre compte Amazon Web Services. Si vous créez une politique basée sur l'identité qui est plus restrictive que les autorisations minimales requises, la console ne fonctionnera pas comme prévu pour les entités (IAMutilisateurs ou rôles) dotées de cette politique.
Pour garantir que ces entités peuvent toujours utiliser la CodeCommit console, associez également la politique AWS gérée suivante aux entités. Pour plus d'informations, consultez la section Ajouter des autorisations à un utilisateur dans le guide de IAM l'utilisateur :
Pour de plus amples informations, veuillez consulter Utilisation de politiques basées sur l'identité (IAMpolitiques) pour CodeCommit.
Il n'est pas nécessaire d'accorder des autorisations de console minimales aux utilisateurs qui appellent uniquement le AWS CLI ou le AWS API. Au lieu de cela, autorisez uniquement l'accès aux actions correspondant à l'APIopération que vous essayez d'effectuer.
Autorisation accordée aux utilisateurs pour afficher leurs propres autorisations
Cet exemple montre comment créer une politique qui permet aux IAM utilisateurs de consulter les politiques intégrées et gérées associées à leur identité d'utilisateur. Cette politique inclut les autorisations permettant d'effectuer cette action sur la console ou par programmation à l'aide du AWS CLI ou. AWS API
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }
Visualisation CodeCommit repositories
basé sur des tags
Vous pouvez utiliser des conditions dans votre politique basée sur l'identité pour contrôler l'accès aux CodeCommit ressources en fonction de balises. Pour obtenir un exemple de stratégie illustrant la procédure à suivre, veuillez consulter Exemple 5 : refuser ou autoriser des actions sur des référentiels contenant des balises.
Pour plus d'informations, voir Éléments IAM JSON de politique : condition dans le guide de IAM l'utilisateur.
Résolution des problèmes AWS CodeCommit d'identité et d'accès
Utilisez les informations suivantes pour vous aider à diagnostiquer et à résoudre les problèmes courants que vous pouvez rencontrer lorsque vous travaillez avec CodeCommit etIAM.
Rubriques
- Je ne suis pas autorisé à effectuer une action dans CodeCommit
- Je ne suis pas autorisé à effectuer iam : PassRole
- Je veux afficher mes clés d'accès
- Je suis administrateur et je souhaite autoriser d'autres personnes à accéder CodeCommit
- Je souhaite autoriser des personnes extérieures à mon compte Amazon Web Services à accéder à mes CodeCommit ressources
Je ne suis pas autorisé à effectuer une action dans CodeCommit
S'il vous AWS Management Console indique que vous n'êtes pas autorisé à effectuer une action, vous devez contacter votre administrateur pour obtenir de l'aide. Votre administrateur est la personne qui vous a fourni vos informations de connexion.
Pour plus d’informations, consultez Autorisations requises pour utiliser la console CodeCommit.
Je ne suis pas autorisé à effectuer iam : PassRole
Si vous recevez un message d'erreur indiquant que vous n'êtes pas autorisé à effectuer l'iam:PassRole
action, vos politiques doivent être mises à jour pour vous permettre de transmettre un rôle CodeCommit.
Certains vous Services AWS permettent de transmettre un rôle existant à ce service au lieu de créer un nouveau rôle de service ou un rôle lié à un service. Pour ce faire, un utilisateur doit disposer des autorisations nécessaires pour transmettre le rôle au service.
L'exemple d'erreur suivant se produit lorsqu'un IAM utilisateur nommé marymajor
essaie d'utiliser la console pour effectuer une action dans CodeCommit. Toutefois, l’action nécessite que le service ait des autorisations accordées par un rôle de service. Mary ne dispose pas des autorisations nécessaires pour transférer le rôle au service.
User: arn:aws:iam::123456789012:user/
marymajor
is not authorized to perform: iam:PassRole
Dans ce cas, les politiques de Mary doivent être mises à jour pour lui permettre d’exécuter l’action iam:PassRole
.
Si vous avez besoin d'aide, contactez votre AWS administrateur. Votre administrateur vous a fourni vos informations de connexion.
Je veux afficher mes clés d'accès
Après avoir créé vos clés IAM d'accès utilisateur, vous pouvez consulter l'identifiant de votre clé d'accès à tout moment. Toutefois, vous ne pouvez pas revoir votre clé d’accès secrète. Si vous perdez votre clé d'accès secrète, vous devez créer une nouvelle paire de clés.
Les clés d'accès se composent de deux parties : un ID de clé d'accès (par exemple, AKIAIOSFODNN7EXAMPLE
) et une clé d'accès secrète (par exemple, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
). À l'instar d'un nom d'utilisateur et un mot de passe, vous devez utiliser à la fois l'ID de clé d'accès et la clé d'accès secrète pour authentifier vos demandes. Gérez vos clés d'accès de manière aussi sécurisée que votre nom d'utilisateur et votre mot de passe.
Important
Ne communiquez pas vos clés d'accès à un tiers, même pour qu'il vous aide à trouver votre ID utilisateur canonique. Ce faisant, vous pourriez donner à quelqu'un un accès permanent à votre Compte AWS.
Lorsque vous créez une paire de clé d'accès, enregistrez l'ID de clé d'accès et la clé d'accès secrète dans un emplacement sécurisé. La clé d'accès secrète est accessible uniquement au moment de sa création. Si vous perdez votre clé d'accès secrète, vous devez ajouter de nouvelles clés d'accès à votre IAM utilisateur. Vous pouvez avoir un maximum de deux clés d'accès. Si vous en avez déjà deux, vous devez supprimer une paire de clés avant d'en créer une nouvelle. Pour consulter les instructions, reportez-vous à la section Gestion des clés d'accès dans le guide de IAM l'utilisateur.
Je suis administrateur et je souhaite autoriser d'autres personnes à accéder CodeCommit
Pour autoriser d'autres personnes à y accéder CodeCommit, vous devez accorder l'autorisation aux personnes ou aux applications qui ont besoin d'y accéder. Si vous utilisez AWS IAM Identity Center pour gérer des personnes et des applications, vous attribuez des ensembles d'autorisations aux utilisateurs ou aux groupes afin de définir leur niveau d'accès. Les ensembles d'autorisations créent et attribuent automatiquement des IAM politiques aux IAM rôles associés à la personne ou à l'application. Pour plus d'informations, consultez la section Ensembles d'autorisations dans le guide de AWS IAM Identity Center l'utilisateur.
Si vous n'utilisez pas IAM Identity Center, vous devez créer des IAM entités (utilisateurs ou rôles) pour les personnes ou les applications qui ont besoin d'un accès. Vous devez ensuite associer une politique à l'entité qui lui accorde les autorisations appropriées CodeCommit. Une fois les autorisations accordées, fournissez les informations d'identification à l'utilisateur ou au développeur de l'application. Ils utiliseront ces informations d'identification pour y accéder AWS. Pour en savoir plus sur la création d'IAMutilisateurs, de groupes, de politiques et d'autorisations, consultez la section IAMIdentités, politiques et autorisations IAM dans le guide de IAM l'utilisateur.
Je souhaite autoriser des personnes extérieures à mon compte Amazon Web Services à accéder à mes CodeCommit ressources
Pour de plus amples informations, veuillez consulter Configuration de l'accès entre comptes à un AWS CodeCommit référentiel à l'aide de rôles.