我想对 AWS Backup 的编码授权状态消息进行解码。
解决方案
**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
**先决条件:**您必须拥有 sts:DecodeAuthorizationMessage AWS Identity and Access Management (IAM) 权限,才能对授权状态消息进行解码。
要解码授权状态消息,请运行 decode-authorization-message 命令。
如果您使用基于 Linux 的操作系统,请使用 jq 实用程序运行以下命令:
aws sts decode-authorization-message --encoded-message (encoded error message) --query DecodedMessage --output text | jq '.'
有关 jq 的详细信息,请参阅 ./jq 网站上的 jq。
输出示例:
{
"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:PassRole 权限添加到恢复角色的 IAM 策略中。