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 comprendre quelles fonctionnalités IAM sont 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.
Rubriques
Politiques basées sur l’identité CodePipeline
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 prennent pas en charge les autorisations au niveau des ressources, utilisez un caractère générique (*) pour 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'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 : : : |
| Étape |
arn:aws:codepipeline : : :/ |
| Action |
arn:aws:codepipeline : : :/ |
| Action personnalisée | arn:aws:codepipeline : ::actiontype :///regionaccountownercategoryproviderversion |
|
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 : : : * |
Note
La plupart des services AWS traitent deux points (:)) ou une barre oblique (/) comme le même caractère dans ARNs. Cependant, CodePipeline utilise une correspondance exacte dans les modèles d'événements et les règles. 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 CodePipeline, certains appels d'API 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 CodePipeline référence aux 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 CodePipeline 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"]
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 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'Conditionélément indique à quel moment les instructions sont exécutées 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 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 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. 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-nameaws:RequestTag/ ou key-nameaws: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 ressources CodePipeline.
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 prend en charge les rôles de service.