Hay más ejemplos de AWS SDK disponibles en el GitHub repositorio de ejemplos de AWS Doc SDK
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.
Úselo PutUserPolicy con un AWS SDK o CLI
Los siguientes ejemplos de código muestran cómo utilizar PutUserPolicy.
Los ejemplos de acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Puede ver esta acción en contexto en el siguiente ejemplo de código:
- CLI
-
- AWS CLI
-
Cómo asociar una política a un usuario de IAM
El siguiente comando
put-user-policyasocia una política al usuario de IAM denominadoBob.aws iam put-user-policy \ --user-nameBob\ --policy-nameExamplePolicy\ --policy-documentfile://AdminPolicy.jsonEste comando no genera ninguna salida.
La política se define como un documento JSON en el AdminPolicyarchivo.json. (El nombre y la extensión del archivo no son significativos).
Para más información, consulte Adición y eliminación de permisos de identidad de IAM en la Guía del usuario de AWS IAM.
-
Para obtener más información sobre la API, consulte PutUserPolicy
la Referencia de AWS CLI comandos.
-
- Go
-
- SDK para Go V2
-
nota
Hay más información al respecto GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS
. import ( "context" "encoding/json" "errors" "log" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/service/iam" "github.com/aws/aws-sdk-go-v2/service/iam/types" "github.com/aws/smithy-go" ) // UserWrapper encapsulates user actions used in the examples. // It contains an IAM service client that is used to perform user actions. type UserWrapper struct { IamClient *iam.Client } // CreateUserPolicy adds an inline policy to a user. This example creates a policy that // grants a list of actions on a specified role. // PolicyDocument shows how to work with a policy document as a data structure and // serialize it to JSON by using Go's JSON marshaler. func (wrapper UserWrapper) CreateUserPolicy(ctx context.Context, userName string, policyName string, actions []string, roleArn string) error { policyDoc := PolicyDocument{ Version: "2012-10-17", Statement: []PolicyStatement{{ Effect: "Allow", Action: actions, Resource: aws.String(roleArn), }}, } policyBytes, err := json.Marshal(policyDoc) if err != nil { log.Printf("Couldn't create policy document for %v. Here's why: %v\n", roleArn, err) return err } _, err = wrapper.IamClient.PutUserPolicy(ctx, &iam.PutUserPolicyInput{ PolicyDocument: aws.String(string(policyBytes)), PolicyName: aws.String(policyName), UserName: aws.String(userName), }) if err != nil { log.Printf("Couldn't create policy for user %v. Here's why: %v\n", userName, err) } return err }-
Para obtener más información sobre la API, consulta PutUserPolicy
la Referencia AWS SDK para Go de la API.
-
- PowerShell
-
- Herramientas para la PowerShell versión 4
-
Ejemplo 1: en este ejemplo, se crea una política incrustada llamada
EC2AccessPolicyy se incrusta en el usuario de IAMBob. Si ya existe una política incrustada con el mismo nombre, se sobrescribirá. El contenido de la política JSON viene del archivoEC2AccessPolicy.json. Tenga en cuenta que debe usar el parámetro-Rawpara procesar correctamente el contenido del archivo JSON.Write-IAMUserPolicy -UserName Bob -PolicyName EC2AccessPolicy -PolicyDocument (Get-Content -Raw EC2AccessPolicy.json)-
Para obtener más información sobre la API, consulte PutUserPolicy Herramientas de AWS para PowerShellCmdlet Reference (V4).
-
- Herramientas para la versión 5 PowerShell
-
Ejemplo 1: en este ejemplo, se crea una política incrustada llamada
EC2AccessPolicyy se incrusta en el usuario de IAMBob. Si ya existe una política incrustada con el mismo nombre, se sobrescribirá. El contenido de la política JSON viene del archivoEC2AccessPolicy.json. Tenga en cuenta que debe usar el parámetro-Rawpara procesar correctamente el contenido del archivo JSON.Write-IAMUserPolicy -UserName Bob -PolicyName EC2AccessPolicy -PolicyDocument (Get-Content -Raw EC2AccessPolicy.json)-
Para obtener más información sobre la API, consulte PutUserPolicyla referencia de Herramientas de AWS para PowerShell cmdlets (V5).
-
- Ruby
-
- SDK para Ruby
-
nota
Hay más información al respecto. GitHub Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS
. # Creates an inline policy for a specified user. # @param username [String] The name of the IAM user. # @param policy_name [String] The name of the policy to create. # @param policy_document [String] The JSON policy document. # @return [Boolean] def create_user_policy(username, policy_name, policy_document) @iam_client.put_user_policy({ user_name: username, policy_name: policy_name, policy_document: policy_document }) @logger.info("Policy #{policy_name} created for user #{username}.") true rescue Aws::IAM::Errors::ServiceError => e @logger.error("Couldn't create policy #{policy_name} for user #{username}. Here's why:") @logger.error("\t#{e.code}: #{e.message}") false end-
Para obtener más información sobre la API, consulta PutUserPolicyla Referencia AWS SDK para Ruby de la API.
-
- Swift
-
- SDK para Swift
-
nota
Hay más información al respecto GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS
. import AWSIAM import AWSS3 func putUserPolicy(policyDocument: String, policyName: String, user: IAMClientTypes.User) async throws { let input = PutUserPolicyInput( policyDocument: policyDocument, policyName: policyName, userName: user.userName ) do { _ = try await iamClient.putUserPolicy(input: input) } catch { print("ERROR: putUserPolicy:", dump(error)) throw error } }-
Para obtener más información sobre la API, consulta PutUserPolicy
la referencia sobre la API de AWS SDK for Swift.
-