View a markdown version of this page

Comment AWS CodePipeline fonctionne avec IAM - AWS CodePipeline

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.

Comment AWS CodePipeline fonctionne avec IAM

Avant d'utiliser IAM pour gérer l'accès à CodePipeline, vous devez connaître les fonctionnalités IAM disponibles. CodePipeline Pour obtenir une vue d'ensemble de la manière dont IAM fonctionne CodePipeline et Services AWS des autres fonctionnalités, consultez Services AWS la section relative à l'utilisation d'IAM dans le Guide de l'utilisateur d'IAM.

CodePipeline politiques basées sur l'identité

Avec les politiques basées sur l'identité IAM, vous pouvez spécifier des actions et ressources autorisées ou refusées, ainsi que les conditions dans lesquelles les actions sont autorisées ou refusées. CodePipeline prend en charge des actions, ressources et clés de condition spécifiques. Pour en savoir plus sur tous les éléments que vous utilisez dans une politique JSON, consultez Références des éléments de politique JSON IAM dans le Guide de l’utilisateur IAM.

Actions

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel principal peut effectuer des actions sur quelles ressources et dans quelles conditions.

L’élément Action d’une politique JSON décrit les actions que vous pouvez utiliser pour autoriser ou refuser l’accès à une politique. Intégration d’actions dans une politique afin d’accorder l’autorisation d’exécuter les opérations associées.

Les actions de politique en CodePipeline cours utilisent le préfixe suivant avant l'action :codepipeline:.

Par exemple, pour accorder à quelqu'un l'autorisation d'afficher les pipelines existants dans le compte, vous incluez l'action codepipeline:GetPipeline dans sa stratégie. Les déclarations de politique doivent inclure un NotAction élément Action ou. CodePipeline définit son propre ensemble d'actions décrivant les tâches que vous pouvez effectuer avec ce service.

Pour spécifier plusieurs actions dans une seule déclaration, séparez-les par des virgules comme suit :

"Action": [ "codepipeline:action1", "codepipeline:action2"

Vous pouvez aussi spécifier plusieurs actions à l’aide de caractères génériques (*). Par exemple, pour spécifier toutes les actions qui commencent par le mot Get, incluez l’action suivante :

"Action": "codepipeline:Get*"

Pour obtenir la liste des CodePipeline actions, reportez-vous à la section Actions définies par AWS CodePipeline dans le guide de l'utilisateur IAM.

Ressources

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel principal peut effectuer des actions sur quelles ressources et dans quelles conditions.

L’élément de politique JSON Resource indique le ou les objets auxquels l’action s’applique. Il est recommandé de définir une ressource à l’aide de son Amazon Resource Name (ARN). Pour les actions qui ne sont pas compatibles avec les autorisations de niveau ressource, utilisez un caractère générique (*) afin d’indiquer que l’instruction s’applique à toutes les ressources.

"Resource": "*"

ressources et opérations

Dans , la principale ressource est le pipeline. Dans votre stratégie, vous utilisez un nom Amazon Resource Name (ARN) pour identifier la ressource à laquelle la stratégie s'applique. prend en charge d'autres ressources qui peuvent être utilisées avec la ressource principale, telles que les étapes, les actions et les actions personnalisées. Celles-ci sont appelées sous-ressources. Ces ressources et sous-ressources sont associées à des noms de ressources Amazon uniques (ARNs). Pour plus d'informations sur ARNs, consultez Amazon Resource Names (ARN) et les Service AWS espaces de noms dans le Référence générale d'Amazon Web Services. Pour obtenir l'ARN du pipeline associé à votre pipeline, vous pouvez le trouver sous Paramètres de la console. Pour de plus amples informations, veuillez consulter Afficher l'ARN du pipeline et l'ARN du rôle de service (console).

Type de ressource Format ARN

Pipeline

arn:aws:codepipeline : : region account pipeline-name

Étape

arn:aws:codepipeline : : :/regionaccountpipeline-namestage-name

Action

arn:aws:codepipeline : : :/regionaccountpipeline-namestage-nameaction-name

Action personnalisée arn:aws:codepipeline : ::actiontype :///regionaccountownercategoryproviderversion

Toutes les ressources

arn:aws:codepipeline : *

Toutes les ressources appartenant au compte spécifié dans la région indiquée

arn:aws:codepipeline : : : * region account

Note

La plupart des services AWS traitent deux points (:)) ou une barre oblique (/) comme le même caractère dans ARNs. Cependant, recherche une correspondance exacte dans les modèles et règles d'événements. Veillez à utiliser les caractères ARN corrects lors de la création de modèles d'événements afin qu'ils correspondent à la syntaxe ARN dans le pipeline que vous souhaitez faire correspondre.

