Usar o PutUserPolicy com um AWS SDK ou a CLI - AWS Identity and Access Management

Usar o PutUserPolicy com um AWS SDK ou a CLI

Os exemplos de código a seguir mostram como usar o PutUserPolicy.

Exemplos de ações são trechos de código de programas maiores e devem ser executados em contexto. É possível ver essa ação no contexto no seguinte exemplo de código:

CLI
AWS CLI

Como anexar uma política a um usuário do IAM

O comando put-user-policy, apresentado a seguir, anexa uma política ao usuário do IAM denominado Bob.

aws iam put-user-policy \ --user-name Bob \ --policy-name ExamplePolicy \ --policy-document file://AdminPolicy.json

Este comando não produz saída.

A política é definida como um documento JSON no arquivo AdminPolicy.json. (O nome e a extensão do arquivo não têm significado.)

Para obter mais informações, consulte Adicionar e remover permissões de identidade do IAM no Guia do usuário do AWS IAM.

  • Para obter detalhes da API, consulte PutUserPolicy na Referência de comandos da AWS CLI.

Go
SDK para Go V2
nota

Há mais no GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da AWS.

// 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(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(context.TODO(), &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 obter detalhes da API, consulte PutUserPolicy na Referência da API AWS SDK for Go.

PowerShell
Ferramentas para PowerShell

Exemplo 1: este exemplo cria uma política em linha denominada EC2AccessPolicy e a incorpora no usuário do IAM Bob. Se já existir uma política em linha com o mesmo nome, ela será substituída. O conteúdo da política JSON vem do arquivo EC2AccessPolicy.json. Observe que você deve usar o parâmetro -Raw para processar com êxito o conteúdo do arquivo JSON.

Write-IAMUserPolicy -UserName Bob -PolicyName EC2AccessPolicy -PolicyDocument (Get-Content -Raw EC2AccessPolicy.json)
  • Para obter detalhes da API, consulte PutUserPolicy na Referência de Cmdlet do AWS Tools for PowerShell.

Ruby
SDK para Ruby
nota

Há mais no GitHub. Encontre o exemplo completo e veja como configurar e executar no repositório de exemplos de código da 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 obter detalhes da API, consulte PutUserPolicy na Referência da API AWS SDK for Ruby.

Swift
SDK para Swift
nota

Há mais no GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da AWS.

import AWSIAM 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 { throw error } }
  • Para obter detalhes sobre a API, consulte PutUserPolicy na Referência da API do AWS SDK para Swift.

Para ver uma lista completa dos Guias do desenvolvedor de SDK da AWS e exemplos de código, consulte Usar este serviço com um AWS SDK. Este tópico também inclui informações sobre como começar e detalhes sobre versões anteriores do SDK.