Skip to content

Instantly share code, notes, and snippets.

@auroq
Last active September 30, 2020 19:26
Show Gist options
  • Save auroq/94b1315a5750b18732f74a186a98841b to your computer and use it in GitHub Desktop.
Save auroq/94b1315a5750b18732f74a186a98841b to your computer and use it in GitHub Desktop.
Node Vault AWSIAM Auth
const vault = require("node-vault");
const vaultAddress = 'http://localhost:8200';
const role = 'my-vault-role';
const mountPoint = 'aws';
const iam_http_request_method = 'POST';
const iam_request_url = 'aHR0cHM6Ly9zdHMuYW1hem9uYXdzLmNvbS8=';
const iam_request_body = 'QWN0aW9uPUdldENhbGxlcklkZW50aXR5JlZlcnNpb249MjAxMS0wNi0xNQ==';
const iam_request_headers = 'eyJDb250ZW50LUxlbmd0aCI6IFsiNDMiXSwgIlVzZXItQWdlbnQiOiBbImF3cy1zZGstZ28vMS40LjEyIChnbzEuNy4xOyBsaW51eDsgYW1kNjQpIl0sICJYLVZhdWx0LUFXU0lBTS1TZXJ2ZXItSWQiOiBbInZhdWx0LmV4YW1wbGUuY29tIl0sICJYLUFtei1EYXRlIjogWyIyMDE2MDkzMFQwNDMxMjFaIl0sICJDb250ZW50LVR5cGUiOiBbImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD11dGYtOCJdLCAiQXV0aG9yaXphdGlvbiI6IFsiQVdTNC1ITUFDLVNIQTI1NiBDcmVkZW50aWFsPWZvby8yMDE2MDkzMC91cy1lYXN0LTEvc3RzL2F3czRfcmVxdWVzdCwgU2lnbmVkSGVhZGVycz1jb250ZW50LWxlbmd0aDtjb250ZW50LXR5cGU7aG9zdDt4LWFtei1kYXRlO3gtdmF1bHQtc2VydmVyLCBTaWduYXR1cmU9YTY5ZmQ3NTBhMzQ0NWM0ZTU1M2UxYjNlNzlkM2RhOTBlZWY1NDA0N2YxZWI0ZWZlOGZmYmM5YzQyOGMyNjU1YiJdfQ==';
const vaultClient = vault({ endpoint: vaultAddress });
async function awsLogin() {
try {
await vaultClient.awsIamLogin({
role,
mountPoint,
iam_http_request_method,
iam_request_url,
iam_request_body,
iam_request_headers,
});
}
catch (err) {
console.log(`Error while authenticating to vault: ${err}`);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment