Amazon-Ec2
具有 IAM 限制的 AWS CLI EC2 描述地址
我正在嘗試找到一種列出/描述 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
訪問權限。