AWS STS ejemplos de uso de herramientas para PowerShell - AWS SDKEjemplos de código

Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de AWS Doc SDK Examples.

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.

AWS STS ejemplos de uso de herramientas para PowerShell

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante el uso del AWS Tools for PowerShell with 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 funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.

Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.

Acciones

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

Herramientas para PowerShell

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

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

Herramientas para PowerShell

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 IAM política proporcionada, en JSON formato, se utiliza para determinar los permisos disponibles para el IAM usuario. 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 IAM usuario.

Get-STSFederationToken -Name "Bob" -Policy "...JSON policy..." -DurationInSeconds 3600
  • Para API obtener más información, consulte la referencia GetFederationTokende AWS Tools for PowerShell cmdlets.

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

Herramientas para PowerShell

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 SecretKey parámetros - ProfileName o - AccessKey /-.

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 Amazon.RuntimeAWSCredentials instancia que contiene credenciales temporales válidas durante una hora utilizando el número de identificación del MFA dispositivo 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 API obtener más información, consulte Cmdlet GetSessionTokenReference AWS Tools for PowerShell .

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

Herramientas para PowerShell

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 AWS los recursos 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 con el número de serie y el token generado a partir de una de las credenciales de usuario MFA asociadas a las que se utilizó 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 función que el tercero pueda asumir, la cuenta del cliente debe crear una función con un identificador que se debe introducir en el ExternalId parámetro - cada vez que se asuma la función.

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

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

Herramientas para PowerShell

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 rolARN. Si lo desea, puede pasar una JSON política al parámetro -Policy que restrinja 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 a - 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"