Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
À utiliser GetRoleavec un AWS SDK ou CLI
Les exemples de code suivants illustrent comment utiliser GetRole.
Les exemples d’actions sont des extraits de code de programmes de plus grande envergure et doivent être exécutés en contexte. Vous pouvez voir cette action en contexte dans les exemples de code suivants :
- .NET
-
- SDK pour .NET
-
/// <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;
}
- CLI
-
- AWS CLI
-
Pour obtenir les informations sur un rôle IAM
La commande get-role suivante permet d’obtenir des informations sur le rôle nommé Test-Role.
aws iam get-role \
--role-name Test-Role
Sortie :
{
"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"
}
}
La commande affiche la politique d’approbation attachée au rôle. Pour répertorier les politiques des autorisations attachées à un rôle, utilisez la commande list-role-policies.
Pour plus d’informations, consultez Création de rôles IAM dans le Guide de l’utilisateur AWS IAM.
- Go
-
- Kit SDK pour Go V2
-
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
}
- JavaScript
-
- SDK pour JavaScript (v3)
-
Obtenez le rôle.
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);
};
- PHP
-
- Kit SDK pour PHP
-
$uuid = uniqid();
$service = new IAMService();
public function getRole($roleName)
{
return $this->customWaiter(function () use ($roleName) {
return $this->iamClient->getRole(['RoleName' => $roleName]);
});
}
- PowerShell
-
- Outils pour PowerShell V4
-
Exemple 1 : cet exemple renvoie les détails du lamda_exec_role. Il inclut le document de politique d’approbation qui spécifie la personne capable d’assumer ce rôle. Le document de politique est encodé sous forme d’URL et peut être décodé à l’aide de la méthode .NET UrlDecode. Dans cet exemple, tous les espaces blancs ont été supprimés de la politique originale avant qu’elle ne soit chargée dans la politique. Pour consulter les documents de politique d’autorisation qui déterminent ce qu’une personne assumant le rôle peut faire, utilisez Get-IAMRolePolicy pour les politiques en ligne, et Get-IAMPolicyVersion pour les politiques gérées attachées.
$results = Get-IamRole -RoleName lambda_exec_role
$results | Format-List
Sortie :
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
Sortie :
{"Version":"2012-10-17","Statement":[{"Sid":"","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"},"Action":"sts:AssumeRole"}]}
- Outils pour PowerShell V5
-
Exemple 1 : cet exemple renvoie les détails du lamda_exec_role. Il inclut le document de politique d’approbation qui spécifie la personne capable d’assumer ce rôle. Le document de politique est encodé sous forme d’URL et peut être décodé à l’aide de la méthode .NET UrlDecode. Dans cet exemple, tous les espaces blancs ont été supprimés de la politique originale avant qu’elle ne soit chargée dans la politique. Pour consulter les documents de politique d’autorisation qui déterminent ce qu’une personne assumant le rôle peut faire, utilisez Get-IAMRolePolicy pour les politiques en ligne, et Get-IAMPolicyVersion pour les politiques gérées attachées.
$results = Get-IamRole -RoleName lambda_exec_role
$results | Format-List
Sortie :
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
Sortie :
{"Version":"2012-10-17","Statement":[{"Sid":"","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"},"Action":"sts:AssumeRole"}]}
- Python
-
- Kit SDK for Python (Boto3)
-
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
- Ruby
-
- Kit SDK pour Ruby
-
# 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
- Rust
-
- SDK pour Rust
-
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)
}
- SAP ABAP
-
- Kit SDK pour SAP ABAP
-
TRY.
oo_result = lo_iam->getrole( iv_rolename = iv_role_name ).
MESSAGE 'Retrieved role information.' TYPE 'I'.
CATCH /aws1/cx_iamnosuchentityex.
MESSAGE 'Role does not exist.' TYPE 'E'.
ENDTRY.
- Swift
-
- Kit SDK pour Swift
-
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
}
}
Pour obtenir la liste complète des guides de développement du AWS SDK et des exemples de code, consultezUtiliser ce service avec un AWS Kit SDK. Cette rubrique comprend également des informations sur le démarrage et sur les versions précédentes du kit SDK.