我正在尝试将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?这样对吗 ?
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。