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 문서를 참고하세요.