AWS 文档 AWS SDK示例 GitHub 存储库中还有更多SDK示例
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
与 AWS SDK或PutUserPolicy
一起使用 CLI
以下代码示例演示如何使用 PutUserPolicy
。
操作示例是大型程序的代码摘录,必须在上下文中运行。在以下代码示例中,您可以查看此操作的上下文:
- CLI
-
- AWS CLI
-
将策略附加到IAM用户
以下
put-user-policy
命令将策略附加到名为的IAM用户Bob
。aws iam put-user-policy \ --user-name
Bob
\ --policy-nameExamplePolicy
\ --policy-documentfile://AdminPolicy.json
此命令不生成任何输出。
该策略定义为 AdminPolicy.json JSON 文件中的文档。(文件名和扩展名没有意义。)
有关更多信息,请参阅《AWS IAM用户指南》中的添加和删除IAM身份权限。
-
有关API详细信息,请参阅 “PutUserPolicy AWS CLI
命令参考”。
-
- Go
-
- SDK适用于 Go V2
-
注意
还有更多相关信息 GitHub。查找完整示例,学习如何在 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 }
-
有关API详细信息,请参阅 “AWS SDK for Go API参考 PutUserPolicy
” 中的。
-
- PowerShell
-
- 用于 PowerShell
-
示例 1:此示例创建一个名为的内联策略
EC2AccessPolicy
并将其嵌入到IAM用户Bob
中。如果已经存在同名的内联策略,则该策略将被覆盖。JSON策略内容来自文件EC2AccessPolicy.json
。请注意,必须使用-Raw
参数才能成功处理JSON文件内容。Write-IAMUserPolicy -UserName Bob -PolicyName EC2AccessPolicy -PolicyDocument (Get-Content -Raw EC2AccessPolicy.json)
-
有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考PutUserPolicy中的。
-
- Ruby
-
- SDK对于 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为斯威夫特
-
注意
这是预览版SDK的预发行文档。本文档随时可能更改。
注意
还有更多相关信息 GitHub。查找完整示例,学习如何在 AWS 代码示例存储库
中进行设置和运行。 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 } }
-
有关API详细信息,请参阅PutUserPolicy
中的 Swi AWS SDK ft API 参考。
-