在 EC2 上设置 Vagrant box,如何获取 "session token"

Setting up a Vagrant box on EC2, how to get the "session token"

我有:

AWS plugin readme file 中,它给出了 Vagrant 文件的模板:

Vagrant.configure("2") do |config|
  config.vm.box = "dummy"

  config.vm.provider :aws do |aws, override|
    aws.access_key_id = "YOUR KEY"
    aws.secret_access_key = "YOUR SECRET KEY"
    aws.session_token = "SESSION TOKEN"
    aws.keypair_name = "KEYPAIR NAME"

    aws.ami = "ami-7747d01e"

    override.ssh.username = "ubuntu"
    override.ssh.private_key_path = "PATH TO YOUR PRIVATE KEY"
  end
end

如何获得 aws.session_token = "SESSION TOKEN"?

session_token 是 STS(安全令牌服务)会话令牌。

您将从 amazon CLI 获取值(已安装并配置为与您的帐户一起使用)

fhenri@machine:~$ aws sts get-session-token --duration-seconds 129600
{
    "Credentials": {
        "SecretAccessKey": "xxxxxxxx",
        "SessionToken": "your token value",
        "Expiration": "2015-11-12T14:23:22Z",
        "AccessKeyId": "xxxxxx"
    }
}