创建VPC时出错:UnauthorizedOperation



我正在尝试使用terraform创建VPC,我正在使用IAM用户的secrate和访问密钥进行身份验证。但是当试图创建VPC时;创建VPC时出错:未授权操作:您无权执行此操作。编码授权失败消息:<encode_message>quot;当我解码这个消息时,我得到了它没有ec2:createVpc的权限。但我已经为该用户分配了管理员访问权限、ec2完全访问权限和vpc完全访问权限。我可以使用此凭据创建任何其他资源。

真的很感谢你的帮助。提前谢谢。

首先,确保您已在本地开发环境中使用环境变量(如AWS_*或共享凭据文件~/.aws/credentials(正确设置了AWS凭据(我假设您在Linux上(。

如果没有,请参阅AWS的官方文档:https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html

(我假设您已经安装了aws-cli,如果没有,请参阅:https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html)

然后,要检查您的凭据是否正确配置,您可以尝试使用以下命令:

aws sts get-caller-identity

你应该看到这样的东西:

{
"UserId": "<REDACTED>",
"Account": "<REDACTED>",
"Arn": "arn:aws:iam::<REDACTED>:<REDACTED>"
}

记住不要分享上面的输出!

您的用户可能没有执行该操作所需的权限。

尝试将以下内容添加到您的权限中:

{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": "ec2:DescribeVpcs",
"Resource": "*"
},
{
"Sid": "foo",
"Effect": "Allow",
"Action": [
"ec2:CreateVpc",
"ec2:DeleteVpc"
],
"Resource": "*"
}

这可能是一个原因:

  1. 在确保它不是~/.aws/credentials之后,一个可能的原因是检查您是否有一个MFA策略集,该策略集也可能是阻止程序

对我来说,我暂时删除了与MFA相关的权限并开始工作。

我通过以下命令解码响应中的错误消息来解决问题,并知道这是MFA:

aws sts decode-authorization-message --encoded-message <code-here>

现在你可以看到问题的原因

相关内容

  • 没有找到相关文章

最新更新