Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Beim Erstellen, Aktualisieren und Löschen von CloudFormation Stacks können Benutzer optional eine IAM Rolle ARN angeben. Wenn keine Rolle angegeben ist, CloudFormation verwendet es seinen Standarddienstmechanismus, um mit anderen AWS Diensten zu interagieren. In diesem Szenario muss der Aufrufer über die erforderlichen Berechtigungen für die verwalteten Ressourcen verfügen. Wenn ein Benutzer seine eigene IAM Rolle angibt, CloudFormation übernimmt er diese Rolle, um in seinem Namen Dienstinteraktionen durchzuführen.
Unabhängig davon, ob der Benutzer eine IAM Rolle bereitstellt, CloudFormation generiert es für jeden Ressourcenvorgang ein neues FAS Scoped-Down-Token. Folglich werden verwandte FASBedingungsschlüssel, einschließlichaws:ViaAWSService
, in beiden Szenarien aufgefüllt.
Die Verwendung von FAS wirkt sich darauf aus, wie IAM Richtlinien während des CloudFormation Betriebs bewertet werden. Beim Erstellen eines Stacks mit einer Vorlage, die Ressourcen enthält, die von verwandten FAS Bedingungsschlüsseln betroffen sind, kann es zu Zugriffsverweigerungen kommen.
Beispiel: IAM-Richtline
Beachten Sie die folgende RichtlinieIAM. Statement2
verhindert konsequent die Erstellung einer AWS::KMS::Key
Ressource in CloudFormation. Die Beschränkung wird konsistent durchgesetzt, unabhängig davon, ob während des Stack-Vorgangs eine IAM Rolle bereitgestellt wird oder nicht. Das liegt daran, dass der aws:ViaAWSService
Bedingungsschlüssel true
aufgrund der Verwendung von FAS immer auf gesetzt ist.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Statement1",
"Effect": "Allow",
"Action": [
"*"
],
"Resource": [
"*"
]
},
{
"Sid": "Statement2",
"Effect": "Deny",
"Action": [
"kms:CreateKey"
],
"Resource": [
"*"
],
"Condition": {
"Bool": {
"aws:ViaAWSService": "true"
}
}
}
]
}
Beispiel für eine Stack-Vorlage
Wenn ein Benutzer beispielsweise einen Stack mit der folgenden Beispielvorlage erstellt, aws:ViaAWSService
ist diese Einstellung auf true
festgelegt und die Rollenberechtigungen werden durch die FAS Richtlinie außer Kraft gesetzt. Die Stack-Erstellung wird durch Statement2
die IAM Richtlinie beeinflusst, die die Aktion verweigert. CreateKey
Dies führt zu dem Fehler „Zugriff verweigert“.
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: '*'
Weitere Informationen zu FAS finden Sie unter Forward Access Sessions im IAMBenutzerhandbuch.
Anmerkung
Die meisten Ressourcen halten sich an dieses Verhalten. Wenn Sie jedoch beim Erstellen, Aktualisieren oder Löschen einer Ressource einen unerwarteten Erfolg oder Misserfolg feststellen und Ihre IAM Richtlinie zugehörige FAS Bedingungsschlüssel enthält, ist es wahrscheinlich, dass die betreffende Ressource zu einer kleinen Teilmenge von Ressourcen gehört, die diesem Standardmuster nicht folgen.