Verwendung von GetRole 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 GetRole mit einem AWS-SDK oder CLI

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

.NET
SDK für .NET
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.

/// <summary> /// Get information about an IAM role. /// </summary> /// <param name="roleName">The name of the IAM role to retrieve information /// for.</param> /// <returns>The IAM role that was retrieved.</returns> public async Task<Role> GetRoleAsync(string roleName) { var response = await _IAMService.GetRoleAsync(new GetRoleRequest { RoleName = roleName, }); return response.Role; }
  • Weitere API-Informationen finden Sie unter GetRole in der API-Referenz für AWS SDK für .NET.

CLI
AWS CLI

So rufen Sie Informationen über eine IAM-Rolle ab

Mit dem folgenden get-role-Befehl werden Informationen über die Rolle mit dem Namen Test-Role abgerufen.

aws iam get-role \ --role-name Test-Role

Ausgabe:

{ "Role": { "Description": "Test Role", "AssumeRolePolicyDocument":"<URL-encoded-JSON>", "MaxSessionDuration": 3600, "RoleId": "AROA1234567890EXAMPLE", "CreateDate": "2019-11-13T16:45:56Z", "RoleName": "Test-Role", "Path": "/", "RoleLastUsed": { "Region": "us-east-1", "LastUsedDate": "2019-11-13T17:14:00Z" }, "Arn": "arn:aws:iam::123456789012:role/Test-Role" } }

Der Befehl zeigt die Vertrauensrichtlinie an, die der Rolle zugeordnet ist. Verwenden Sie den list-role-policies-Befehl, um die einer Rolle zugeordneten Berechtigungsrichtlinien aufzulisten.

Weitere Informationen finden Sie unter Erstellen von IAM-Rollen im AWS-IAM-Benutzerhandbuch.

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

Go
SDK für Go V2
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.

import ( "context" "encoding/json" "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" ) // RoleWrapper encapsulates AWS Identity and Access Management (IAM) role actions // used in the examples. // It contains an IAM service client that is used to perform role actions. type RoleWrapper struct { IamClient *iam.Client } // GetRole gets data about a role. func (wrapper RoleWrapper) GetRole(ctx context.Context, roleName string) (*types.Role, error) { var role *types.Role result, err := wrapper.IamClient.GetRole(ctx, &iam.GetRoleInput{RoleName: aws.String(roleName)}) if err != nil { log.Printf("Couldn't get role %v. Here's why: %v\n", roleName, err) } else { role = result.Role } return role, err }
  • Weitere API-Informationen finden Sie unter GetRole in der API-Referenz für AWS SDK für Go.

JavaScript
SDK für JavaScript (v3)
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.

Rufen Sie die Rolle ab.

import { GetRoleCommand, IAMClient } from "@aws-sdk/client-iam"; const client = new IAMClient({}); /** * * @param {string} roleName */ export const getRole = (roleName) => { const command = new GetRoleCommand({ RoleName: roleName, }); return client.send(command); };
  • Weitere API-Informationen finden Sie unter GetRole in der API-Referenz für AWS SDK für JavaScript.

PHP
SDK für PHP
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.

$uuid = uniqid(); $service = new IAMService(); public function getRole($roleName) { return $this->customWaiter(function () use ($roleName) { return $this->iamClient->getRole(['RoleName' => $roleName]); }); }
  • Weitere API-Informationen finden Sie unter GetRole in der API-Referenz für AWS SDK für PHP.

PowerShell
Tools für PowerShell V4

Beispiel 1: Dieses Beispiel gibt die Details von lamda_exec_role zurück. Es enthält das Vertrauensrichtlinien-Dokument, das angibt, wer diese Rolle übernehmen kann. Das Richtliniendokument ist URL-codiert und kann mit der .NET-Methode UrlDecodedecodiert werden. In diesem Beispiel wurden aus der ursprünglichen Richtlinie sämtliche Leerzeichen entfernt, bevor sie in die Richtlinie hochgeladen wurden. Um die Berechtigungsrichtliniendokumente anzuzeigen, die bestimmen, was jemand, der die Rolle übernimmt, tun kann, verwenden Sie Get-IAMRolePolicy für Inline-Richtlinien und Get-IAMPolicyVersion für angefügte verwaltete Richtlinien.

