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.
Rubriques
CodePipelinePolitiques 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. Les actions de stratégie portent généralement le même nom que l'opération AWS d'API associée. Il existe quelques exceptions, telles que les actions avec autorisations uniquement qui n’ont pas d’opération API correspondante. 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 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. Les instructions doivent inclure un élément Resource
ou NotResource
. Il est recommandé de définir une ressource à l’aide de 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'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 :///region account 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 : : : * |
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’é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 accorder à un utilisateur IAM l’autorisation d’accéder à une ressource uniquement si elle est balisée avec son nom d’utilisateur IAM. Pour plus d’informations, consultez Éléments d’une politique IAM : variables et identifications dans le Guide de l’utilisateur IAM.
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 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-name
aws:RequestTag/
ou key-name
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 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 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 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.