Ich möchte eine AWS Identity- und Access Management (IAM)-Rolle verwenden, um ein SSE-KMS-verschlüsseltes Amazon Simple Storage Service (Amazon S3)-Objekt herunterzuladen. Du erhältst aber den Fehler „Access Denied“.
Lösung
Die serverseitige Verschlüsselung mit AWS Key Management Service (AWS KMS)-Schlüsseln (SSE-KMS) verwendet Forward Access Sessions (FAS), um AWS KMS-API-Anfragen zu stellen, die durch IP-Adressbeschränkungen unbeabsichtigt abgelehnt werden können. Wenn du eine IP-eingeschränkte IAM-Rolle verwendest und versuchst, ein Amazon S3-Objekt herunterzuladen, das mit SSE-KMS verschlüsselt ist, erhältst du möglicherweise die Fehlermeldung „Access Denied“.
Gehe wie folgt vor, um die an den IAM-Benutzer angehängte Richtlinie so zu ändern, dass sie die Bedingung aws:ViaAWSService enthält:
-
Öffne die aktuelle Richtlinie für den IAM-Benutzer, die IP-Adressen einschränkt. Beispiel für eine eingeschränkte Richtlinie:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": "*",
"Resource": "*",
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"IP ADDRESS"
]
}
}
}
]
}
-
Ändere die Richtlinie so, dass sie die Bedingung aws:ViaAWSService enthält. Beispiel für eine IAM-Benutzerrichtlinie:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": "*",
"Resource": "*",
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"IP ADDRESS"
]
},
"Bool": {
"aws:ViaAWSService": "false"
}
}
}
]
}
Hinweis: Die Bedingung aws:ViaAWSService ermöglicht es AWS-Services jetzt, API-Aufrufe in deinem Namen mit IP-Adressbeschränkungen durchzuführen.
Ähnliche Informationen
Operatoren für die Bedingung IP-Adresse