As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Usando a SDK Store (somente Windows)
(Assegure-se de revisar os avisos e diretrizes importantes.)
No Windows, a SDK Store é outro local para criar perfis e armazenar credenciais criptografadas para seu AWS SDK for .NET aplicativo. Ela está localizada em %USERPROFILE%\AppData\Local\AWSToolkit\RegisteredAccounts.json
. Você pode usar a SDK Store durante o desenvolvimento como alternativa ao arquivo de credenciais compartilhado da AWS.
Atenção
Para evitar riscos de segurança, não use usuários do IAM para autenticação ao desenvolver software com propósito específico ou trabalhar com dados reais. Em vez disso, use federação com um provedor de identidade, como AWS IAM Identity Center.
nota
As informações neste tópico são para circunstâncias em que você precisa obter e gerenciar manualmente as credenciais de curto ou longo prazo. Para obter informações adicionais sobre credenciais de curto e longo prazo, consulte Outras formas de autenticação no Guia de referência de AWS SDKs e ferramentas.
Para as práticas recomendadas de segurança, use o AWS IAM Identity Center, conforme descrito em Configure a autenticação do SDK.
Informações gerais
A SDK Store oferece os seguintes benefícios:
-
As credenciais na SDK Store são criptografadas, e a SDK Store reside no diretório base do usuário. Isso limita o risco de exposição acidental das credenciais.
-
A SDK Store também oferece credenciais para o AWS Tools for Windows PowerShell e o AWS Toolkit for Visual Studio.
Os perfis da SDK Store são específicos para um determinado usuário em um host particular. Não é possível copiá-los para outros hosts ou outros usuários. Isso significa que não é possível reutilizar os perfis da SDK Store que estiverem na máquina de desenvolvimento para outros hosts ou outras máquinas de desenvolvedores. Isso também significa que você não pode usar perfis da SDK Store em aplicativos de produção.
Gerencie os perfis na SDK Store das seguintes formas:
-
Usar a interface gráfica de usuário (GUI) no AWS Toolkit for Visual Studio.
-
Usar o namespace Amazon.Runtime.CredentialManagement da API do AWS SDK for .NET, conforme será mostrado posteriormente neste tópico.
-
Usar comandos do AWS Tools for Windows PowerShell; por exemplo,
Set-AWSCredential
eRemove-AWSCredentialProfile
.
Exemplos de gerenciamento de perfil
Os exemplos a seguir mostram como criar e atualizar um perfil de forma programática na SDK Store.
Criar um perfil de forma programática
Este exemplo mostra como criar um perfil e salvá-lo na SDK Store de forma programática. Ele usa as seguintes classes do namespace Amazon.Runtime.CredentialManagement: CredentialProfileOptions, CredentialProfile e NetSDKCredentialsFile.
using Amazon.Runtime.CredentialManagement; ... // Do not include credentials in your code. WriteProfile("my_new_profile", SecurelyStoredKeyID, SecurelyStoredSecretAccessKey); ... void WriteProfile(string profileName, string keyId, string secret) { Console.WriteLine($"Create the [{profileName}] profile..."); var options = new CredentialProfileOptions { AccessKey = keyId, SecretKey = secret }; var profile = new CredentialProfile(profileName, options); var netSdkStore = new NetSDKCredentialsFile(); netSdkStore.RegisterProfile(profile); }
Atenção
Códigos como esse geralmente não deveriam estar em seu aplicativo. Se ele estiver incluído em seu aplicativo, tome as devidas precauções para garantir que as chaves de texto simples não possam ser vistas no código, na rede ou mesmo na memória do computador.
A seguir está o perfil que foi criado por este exemplo.
"[generated GUID]" : { "AWSAccessKey" : "01000000D08...[etc., encrypted access key ID]", "AWSSecretKey" : "01000000D08...[etc., encrypted secret access key]", "ProfileType" : "AWS", "DisplayName" : "my_new_profile", }
Atualizar um perfil existente de forma programática
Este exemplo mostra como atualizar de forma programática o perfil que foi criado anteriormente. Ele usa as seguintes classes do namespace Amazon.Runtime.CredentialManagement: CredentialProfile e NetSDKCredentialsFile. Ele também usa a classe RegionEndpoint do namespace Amazon.
using Amazon.Runtime.CredentialManagement; ... AddRegion("my_new_profile", RegionEndpoint.USWest2); ... void AddRegion(string profileName, RegionEndpoint region) { var netSdkStore = new NetSDKCredentialsFile(); CredentialProfile profile; if (netSdkStore.TryGetProfile(profileName, out profile)) { profile.Region = region; netSdkStore.RegisterProfile(profile); } }
A seguir está o perfil atualizado.
"[generated GUID]" : { "AWSAccessKey" : "01000000D08...[etc., encrypted access key ID]", "AWSSecretKey" : "01000000D08...[etc., encrypted secret access key]", "ProfileType" : "AWS", "DisplayName" : "my_new_profile", "Region" : "us-west-2" }
nota
Você também pode definir a Região da AWS em outros locais e usando outros métodos. Para obter mais informações, consulte Configurar a região da AWS.