AWS SDK 또는 CLI로 GetUser 사용하기

AWS SDK 또는 CLI로 GetUser 사용하기

다음 코드 예시는 GetUser을(를) 사용하는 방법을 보여줘요.

출처: 문서

본문

SDK for .NET

참고: GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행·설정 방법을 배울 수 있어요.

    /// <summary>
    /// Get information about an IAM user.
    /// </summary>
    /// <param name="userName">The username of the user.</param>
    /// <returns>An IAM user object.</returns>
    public async Task<User> GetUserAsync(string userName)

{

        var response = await _IAMService.GetUserAsync(new GetUserRequest
{
 UserName = userName });
        return response.User;
    }

API 상세 내용은 AWS SDK for .NET API Reference의 GetUser 문서를 참고하세요.

AWS CLI with Bash script

참고: GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행·설정 방법을 배울 수 있어요.

###############################################################################
# function errecho
#
# This function outputs everything sent to it to STDERR (standard error output).
###############################################################################
function errecho()
{

  printf "%s\n" "$*" 1>&2
}

###############################################################################
# function iam_user_exists
#
# This function checks to see if the specified AWS Identity and Access Management (IAM) user already exists.
#
# Parameters:
#       $1 - The name of the IAM user to check.
#
# Returns:
#       0 - If the user already exists.
#       1 - If the user doesn't exist.
###############################################################################
function iam_user_exists()
{

  local user_name
  user_name=$1

  # Check whether the IAM user already exists.
  # We suppress all output - we're interested only in the return code.

  local errors
  errors=$(aws iam get-user \
    --user-name "$user_name" 2>&1 >/dev/null)

  local error_code=$
{
?}

  if [[ $error_code -eq 0 ]]; then
    return 0 # 0 in Bash script means true.
  else
    if [[ $errors != *"error"*"(NoSuchEntity)"* ]]; then
      aws_cli_error_log $error_code
      errecho "Error calling iam get-user $errors"
    fi

    return 1 # 1 in Bash script means false.
  fi
}

API 상세 내용은 AWS CLI Command Reference의 GetUser 문서를 참고하세요.

AWS CLI

IAM 사용자 정보를 가져오려면

다음 get-user 명령은 Paulo라는 IAM 사용자에 대한 정보를 가져와요.

aws iam get-user \
    --user-name
Paulo

출력:

{

    "User":
{

        "UserName": "Paulo",
        "Path": "/",
        "CreateDate": "2019-09-21T23:03:13Z",
        "UserId": "AIDA123456789EXAMPLE",
        "Arn": "arn:aws:iam::123456789012:user/Paulo"
    }
}

더 자세한 내용은 AWS IAM 사용자 가이드의 'IAM 사용자 관리' 문서를 참고하세요.

API 상세 내용은 AWS CLI Command Reference의 GetUser 문서를 참고하세요.

SDK for Go V2

참고: GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행·설정 방법을 배울 수 있어요.

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
}



// GetUser gets data about a user.
func (wrapper UserWrapper) GetUser(ctx context.Context, userName string) (*types.User, error)
{

	var user *types.User
	result, err := wrapper.IamClient.GetUser(ctx, &iam.GetUserInput
{

		UserName: aws.String(userName),
	})
	if err != nil
{

		var apiError smithy.APIError
		if errors.As(err, &apiError)
{

			switch apiError.(type)
{

			case *types.NoSuchEntityException:
				log.Printf("User %v does not exist.\n", userName)
				err = nil
			default:
				log.Printf("Couldn't get user %v. Here's why: %v\n", userName, err)
			}
		}
	} else
{

		user = result.User
	}
	return user, err
}

API 상세 내용은 AWS SDK for Go API Reference의 GetUser 문서를 참고하세요.

Tools for PowerShell V4

예시 1: 이 예시는 David 사용자에 대한 상세 정보를 조회해요.

Get-IAMUser -UserName David

출력:

Arn              : arn:aws:iam::123456789012:user/David
CreateDate       : 12/10/2014 3:39:27 PM
PasswordLastUsed : 3/19/2015 8:44:04 AM
Path             : /
UserId           : Y4FKWQCXTA52QEXAMPLE1
UserName         : David

예시 2: 이 예시는 현재 로그인한 IAM 사용자에 대한 상세 정보를 조회해요.

Get-IAMUser

출력:

Arn              : arn:aws:iam::123456789012:user/Bob
CreateDate       : 10/16/2014 9:03:09 AM
PasswordLastUsed : 3/4/2015 12:12:33 PM
Path             : /
UserId           : 7K3GJEANSKZF2EXAMPLE2
UserName         : Bob

API 상세 내용은 AWS Tools for PowerShell Cmdlet Reference (V4)의 GetUser 문서를 참고하세요.

Tools for PowerShell V5

예시 1: 이 예시는 David 사용자에 대한 상세 정보를 조회해요.

Get-IAMUser -UserName David

출력:

Arn              : arn:aws:iam::123456789012:user/David
CreateDate       : 12/10/2014 3:39:27 PM
PasswordLastUsed : 3/19/2015 8:44:04 AM
Path             : /
UserId           : Y4FKWQCXTA52QEXAMPLE1
UserName         : David

예시 2: 이 예시는 현재 로그인한 IAM 사용자에 대한 상세 정보를 조회해요.

Get-IAMUser

출력:

Arn              : arn:aws:iam::123456789012:user/Bob
CreateDate       : 10/16/2014 9:03:09 AM
PasswordLastUsed : 3/4/2015 12:12:33 PM
Path             : /
UserId           : 7K3GJEANSKZF2EXAMPLE2
UserName         : Bob

API 상세 내용은 AWS Tools for PowerShell Cmdlet Reference (V5)의 GetUser 문서를 참고하세요.

SDK for Ruby

참고: GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행·설정 방법을 배울 수 있어요.

  # Retrieves a user's details
  #
  # @param user_name [String] The name of the user to retrieve
  # @return [Aws::IAM::Types::User, nil] The user object if found, or nil if an error occurred
  def get_user(user_name)
    response = @iam_client.get_user(user_name: user_name)
    response.user
  rescue Aws::IAM::Errors::NoSuchEntity
    @logger.error("User '#
{
user_name}' not found.")
    nil
  rescue Aws::IAM::Errors::ServiceError => e
    @logger.error("Error retrieving user '#
{
user_name}': #
{
e.message}")
    nil
  end

API 상세 내용은 AWS SDK for Ruby API Reference의 GetUser 문서를 참고하세요.

SDK for Swift

참고: GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행·설정 방법을 배울 수 있어요.

import AWSIAM
import AWSS3


    public func getUser(name: String? = nil) async throws -> IAMClientTypes.User
{

        let input = GetUserInput(
            userName: name
        )
        do
{

            let output = try await iamClient.getUser(input: input)
            guard let user = output.user else
{

                throw ServiceHandlerError.noSuchUser
            }
            return user
        } catch
{

            print("ERROR: getUser:", dump(error))
            throw error
        }
    }

API 상세 내용은 AWS SDK for Swift API reference의 GetUser 문서를 참고하세요.

더 알아보기 (Learn more)