In KMS gibt es die Amazon Alias-Schlüssel (z. B. /alias/aws/s3
) und Customer Master Keys (CMKs).IAM-Richtlinie, um nur Zugriff auf Alias-Schlüssel von Amazon zu gewähren
Für jedes Entwicklungsteam, ich habe ein paar CMKS mit Aliasnamen (zB /alias/team1/default
, /alias/team1/confidential
)
ich den Zugang zu ermöglichen, möchten die Schlüssel für alle IAM Benutzer/Gruppen/Rollen aliased aws, aber Team bieten Level-Zugriff auf Teamebene Tasten
Mein Problem kommt, wenn der Zugang zu aws zu ermöglichen versuchen, Schlüssel verwaltet
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"NotAction": [
"iam:*",
"kms:*"
],
"Resource": "*",
"Condition": {
"Null": {
"aws:MultiFactorAuthAge": "false"
}
}
},
{
"Effect": "Allow",
"Resource": "arn:aws:kms:us-east-1:111111111111:alias/aws/*",
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Condition": {
"Null": {
"aws:MultiFactorAuthAge": "false"
}
}
}
]
}
implizit iam:*
und kms:*
, um zu verweigern aber Zugang t erlauben o aws aliased Keys
Wenn mit dem IAM Politik Simulator arbeiten, es sieht aus wie ich Zugriff auf den vollen Schlüssel arn zu bieten habe (arn:aws:kms:us-east-1:111111111111:key/abcd123-acbd-1234-abcd-acbcd1234abcd
) anstelle dem Alias (arn:aws:kms:us-east-1:111111111111:alias/aws/*
)
Gibt es eine bessere Art und Weise zu verwalten Dies?
Ich weiß, dass ich Zugriff auf CMKS mit Schlüssel Richtlinien verwalten können und nicht den Zugang von IAM erlauben, aber Sie können keine Gruppen als Principal
in einem Schlüssel KMS verwenden Politik
Seien Sie vorsichtig mit dem NotAction Element. In Ihrer Beispielrichtlinie haben Sie alle Dienste und Aktionen zugelassen, die NICHT iam: * und kms: * sind. Referenz: http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notaction.html –
Dies ist für unser Dev-Konto und die Gruppe, für die ich das mache, ist eine "Poweruser" -Gruppe. Die Idee ist, dass sie die Fähigkeit haben sollten, Dinge zu probieren und ohne Reibung zu experimentieren, aber sollte sich ein Team entscheiden, mit ihren eigenen Schlüsseln zu verschlüsseln, möchte ich den Schlüsselzugriff isolieren – tkwargs