Class AWS::IAM::User
In: lib/aws/iam/user.rb
Parent: Resource

Represents an IAM User. Each AWS account can have many users. Users can be organized (optionally) into groups. Users (and groups) can be given policies that affect that they can do.

Creating A User

  iam = AWS::IAM.new

  user = iam.users.create('johndoe')

Renaming a User

You can only edit a user‘s name and path (both of which will modify the user‘s ARN).

  user = iam.users['johndoe']
  user.name = 'newname'

User Path

When you create a user you can assign a path. Paths must begin and end with a forward slash (/).

  user = iam.users.create('newuser', :path => '/developers/ruby/')

Paths are a useful tool for organizing/tagging users. You can later enumerate users by their path prefixes:

  iam.users.each(:path_prefix => '/developers').each do |developer|
    puts developer.name
  end

Login Profile

A login profile is required for an IAM user to use the AWS Management console (web interface). See {LoginProfile} for more information.

Deleting Users

In order to delete a user you must first remove it from all of its groups and delete all of its signing certificates. Once this is done:

Methods

Public Class methods

@param [String] name The IAM user name for this user. @param [Hash] options

Public Instance methods

Returns a collection that represents the access keys for this user.

  user.access_keys.each do |access_key|
    puts access_key.id
  end

@return [AccessKeyCollection] Returns a collection that represents all

  access keys for this user.

Deletes this user. @return [nil]

Returns a collection that includes all of the groups the user is in.

@return [UserGroupCollection]

A login profile is a user name and password that enables a user to log in to the {aws.amazon.com/console AWS Management Console}. The object returned by this method allows you to set or delete the password. For example:

  user.login_profile.password = "TheNewPassword"

@return [LoginProfile] Returns the login profile for this

  user.

@return [MFADeviceCollection] Returns a collection that represents

  all MFA devices assigned to this user.

Returns a collection that represents all policies for this user.

  user.policies.each do |policy|
    puts policy.name
  end

@return [PolicyCollection] Returns a collection that represents

  all policies for this user.

Returns a collection that represents the signing certificates belonging to this user.

  user.signing_certificates.each do |cert|
    # ...
  end

If you need to access the signing certificates of this AWS account, see {IAM#signing_certificates}.

@return [SigningCertificateCollection] Returns a collection that

  represents signing certificates for this user.

Protected Instance methods

[Validate]