从 SDK 版本 1 升级到 3 后,如何修复 getFederationToken 返回 403 未授权错误

查德·格里斯比

我们有使用 AWS PHP SDK 版本 1 AmazonSTS()->get_federation_token() 的现有代码。升级到 SDK 版本 3 后,使用相同凭据、资源和策略的相同调用将返回 403 未授权错误。

版本和地区似乎相同。政策 json 是相同的。用于进行调用的用户凭据是相同的(如果我切换回 SDK v1,它们仍然有效)。我设置了调试选项,但它似乎没有提供任何其他信息,说明为什么同一用户未被授权对同一联合用户执行相同的功能 getFederationToken。

有效的旧代码:

    $client = new AmazonSTS();
    $policy = new stdClass();
    $policy->Statement = [
        'Sid' => 'randomstatementid' . time(),
        'Action' => ['s3:*'],
        'Effect' => 'Allow',
        'Resource' => 'aws:s3:::' . $AWS_BUCKET . '*'
    ];

    // Fetch the session credentials.
    $response = $client->get_federation_token('User1',array(
        'Policy' => json_encode($policy),
        'DurationSeconds' => $NUMSECS
    ));

返回 403 错误的新代码:

    $client = new Aws\Sts\StsClient([
        'region' => 'us-east-1',
        'version' => '2011-06-15',
    ]);
    $policy = new stdClass();
    $policy->Statement = [
        'Sid' => 'randomstatementid' . time(),
        'Action' => ['s3:*'],
        'Effect' => 'Allow',
        'Resource' => 'aws:s3:::' . $AWS_BUCKET . '*'
    ];
    try {
        $response = $client->getFederationToken([
            'Name' => 'User1',
            'Policy' => json_encode($policy),
            'DurationSeconds' => $NUMSECS,
        ]);
    } catch (Exception $e) {
        var_dump($e);
        die();
    }

第一个示例返回联合用户 User1 的临时凭证。第二个示例返回 403 forbidden 错误(我隐藏了实际帐户 ID):

<Error>
    <Type>Sender</Type>
    <Code>AccessDenied</Code>
    <Message>User: arn:aws:iam::[account id]:user/portal is not authorized to perform: sts:GetFederationToken on resource: arn:aws:sts::[account id]:federated-user/User1</Message>
</Error>
查德·格里斯比

原来我正在查看错误的凭据。我在脚本中找到了硬编码的正确凭据:(

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

升级到Ubuntu 13.10后,laravel项目的Apache出现403错误

来自分类Dev

升级到rspec 3时使用应有错误(1).error_on

来自分类Dev

从版本3升级到版本4后,tinyMCE无法再拖放图像

来自分类Dev

lib curl返回错误:升级curl版本后返回51

来自分类Dev

版本升级到4.3后,SonarQube质量门未显示

来自分类Dev

Windows Azure存储版本升级到> 4会导致“远程服务器返回错误:(400)错误的请求。”

来自分类Dev

升级到Spring Security 4.0.0后出现403错误

来自分类Dev

升级到Swift 1.2后的错误

来自分类Dev

如何升级到开发版本(又名Ubuntu + 1)?

来自分类Dev

如何升级到最新的GNOME版本?

来自分类Dev

教义迁移捆绑包:升级到版本3后更新错误

来自分类Dev

SSMS-升级到新版本后出现组装错误

来自分类Dev

在Angular项目从版本6升级到版本7的过程中,如何解决编译错误?

来自分类Dev

Flutter升级导致错误,未升级到最新版本

来自分类Dev

升级到Rails 6.1后扩展视图以生成PDF返回错误

来自分类Dev

自动将舵图文件升级到版本3

来自分类Dev

升级到0.60.5后的ReactWebViewManager错误

来自分类Dev

在Eclipse中升级到最新的android SDK和ADT后出现奇怪的错误

来自分类Dev

升级到php5.5后出现403错误

来自分类Dev

如何升级到最新的GNOME版本?

来自分类Dev

升级到CodeIgniter 3后,“ SQL语法错误”

来自分类Dev

升级到Swift 1.2后的错误

来自分类Dev

升级到Neo4J 2.2.4后尝试连接时出现403错误

来自分类Dev

如何升级到GCM 3

来自分类Dev

将mysql升级到版本8后出现Connector / J错误

来自分类Dev

升级到 Apache Cayenne 4.0 的 Milestone 5 版本后出现错误

来自分类Dev

Android AWS S3 - 将 sdk 版本从“2.2.+”升级到“2.6.7”后对象“不存在”

来自分类Dev

升级到 LunarG SDK 1.0.68.0 后 InterlockedMax 出现 SPIR-V 错误

来自分类Dev

将 RxPy 从 1.x 升级到 3.x 后订阅不起作用

Related 相关文章

  1. 1

    升级到Ubuntu 13.10后,laravel项目的Apache出现403错误

  2. 2

    升级到rspec 3时使用应有错误(1).error_on

  3. 3

    从版本3升级到版本4后,tinyMCE无法再拖放图像

  4. 4

    lib curl返回错误:升级curl版本后返回51

  5. 5

    版本升级到4.3后,SonarQube质量门未显示

  6. 6

    Windows Azure存储版本升级到> 4会导致“远程服务器返回错误:(400)错误的请求。”

  7. 7

    升级到Spring Security 4.0.0后出现403错误

  8. 8

    升级到Swift 1.2后的错误

  9. 9

    如何升级到开发版本(又名Ubuntu + 1)?

  10. 10

    如何升级到最新的GNOME版本?

  11. 11

    教义迁移捆绑包:升级到版本3后更新错误

  12. 12

    SSMS-升级到新版本后出现组装错误

  13. 13

    在Angular项目从版本6升级到版本7的过程中,如何解决编译错误?

  14. 14

    Flutter升级导致错误,未升级到最新版本

  15. 15

    升级到Rails 6.1后扩展视图以生成PDF返回错误

  16. 16

    自动将舵图文件升级到版本3

  17. 17

    升级到0.60.5后的ReactWebViewManager错误

  18. 18

    在Eclipse中升级到最新的android SDK和ADT后出现奇怪的错误

  19. 19

    升级到php5.5后出现403错误

  20. 20

    如何升级到最新的GNOME版本?

  21. 21

    升级到CodeIgniter 3后,“ SQL语法错误”

  22. 22

    升级到Swift 1.2后的错误

  23. 23

    升级到Neo4J 2.2.4后尝试连接时出现403错误

  24. 24

    如何升级到GCM 3

  25. 25

    将mysql升级到版本8后出现Connector / J错误

  26. 26

    升级到 Apache Cayenne 4.0 的 Milestone 5 版本后出现错误

  27. 27

    Android AWS S3 - 将 sdk 版本从“2.2.+”升级到“2.6.7”后对象“不存在”

  28. 28

    升级到 LunarG SDK 1.0.68.0 后 InterlockedMax 出现 SPIR-V 错误

  29. 29

    将 RxPy 从 1.x 升级到 3.x 后订阅不起作用

热门标签

归档