Vue d'ensemble de la gestion des autorisations d'accès à vos AWS CodeBuild ressources - AWS CodeBuild

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.

Vue d'ensemble de la gestion des autorisations d'accès à vos AWS CodeBuild ressources

Chaque AWS ressource appartient à un AWS compte, et les autorisations de création ou d'accès à une ressource sont régies par des politiques d'autorisation. Un administrateur de compte peut associer des politiques d'autorisation aux IAM identités (c'est-à-dire aux utilisateurs, aux groupes et aux rôles).

Note

Un administrateur de compte (ou utilisateur administrateur) est un utilisateur doté des privilèges d’administrateur. Pour plus d'informations, consultez la section IAMBonnes pratiques du guide de IAM l'utilisateur.

Lorsque vous accordez des autorisations, vous décidez qui obtient les autorisations, les ressources auxquelles elles peuvent accéder et les actions pouvant être effectuées sur ces ressources.

AWS CodeBuild ressources et opérations

Dans AWS CodeBuild, la ressource principale est un projet de construction. Dans une politique, vous utilisez un Amazon Resource Name (ARN) pour identifier la ressource à laquelle la politique s'applique. Les builds sont également des ressources auxquelles ils sont ARNs associés. Pour plus d'informations, consultez les sections Amazon Resource Names (ARN) et AWS Service Namespaces dans le Référence générale d'Amazon Web Services.

Type de ressource ARNformat
Projet de génération

arn:aws:codebuild:region-ID:account-ID:project/project-name

Génération

arn:aws:codebuild:region-ID:account-ID:build/build-ID

Groupe de rapports arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name
Rapport arn:aws:codebuild:region-ID:account-ID:report/report-ID
Flotte

arn:aws:codebuild:region-ID:account-ID:fleet/fleet-ID

Toutes les CodeBuild ressources

arn:aws:codebuild:*

Toutes les CodeBuild ressources détenues par le compte spécifié dans la AWS région spécifiée

arn:aws:codebuild:region-ID:account-ID:*

Important

Lorsque vous utilisez la fonctionnalité de capacité réservée, les données mises en cache sur les instances de flotte, y compris les fichiers source, les couches Docker et les répertoires mis en cache spécifiés dans les spécifications de construction, peuvent être accessibles aux autres projets du même compte. Cela est intentionnel et permet aux projets au sein d'un même compte de partager des instances de flotte.

Note

La plupart AWS des services traitent deux points (:)) ou une barre oblique (/) comme le même caractère dansARNs. Cependant, CodeBuild utilise une correspondance exacte dans les modèles de ressources et les règles. Veillez à utiliser les bons caractères lorsque vous créez des modèles d'événements afin qu'ils correspondent à la ARN syntaxe de la ressource.

Par exemple, vous pouvez indiquer un projet de construction spécifique (myBuildProject) dans votre déclaration en utilisant ARN le code suivant :

"Resource": "arn:aws:codebuild:us-east-2:123456789012:project/myBuildProject"

Pour spécifier toutes les ressources, ou si une API action n'est pas compatibleARNs, utilisez le caractère générique (*) dans l'Resourceélément comme suit :

"Resource": "*"

Certaines CodeBuild API actions acceptent plusieurs ressources (par exemple,BatchGetProjects). Pour spécifier plusieurs ressources dans une seule instruction, séparez-les ARNs par des virgules, comme suit :

"Resource": [ "arn:aws:codebuild:us-east-2:123456789012:project/myBuildProject", "arn:aws:codebuild:us-east-2:123456789012:project/myOtherBuildProject" ]

CodeBuild fournit un ensemble d'opérations permettant de travailler avec les CodeBuild ressources. Pour en obtenir la liste, veuillez consulter AWS CodeBuild référence aux autorisations.

Présentation de la propriété des ressources

