Verwendung von PutUserPolicy mit einem AWS-SDK oder CLI - AWS-SDK-Codebeispiele

Weitere AWS-SDK-Beispiele sind im GitHub-Repository Beispiele für AWS Doc SDKs verfügbar.

Verwendung von PutUserPolicy mit einem AWS-SDK oder CLI

Die folgenden Code-Beispiele zeigen, wie PutUserPolicy verwendet wird.

Beispiele für Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Im folgenden Codebeispiel können Sie diese Aktion im Kontext sehen:

CLI
AWS CLI

So fügen Sie einem IAM-Benutzer eine Richtlinie an

Der folgende put-user-policy-Befehl fügt dem IAM-Benutzer mit dem Namen Bob eine Richtlinie an.

aws iam put-user-policy \ --user-name Bob \ --policy-name ExamplePolicy \ --policy-document file://AdminPolicy.json

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Die Richtlinie ist als JSON-Dokument in der Datei AdminPolicy.json definiert. (Der Dateiname und die Erweiterung sind nicht von Bedeutung.)

Informationen finden Sie im Abschnitt Hinzufügen und Entfernen von IAM-Identitätsberechtigungen im AWS-IAM-Benutzerhandbuch.

  • Weitere API-Informationen finden Sie unter PutUserPolicy in der AWS CLI-Befehlsreferenz.

Go
SDK für Go V2
Anmerkung

Auf GitHub finden Sie noch mehr. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das AWS-Code-Beispiel- einrichten und ausführen.

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 }
  • Weitere API-Informationen finden Sie unter PutUserPolicy in der API-Referenz für AWS SDK für Go.

PowerShell
Tools für PowerShell V4

Beispiel 1: In diesem Beispiel wird eine Inline-Richtlinie mit dem Namen EC2AccessPolicy erstellt und in den IAM-Benutzer Bob eingebettet. Wenn bereits eine Inline-Richtlinie mit demselben Namen vorhanden ist, wird diese überschrieben. Der Inhalt der JSON-Richtlinie stammt aus der Datei EC2AccessPolicy.json. Beachten Sie, dass Sie den -Raw-Parameter verwenden müssen, um den Inhalt der JSON-Datei erfolgreich zu verarbeiten.

Write-IAMUserPolicy -UserName Bob -PolicyName EC2AccessPolicy -PolicyDocument (Get-Content -Raw EC2AccessPolicy.json)
  • Weitere API-Informationen finden Sie unter PutUserPolicy in der AWS -Tools für PowerShell-Cmdlet-Referenz (V4).

Tools für PowerShell V5

Beispiel 1: In diesem Beispiel wird eine Inline-Richtlinie mit dem Namen EC2AccessPolicy erstellt und in den IAM-Benutzer Bob eingebettet. Wenn bereits eine Inline-Richtlinie mit demselben Namen vorhanden ist, wird diese überschrieben. Der Inhalt der JSON-Richtlinie stammt aus der Datei EC2AccessPolicy.json. Beachten Sie, dass Sie den -Raw-Parameter verwenden müssen, um den Inhalt der JSON-Datei erfolgreich zu verarbeiten.

Write-IAMUserPolicy -UserName Bob -PolicyName EC2AccessPolicy -PolicyDocument (Get-Content -Raw EC2AccessPolicy.json)
  • Weitere API-Informationen finden Sie unter PutUserPolicy in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).

Ruby
SDK für Ruby
Anmerkung

Auf GitHub finden Sie noch mehr. Sie sehen das vollständige Beispiel und erfahren, wie Sie das AWS-Code-Beispiel-Repository einrichten und ausführen.

# 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
  • Weitere API-Informationen finden Sie unter PutUserPolicy in der API-Referenz für AWS SDK für Ruby.

Swift
SDK für Swift
Anmerkung

Auf GitHub finden Sie noch mehr. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das AWS-Code-Beispiel- einrichten und ausführen.

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 } }
  • Detaillierte API-Informationen finden Sie unter PutUserPolicy in der API-Referenz zum AWS-SDK für Swift.