Différence entre les rôles IAM et les stratégies basées sur les ressources - AWS Identity and Access Management

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.

Différence entre les rôles IAM et les stratégies basées sur les ressources

Pour certains services AWS, vous pouvez accorder un accès entre comptes à vos ressources. Pour cela, vous attachez une stratégie directement à la ressource que vous souhaitez partager, au lieu d'utiliser un rôle en tant que proxy. La ressource que vous souhaitez partager doit prendre en charge les stratégies basées sur des ressources. Contrairement à une stratégie basée sur l'identité, une stratégie basée sur une ressource spécifie qui (quel mandataire) peut accéder à cette ressource.

Note

Les stratégies IAM basées sur les ressources et les rôles ne délèguent l'accès entre les comptes qu'au sein d'une seule partition. Par exemple, supposons que vous avez un compte dans la USA Ouest (Californie du Nord) sur la partition aws standard. Vous avez également un compte dans la Chine (Pékin) sur la partition aws-cn. Vous ne pouvez pas utiliser une stratégie Amazon S3 basée sur les ressources dans votre compte dans la région Chine (Pékin) pour autoriser l'accès aux utilisateurs de votre compte aws standard.

L'accès entre comptes avec une stratégie basée sur une ressource présente certains avantages comparée à l'accès entre comptes à l'aide d'un rôle. Avec une ressource à laquelle on accède à l'aide d'une stratégie basée sur une ressource, le mandataire continue d'utiliser le compte approuvé sans devoir renoncer à ses autorisations au profit des autorisations du rôle. Autrement dit, le mandataire continue d'avoir accès aux ressources du compte approuvé tout en ayant accès à la ressource du compte d'approbation. Cela est utile pour les tâches de copie d'informations de ou vers la ressources partagée de l'autre compte.Pour savoir si les mandataires des comptes situés en dehors de votre zone de confiance (organisation ou compte de confiance) ont accès à vos rôles, consultez Qu'est-ce que IAM Access Analyzer ?.

Les principaux que vous pouvez spécifier dans une stratégie basée sur une ressource comprennent les comptes, les utilisateurs IAM, les utilisateurs fédérés, les rôles IAM, les sessions de rôle assumé ou les services AWS. Pour de plus amples informations, veuillez consulter Spécification d'un mandataire.

La liste suivante inclut certains des services AWS prenant en charge les stratégies basées sur une ressource. Pour obtenir une liste complète du nombre croissant de services AWS prenant en charge l'attachement de stratégie d'autorisations aux ressources au lieu des mandataires, consultez Services AWS qui fonctionnent avec IAM et recherchez les services pour lesquels Oui figure dans la colonne Resource Based (Basé sur une ressource).

  • Compartiments Amazon S3 – La stratégie est attachée au compartiment, mais la stratégie contrôle l'accès au compartiment et aux objets qu'il contient. Pour plus d'informations, consultez Contrôle d'accès dans le Amazon Simple Storage Service Manuel du développeur.

    Dans certains cas, il peut être préférable d'utiliser des rôles pour l'accès entre comptes à Amazon S3. Pour plus d'informations, consultez les exemples dans le Amazon Simple Storage Service Manuel du développeur.

  • Rubriques Amazon Simple Notification Service (Amazon SNS) – Pour plus d'informations, consultez Gestion des accès à vos rubriques Amazon SNS dans le Amazon Simple Notification Service Manuel du développeur.

  • Files d'attente Amazon Simple Queue Service (Amazon SQS) – Pour plus d'informations, consultez Annexe : langage de stratégie d'accès dans le Amazon Simple Queue Service Manuel du développeur.

À propos de la suppression d'autorisations AWS dans une stratégie basée sur une ressource

Si une ressource accorde des autorisations aux mandataires de votre compte, vous pouvez alors déléguer ces autorisations à des identités IAM spécifiques. Les identités sont des utilisateurs, des groupes d'utilisateurs ou des rôles de votre compte. Vous déléguez des autorisations en attachant une stratégie à l'identité. Vous pouvez accorder autant d'autorisations que le compte propriétaire de la ressource le permet.

