Ejemplos de AWS STS con las Herramientas para PowerShell V4 - Herramientas de AWS para PowerShell (versión 4)

Se ha publicado la versión 5 (V5) de Herramientas de AWS para PowerShell.

Para empezar a utilizar la nueva versión de Tools para PowerShell, consulte la Guía del usuario de Herramientas de AWS para PowerShell (V5), especialmente el tema sobre la Migración a la V5.

Ejemplos de AWS STS con las Herramientas para PowerShell V4

En los siguientes ejemplos de código, se muestra cómo realizar acciones e implementar escenarios comunes usando Herramientas de AWS para PowerShell V4 con AWS STS.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.

En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.

Acciones

En el siguiente ejemplo de código, se muestra cómo utilizar Convert-STSAuthorizationMessage.

Herramientas para PowerShell V4

Ejemplo 1: decodifica la información adicional incluida en el contenido del mensaje codificado suministrado que se devolvió en respuesta a una solicitud. La información adicional está codificada porque los detalles del estado de la autorización pueden constituir información privilegiada que el usuario que solicitó la acción no debería ver.

Convert-STSAuthorizationMessage -EncodedMessage "...encoded message..."
  • Para obtener información sobre la API, consulte DecodeAuthorizationMessage en la Referencia de Cmdlet de las Herramientas de AWS para PowerShell (V4).

En el siguiente ejemplo de código, se muestra cómo utilizar Get-STSFederationToken.

Herramientas para PowerShell V4

Ejemplo 1: solicita un token federado válido durante una hora con “Bob” como nombre del usuario federado. Este nombre se puede usar para hacer referencia al nombre de usuario federado en una política basada en recursos (como una política de bucket de Amazon S3). La política de IAM proporcionada, en formato JSON, se utiliza para limitar los permisos disponibles para el usuario de IAM. La política proporcionada no puede conceder más permisos que los concedidos al usuario solicitante. Los permisos finales para el usuario federado son los más restrictivos, en función de la intersección de la política aprobada y la política de usuario de IAM.

Get-STSFederationToken -Name "Bob" -Policy "...JSON policy..." -DurationInSeconds 3600
  • Para obtener información sobre la API, consulte GetFederationToken en la Referencia de Cmdlet de las Herramientas de AWS para PowerShell (V4).

En el siguiente ejemplo de código, se muestra cómo utilizar Get-STSSessionToken.

Herramientas para PowerShell V4

Ejemplo 1: devuelve una instancia Amazon.RuntimeAWSCredentials que contiene credenciales temporales válidas durante un período de tiempo determinado. Las credenciales utilizadas para solicitar credenciales temporales se deducen de los valores predeterminados actuales del intérprete de comandos. Para especificar otras credenciales, utilice los parámetros -ProfileName o -AccessKey/-SecretKey.

Get-STSSessionToken

Salida:

AccessKeyId Expiration SecretAccessKey SessionToken ----------- ---------- --------------- ------------ EXAMPLEACCESSKEYID 2/16/2015 9:12:28 PM examplesecretaccesskey... SamPleTokeN.....

Ejemplo 2: devuelve una instancia de Amazon.RuntimeAWSCredentials que contiene credenciales temporales válidas durante una hora. Las credenciales utilizadas para realizar la solicitud se obtienen del perfil especificado.

Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile

Salida:

AccessKeyId Expiration SecretAccessKey SessionToken ----------- ---------- --------------- ------------ EXAMPLEACCESSKEYID 2/16/2015 9:12:28 PM examplesecretaccesskey... SamPleTokeN.....

Ejemplo 3: devuelve una instancia Amazon.RuntimeAWSCredentials que contiene credenciales temporales válidas durante una hora con el número de identificación del dispositivo MFA asociado a la cuenta, cuyas credenciales se especifican en el perfil “myprofilename” y el valor proporcionado por el dispositivo.

Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile -SerialNumber YourMFADeviceSerialNumber -TokenCode 123456

Salida:

AccessKeyId Expiration SecretAccessKey SessionToken ----------- ---------- --------------- ------------ EXAMPLEACCESSKEYID 2/16/2015 9:12:28 PM examplesecretaccesskey... SamPleTokeN.....
  • Para obtener información sobre la API, consulte GetSessionToken en la Referencia de Cmdlet de las Herramientas de AWS para PowerShell (V4).

En el siguiente ejemplo de código, se muestra cómo utilizar Use-STSRole.

Herramientas para PowerShell V4

Ejemplo 1: devuelve un conjunto de credenciales temporales (clave de acceso, clave secreta y token de sesión) que se pueden usar durante una hora para acceder a recursos de AWS a los que el usuario solicitante normalmente no tendría acceso. Las credenciales devueltas tienen los permisos permitidos por la política de acceso del rol que se está asumiendo y por la política proporcionada (no se puede usar la política proporcionada para conceder permisos superiores a los definidos en la política de acceso del rol que se está asumiendo).

Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -Policy "...JSON policy..." -DurationInSeconds 3600

Ejemplo 2: devuelve un conjunto de credenciales temporales, válidas durante una hora, que tienen los mismos permisos que se definen en la política de acceso del rol que se está asumiendo.

Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600

Ejemplo 3: devuelve un conjunto de credenciales temporales que proporcionan el número de serie y el token generado a partir de una MFA asociada a las credenciales de usuario utilizadas para ejecutar el cmdlet.

Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600 -SerialNumber "GAHT12345678" -TokenCode "123456"

Ejemplo 4: devuelve un conjunto de credenciales temporales que han asumido un rol definido en la cuenta de un cliente. Para cada rol que el tercero pueda asumir, la cuenta del cliente debe crear un rol con un identificador que se debe pasar en el parámetro -ExternalId cada vez que se asuma el rol.

Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600 -ExternalId "ABC123"
  • Para obtener información sobre la API, consulte AssumeRole en la Referencia de Cmdlet de las Herramientas de AWS para PowerShell (V4).

En el siguiente ejemplo de código, se muestra cómo utilizar Use-STSWebIdentityRole.

Herramientas para PowerShell V4

Ejemplo 1: devuelve un conjunto temporal de credenciales, válido durante una hora, para un usuario que se ha autenticado con el proveedor de identidad Inicio de sesión con Amazon. Las credenciales asumen la política de acceso asociada al rol identificado por el ARN del rol. Si lo desea, puede pasar una política de JSON al parámetro -Policy para perfeccionar aún más los permisos de acceso (no puede conceder más permisos de los disponibles en los permisos asociados al rol). El valor proporcionado al -WebIdentityToken es el identificador de usuario único que devolvió el proveedor de identidades.

Use-STSWebIdentityRole -DurationInSeconds 3600 -ProviderId "www.amazon.com" -RoleSessionName "app1" -RoleArn "arn:aws:iam::123456789012:role/FederatedWebIdentityRole" -WebIdentityToken "Atza...DVI0r1"
  • Para obtener información sobre la API, consulte AssumeRoleWithWebIdentity en la Referencia de Cmdlet de las Herramientas de AWS para PowerShell (V4).