忍者ブログ

ひつ(じのひよこが)プログラミングします。
お仕事や趣味で困ったこととか、何度も「あれ?どうだったかしら」と調べたりしたこととか、作ったものとか、こどものこととかを書きます
★前は週末定期更新でしたが今は不定期更新です

2024/11    10« 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  »12

MFA を設定している IAM を使って AWS SDK を使う

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

ただいまコメントを受けつけておりません。

MFA を設定している IAM を使って AWS SDK を使う

どうやればいいのか少し試行錯誤が必要だったのでメモ的に

const AWS = require('aws-sdk');

/*******
 * MY_ACCESS_KEY と MY_SECRET_ACCESS_KEY は 
 * https://aws.amazon.com/jp/developers/access-keys/ の手順を参考に取得・代入
 *
 * MY_ACCOUNT_NAME は AWS アカウントの名前。
 * 10桁~の数字になる
 *
 * MY_IAM_NAME は利用する IAM の名前
 *
 * MY_MFA_TOKEN は MFA のワンタイムトークン。
 * https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_credentials_mfa_enable_virtual.html を参考に設定する
 */

const sts = new AWS.STS({
	accessKeyId: MY_ACCESS_KEY,
	secretAccessKey: MY_SECRET_ACCESS_KEY
});
sts.getSessionToken({
		SerialNumber: `arn:aws:iam::${MY_ACCOUNT_NAME}:mfa/${MY_IAM_NAME}`,
		TokenCode: MY_MFA_TOKEN,
		DurationSeconds: 1800, // 30mins
	}, (err, data) => {
		if(err) {
			console.error(err);
		} else {
			(new AWS.EC2({
				region: 'ap-northeast-1',
				credentials: sts.credentialsFrom(data)
			// describeSecurityGroups を実行する理由はとくにはない。
			// 私がよく使うコマンドだった、というだけ
			})).describeSecurityGroups({}, (err, sg) => {
				if(err) {
					console.log('ERROR');
					console.log(err);
				} else {
					console.log(JSON.stringify(sg, null, '\t'));
				}
			});
		}
	}
);
PR

コメント

ただいまコメントを受けつけておりません。

ブログ内検索

P R