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 einen IAM-Rollen-ARN angeben. Wenn keine Rolle bereitgestellt wird, 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, abgegrenztes FAS-Token. Folglich werden FAS-bezogene Bedingungsschlüssel, einschließlichaws:ViaAWSService
, in beiden Szenarien aufgefüllt.
Die Verwendung von FAS wirkt sich darauf aus, wie IAM-Richtlinien während des Betriebs bewertet werden. CloudFormation Beim Erstellen eines Stacks mit einer Vorlage, die Ressourcen enthält, die von FAS-bezogenen Bedingungsschlüsseln betroffen sind, kann es zu Zugriffsverweigerungen kommen.
Beispiel für eine IAM-Richtlinie
Beachten Sie die folgende IAM-Richtlinie. Statement2
verhindert konsequent die Erstellung einer AWS::KMS::Key
Ressource in CloudFormation. Die Einschrä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 festgelegttrue
, und die Rollenberechtigungen werden durch die FAS-Richtlinie außer Kraft gesetzt. Die Erstellung Statement2
des Stacks wird durch die IAM-Richtlinie beeinflusst, die die Aktion verweigert. CreateKey
Dies führt zu einem 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 IAM-Benutzerhandbuch.
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 FAS-bezogene Bedingungsschlüssel enthält, ist es wahrscheinlich, dass die betreffende Ressource zu einer kleinen Teilmenge von Ressourcen gehört, die diesem Standardmuster nicht folgen.