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.
Lors de la création, de la mise à jour et de la suppression de CloudFormation piles, les utilisateurs peuvent éventuellement spécifier un IAM rôleARN. Si aucun rôle n'est fourni, CloudFormation utilise son mécanisme de service par défaut pour interagir avec d'autres AWS services. Dans ce scénario, l'appelant doit disposer des autorisations nécessaires pour les ressources gérées. Par ailleurs, lorsqu'un utilisateur fournit son propre IAM rôle, il CloudFormation assume ce rôle pour effectuer des interactions de service en son nom.
Que l'utilisateur fournisse ou non un IAM rôle, il CloudFormation génère un nouveau FAS jeton délimité pour chaque opération sur les ressources. Par conséquent, FASles clés de condition associées, y comprisaws:ViaAWSService
, sont renseignées dans les deux scénarios.
L'utilisation de FAS influe sur la manière dont IAM les politiques sont évaluées pendant CloudFormation les opérations. Lors de la création d'une pile avec un modèle qui inclut des ressources affectées par des clés FAS de condition associées, des refus d'autorisation peuvent se produire.
Exemple de stratégie IAM
Tenez compte de la IAM politique suivante. Statement2
empêchera systématiquement la création d'une AWS::KMS::Key
ressource dans CloudFormation. La restriction sera appliquée de manière cohérente, qu'un IAM rôle soit fourni ou non pendant l'opération de pile. Cela est dû au fait que la clé de aws:ViaAWSService
condition est toujours définie sur true
en raison de l'utilisation deFAS.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Statement1",
"Effect": "Allow",
"Action": [
"*"
],
"Resource": [
"*"
]
},
{
"Sid": "Statement2",
"Effect": "Deny",
"Action": [
"kms:CreateKey"
],
"Resource": [
"*"
],
"Condition": {
"Bool": {
"aws:ViaAWSService": "true"
}
}
}
]
}
Exemple de modèle de pile
Par exemple, lorsqu'un utilisateur crée une pile avec l'exemple de modèle suivant, aws:ViaAWSService
il est défini surtrue
, et les autorisations de rôle sont annulées par la FAS politique. La création de piles sera affectée par Statement2
la IAM politique, qui refuse l'CreateKey
action. Cela entraîne une erreur de refus d'autorisation.
Resources:
myPrimaryKey:
Type: AWS::KMS::Key
Properties:
Description: An example multi-Region primary key
KeyPolicy:
Version: '2012-10-17'
Id: key-default-1
Statement:
- Sid: Enable IAM User Permissions
Effect: Allow
Principal:
AWS: !Join
- ''
- - 'arn:aws:iam::'
- !Ref AWS::AccountId
- ':root'
Action: kms:*
Resource: '*'
Pour plus d'informationsFAS, consultez la section Transférer les sessions d'accès dans le guide de IAM l'utilisateur.
Note
La plupart des ressources adoptent ce comportement. Toutefois, si vous rencontrez un succès ou un échec inattendu lors de la création, de la mise à jour ou de la suppression d'une ressource, et que votre IAM politique inclut des clés de condition FAS associées, il est probable que la ressource en question appartienne à un petit sous-ensemble de ressources qui ne suivent pas ce modèle standard.