Dans , des appels d'API sont présents qui prennent en charge les autorisations au niveau des ressources. Les autorisations au niveau des ressources indiquent si un appel d'API peut spécifier une ressource ARN, ou s'il peut uniquement spécifier toutes les ressources à l'aide du caractère générique. Consultez référence des autorisations pour obtenir une description détaillée des autorisations au niveau des ressources et une liste des appels d' CodePipeline API qui prennent en charge les autorisations au niveau des ressources.

Par exemple, vous pouvez indiquer un pipeline (myPipeline) spécifique dans votre instruction à l'aide de son ARN comme suit :

"Resource": "arn:aws:codepipeline:us-east-2:111222333444:myPipeline"

Vous pouvez aussi spécifier tous les pipelines qui appartiennent à un compte spécifique à l'aide du caractère générique (*) comme suit :

"Resource": "arn:aws:codepipeline:us-east-2:111222333444:*"

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

"Resource": "*"
Note

Lorsque vous créez des politiques IAM, suivez les conseils de sécurité standard qui consistent à accorder le moindre privilège, c'est-à-dire à n'accorder que les autorisations nécessaires à l'exécution d'une tâche. Si un appel d'API est compatible ARNs, il prend en charge les autorisations au niveau des ressources et vous n'avez pas besoin d'utiliser le caractère générique (*).

Certains appels d'API acceptent plusieurs ressources (par exemple,GetPipeline). Pour spécifier plusieurs ressources dans une seule instruction, séparez-les ARNs par des virgules, comme suit :

"Resource": ["arn1", "arn2"]

fournit un ensemble d'opérations permettant de travailler avec les ressources. Pour obtenir la liste des opérations disponibles, consultez référence des autorisations.

Clés de condition

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel principal peut effectuer des actions sur quelles ressources et dans quelles conditions.

L’élément Condition indique à quel moment les instructions s’exécutent en fonction de critères définis. Vous pouvez créer des expressions conditionnelles qui utilisent des opérateurs de condition, tels que les signes égal ou inférieur à, pour faire correspondre la condition de la politique aux valeurs de la demande. Pour voir toutes les clés de condition AWS globales, voir les clés de contexte de condition AWS globales dans le guide de l'utilisateur IAM.

CodePipeline définit son propre ensemble de clés de condition et prend également en charge l'utilisation de certaines clés de condition globales. Pour voir toutes les clés de condition AWS globales, consultez la section Clés contextuelles de condition AWS globale dans le guide de l'utilisateur IAM.

Toutes les actions Amazon EC2 prennent en charge les clés de condition aws:RequestedRegion et ec2:Region. Pour plus d’informations, consultez Exemple : restriction de l’accès à une région spécifique.

Pour consulter la liste des clés de CodePipeline condition, reportez-vous à la section Clés de AWS CodePipeline condition du guide de l'utilisateur IAM. Pour savoir avec quelles actions et ressources vous pouvez utiliser une clé de condition, voir Actions définies par AWS CodePipeline.

Exemples

Pour consulter des exemples de politiques CodePipeline basées sur l'identité, consultez. AWS CodePipeline exemples de politiques basées sur l'identité

CodePipeline politiques basées sur les ressources

CodePipeline ne prend pas en charge les politiques basées sur les ressources. Cependant, un exemple de politique basée sur les ressources pour le service S3 associé CodePipeline est fourni.

Exemples

Pour consulter des exemples de politiques CodePipeline basées sur les ressources, voir AWS CodePipeline exemples de politiques basées sur les ressources

Autorisation basée sur les CodePipeline tags

Vous pouvez associer des balises à CodePipeline des ressources ou transmettre des balises dans une demande à CodePipeline. 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 codepipeline:ResourceTag/key-name, aws:RequestTag/key-name ou aws:TagKeys. Pour plus d’informations sur le balisage des ressources CodePipeline , consultez Balisage des ressources.

Pour afficher un exemple de stratégie basée sur l'identité permettant de limiter l'accès à une ressource basée sur les balises de cette ressource, veuillez consulter Utilisation de balises pour contrôler l'accès aux CodePipeline ressources.

CodePipeline Rôles IAM

Un rôle IAM est une entité de votre AWS compte dotée d'autorisations spécifiques.

Utilisation d'informations d'identification temporaires avec CodePipeline

Vous pouvez utiliser des informations d’identification temporaires pour vous connecter à l’aide de la fédération, endosser un rôle IAM ou encore pour endosser un rôle intercompte. Vous obtenez des informations d'identification de sécurité temporaires en appelant des opérations d' AWS STS API telles que AssumeRoleou GetFederationToken.

CodePipeline prend en charge l'utilisation d'informations d'identification temporaires.

Rôles du service

CodePipeline permet à un service d'assumer un rôle de 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 s’affichent dans votre compte IAM et sont la propriété du compte. Cela signifie qu’un administrateur IAM peut modifier les autorisations associées à ce rôle. Toutefois, une telle action peut perturber le bon fonctionnement du service.

CodePipeline soutient les rôles de service.