Uso de SDK Store (solo Windows) - AWS SDK for .NET

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de SDK Store (solo Windows)

(Asegúrese de revisar las advertencias y directrices importantes).

En Windows, SDK Store es otro lugar donde crear perfiles y almacenar las credenciales cifradas de la aplicación AWS SDK for .NET. Está en %USERPROFILE%\AppData\Local\AWSToolkit\RegisteredAccounts.json. Puede usar SDK Store durante el desarrollo como alternativa al archivo de credenciales de AWS compartido.

aviso

Para evitar riesgos de seguridad, no utilice a los usuarios de IAM para la autenticación cuando desarrolle software especialmente diseñado o trabaje con datos reales. En cambio, utilice la federación con un proveedor de identidades como AWS IAM Identity Center.

nota

La información de este tema se refiere a las circunstancias en las que necesita obtener y administrar credenciales a corto o largo plazo de forma manual. Para obtener información adicional sobre las credenciales a corto y largo plazo, consulte Otras formas de autenticarse en la Guía de referencia de herramientas y AWS SDK.

Para conocer las prácticas recomendadas de seguridad, use AWS IAM Identity Center, como se describe en Configuración de la autenticación de SDK.

Información general

SDK Store reporta las siguientes ventajas:

Los perfiles de SDK Store son específicos de un usuario determinado en un host concreto. No puede copiarlos en otros hosts ni en otros usuarios. Esto quiere decir que los perfiles de SDK Store que estén en su equipo de desarrollo no se pueden reutilizar en otros hosts o equipos de desarrollador. Esto significa también que no se pueden usar perfiles de SDK Store en aplicaciones de producción.

Los perfiles de SDK Store se pueden administrar de varias maneras:

Ejemplos de administración de perfiles

En los siguientes ejemplos se muestra cómo crear y actualizar un perfil mediante programación en SDK Store.

Creación de un perfil mediante programación

En este ejemplo se muestra cómo crear un perfil y guardarlo en SDK Store mediante programación. Se utilizan las siguientes clases del espacio de nombres Amazon.Runtime.CredentialManagement: CredentialProfileOptions, CredentialProfile y 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); }
aviso

Por lo general, un código como este no debería estar en la aplicación. Si lo está, tome las debidas precauciones para garantizar que las claves de texto sin formato no puedan verse en el código, en la red o incluso en la memoria del ordenador.

Este es el perfil que se ha creado en este ejemplo.

"[generated GUID]" : { "AWSAccessKey" : "01000000D08...[etc., encrypted access key ID]", "AWSSecretKey" : "01000000D08...[etc., encrypted secret access key]", "ProfileType" : "AWS", "DisplayName" : "my_new_profile", }

Actualización de un perfil existente mediante programación

En este ejemplo se muestra cómo actualizar mediante programación el perfil que creado anteriormente. Se utilizan las siguientes clases del espacio de nombres Amazon.Runtime.CredentialManagement: CredentialProfile y NetSDKCredentialsFile. También se usa la clase RegionEndpoint del espacio de nombres 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 continuación se muestra el perfil actualizado.

"[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

La región de AWS también se puede establecer en otras ubicaciones y mediante otros métodos. Para obtener más información, consulte Configuración de la región de AWS.