使用javascript sdk访问亚马逊资源而不提供accesskey和secretkey

时间:2019-03-08 13:15:06

标签: aws-sdk aws-sdk-js aws-organizations

当前,我正在使用以下代码访问Amazon组织服务:

<!DOCTYPE html>
<html>
<head>
    <title>AWS SDK for JavaScript - Sample Application</title>
    <script src="http://localhost:8000/aws-sdk-2.417.0.min.js"></script>
    <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
</head>
<body>
    <div id="results"></div>
    <script type="text/javascript">
        var params = {}
        AWS.config.update({
                region: 'us-east-1',
                accessKeyId: '***********',
                secretAccessKey: '*************'
            });
        var organizations = new AWS.Organizations();
        organizations.listAccounts(params, function (err, data) {
            if (err) console.log(err, err.stack); // an error occurred
            else            // successful response
                var accts = []
                console.log(data)
                $('#results').append("<ul id='newList'></ul>");
                for(var i = 0; i < data['Accounts'].length; i++) { 
                      $("#newList").append("<li>"+ data['Accounts'][i]['Id'] + ":" + data['Accounts'][i]['Name']+"</li>");

                  accts.push({"id": data['Accounts'][i]['Id'], "name": data['Accounts'][i]['Name']});
                }
              console.log(accts);
});
    </script>
</body>
</html>

在我的生产系统中,客户是否可以使用那里的aws帐户登录,然后又不获取访问密钥和秘密密钥的方式?

1 个答案:

答案 0 :(得分:0)

使用HTML输入标签从HTML标签获取输入,并使用客户输入来初始化这些变量。 客户输入值后,有一个按钮可触发初始化

acesskey : <input type="password" id="acesskey">
secretkey : <input type="password; id="secretkey">
<button type="button" onclick="<jsfunction>" >

在js代码中,您可以初始化变量 波纹管

var acesskey = document.getElementById("acesskey").value;
var secretkey = document.getElementById("secretkey").value;

将这些值传递给aws.config.update函数