有什么方法可以列出所有权限以及IAM用户可以访问哪些资源?

时间:2019-08-19 11:02:47

标签: amazon-web-services amazon-iam

我被要求列出我公司的aws帐户中的所有用户访问权限。有什么方法可以列出用户拥有的资源和各自的权限?我觉得很难通过研究IAM策略和基于资源的策略来获取详细信息。如果用户具有跨帐户访问权限,这将非常困难。

1 个答案:

答案 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