Sono disponibili altri esempi per SDK AWS nel repository GitHub della documentazione degli esempi per SDK AWS
Utilizzare PutUserPolicy con un SDK AWS o una CLI
Gli esempi di codice seguenti mostrano come utilizzare PutUserPolicy.
Gli esempi di operazioni sono estratti di codice da programmi più grandi e devono essere eseguiti nel contesto. Puoi vedere questa azione nel contesto nel seguente esempio di codice:
- CLI
-
- AWS CLI
-
Come collegare una policy a un utente IAM
Il comando
put-user-policyseguente collega una policy all’utente IAM denominatoBob.aws iam put-user-policy \ --user-nameBob\ --policy-nameExamplePolicy\ --policy-documentfile://AdminPolicy.jsonQuesto comando non produce alcun output.
La policy è definita come documento JSON nel file AdminPolicy.json. (Il nome e l’estensione del file non hanno importanza.)
Per ulteriori informazioni, consulta Aggiunta e rimozione di autorizzazioni per identità IAM nella Guida per l’utente di IAM AWS.
-
Per informazioni dettagliate sull’API, consulta PutUserPolicy
nella documentazione di riferimento dei comandi della AWS CLI.
-
- Go
-
- SDK per Go V2
-
Nota
Ulteriori informazioni su GitHub. Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel Repository di esempi di codice 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 }-
Per informazioni dettagliate sull’API, consulta PutUserPolicy
nella documentazione di riferimento dell’API AWS SDK per Go.
-
- PowerShell
-
- Strumenti per PowerShell V4
-
Esempio 1: questo esempio crea una policy in linea denominata
EC2AccessPolicye la incorpora nell’utente IAMBob. Se esiste già una policy in linea con lo stesso nome, quest’ultima sarà sovrascritta. Il contenuto della policy JSON proviene dal fileEC2AccessPolicy.json. Si noti che per elaborare correttamente il contenuto del file JSON è necessario utilizzare il parametro-Raw.Write-IAMUserPolicy -UserName Bob -PolicyName EC2AccessPolicy -PolicyDocument (Get-Content -Raw EC2AccessPolicy.json)-
Per informazioni dettagliate sull’API, consulta PutUserPolicy nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).
-
- Strumenti per PowerShell V5
-
Esempio 1: questo esempio crea una policy in linea denominata
EC2AccessPolicye la incorpora nell’utente IAMBob. Se esiste già una policy in linea con lo stesso nome, quest’ultima sarà sovrascritta. Il contenuto della policy JSON proviene dal fileEC2AccessPolicy.json. Si noti che per elaborare correttamente il contenuto del file JSON è necessario utilizzare il parametro-Raw.Write-IAMUserPolicy -UserName Bob -PolicyName EC2AccessPolicy -PolicyDocument (Get-Content -Raw EC2AccessPolicy.json)-
Per informazioni dettagliate sull’API, consulta PutUserPolicy nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V5).
-
- Ruby
-
- SDK per Ruby
-
Nota
Ulteriori informazioni su GitHub. Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel Repository di esempi di codice 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-
Per informazioni dettagliate sull’API, consulta PutUserPolicy nella documentazione di riferimento dell’API AWS SDK per Ruby.
-
- Swift
-
- SDK per Swift
-
Nota
Ulteriori informazioni su GitHub. Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel Repository di esempi di codice 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 } }-
Per informazioni dettagliate sull’API, consulta PutUserPolicy
nella documentazione di riferimento dell’API AWS SDK per Swift.
-