gpt4 book ai didi

amazon-web-services - AWS IAM : AssumeRole vs GetSessionToken

转载 作者:行者123 更新时间:2023-12-04 08:13:56 26 4
gpt4 key购买 nike

我正在尝试生成临时凭据访问 key 和 secret key 。我用过 AssumeRole .描述说它生成一个访问 key 和 secret key 。但是GetSessionTokenResult还可以生成访问 key 和 secret key 。那么假设角色有什么用呢?

AWSSecurityTokenService awsSecurityTokenService = 
AWSSecurityTokenServiceClientBuilder
.standard().withCredentials(new ProfileCredentialsProvider())
.withRegion(region).build();
AssumeRoleRequest assumeRoleRequest = new AssumeRoleRequest()
.withRoleArn(
"arn:aws:iam::account-id:role/p-27c229ade194_ec2")
.withRoleSessionName("RedshiftSession");
AssumeRoleResult assumeRoleResult = awsSecurityTokenService
.assumeRole(assumeRoleRequest);
GetSessionTokenRequest getSessionTokenRequest = new GetSessionTokenRequest();
getSessionTokenRequest.setDurationSeconds(1200);
GetSessionTokenResult getSessionTokenResult = awsSecurityTokenService
.getSessionToken(getSessionTokenRequest);
Credentials sessionCredentials = getSessionTokenResult.getCredentials();

final String adminAccessKeyId = sessionCredentials.getAccessKeyId();
final String adminAccessSecretKey = sessionCredentials
.getSecretAccessKey();
早些时候使用假设角色它显示错误 => aws:iam::user/admin is not sts:assumeRole on resource role aws:iam::role/role_id .
通过添加 aws:iam::user/adminrole_id 的信任关系中有效。
如果我会评论 AccessRole和它的另一个叫做类。我可以生成访问 key 和 secret key 。使用 AssumeRole的目的是什么? ?

最佳答案

several methods to obtain temporary credentials ,取决于您的要求:

  • GetSessionToken给你一套临时凭证 基于您自己的 IAM 用户 .这通常用于激活多重身份验证 (MFA),或为您想要限制访问的情况创建一些范围缩小的凭据(例如,授予对将数据上传/下载到 S3 的应用程序的访问权限,而不提供任何非-S3 访问)。新凭据最多与您拥有相同的权限(并且不再拥有)。
  • AssumeRole用于获取具有 的凭据完全不同的权限集 .例如,您可能无权访问 S3,但您可能有权承担“S3 访问”角色。然后返回的凭据允许您临时访问 S3。另一个示例是提供对 的访问权限。管理员权限 — 与始终使用具有管理员权限的帐户相比,使用 更安全暂时承担管理员角色 ,执行管理事件,然后返回使用普通凭据。与总是使用管理员级别访问相比,出错的可能性更小。

  • 此外,AssumeRole 可用于 获得跨账户访问 .例如,账户 A 中的用户可以承担账户 B 中的角色,该角色授予对账户 B 中资源的访问权限。这是通过 GetSessionToken 无法实现的。

    我总是觉得这篇文章有助于解释差异: Understanding the API Options for Securely Delegating Access to Your AWS Account | AWS Security Blog

    关于amazon-web-services - AWS IAM : AssumeRole vs GetSessionToken,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51256519/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com