#role #iam #aws #sts #amazon-iam #command-line-tool #cli

app rrole

使用基于Rust的命令行工具假设IAM角色

2个版本

使用旧的Rust 2015

0.1.2 2018年7月11日
0.1.1 2018年7月10日

#856身份验证

MIT 许可证

12KB
182 代码行

Rust Role (RRole)

rrole 既是我的Rust编程语言入门,也是我管理AWS跨账户角色假设的工具。该工具可以执行以下几个主要操作。

USAGE:
    rrole <action> --source <source_acct> --destination <destination_acct> --user <user> --role <role>

操作

status:此操作描述您的当前凭证,如果已假定到角色,则描述会话剩余时间。

$ rrole status
account: 123456789012
arn: arn:aws:iam::123456789012:user/test_user
access_id: ABCDEFG1HIJKLMNOP2QRS

assume:此操作调用AWS以假定特定的跨账户角色。成功调用将设置适当的环境变量,这些变量由调用返回的值设置。相关的变量是 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_SESSION_TOKEN。此工具还填充了一个用于 status 操作的附加变量,该变量称为 AWS_SESSION_EXPIRES。它存在是为了允许 status 操作确定会话剩余时间。

assume 操作需要以下标志

  • -s--source:您将假定来源AWS账户。
  • -d--destination:您想假设角色的目标AWS账户。
  • -u--user:您的IAM用户名。
  • -r--role:您想假设的IAM跨账户角色。
  • -m--mfa:如果需要,此标志将启用会话的MFA。因此,此标志是可选的。
$ rrole assume -u test_user -s 123456789012 -d 98765432109 -r hot_cross_role --mfa
Please enter MFA token:
123456
$

reset:此操作取消设置由该工具生成的临时凭证相关的AWS相关环境变量。如果您没有在其他地方存储凭证,那么您可能需要重新假设角色。

$ rrole reset
Resetting assumed role variables...
$

依赖

~20–30MB
~460K SLoC