Amazon-Ec2

具有 IAM 限制的 AWS CLI EC2 描述地址

  • April 12, 2017

我正在嘗試找到一種列出/描述 EC2 實例的公共 IP(不必是 EIP)的方法。我已閱讀有關 Describe* 的內容,並且我知道無法在策略中指定資源的限制。

所以我的問題是:

在策略中指定資源時,我有什麼方法可以獲取 EC2 實例的公共 IP?是否有任何可以在 awscli 中使用的命令,當在使用者/組下執行時返回公共 IP,只允許在指定資源內執行此操作?

我基本上想應用一個策略,允許使用者/組僅從指定的 EC2 實例 ID 獲取 IP。

謝謝!

可以獲取 EC2 實例的公共 IP 地址的唯一命令如下:

aws ec2 describe-instances \
 --region us-east-1 \
 --instance-ids i-abcdef

不幸的是,沒有 IAM 策略語法能夠將命令限制為僅單個 EC2 實例。describe-instances不允許資源級權限。因此,要授予對該命令的訪問權限,需要授予對所有 EC2 實例的訪問權限。

您可以使用它來獲取公共 IP

aws ec2 describe-instances --instance-ids i-the-instance-id-here | grep PublicIpAddress | awk -F ":" '{print $2}' | sed 's/[",]//g'

您可以授予您的 AWS CLI 使用者AmazonEC2ContainerRegistryReadOnly訪問權限。

引用自:https://serverfault.com/questions/844098