Docker 容器似乎 'inherit' 主机 ec2 的实例配置文件。如何?
Docker containers seem to 'inherit' the instance profile of the host ec2. How?
我们在 ec2 主机上有一个 docker 容器 运行ning。在那个 docker 容器中,我们 运行 一些 aws cli 命令。我们没有在容器中定义任何 AWS 凭证。这意味着容器继承了主机 ec2 的 Instance Profile。
我的假设是真的吗?如果是这样,容器究竟如何继承实例配置文件凭据?其次(可能相关)aws cli 究竟做了什么来获取实例配置文件凭证?它是否调用元数据端点 (169.254.169.254)?例如,如果凭据是从环境变量中获取的,则凭据是硬编码的并且可以看到,但是实例配置文件的凭据实际位于何处?
没错,凭据是主机的凭据。如您所料,它从元数据端点获取它们。
一个 solution/workaround 提供更窄的访问权限是 ec2metadataproxy。我还没用过
不幸的是,安全组访问也基于主机容器。
我们在 ec2 主机上有一个 docker 容器 运行ning。在那个 docker 容器中,我们 运行 一些 aws cli 命令。我们没有在容器中定义任何 AWS 凭证。这意味着容器继承了主机 ec2 的 Instance Profile。
我的假设是真的吗?如果是这样,容器究竟如何继承实例配置文件凭据?其次(可能相关)aws cli 究竟做了什么来获取实例配置文件凭证?它是否调用元数据端点 (169.254.169.254)?例如,如果凭据是从环境变量中获取的,则凭据是硬编码的并且可以看到,但是实例配置文件的凭据实际位于何处?
没错,凭据是主机的凭据。如您所料,它从元数据端点获取它们。
一个 solution/workaround 提供更窄的访问权限是 ec2metadataproxy。我还没用过
不幸的是,安全组访问也基于主机容器。