我被要求列出我公司的aws帐户中的所有用户访问权限。有什么方法可以列出用户拥有的资源和各自的权限?我觉得很难通过研究IAM策略和基于资源的策略来获取详细信息。如果用户具有跨帐户访问权限,这将非常困难。
答案 0 :(得分:0)
没有一个命令可以列出所有权限。如果您有兴趣使用某些工具,则可以尝试a tool for quickly evaluating IAM permissions in AWS.
您也可以尝试使用此脚本,因为无法使用单个命令列出权限,所以可以结合使用多个命令进行检查。
#!/bin/bash
username=ahsan
echo "**********************"
echo "user info"
aws iam get-user --user-name $username
echo "***********************"
echo ""
# if [ $1=="test" ]; then
# all_users=$(aws iam list-users --output text | cut -f 6)
# echo "users in account are $all_users"
# fi
echo "get user groups"
echo "***********************************************"
Groups=$(aws iam list-groups-for-user --user-name ahsan --output text | awk '{print $5}')
echo "user $username belong to $Groups"
echo "***********************************************"
echo "listing policies in group"
for Group in $Groups
do
echo ""
echo "***********************************************"
echo "list attached policies with group $Group"
aws iam list-attached-group-policies --group-name $Group --output table
echo "***********************************************"
echo ""
done
echo "list attached policies"
aws iam list-attached-user-policies --user-name $username --output table
echo "-------- Inline Policies --------"
for Group in $Groups
do
aws iam list-group-policies --group-name $Group --output table
done
aws iam list-user-policies --user-name $username --output table