我应该使用哪种凭证类型登录AWS API?

问题描述 投票:0回答:1

我正在尝试将AWS API(AWSSDK 2.3.55.2)集成到我的asp.net mvc4项目中,我不确定应该使用哪种类型的凭据。我手动使用第三方应用程序(okta)登录AWS,因此我没有直接来自AWS的凭据。我可以自己获取\生成访问密钥或其他用于登录API的其他密钥吗?或者我应该要求我的AWS管理员提供一些信誉?

在这种情况下登录的最简单方法是什么?

现在我喜欢:

public static void RestartInstance()
        {
            var ec2Client = new AmazonEC2Client();

            try
            {
                var response = ec2Client.RebootInstances(new RebootInstancesRequest
                {
                    // Frankfurt
                    InstanceIds = new List<string> {
                    "MYInstanceID"
                }
                });
            }
            catch (AmazonEC2Exception ex)
            {
                if ("InvalidInstanceID.NotFound" == ex.ErrorCode)
                {
                    Logger.Instance.Info($"AWS1 Error during rebooting. Please, check the Instance ID Ex: {ex.Message}");
                }
            }
        }

根据客户实现,我有两个选择:http://prntscr.com/kt13al。但据我所知,我不能使用“AWSCredentials”,因为我没有这个(我使用其他应用程序登录),所以我需要awsAccessKeyId和awsSecretAccessKey?这样对吗 ?

c# .net amazon-web-services amazon-ec2 aws-sdk
1个回答
0
投票

AWS具有用于身份验证和授权的IAM(身份访问管理)概念。 qazxsw poi

在本地,您需要为您的IAM用户生成AWS Access密钥(访问密钥和秘密访问密钥),这可以通过AWS Web控制台完成,您需要配置凭据。见AWS IAM documentation.

如果您在AWS EC2 / ECS / Fargate / Elastic Beanstalk中运行应用程序您需要为服务器/服务指定IAM角色以访问私有AWS资源。例如,参见AWS CLI Documentation for help

配置C#的凭据请参阅AWS documentation for EC2 IAM

通常,SDK会查找访问密钥和密钥的命名环境变量,并使用它们来访问AWS资源。

是的,您需要访问密钥和秘密访问密钥才能在本地使用SDK。

© www.soinside.com 2019 - 2024. All rights reserved.