IAM : autorise et refuse l'accès à plusieurs services par programmation et dans la console
Cet exemple montre comment vous pouvez créer une politique basée sur l'identité qui autorise un accès total à plusieurs services, ainsi qu'un accès autogéré limité dans IAM. Cela refuse également aux utilisateurs l'accès au compartiment des journaux Amazon S3 logs
ou à l'instance Amazon EC2 i-1234567890abcdef0
Cette politique définit des autorisations pour l'accès à la console et par programmation. Pour utiliser cette politique, remplacez le texte de l'espace réservé en italique
dans l'exemple de politique par vos propres informations de ressource. Ensuite, suivez les instructions fournies dans create a policy (créer une politique) ou edit a policy (modifier une politique).
Avertissement
Cette politique permet un accès total à toutes les actions et ressources dans plusieurs services. Cette politique doit être appliquée uniquement aux administrateurs de confiance.
Vous pouvez utiliser cette politique comme une limite des autorisations pour définir les autorisations maximales qu'une politique basée sur les identités peut accorder à un utilisateur IAM. Pour plus d’informations, veuillez consulter Délégation de responsabilité à d'autres utilisateurs à l'aide des limites d'autorisations. Lorsque la politique est utilisée comme une limite des autorisations pour un utilisateur, les instructions définissent les limites suivantes :
-
L'instruction
AllowServices
autorise un accès complet au service AWS spécifié. Cela signifie que les nouvelles actions de l'utilisateur dans ces services sont uniquement limitées par les politiques d'autorisations qui lui sont attachées. -
L'instruction
AllowIAMConsoleForCredentials
autorise l'accès pour répertorier tous les utilisateurs IAM. Cet accès est nécessaire pour accéder à la page Utilisateurs dans la AWS Management Console. Il permet également d'afficher les exigences de mot de passe pour le compte, ce qui est nécessaire pour que l'utilisateur modifie son mot de passe. -
L'instruction
AllowManageOwnPasswordAndAccessKeys
autorise les utilisateurs à gérer uniquement leur propre mot de passe de console et les clés d'accès par programmation. C'est important, car si une autre politique accorde à un utilisateur l'accès complet à IAM, cet utilisateur peut ensuite modifier ses propres autorisations ou celles d'autres utilisateurs. Cette instruction évite ce genre de problème. -
L'instruction
DenyS3Logs
refuse explicitement l'accès au compartimentlogs
. Cette politique applique à l'entreprise des restrictions sur l'utilisateur. -
L'instruction
DenyEC2Production
refuse explicitement l'accès à l'instancei-1234567890abcdef0
.
Cette politique n'autorise pas l'accès à d'autres services ou actions. Lorsque la politique est utilisée comme une limite d'autorisations sur un utilisateur, même si d'autres politiques attachées à l'utilisateur autorisent ces actions, AWS refuse la demande.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowServices", "Effect": "Allow", "Action": [ "s3:*", "cloudwatch:*", "ec2:*" ], "Resource": "*" }, { "Sid": "AllowIAMConsoleForCredentials", "Effect": "Allow", "Action": [ "iam:ListUsers", "iam:GetAccountPasswordPolicy" ], "Resource": "*" }, { "Sid": "AllowManageOwnPasswordAndAccessKeys", "Effect": "Allow", "Action": [ "iam:*AccessKey*", "iam:ChangePassword", "iam:GetUser", "iam:*LoginProfile*" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "DenyS3Logs", "Effect": "Deny", "Action": "s3:*", "Resource": [ "arn:aws:s3:::
logs
", "arn:aws:s3:::logs
/*" ] }, { "Sid": "DenyEC2Production", "Effect": "Deny", "Action": "ec2:*", "Resource": "arn:aws:ec2:*:*:instance/i-1234567890abcdef0
" } ] }