AWS SDK 또는 CLI와 함께 PutUserPolicy 사용
다음 코드 예시는 PutUserPolicy의 사용 방법을 보여 줍니다.
작업 예제는 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 다음 코드 예제에서는 컨텍스트 내에서 이 작업을 확인할 수 있습니다.
- CLI
-
- AWS CLI
-
IAM 사용자에게 정책 연결
다음
put-user-policy명령은 정책을 이름이Bob인 IAM 사용자에게 연결합니다.aws iam put-user-policy \ --user-nameBob\ --policy-nameExamplePolicy\ --policy-documentfile://AdminPolicy.json이 명령은 출력을 생성하지 않습니다.
정책은 AdminPolicy.json 파일에서 JSON 문서로 정의됩니다. (파일 이름과 확장자는 중요하지 않습니다.)
자세한 내용은 AWS IAM 사용 설명서의 IAM 자격 증명 권한 추가 및 제거를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 PutUserPolicy
를 참조하세요.
-
- Go
-
- SDK for Go V2
-
참고
GitHub에 더 많은 내용이 있습니다. 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 }-
API 세부 정보는 AWS SDK for Go API 참조의 PutUserPolicy
를 참조하십시오.
-
- PowerShell
-
- Tools for PowerShell V4
-
예제 1: 이 예제는
EC2AccessPolicy라는 인라인 정책을 생성하고 이를 IAM 사용자Bob에게 포함합니다. 동일한 이름의 인라인 정책이 이미 존재하는 경우 해당 정책을 덮어씁니다. JSON 정책 내용은EC2AccessPolicy.json파일에서 가져옵니다. JSON 파일의 내용을 성공적으로 처리하려면-Raw파라미터를 사용해야 합니다.Write-IAMUserPolicy -UserName Bob -PolicyName EC2AccessPolicy -PolicyDocument (Get-Content -Raw EC2AccessPolicy.json)-
API 세부 정보는 AWS Tools for PowerShell Cmdlet 참조(V4)의 PutUserPolicy를 참조하세요.
-
- Tools for PowerShell V5
-
예제 1: 이 예제는
EC2AccessPolicy라는 인라인 정책을 생성하고 이를 IAM 사용자Bob에게 포함합니다. 동일한 이름의 인라인 정책이 이미 존재하는 경우 해당 정책을 덮어씁니다. JSON 정책 내용은EC2AccessPolicy.json파일에서 가져옵니다. JSON 파일의 내용을 성공적으로 처리하려면-Raw파라미터를 사용해야 합니다.Write-IAMUserPolicy -UserName Bob -PolicyName EC2AccessPolicy -PolicyDocument (Get-Content -Raw EC2AccessPolicy.json)-
API 세부 정보는 AWS Tools for PowerShell Cmdlet 참조(V5)의 PutUserPolicy를 참조하세요.
-
- Ruby
-
- SDK for Ruby
-
참고
GitHub에 더 많은 내용이 있습니다. 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-
API 세부 정보는 AWS SDK for Ruby API 참조의 PutUserPolicy를 참조하십시오.
-
- Swift
-
- SDK for Swift
-
참고
GitHub에 더 많은 내용이 있습니다. 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 } }-
API 세부 정보는 Swift용 AWS SDK API 참조
의 PutUserPolicy를 참조하세요.
-
AWS SDK 개발자 가이드 및 코드 예시의 전체 목록은 AWS SDK와 함께 이 서비스 사용 섹션을 참조하세요. 이 주제에는 시작하기에 대한 정보와 이전 SDK 버전에 대한 세부 정보도 포함되어 있습니다.