Passer au contenu

Comment puis-je utiliser une politique basée sur l’identité IAM pour restreindre l’accès à une session de rôle IAM spécifique ?

Lecture de 3 minute(s)
0

Je souhaite utiliser une politique basée sur l'identité pour accorder des autorisations à une session de rôle Gestion des identités et des accès AWS (AWS IAM) spécifique.

Résolution

Pour créer une politique IAM qui autorise l'accès à une session de rôle IAM spécifique, utilisez la clé de contexte de condition globale AWS aws:userid.

Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l’interface de la ligne de commande AWS (AWS CLI), consultez la page Résoudre les erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'AWS CLI.

La clé de condition globale aws:userid vérifie si l'ID unique du principal qui fait la demande correspond à l'ID unique spécifié dans la politique IAM. Par exemple, pour autoriser une session de rôle IAM à effectuer des actions spécifiques à Amazon Elastic Compute Cloud (Amazon EC2) dans votre compte AWS, créez une politique IAM :

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowASpecificRoleSession",
            "Effect": "Allow",
            "Action": [
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:RebootInstances",
                "ec2:TerminateInstances"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:userid": "AROA123456789EXAMPLE:&ExampleRoleSessionName"
                }
            }
        }
    ]
}

Remarque : Remplacez aws:userid par l'ID unique et le nom de session de votre rôle.

La politique IAM précédente accorde à l'instance Amazon EC2 l'accès à la session de rôle IAM dans la clé de condition globale aws:userid. Les autres sessions de rôle ne peuvent pas effectuer d'actions Amazon EC2.

Pour obtenir l'ID de rôle pour le rôle IAM, exécutez la commande get-role de l’AWS CLI :

aws iam get-role --role-name role_name

Remarque : Remplacez role_name par le nom de votre rôle.

Vous obtenez un résultat similaire à l’exemple suivant :

{
    "Role": {
        "Path": "/",
        "RoleName": "Test-Role",
        "RoleId": "AROA123456789EXAMPLE",
        "Arn": "arn:aws:iam::444455556666:role/Role",
        "CreateDate": "2023-08-04T12:37:14+00:00",
        "AssumeRolePolicyDocument": "URL-encoded-JSON",
        "Description": "Test Role",
        "MaxSessionDuration": 3600,
        "RoleLastUsed": {
            "Region": "us-east-1",
            "LastUsedDate": "2025-10-27T12:36:29+00:00"
        }
    }
}

Dans la sortie, vérifiez la chaîne RoleId. L'ID de rôle est utilisé dans la politique basée sur l'identité pour définir l'accès de l'instance Amazon EC2 à la session de rôle IAM.

Remarque : La clé de condition globale aws:userid peut être utilisée dans tout type de politique IAM, telle qu'une politique basée sur l'identité, une politique basée sur les ressources et une politique de limites d'autorisation. Les valeurs de la clé de condition globale aws:userid dépendent du type de principal à l'origine de la demande. Pour déterminer les valeurs des différents types de principaux, consultez la section Valeurs de la clé du principal.

Informations connexes

Comment puis-je restreindre l'accès des identités IAM à des ressources Amazon EC2 spécifiques ?

Comment utiliser les identifications de politique IAM pour restreindre la manière dont une instance EC2 ou un volume EBS peuvent être créés et accessibles ?

AWS OFFICIELA mis à jour il y a 7 mois