$results = Get-IamRole -RoleName lambda_exec_role $results | Format-List

Ausgabe:

Arn : arn:aws:iam::123456789012:role/lambda_exec_role AssumeRolePolicyDocument : %7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22 %3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service %22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole %22%7D%5D%7D CreateDate : 4/2/2015 9:16:11 AM Path : / RoleId : 2YBIKAIBHNKB4EXAMPLE1 RoleName : lambda_exec_role
$policy = [System.Web.HttpUtility]::UrlDecode($results.AssumeRolePolicyDocument) $policy

Ausgabe:

{"Version":"2012-10-17","Statement":[{"Sid":"","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"},"Action":"sts:AssumeRole"}]}
  • Weitere API-Informationen finden Sie unter GetRole in der AWS -Tools für PowerShell-Cmdlet-Referenz (V4).

Tools für PowerShell V5

Beispiel 1: Dieses Beispiel gibt die Details von lamda_exec_role zurück. Es enthält das Vertrauensrichtlinien-Dokument, das angibt, wer diese Rolle übernehmen kann. Das Richtliniendokument ist URL-codiert und kann mit der .NET-Methode UrlDecodedecodiert werden. In diesem Beispiel wurden aus der ursprünglichen Richtlinie sämtliche Leerzeichen entfernt, bevor sie in die Richtlinie hochgeladen wurden. Um die Berechtigungsrichtliniendokumente anzuzeigen, die bestimmen, was jemand, der die Rolle übernimmt, tun kann, verwenden Sie Get-IAMRolePolicy für Inline-Richtlinien und Get-IAMPolicyVersion für angefügte verwaltete Richtlinien.

$results = Get-IamRole -RoleName lambda_exec_role $results | Format-List

Ausgabe:

Arn : arn:aws:iam::123456789012:role/lambda_exec_role AssumeRolePolicyDocument : %7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22 %3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service %22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole %22%7D%5D%7D CreateDate : 4/2/2015 9:16:11 AM Path : / RoleId : 2YBIKAIBHNKB4EXAMPLE1 RoleName : lambda_exec_role
$policy = [System.Web.HttpUtility]::UrlDecode($results.AssumeRolePolicyDocument) $policy

Ausgabe:

{"Version":"2012-10-17","Statement":[{"Sid":"","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"},"Action":"sts:AssumeRole"}]}
  • Weitere API-Informationen finden Sie unter GetRole in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).

Python
SDK für Python (Boto3)
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.

def get_role(role_name): """ Gets a role by name. :param role_name: The name of the role to retrieve. :return: The specified role. """ try: role = iam.Role(role_name) role.load() # calls GetRole to load attributes logger.info("Got role with arn %s.", role.arn) except ClientError: logger.exception("Couldn't get role named %s.", role_name) raise else: return role
  • Weitere API-Informationen finden Sie unter GetRole in der API-Referenz zum AWS-SDK für Python (Boto3).

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.

# Gets data about a role. # # @param name [String] The name of the role to look up. # @return [Aws::IAM::Role] The retrieved role. def get_role(name) role = @iam_client.get_role({ role_name: name }).role puts("Got data for role '#{role.role_name}'. Its ARN is '#{role.arn}'.") rescue Aws::Errors::ServiceError => e puts("Couldn't get data for role '#{name}' Here's why:") puts("\t#{e.code}: #{e.message}") raise else role end
  • Weitere API-Informationen finden Sie unter GetRole in der API-Referenz für AWS SDK für Ruby.

Rust
SDK für Rust
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.

pub async fn get_role( client: &iamClient, role_name: String, ) -> Result<GetRoleOutput, SdkError<GetRoleError>> { let response = client.get_role().role_name(role_name).send().await?; Ok(response) }
  • Weitere API-Informationen finden Sie unter GetRole in der API-Referenz zum AWS-SDK für Rust.

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 public func getRole(name: String) async throws -> IAMClientTypes.Role { let input = GetRoleInput( roleName: name ) do { let output = try await client.getRole(input: input) guard let role = output.role else { throw ServiceHandlerError.noSuchRole } return role } catch { print("ERROR: getRole:", dump(error)) throw error } }
  • Weitere API-Informationen finden Sie unter GetRole in der API-Referenz zum AWS SDK für Swift.