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 IAM de gérer l'accès à CodePipeline, vous devez connaître les IAM fonctionnalités disponibles CodePipeline. Pour obtenir une vue d'ensemble de la méthode CodePipeline et des autres Services AWS outils compatiblesIAM, consultez la section relative à Services AWS cette fonctionnalité IAM dans le guide de IAM l'utilisateur.

CodePipelinepolitiques basées sur l'identité

Avec les politiques IAM basées sur l'identité, vous pouvez spécifier les actions et les 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, des ressources et des clés de condition spécifiques. Pour en savoir plus sur tous les éléments que vous utilisez dans une JSON politique, consultez la section Référence des éléments de IAM JSON stratégie dans le guide de IAM l'utilisateur.

Actions

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.

L'Actionélément d'une JSON politique décrit les actions que vous pouvez utiliser pour autoriser ou refuser l'accès dans une politique. Les actions de stratégie portent généralement le même nom que l' AWS APIopération associée. Il existe certaines exceptions, telles que les actions avec autorisation uniquement qui n'ont pas d'opération correspondante. API Certaines opérations nécessitent également plusieurs actions dans une politique. Ces actions supplémentaires sont nommées actions dépendantes.

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 IAM l'utilisateur.

Ressources

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.

L'élément Resource JSON de stratégie indique le ou les objets auxquels s'applique l'action. Les instructions doivent inclure un élément Resource ou NotResource. Il est recommandé de spécifier une ressource en utilisant son Amazon Resource Name (ARN). Vous pouvez le faire pour des actions qui prennent en charge un type de ressource spécifique, connu sous la dénomination autorisations de niveau ressource.

Pour les actions qui ne sont pas compatibles avec les autorisations de niveau ressource, telles que les opérations de liste, utilisez un caractère générique (*) afin d’indiquer que l’instruction s’applique à toutes les ressources.

"Resource": "*"

CodePipeline ressources et opérations

Dans CodePipeline, la ressource principale est un pipeline. Dans une politique, vous utilisez un Amazon Resource Name (ARN) pour identifier la ressource à laquelle la politique s'applique. CodePipeline 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'informationsARNs, 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 le pipeline ARN associé à votre pipeline, vous pouvez le trouver ARN sous Paramètres dans la console. Pour de plus amples informations, veuillez consulter Afficher le pipeline ARN et le rôle du service ARN (console).

Type de ressource ARNFormat

Pipeline

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

Étape

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

Action

arn:aws:codepipeline :region:account:pipeline-name/stage-name/action-name

Action personnalisée arn:aws:codepipeline :region:account:type d'action :owner/category/provider/version

Toutes les CodePipeline ressources

arn:aws:codepipeline : *

Toutes les CodePipeline ressources détenues par le compte spécifié dans la région spécifié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 dansARNs. Cependant, CodePipeline utilise une correspondance exacte dans les modèles d'événements et les règles. Veillez à utiliser les bons ARN caractères lors de la création de modèles d'événements afin qu'ils correspondent à la ARN syntaxe du pipeline que vous souhaitez associer.

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

Par exemple, vous pouvez indiquer un pipeline spécifique (myPipeline) dans votre déclaration en utilisant ARN le code suivant :

"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 API action spécifique n'est pas compatibleARNs, utilisez le caractère générique (*) dans l'Resourceélément comme suit :

"Resource": "*"
Note

Lorsque vous créez des IAM politiques, 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 API appel est compatibleARNs, 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 CodePipeline API appels 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"]

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

Clés de condition

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.

L’élément Condition (ou le bloc Condition) vous permet de spécifier des conditions lorsqu’une instruction est appliquée. L’élément Condition est facultatif. 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.

Si vous spécifiez plusieurs éléments Condition dans une instruction, ou plusieurs clés dans un seul élément Condition, AWS les évalue à l’aide d’une opération AND logique. Si vous spécifiez plusieurs valeurs pour une seule clé de condition, AWS évalue la condition à l'aide d'une OR opération logique. Toutes les conditions doivent être remplies avant que les autorisations associées à l’instruction ne soient accordées.

Vous pouvez aussi utiliser des variables d’espace réservé quand vous spécifiez des conditions. Par exemple, vous pouvez autoriser un IAM utilisateur à accéder à une ressource uniquement si celle-ci est étiquetée avec son nom IAM d'utilisateur. Pour plus d'informations, consultez IAMla section Éléments de politique : variables et balises dans le Guide de IAM l'utilisateur.

AWS prend en charge les clés de condition globales et les clés de condition spécifiques au service. Pour voir toutes les clés de condition AWS globales, voir les clés contextuelles de condition AWS globales dans le guide de IAM l'utilisateur.

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, voir Clés contextuelles de condition AWS globale dans le guide de IAM l'utilisateur.

Toutes les EC2 actions Amazon prennent en charge les clés de ec2:Region condition aws:RequestedRegion et. Pour de plus amples informations, veuillez consulter 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 IAM l'utilisateur. 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. Exemples de politiques basées sur l’identité AWS CodePipeline

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 Exemples de stratégies basées sur les ressources AWS CodePipeline

Autorisation basée sur les balises CodePipeline

Vous pouvez associer des balises aux CodePipeline 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 CodePipeline des ressources, consultezBalisage des ressources.

Pour visualiser un exemple de politique basée sur l'identité permettant de limiter l'accès à une ressource en fonction des balises de cette ressource, consultez Utilisation de balises pour contrôler l'accès aux CodePipeline ressources.

CodePipeline IAMrôles

Un IAMrôle 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 à 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.

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

Rôles de 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 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.

CodePipeline prend en charge les rôles de service.