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.
Contrôlez CloudFormation l'accès avec AWS Identity and Access Management
Avec AWS Identity and Access Management (IAM), vous pouvez créer des IAM utilisateurs pour contrôler qui a accès à quelles ressources de votre Compte AWS. Vous pouvez utiliser IAM with AWS CloudFormation pour contrôler ce que les utilisateurs peuvent faire CloudFormation, par exemple s'ils peuvent afficher des modèles de piles, créer des piles ou supprimer des piles.
Outre les CloudFormation actions, vous pouvez gérer les AWS services et les ressources disponibles pour chaque utilisateur. Ainsi, vous pouvez contrôler les ressources auxquelles les utilisateurs peuvent accéder lorsqu'ils les utilisent CloudFormation. Par exemple, vous pouvez spécifier quels utilisateurs peuvent créer des EC2 instances Amazon, mettre fin à des instances de base de données ou effectuer des mises à jourVPCs. Ces mêmes autorisations sont appliquées chaque fois qu' CloudFormation ils effectuent ces actions.
Pour plus d'informations sur tous les services auxquels vous pouvez contrôler l'accès, consultez les AWS services pris IAM en charge dans le Guide de IAM l'utilisateur.
Rubriques
- CloudFormation actions
- CloudFormation ressources
- CloudFormation conditions
- Confirmation des ressources IAM dans les modèles CloudFormation
- Gérez les informations d'identification pour les applications exécutées sur EC2 des instances Amazon
- Accorder un accès temporaire (accès fédéré)
- AWS CloudFormation rôle de service
- Prévention du problème de l’adjoint confus entre services
CloudFormation actions
Lorsque vous créez un groupe ou un utilisateur dans votre Compte AWS, vous pouvez associer une IAM politique à ce groupe ou à cet utilisateur, qui spécifie les autorisations que vous souhaitez accorder. Par exemple, imaginez que vous travaillez avec un groupe de développeurs non expérimentés. Vous pouvez créer un groupe de développeurs d'applications juniors qui inclut tous les développeurs débutants. Ensuite, vous associez une politique à ce groupe qui permet aux utilisateurs de n'afficher que les CloudFormation piles. Dans ce scénario, vous pouvez utiliser une politique comme celle-ci :
Exemple de politique qui accorde des autorisations d'affichage des piles
{ "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Action":[ "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResource", "cloudformation:DescribeStackResources" ], "Resource":"*" }] }
La politique accorde des autorisations à toutes les DescribeStack
API actions répertoriées dans l'Action
élément.
Important
Si vous ne spécifiez pas de nom de pile ou d'ID dans votre déclaration, vous devez également accorder l'autorisation d'utiliser toutes les ressources pour l'action à l'aide du caractère générique *
pour l'élément Resource
.
Outre les CloudFormation actions, les utilisateurs qui créent ou suppriment des piles ont besoin d'autorisations supplémentaires qui dépendent des modèles de piles. Par exemple, si vous avez un modèle qui décrit une SQS file d'attente Amazon, l'utilisateur doit disposer des autorisations correspondantes pour que les SQS actions Amazon puissent créer correctement la pile, comme indiqué dans l'exemple de politique suivant :
Exemple de politique autorisant les actions de création et de visualisation de stack et toutes les SQS actions Amazon
{ "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Action":[ "sqs:*", "cloudformation:CreateStack", "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResources", "cloudformation:GetTemplate", "cloudformation:ValidateTemplate" ], "Resource":"*" }] }
Pour une liste de toutes les CloudFormation actions que vous pouvez autoriser ou refuser, consultez la AWS CloudFormation APIréférence.
CloudFormation actions spécifiques à la console
Les utilisateurs qui utilisent la CloudFormation console ont besoin d'autorisations supplémentaires qui ne sont pas requises pour utiliser le AWS Command Line Interface ou CloudFormation APIs. Par rapport au AWS CLI etAPI, la console fournit des fonctionnalités supplémentaires qui nécessitent des autorisations supplémentaires, telles que le téléchargement de modèles vers des compartiments Amazon S3 et des listes déroulantes pour des types de paramètres AWS spécifiques.
Pour toutes les actions suivantes, accordez des autorisations à toutes les ressources. Ne limitez les actions à des piles ou des compartiments spécifiques.
L'action requise suivante est utilisée uniquement par la CloudFormation console et n'est pas documentée dans la API référence. Cette action permet aux utilisateurs d'importer des modèles dans des compartiments Amazon S3.
cloudformation:CreateUploadBucket
Lorsque les utilisateurs importent des modèles, ils nécessitent les autorisations Amazon S3 suivantes :
s3:PutObject s3:ListBucket s3:GetObject s3:CreateBucket
Pour les modèles avec des types de paramètres AWS spécifiques, les utilisateurs ont besoin d'autorisations pour effectuer les API appels de description correspondants. Par exemple, si un modèle inclut le type de AWS::EC2::KeyPair::KeyName
paramètre, les utilisateurs doivent être autorisés à lancer l'EC2DescribeKeyPairs
action (c'est ainsi que la console obtient les valeurs de la liste déroulante des paramètres). Les exemples suivants sont des actions nécessaires aux utilisateurs pour d'autres types de paramètres :
ec2:DescribeSecurityGroups (for the AWS::EC2::SecurityGroup::Id parameter type) ec2:DescribeSubnets (for the Subnet::Id parameter type) ec2:DescribeVpcs (for the AWS::EC2::VPC::Id parameter type)
CloudFormation ressources
CloudFormation prend en charge les autorisations au niveau des ressources, de sorte que vous pouvez spécifier des actions pour une pile spécifique, comme indiqué dans la politique suivante :
Exemple de politique qui refuse les actions de suppression et de mise à jour de la pile pour MyProductionStack
{ "Version":"2012-10-17", "Statement":[{ "Effect":"Deny", "Action":[ "cloudformation:DeleteStack", "cloudformation:UpdateStack" ], "Resource":"arn:aws:cloudformation:us-east-1:123456789012:stack/MyProductionStack/*" }] }
La politique ci-dessus utilise un caractère générique à la fin du nom de la pile afin de refuser les actions de suppression et de mise à jour au niveau de l'ID de la pile complète (comme arn:aws:cloudformation:us-east-1:123456789012:stack/MyProductionStack/abc9dbf0-43c2-11e3-a6e8-50fa526be49c
) et de son nom (tel que MyProductionStack
).
Pour autoriser des transformations AWS::Serverless
dans le but de créer un ensemble de modifications, la politique doit inclure les autorisations de niveau ressource arn:aws:cloudformation:<region>:aws:transform/Serverless-2016-10-31
, comme indiqué dans la politique suivante :
Exemple de politique qui permet l'action de création du jeu de modifications pour la transformation
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "cloudformation:CreateChangeSet" ], "Resource": "arn:aws:cloudformation:us-west-2:aws:transform/Serverless-2016-10-31" }] }
Exemple de politique qui accorde des autorisations d'ensemble de piles gérées par un service
Voici un exemple de IAM politique qui accorde des autorisations d'ensemble de piles gérées par des services à une entité principale (utilisateur, rôle ou groupe). Un utilisateur disposant de cette politique peut uniquement effectuer des opérations sur des ensembles de piles avec des modèles contenant des types de ressources Amazon S3 (AWS::S3::*
) ou le type de ressource AWS::SES::ConfigurationSet
. S'il est connecté au compte de gestion de l'organisation avec un identifiant123456789012
, l'utilisateur ne peut également effectuer des opérations que sur des ensembles de piles qui ciblent l'unité d'organisation dotée d'un identifiant ou-1fsfsrsdsfrewr
, et ne peut effectuer que des opérations sur la pile définie avec un ID stack-set-id
qui cible le Compte AWS with ID 987654321012
.
Les opérations de stack set échouent si le modèle de stack set contient des types de ressources autres que ceux spécifiés dans la stratégie, ou si les cibles de déploiement sont des unités d'organisation ou des comptes IDs autres que ceux spécifiés dans la stratégie pour les comptes de gestion et les ensembles de piles correspondants.
Ces restrictions de politique s'appliquent uniquement lorsque les opérations d'ensembles de piles ciblent les us-east-1
, us-west-2
, ou eu-west-2
Régions AWS.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:*" ], "Resource": [ "arn:aws:cloudformation:*:*:stackset/*", "arn:aws:cloudformation:*:*:type/resource/
AWS-S3
-*", "arn:aws:cloudformation:us-west-2::type/resource/AWS-SES-ConfigurationSet
", "arn:aws:cloudformation:*:123456789012
:stackset-target/*/ou-1fsfsrsdsfrewr
", "arn:aws:cloudformation:*:123456789012
:stackset-target/stack-set-id
/987654321012
" ], "Condition": { "ForAllValues:StringEqualsIgnoreCase": { "cloudformation:TargetRegion": [ "us-east-1
", "us-west-2
", "eu-west-1
" ] } } } ] }
CloudFormation conditions
Dans une IAM politique, vous pouvez éventuellement spécifier les conditions qui contrôlent le moment où une politique est en vigueur. Par exemple, vous pouvez définir une politique qui permet aux utilisateurs de créer une pile uniquement lorsqu'ils spécifient un certain modèleURL. Vous pouvez définir CloudFormation des conditions spécifiques et des conditions AWS généralesDateLessThan
, telles que celles qui indiquent à quel moment une politique cesse de prendre effet. Pour plus d'informations et une liste des conditions générales, voir la référence AWSà la condition dans les éléments de IAM politique dans le guide de IAM l'utilisateur.
Note
N'utilisez pas la condition aws:SourceIp
AWS« wide ». CloudFormation approvisionne les ressources en utilisant sa propre adresse IP, et non l'adresse IP de la demande d'origine. Par exemple, lorsque vous créez une pile, vous envoyez CloudFormation des demandes à partir de son adresse IP pour lancer une EC2 instance Amazon ou pour créer un compartiment Amazon S3, et non à partir de l'adresse IP de l'CreateStack
appel ou de la create-stack commande.
La liste suivante décrit les conditions CloudFormation spécifiques. Ces conditions sont appliquées uniquement lorsque les utilisateurs créent ou mettent à jour les piles :
cloudformation:ChangeSetName
-
Nom du groupe de CloudFormation modifications que vous souhaitez associer à une politique. Utilisez cette condition pour contrôler les jeux de modifications que les utilisateurs peuvent exécuter ou supprimer.
cloudformation:ImportResourceTypes
-
Types de ressource du modèle que vous souhaitez associer à une politique, comme
AWS::EC2::Instance
. Utilisez cette condition pour contrôler les types de ressources que les utilisateurs peuvent utiliser lorsqu'ils importent des ressources dans une pile. Cette condition est vérifiée par rapport aux types de ressources déclarés par les utilisateurs dans leResourcesToImport
paramètre, qui n'est actuellement pris en charge que pour les API demandes AWS CLI et. Lorsque vous utilisez ce paramètre, vous devez spécifier tous les types de ressources que les utilisateurs doivent contrôler pendant les opérations d'importation. Pour plus d'informations sur leResourcesToImport
paramètre, consultez le CreateChangeSetaction dans la AWS CloudFormation APIréférence.Pour une liste des options possibles
ResourcesToImport
, voirSupport des types de ressources.Utilisez la convention de dénomination des ressources en trois parties pour spécifier les types de ressources que les utilisateurs peuvent utiliser, depuis toutes les ressources d'une organisation jusqu'à un type de ressource individuel.
organization
::*-
Spécifiez tous les types de ressources pour une organisation donnée.
organization
::
::*service_name
-
Spécifiez tous les types de ressources pour le service spécifié au sein d'une organisation donnée.
organization
::
::service_name
resource_type
-
Spécifiez un type de ressource spécifique.
Par exemple :
AWS::*
-
Spécifiez tous les types de AWS ressources pris en charge.
AWS::
service_name
::*-
Spécifiez toutes les ressources prises en charge pour un AWS service spécifique.
AWS::
service_name
::resource_type
-
Spécifiez un type de AWS ressource spécifique, tel que
AWS::EC2::Instance
(toutes les EC2 instances).
cloudformation:ResourceTypes
-
Types de ressource du modèle, comme
AWS::EC2::Instance
, que vous voulez associer à une politique. Utilisez cette condition pour contrôler les types de ressource dont les utilisateurs peuvent se servir lorsqu'ils créent ou mettent à jour d'une pile. Cette condition est vérifiée par rapport aux types de ressources déclarés par les utilisateurs dans leResourceTypes
paramètre, qui n'est actuellement pris en charge que pour les API demandes AWS CLI et. Avec ce paramètre, les utilisateurs doivent spécifier tous les types de ressource qui se trouvent dans leur modèle. Pour plus d'informations sur leResourceTypes
paramètre, consultez le CreateStackaction dans la AWS CloudFormation APIréférence.Pour afficher la liste des types de ressources pris en charge, consultez AWS référence aux types de ressources et de propriétés.
Utilisez la convention de dénomination des ressources en trois parties pour spécifier les types de ressources que les utilisateurs peuvent utiliser, depuis toutes les ressources d'une organisation jusqu'à un type de ressource individuel.
organization
::*-
Spécifiez tous les types de ressources pour une organisation donnée.
organization
::
::*service_name
-
Spécifiez tous les types de ressources pour le service spécifié au sein d'une organisation donnée.
organization
::
::service_name
resource_type
-
Spécifiez un type de ressource spécifique.
Par exemple :
AWS::*
-
Spécifiez tous les types de AWS ressources pris en charge.
AWS::
service_name
::*-
Spécifiez toutes les ressources prises en charge pour un AWS service spécifique.
AWS::
service_name
::resource_type
-
Spécifiez un type de AWS ressource spécifique, tel que
AWS::EC2::Instance
(toutes les EC2 instances). Alexa::ASK::*
-
Spécifiez tous les types de ressources dans le kit de compétences Alexa.
Alexa::ASK::Skill
-
Spécifiez le type de ressource Alexa : ASK : :Skill individuel.
Custom::*
-
Spécifiez toutes les ressources personnalisées.
Pour de plus amples informations, veuillez consulter Créez une logique de provisionnement personnalisée avec des ressources personnalisées.
Custom::
resource_type
-
Spécifiez un type de ressource personnalisé spécifique.
Pour de plus amples informations, veuillez consulter Créez une logique de provisionnement personnalisée avec des ressources personnalisées.
cloudformation:RoleARN
-
Le nom de ressource Amazon (ARN) d'un rôle de IAM service que vous souhaitez associer à une politique. Utilisez cette condition pour contrôler le rôle de service que les utilisateurs peuvent utiliser lorsqu'ils utilisent des piles ou des jeux de modifications.
cloudformation:StackPolicyUrl
-
Une politique de stack Amazon S3 URL que vous souhaitez associer à une politique. Utilisez cette condition pour contrôler les stratégies de pile que les utilisateurs utilisateurs peuvent associer à une pile pendant la création ou la mise à jour de cette dernière. Pour plus d'informations sur les politiques de pile, consultez Empêcher les mises à jour des ressources de la pile.
Note
Pour garantir que les utilisateurs ne peuvent créer ou mettre à jour des piles qu'avec les politiques de pile que vous avez téléchargées, configurez le compartiment S3 en lecture seule pour ces utilisateurs.
cloudformation:TemplateUrl
-
Modèle Amazon S3 URL que vous souhaitez associer à une politique. Utilisez cette condition pour contrôler les modèles auxquels les utilisateurs peuvent se reporter lorsqu'ils créent ou mettent à jour des piles.
Note
Pour garantir que les utilisateurs ne peuvent créer ou mettre à jour des piles qu'avec les modèles que vous avez téléchargés, configurez le compartiment S3 en lecture seule pour ces utilisateurs.
Note
Les conditions CloudFormation spécifiques suivantes s'appliquent aux API paramètres du même nom :
-
cloudformation:ChangeSetName
-
cloudformation:RoleARN
-
cloudformation:StackPolicyUrl
-
cloudformation:TemplateUrl
Par exemple, s'applique
cloudformation:TemplateUrl
uniquement auTemplateUrl
paramètre pourCreateStack
UpdateStack
, etCreateChangeSet
APIs. -
Exemples
L'exemple de politique suivant permet aux utilisateurs d'utiliser uniquement le
modèle URL pour créer ou mettre à jour une pile.https://s3.amazonaws.com/amzn-s3-demo-bucket/test.template
Exemple URLÉtat du modèle
{ "Version":"2012-10-17", "Statement":[ { "Effect" : "Allow", "Action" : [ "cloudformation:CreateStack", "cloudformation:UpdateStack" ], "Resource" : "*", "Condition" : { "StringEquals" : { "cloudformation:TemplateUrl" : [ "
https://s3.amazonaws.com/amzn-s3-demo-bucket/test.template"
] } } } ] }
L'exemple de politique suivant permet aux utilisateurs d'effectuer toutes les CloudFormation opérations à l'exception des opérations d'importation.
Exemple Condition de types de ressources pour l'importation
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllStackOperations", "Effect": "Allow", "Action": "cloudformation:*", "Resource": "*" }, { "Sid": "DenyImport", "Effect": "Deny", "Action": "cloudformation:*", "Resource": "*", "Condition": { "ForAnyValue:StringLike": { "cloudformation:ImportResourceTypes": [ "*" ] } } } ] }
L'exemple de politique suivant autorise toutes les opérations de pile, ainsi que les opérations d'importation uniquement sur des ressources spécifiées (dans cet exemple, AWS::S3::Bucket
).
Exemple Condition de types de ressources pour l'importation
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowImport", "Effect": "Allow", "Action": "cloudformation:*", "Resource": "*" "Condition": { "ForAllValues:StringEqualsIgnoreCase": { "cloudformation:ImportResourceTypes": [ "AWS::S3::Bucket" ] } } } ] }
L'exemple de politique suivant permet aux utilisateurs de créer des piles mais refuse les demandes si le modèle de la pile inclut une ressource provenant du IAM service. La politique oblige également les utilisateurs à spécifier le ResourceTypes
paramètre, qui n'est disponible que pour les API demandes AWS CLI et les requêtes. Cette politique utilise des instructions de refus explicites de sorte qu'elle reste en vigueur si une autre politique accorde des autorisations supplémentaires (une instruction de refus explicite prévaut toujours sur une instruction d'autorisation explicite).
Exemple Condition de type de ressource
{ "Version":"2012-10-17", "Statement":[ { "Effect" : "Allow", "Action" : [ "cloudformation:CreateStack" ], "Resource" : "*" }, { "Effect" : "Deny", "Action" : [ "cloudformation:CreateStack" ], "Resource" : "*", "Condition" : { "ForAnyValue:StringLikeIfExists" : { "cloudformation:ResourceTypes" : [ "AWS::IAM::*" ] } } }, { "Effect": "Deny", "Action" : [ "cloudformation:CreateStack" ], "Resource": "*", "Condition": { "Null": { "cloudformation:ResourceTypes": "true" } } } ] }
L'exemple de politique suivant est similaire à l'exemple précédent. La politique permet aux utilisateurs de créer une pile sauf si le modèle de la pile inclut une ressource provenant du IAM service. Les utilisateurs doivent également spécifier le ResourceTypes
paramètre, qui n'est disponible que pour les API requêtes AWS CLI et les requêtes. Cette politique est plus simple, mais n'utilise pas d'instructions de refus explicites. Elle pourrait donc être supplantée par d'autres politiques, qui accorderaient des autorisations supplémentaires.
Exemple Condition de type de ressource
{ "Version":"2012-10-17", "Statement":[ { "Effect" : "Allow", "Action" : [ "cloudformation:CreateStack" ], "Resource" : "*", "Condition" : { "ForAllValues:StringNotLikeIfExists" : { "cloudformation:ResourceTypes" : [ "AWS::IAM::*" ] }, "Null":{ "cloudformation:ResourceTypes": "false" } } } ] }
Confirmation des ressources IAM dans les modèles CloudFormation
Avant de créer une pile, CloudFormation validez votre modèle. Lors de la validation, CloudFormation vérifie les IAM ressources que votre modèle est susceptible de créer. IAMles ressources, telles qu'un utilisateur disposant d'un accès complet, peuvent accéder à n'importe quelle ressource de votre Compte AWS. Par conséquent, nous vous suggérons de vérifier les autorisations associées à chaque IAM ressource avant de continuer afin de ne pas créer involontairement des ressources avec des autorisations accrues. Pour vous assurer que vous l'avez fait, vous devez reconnaître que le modèle contient ces ressources, en fournissant CloudFormation les fonctionnalités spécifiées avant de créer la pile.
Vous pouvez reconnaître les fonctionnalités des CloudFormation modèles en utilisant la CloudFormation console, AWS Command Line Interface (AWS CLI), ou API :
-
Dans la CloudFormation console, sur la page des options de configuration de la pile des assistants Create Stack ou Update Stack, sélectionnez Je reconnais que ce modèle peut créer des IAM ressources.
-
Dans le AWS CLI, lorsque vous utilisez le create-stack et update-stackcommandes, spécifiez la
CAPABILITY_NAMED_IAM
valeurCAPABILITY_IAM
ou de l'--capabilities
option. Si votre modèle inclut des IAM ressources, vous pouvez spécifier l'une ou l'autre des fonctionnalités. Si votre modèle inclut des noms personnalisés pour les IAM ressources, vous devez le spécifierCAPABILITY_NAMED_IAM
. -
Dans leAPI, lorsque vous utilisez le CreateStack et UpdateStackactions, spécifiez
Capabilities.member.1=CAPABILITY_IAM
ouCapabilities.member.1=CAPABILITY_NAMED_IAM
. Si votre modèle inclut des IAM ressources, vous pouvez spécifier l'une ou l'autre des fonctionnalités. Si votre modèle inclut des noms personnalisés pour les IAM ressources, vous devez le spécifierCAPABILITY_NAMED_IAM
.
Important
Si votre modèle contient des IAM ressources nommées de manière personnalisée, ne créez pas plusieurs piles en réutilisant le même modèle. IAMles ressources doivent être uniques au niveau mondial au sein de votre compte. Si vous utilisez le même modèle pour créer plusieurs piles dans différentes régions, il est possible que vos piles partagent les mêmes IAM ressources, au lieu d'avoir chacune une ressource unique. Les ressources partagées entre les piles peuvent avoir des conséquences imprévues et irréversibles. Par exemple, si vous supprimez ou mettez à jour IAM des ressources partagées dans une pile, vous modifierez involontairement les ressources des autres piles.
Gérez les informations d'identification pour les applications exécutées sur EC2 des instances Amazon
Si vous avez une application qui s'exécute sur une EC2 instance Amazon et doit envoyer des demandes à des AWS ressources telles que des compartiments Amazon S3 ou une table DynamoDB, l'application a besoin d'informations d'identification de sécurité. AWS Toutefois, la distribution et intégration d'informations d'identification de sécurité à long terme dans toutes les instances que vous lancez peuvent s'avérer compliquées et présentent un risque de sécurité potentiel. Au lieu d'utiliser des informations d'identification à long terme, telles que les informations d'identification IAM utilisateur, nous vous recommandons de créer un IAM rôle associé à une EC2 instance Amazon lorsque celle-ci est lancée. Une application peut ensuite obtenir des informations d'identification de sécurité temporaires auprès de l'EC2instance Amazon. Vous n'avez pas à intégrer d'informations d'identification à long terme dans l'instance. En outre, pour faciliter la gestion des informations d'identification, vous pouvez spécifier un seul rôle pour plusieurs EC2 instances Amazon ; vous n'avez pas besoin de créer des informations d'identification uniques pour chaque instance.
Pour voir un extrait de modèle qui montre comment lancer une instance avec un rôle, consultez la page IAMexemples de modèles de rôles.
Note
Les applications installées sur des instances qui utilisent des informations d'identification de sécurité temporaires peuvent effectuer n'importe quelle CloudFormation action. Toutefois, étant donné qu'il CloudFormation interagit avec de nombreux autres AWS services, vous devez vérifier que tous les services que vous souhaitez utiliser prennent en charge les informations d'identification de sécurité temporaires. Pour obtenir la liste des services qui acceptent les informations d'identification de sécurité temporaires, consultez la section AWS Services compatibles IAM dans le Guide de IAM l'utilisateur.
Accorder un accès temporaire (accès fédéré)
Dans certains cas, vous souhaiterez peut-être accorder aux utilisateurs sans AWS informations d'identification un accès temporaire à votre Compte AWS. Plutôt que de créer et de supprimer des informations d'identification à long terme chaque fois que vous souhaitez accorder un accès temporaire, utilisez AWS Security Token Service (AWS STS). Par exemple, vous pouvez utiliser IAM des rôles. À partir d'un IAM rôle, vous pouvez créer puis distribuer par programmation de nombreuses informations d'identification de sécurité temporaires (notamment une clé d'accès, une clé d'accès secrète et un jeton de sécurité). Ces informations d'identification ont une durée de vie limitée, elles ne peuvent donc pas être utilisées pour accéder à vos informations d'identification Compte AWS après leur expiration. Vous pouvez également créer plusieurs IAM rôles afin d'accorder différents niveaux d'autorisation à chaque utilisateur. IAMles rôles sont utiles pour des scénarios tels que les identités fédérées et l'authentification unique.
Une identité fédérée est une identité distincte que vous pouvez utiliser sur plusieurs systèmes. Pour les utilisateurs d'entreprise disposant d'un système d'identité local établi (tel qu'LDAPActive Directory), vous pouvez gérer toutes les authentifications avec votre système d'identité local. Une fois qu'un utilisateur a été authentifié, vous fournissez des informations d'identification de sécurité temporaires provenant de l'IAMutilisateur ou du rôle approprié. Par exemple, vous pouvez créer un rôle d'administrateur et un rôle de développeur, dans lesquels les administrateurs ont un accès complet au AWS compte et les développeurs sont autorisés à travailler uniquement avec des CloudFormation piles. Une fois qu'un administrateur est authentifié, il est autorisé à obtenir des informations d'identification de sécurité temporaires à partir du rôle d'administrateur. Toutefois, pour les développeurs, ils peuvent obtenir des informations d'identification de sécurité temporaires uniquement à partir du rôle de développeur.
Vous pouvez également accorder aux utilisateurs fédérés l'accès au AWS Management Console. Une fois que les utilisateurs se sont authentifiés auprès de votre système d'identité local, vous pouvez créer par programmation un fichier temporaire URL qui donne un accès direct au. AWS Management Console Lorsque les utilisateurs utilisent le temporaireURL, ils n'ont pas besoin de se connecter AWS car ils ont déjà été authentifiés (authentification unique). De plus, étant donné que le URL est construit à partir des informations de sécurité temporaires des utilisateurs, les autorisations disponibles avec ces informations d'identification déterminent les autorisations dont disposent les utilisateurs dans le AWS Management Console.
Vous pouvez en utiliser plusieurs AWS STS APIs pour générer des informations d'identification de sécurité temporaires. Pour plus d'informations sur les informations API à utiliser, voir Comparer les AWS STS informations d'identification dans le Guide de IAM l'utilisateur.
Important
Vous ne pouvez pas travailler avec IAM des informations d'identification de sécurité temporaires qui ont été générées à partir du GetFederationToken
API. Si vous devez travailler avecIAM, utilisez plutôt les informations d'identification de sécurité temporaires d'un rôle.
CloudFormation interagit avec de nombreux autres AWS services. Lorsque vous utilisez des informations d'identification de sécurité temporaires avec CloudFormation, vérifiez que tous les services que vous souhaitez utiliser prennent en charge les informations d'identification de sécurité temporaires. Pour obtenir la liste des services qui acceptent les informations d'identification de sécurité temporaires, consultez la section AWS Services compatibles IAM dans le Guide de IAM l'utilisateur.
Pour plus d'informations, consultez les ressources connexes suivantes dans le guide de IAM l'utilisateur :