677 字
3 分钟
AWS IAM Role 操作指南
AWS IAM Role 操作指南
目录
查看IAM角色列表
列出所有IAM角色
aws iam list-roles仅显示角色名称
aws iam list-roles --query 'Roles[].RoleName' --output text按路径过滤角色
aws iam list-roles --path-prefix "/service-role/"查看角色详细信息
获取角色完整信息
aws iam get-role --role-name ROLE_NAME查看角色信任关系(Assume Role策略)
aws iam get-role --role-name ROLE_NAME --query 'Role.AssumeRolePolicyDocument'格式化输出信任策略
aws iam get-role --role-name ROLE_NAME --query 'Role.AssumeRolePolicyDocument' | jq查看角色附加策略
托管策略
列出角色附加的托管策略
aws iam list-attached-role-policies --role-name ROLE_NAME查看托管策略内容
# 获取策略ARNPOLICY_ARN=$(aws iam list-attached-role-policies --role-name ROLE_NAME --query 'AttachedPolicies[0].PolicyArn' --output text)
# 获取策略默认版本IDVERSION_ID=$(aws iam get-policy --policy-arn $POLICY_ARN --query 'Policy.DefaultVersionId' --output text)
# 查看策略文档aws iam get-policy-version --policy-arn $POLICY_ARN --version-id $VERSION_ID --query 'PolicyVersion.Document'内联策略
列出角色内联策略
aws iam list-role-policies --role-name ROLE_NAME查看内联策略内容
aws iam get-role-policy --role-name ROLE_NAME --policy-name POLICY_NAME查看策略具体内容
获取策略文档(格式化输出)
aws iam get-policy-version \--policy-arn "arn:aws:iam::ACCOUNT_ID:policy/POLICY_NAME" \--version-id "v1" \--query 'PolicyVersion.Document' | jq示例(查看S3访问策略)
aws iam get-policy-version \--policy-arn "arn:aws:iam::675079658645:policy/pp.aws.s3.opr" \--version-id "v1" \--query 'PolicyVersion.Document' | jq常用命令速查表
| 操作 | 命令 |
|---|---|
| 列出所有角色 | aws iam list-roles |
| 查看角色详情 | aws iam get-role --role-name ROLE_NAME |
| 列出附加的托管策略 | aws iam list-attached-role-policies --role-name ROLE_NAME |
| 列出内联策略 | aws iam list-role-policies --role-name ROLE_NAME |
| 查看托管策略内容 | aws iam get-policy-version --policy-arn ARN --version-id VERSION |
| 查看内联策略内容 | aws iam get-role-policy --role-name ROLE_NAME --policy-name POLICY_NAME |
| 查看信任策略 | aws iam get-role --role-name ROLE_NAME --query 'Role.AssumeRolePolicyDocument' |
最佳实践建议
- 最小权限原则:只授予角色完成任务所需的最小权限
- 使用托管策略:优先使用AWS托管策略而非内联策略,便于统一管理
- 定期审计:使用
aws iam get-account-authorization-details定期审查权限 - 命名规范:采用一致的命名规范(如
<service>-<environment>-<purpose>) - 使用条件限制:在策略中添加条件限制(如IP限制、MFA要求)
- 删除未使用角色:定期清理不再使用的角色(
aws iam list-roles配合手动检查)
文档使用说明
- 将
ROLE_NAME替换为您的实际角色名称 - 将
ACCOUNT_ID替换为您的AWS账户ID - 安装
jq工具可获得更好的JSON格式化输出 - 对于生产环境,建议在测试环境验证命令后再执行
提示:可以将此文档保存为
AWS_IAM_Role_Operations.md,方便随时查阅。
扩展阅读
AWS IAM Role 操作指南
https://blog.debugmy.com/posts/aws-iam-role/