Ich möchte eine verschlüsselte Autorisierungsstatusmeldung für AWS Backup dekodieren.
Kurzbeschreibung
Eine Nachricht ist codiert, weil die Details des Autorisierungsstatus möglicherweise vertrauliche Informationen enthalten, die der Benutzer, der den Vorgang angefordert hat, nicht sehen kann. Eine dekodierte Nachricht enthält die folgenden Arten von Informationen:
- Ob die Anfrage aufgrund einer ausdrücklichen Ablehnung oder des Fehlens einer ausdrücklichen Genehmigung abgelehnt wurde. Weitere Informationen findest du unter Determining whether a request is allowed or denied within an account.
- Der Prinzipal, der die Anfrage gestellt hat.
- Die angeforderte Aktion.
- Die angeforderte Ressource.
- Die Werte der Bedingungsschlüssel im Kontext der Benutzeranfrage.
Wenn ein Benutzer beispielsweise nicht autorisiert ist, eine von ihm angeforderte Operation auszuführen, gibt die Anfrage eine client.unauthorizedOperation-Antwort (eine HTTP 403-Antwort) zurück. Einige AWS-Operationen geben auch eine verschlüsselte Nachricht zurück, die Details zu einem Autorisierungsfehler enthalten kann.
Behebung
**Voraussetzung:**Du musst über die Berechtigung sts:DecodeAuthorizationMessage AWS Identity and Access Management (IAM) verfügen, um eine Autorisierungsstatusmeldung zu dekodieren.
Um eine Autorisierungsstatusmeldung zu dekodieren, verwende die AWS Command Line Interface (AWS CLI), um den Befehl decode-authorization-message auszuführen. Das Folgende ist ein Beispiel-Snippet:
**Tipp:**Wenn du ein Linux-basiertes Betriebssystem verwendest, kannst du diesen Befehl mit dem Hilfsprogram jq-utility (von der GitHub-Website) kombinieren, um eine zuschauerfreundliche Ausgabe zu erhalten.
aws sts decode-authorization-message --encoded-message (encoded error message) --query DecodedMessage --output text | jq '.'
**Hinweis:**Wenn du beim Ausführen von AWS-CLI-Befehlen Fehler erhältst, stelle sicher, dass du die neueste Version der AWS-CLI verwendest.
Im Folgenden findest du eine Beispielausgabe für den vorherigen Befehl:
{
"allowed": false,
…..
"context": {
"principal": {
"id": "AROAAAAAAAAAA:AWSBackup-AWSBackupDefaultServiceRole",
"arn": "arn:aws:sts::111122223333:assumed-role/AWSBackupDefaultServiceRole/AWSBackup-AWSBackupDefaultServiceRole"
},
"action": "iam:PassRole",
"resource": "arn:aws:iam::111122223333:role/AmazonSSMRoleForInstancesQuickSetup",
"conditions": {
"items": [
…..
}
Die Beispielausgabe zeigt, dass die Wiederherstellungsrolle AWSBackupDefaultServiceRole ist. Die Wiederherstellungsrolle muss über die iam:PassRole-Berechtigung verfügen, damit sie mit der AmazonsSMRoleForInstancesQuickSetup-Rolle interagieren kann, die für die Wiederherstellung der Instanz erforderlich ist. Um dieses Beispielproblem zu lösen, verwende die IAM-Richtlinie, um Berechtigungen für die IAM-Rolle hinzuzufügen.
Verwandte Informationen
Wie behebe ich fehlgeschlagene Amazon EC2-Wiederherstellungsaufträge mithilfe von AWS Backup?