Skip to content

EC2上で設定されたIAM RoleのAccessKeyIdとSecretAccessKeyを取得する

mechamogera edited this page Oct 27, 2012 · 6 revisions

取得方法

  • EC2インスタンス上で以下を実行する
    • Expirationの時刻まで有効
      $ curl http://169.254.169.254/latest/meta-data/iam/security-credentials/[EC2に設定したIAM Role名]
      {
        "Code" : "Success",
        "LastUpdated" : "2012-09-04T07:57:56Z",
        "Type" : "AWS-HMAC",
        "AccessKeyId" : "XXXX",
        "SecretAccessKey" : "XXXX",
        "Token" : "XXXX",
        "Expiration" : "2012-09-04T14:09:05Z"
      }

Rubyで取得

LastUpdated、Expirationについて

  • 15分毎に取得してみた
    • 1時間〜1時間半くらいで更新されている
    • 取得した時刻と更新時刻が一致しない、取得に関係なく更新されている?
    • Expirationは更新からだいたい6時間後に設定されている
      • 例えば06:10:00(GMT)に取得すると、Expirationが11:11:30(GMT)までなので5時間有効な認証情報が取得される?
取得時刻(JST) LastUpdated(GMT) Expiration(GMT)
2012/09/30 12:03:49 2012-09-30T01:58:59Z 2012-09-30T08:17:34Z
2012/09/30 12:18:49 2012-09-30T03:16:35Z 2012-09-30T09:52:14Z
2012/09/30 12:33:49
2012/09/30 12:48:49
2012/09/30 13:03:49
2012/09/30 13:18:49
2012/09/30 13:33:49
2012/09/30 13:48:49
2012/09/30 14:03:49 2012-09-30T04:52:29Z 2012-09-30T11:11:30Z
2012/09/30 14:18:49
2012/09/30 14:33:49
2012/09/30 14:48:49
2012/09/30 15:03:49
2012/09/30 15:18:49 2012-09-30T06:11:13Z 2012-09-30T12:22:14Z
2012/09/30 15:33:49
2012/09/30 15:48:49
2012/09/30 16:03:49
2012/09/30 16:18:49
2012/09/30 16:33:49 2012-09-30T07:22:32Z 2012-09-30T13:24:24Z
2012/09/30 16:48:49
2012/09/30 17:03:49
2012/09/30 17:18:49
2012/09/30 17:33:49 2012-09-30T08:24:47Z 2012-09-30T14:31:37Z
2012/09/30 17:48:49
2012/09/30 18:03:49
2012/09/30 18:18:49
2012/09/30 18:33:49 2012-09-30T09:32:19Z 2012-09-30T15:32:23Z
2012/09/30 18:48:49
2012/09/30 19:03:49
2012/09/30 19:18:49
2012/09/30 19:33:49 2012-09-30T10:32:20Z 2012-09-30T16:36:12Z
2012/09/30 19:48:49
2012/09/30 20:03:49
2012/09/30 20:18:49
2012/09/30 20:33:49

参考サイト

Clone this wiki locally