我想解碼 AWS Backup 的編碼授權狀態訊息。
簡短說明
對訊息進行編碼是因為授權狀態的詳細資訊可能包含要求作業的使用者看不到的特權資訊。解碼的訊息包含下列類型的資訊:
- 請求是否因為明確拒絕或沒有明確允許而遭到拒絕。如需詳細資訊,請參閱判斷帳戶內是否允許或拒絕請求。
- 提出請求的主體。
- 請求的操作。
- 請求的資源。
- 使用者請求內容中條件索引鍵的值。
例如,如果使用者未獲授權執行他們請求的作業,則請求會傳回 **Client.UnauthorizedOperation **回應 (HTTP 403 回應)。有些 AWS 作業也會傳回已編碼的訊息,提供授權失敗的詳細資訊。
解決方法
**先決條件:**您必須擁有 sts:DecodeAuthorizationMessage AWS 身份和存取管理 (IAM) 許可,才能解碼授權狀態訊息。
若要解碼授權狀態訊息,請使用 AWS Command Line Interface (AWS CLI) 執行 decode-authorization-message 命令。下面是範例命令:
**提示:**如果您使用的是 Linux 型作業系統,則可以將此命令與 jq 公用程式 (來自 GitHub 網站) 結合使用,以查看適合檢視者的輸出。
aws sts decode-authorization-message --encoded-message (encoded error message) --query DecodedMessage --output text | jq '.'
**注意:**如果您在執行 AWS CLI 命令時收到錯誤訊息,請確定您使用的是最新版本的 AWS CLI。
以下是上述命令的範例輸出:
{
"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": [
…..
}
範例輸出顯示還原角色為 AWSBackupDefaultServiceRole。還原角色必須具有 iam:PassRole 許可,以便其可以與還原執行個體所需的 AmazonSSMRoleForInstancesQuickSetup 角色互動。若要解決此範例問題,請使用 IAM 政策新增 IAM 角色許可。
相關資訊
如何使用 AWS Backup 疑難排解失敗的 Amazon EC2 還原任務?