Le AWS compte possède les ressources créées dans le compte, quelle que soit la personne qui les a créées. Plus précisément, le propriétaire de la ressource est le AWS compte de l'entité principale (c'est-à-dire le compte root, un utilisateur ou un IAM rôle) qui authentifie la demande de création de ressource. Les exemples suivants illustrent comment cela fonctionne :

  • Si vous utilisez les informations d'identification du compte root de votre AWS compte pour créer une règle, votre AWS compte est le propriétaire de la CodeBuild ressource.

  • Si vous créez un utilisateur dans votre AWS compte et que vous accordez l'autorisation de créer CodeBuild des ressources à cet utilisateur, celui-ci peut créer CodeBuild des ressources. Cependant, votre AWS compte, auquel appartient l'utilisateur, est propriétaire des CodeBuild ressources.

  • Si vous créez un IAM rôle dans votre AWS compte avec l'autorisation de créer des CodeBuild ressources, toute personne habilitée à assumer ce rôle peut créer CodeBuild des ressources. Votre AWS compte, auquel appartient le rôle, est propriétaire des CodeBuild ressources.

Gestion de l’accès aux ressources

Une politique d'autorisations décrit qui a accès à quelles ressources.

Note

Cette section traite de l'utilisation de IAM in AWS CodeBuild. Il ne fournit pas d'informations détaillées sur le IAM service. Pour une IAM documentation complète, voir Qu'est-ce que c'est IAM ? dans le guide de IAM l'utilisateur. Pour plus d'informations sur la syntaxe et les descriptions des IAM politiques, reportez-vous à la section Référence des AWS IAM politiques dans le Guide de IAM l'utilisateur.

Les politiques associées à une IAM identité sont appelées politiques basées sur l'identité (IAMpolitiques). Les politiques associées à une ressource sont appelées politiques basées sur les ressources. CodeBuild prend en charge les politiques basées sur l'identité et les politiques basées sur les ressources pour certaines applications en lecture seule à des fins de APIs partage de ressources entre comptes.

Accès sécurisé aux compartiments S3

Nous vous recommandons vivement d'inclure les autorisations suivantes dans votre IAM rôle afin de vérifier que le compartiment S3 associé à votre CodeBuild projet est votre propriété ou celle d'une personne de confiance. Ces autorisations ne sont pas incluses dans les politiques et les rôles AWS gérés. Vous devez les ajouter vous-même.

  • s3:GetBucketAcl

  • s3:GetBucketLocation

Si le propriétaire d'un compartiment S3 utilisé par votre projet change, vous devez vérifier que vous êtes toujours propriétaire du compartiment et mettre à jour les autorisations associées à votre IAM rôle dans le cas contraire. Pour plus d’informations, consultez Permettre aux utilisateurs d'interagir avec CodeBuild et CodeBuild Autoriser l'interaction avec d'autres AWS services.

Spécification des éléments d'une politique : actions, effets et mandataires

Pour chaque AWS CodeBuild ressource, le service définit un ensemble d'APIopérations. Pour accorder des autorisations pour ces API opérations, CodeBuild définit un ensemble d'actions que vous pouvez spécifier dans une politique. Certaines API opérations peuvent nécessiter des autorisations pour plusieurs actions afin d'effectuer l'APIopération. Pour plus d’informations, consultez AWS CodeBuild ressources et opérations et AWS CodeBuild référence aux autorisations.

Voici les éléments de base d’une politique :

  • Ressource : vous utilisez un Amazon Resource Name (ARN) pour identifier la ressource à laquelle la politique s'applique.

  • Action : vous utilisez des mots clés d'action pour identifier les opérations sur les ressources que vous souhaitez autoriser ou refuser. Par exemple, l'autorisation codebuild:CreateProject autorise l'utilisateur à effectuer l'opération CreateProject.

  • Effet : vous spécifiez l'effet, qu'il s'agisse d'autoriser ou de refuser, lorsque l'utilisateur demande l'action. Si vous n’accordez pas explicitement l’accès pour (autoriser) une ressource, l’accès est implicitement refusé. Vous pouvez également explicitement refuser l'accès à une ressource. Vous pouvez le faire afin de vous assurer qu'un utilisateur n'y a pas accès, même si une stratégie différente accorde cet accès.

  • Principal — Dans les politiques basées sur l'identité (IAMpolitiques), l'utilisateur auquel la politique est attachée est le principal implicite. Pour les politiques basées sur une ressource, vous spécifiez l'utilisateur, le compte, le service ou une autre entité qui doit recevoir les autorisations.

Pour en savoir plus sur la syntaxe et les descriptions des IAM politiques, consultez la section Référence des AWS IAM politiques dans le guide de IAM l'utilisateur.

Pour un tableau présentant toutes les CodeBuild API actions et les ressources auxquelles elles s'appliquent, consultez leAWS CodeBuild référence aux autorisations.