Supposons qu'une stratégie basée sur une ressource accorde à tous les mandataires de votre compte un accès administratif complet à une ressource. Vous pouvez ensuite déléguer un accès complet, un accès en lecture seule ou tout autre accès partiel aux mandataires de votre compte AWS. Sinon, si la stratégie basée sur la ressource autorise uniquement les autorisations d'affichage de liste, vous pouvez déléguer uniquement ce type d'accès. Si vous essayez de déléguer davantage d'autorisations que n'en possède votre compte, l'accès de vos mandataires restera limité à l'affichage de liste. Pour de plus amples informations sur l'attachement d'une stratégie à une identité IAM, veuillez consulter Gestion des stratégies IAM.

Note

Les stratégies IAM basées sur les ressources et les rôles ne délèguent l'accès entre les comptes qu'au sein d'une seule partition. Par exemple, vous ne pouvez pas ajouter d'accès entre comptes entre un compte dans la partition aws standard et un compte dans la partition aws-cn.

Par exemple, supposons que vous gériez AccountA et AccountB. Dans AccountA, vous disposez d'un compartiment Amazon S3 nommé BucketA. Vous attachez à BucketA une stratégie basée sur une ressource qui permet à tous les mandataires de AccountB d'accéder pleinement aux objets de votre compartiment. Ils peuvent créer, lire ou supprimer les objets de ce compartiment. Dans AccountB, vous attachez une stratégie à l'utilisateur IAM nommé User2. Cette stratégie permet à l'utilisateur d'accéder en lecture seule aux objets de BucketA. Cela signifie que User2 peut afficher les objets, mais ne peut pas les créer, les modifier ou les supprimer.


        Délégation d'accès à un compte AWS
  1. AccountA accorde à AccountB un accès complet à BucketA en désignant AccountB comme mandataire dans la stratégie basée sur la ressource. En conséquence, AccountB est autorisé à effectuer toute action sur BucketA et l'administrateur de AccountB peut déléguer l'accès à ses utilisateurs dans AccountB.

  2. L'utilisateur utilisateur racine de AccountB dispose de toutes les autorisations qui sont accordées au compte. Par conséquent, l'utilisateur utilisateur racine a un accès complet à BucketA.

  3. L'administrateur de AccountB ne donne pas accès à User1. Par défaut, les utilisateurs ne disposent pas d'autorisations, sauf celles qui sont explicitement accordées. Par conséquent, User1 n'a pas accès à BucketA.

  4. L'administrateur de AccountB accorde à User2 un accès en lecture seule à BucketA. User2 peut afficher les objets du compartiment. Le niveau d'accès maximal que AccountB peut déléguer est le niveau d'accès accordé au compte. Dans ce cas, la stratégie basée sur la ressource a accordé un accès complet à AccountB, mais User2 ne dispose que d'un accès en lecture seule.

IAM évalue les autorisations d'un mandataire au moment où il fait une demande. Par conséquent, si vous utilisez des caractères génériques (*) pour donner aux utilisateurs un accès complet à vos ressources, les mandataires peuvent accéder à toutes les ressources auxquelles votre compte AWS a accès. Cela est vrai même pour les ressources que vous ajoutez ou auxquelles vous accédez après la création de la stratégie de l'utilisateur.

Dans l'exemple précédent, si AccountB avait attaché à User2 une stratégie permettant un accès complet à toutes les ressources de tous les comptes, User2 aurait automatiquement eu accès à toutes les ressources auxquelles AccountB a accès. Cela inclut l'accès à BucketA et l'accès à toutes les autres ressources accordé par les stratégies basées sur la ressource dans AccountA.

Important

N'accordez l'accès qu'aux entités auxquelles vous faites confiance et accordez l'accès minimal nécessaire. Chaque fois que l'entité approuvée est un autre compte AWS, celui-ci peut à son tour déléguer l'accès à l'un de ses utilisateurs IAM. Le compte AWS approuvé peut déléguer uniquement l'accès dont il bénéficie. Il ne peut pas déléguer plus d'accès que le compte n'en a lui-même.

Pour plus d'informations sur les autorisations, les stratégies et le langage de stratégie d'autorisation que vous utilisez pour écrire des stratégies, consultez Gestion des accès pour les ressources AWS.