2017-10-19 36 views
0

J'ai essayé de limit access to a VPC sans succès. Peut-être que le fait d'aborder la question de l'autre côté est une meilleure idée, mais je ne peux pas non plus que cela fonctionne.AWS IAM accorder à l'utilisateur un accès en lecture à une connexion VPC spécifique uniquement

J'ai essayé:

Limite par des balises comme indiqué here:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Action": "ec2:Describe*", 
      "Resource": "*", 
      "Condition": { 
       "StringEquals": { 
        "ec2:ResourceTag/client": "<client>" 
       } 
      } 
     } 
    ] 
} 

Limiter par VPC comme suggéré here:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Sid": "Stmt1508450090000", 
      "Effect": "Allow", 
      "Action": [ 
       "ec2:Describe*" 
      ], 
      "Resource": [ 
       "arn:aws:ec2:<region>:<account>:subnet/*" 
      ], 
      "Condition": { 
       "StringEquals": { 
        "ec2:Vpc": "arn:aws:ec2:<region>:<account>:vpc/<vpc_id>" 
       } 
      } 
     } 
    ] 
} 

Les deux politiques entraînent même pas répertorier les instances, voir capture d'écran.

Cela semble être une politique très évidente et communément nécessaire pour moi. Toute aide est appréciée.

+0

Voir https://aws.amazon.com/premiumsupport/knowledge-center/iam-policy-restrict-vpc/. – jarmod

+0

@jarmod Est-ce que je comprends bien que les actions 'ec2: Describe *' ne peuvent pas être limitées/limitées de quelque façon que ce soit, étant donné qu'elles ne reposent pas sur des ressources? – kev

+0

Croyez que c'est correct. Pour une liste définitive des actions qui prennent en charge les autorisations au niveau des ressources, voir http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html. AWS n'est pas organisé d'une manière qui vous permet de faire ce que vous voulez car sa séparation est vraiment au niveau du compte, pas au niveau VPC. Personnellement, j'aimerais voir AWS introduire de nouveaux conteneurs hiérarchiques pour les ressources afin que les informations d'identification IAM puissent être étendues à vpc, project, folder, account ou organisation. – jarmod

Répondre

0

Selon la documentation: http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_IAM.html#readonlyvpciam

Les subventions politiques suivantes aux utilisateurs l'autorisation à la liste de votre CVP et leurs composants. Ils ne peuvent pas les créer, les mettre à jour ou les supprimer.

{ 
    "Version": "2012-10-17", 
    "Statement":[{ 
    "Effect":"Allow", 
    "Action":["ec2:DescribeVpcs", 
       "ec2:DescribeSubnets", 
       "ec2:DescribeInternetGateways", 
       "ec2:DescribeEgressOnlyInternetGateways", 
       "ec2:DescribeVpcEndpoints", 
       "ec2:DescribeNatGateways", 
       "ec2:DescribeCustomerGateways", 
       "ec2:DescribeVpnGateways", 
       "ec2:DescribeVpnConnections", 
       "ec2:DescribeRouteTables", 
       "ec2:DescribeAddresses", 
       "ec2:DescribeSecurityGroups", 
       "ec2:DescribeNetworkAcls", 
       "ec2:DescribeDhcpOptions", 
       "ec2:DescribeTags", 
       "ec2:DescribeInstances"], 
    "Resource":"*" 
    } 
    ] 
} 

De plus, si vous avez plusieurs CVP que vous ne voulez pas voir même, peut-être vous devriez envisager de créer un sous-compte avec seulement la partie de votre réseau qu'ils devraient avoir une visibilité sur:

  1. Configuration de la facturation consolidée

en tant que première étape, connectez-vous à votre compte AWS et cliquez sur le bouton « Inscrivez-vous pour la facturation consolidée ».

  1. Créer un nouveau compte

D'un, vous voulez alors non-connecté dans le navigateur pour vous inscrire à nouveau à AWS à nouveau comme ceci:

Donner ce nouveau compte le nom approprié pour votre client. Notez l'adresse e-mail avec laquelle vous vous êtes inscrit.

  1. associerons les comptes

Dans votre compte principal, retournez à ConsolidatedBilling et cliquez sur le bouton Envoyer un Demande. Indiquez l'adresse e-mail de votre nouveau sous-compte.

Vous devriez recevoir un courriel à l'adresse courriel de votre nouveau sous-compte. Copiez le lien d'activation et collez-le dans votre navigateur connecté au sous-compte.

Vos comptes sont maintenant liés!

  1. Créez vos clients VPC et activez les services dont le client a besoin.

Ensuite, vous pouvez créer les services VPC & dont le client a besoin et restreindre leur accès via la politique ci-dessus.

+0

Où est la restriction à un seul vpc? – kev

+0

@kev voir ma mise à jour concernant les comptes. – shenku

+0

Pouvez-vous être un peu plus précis sur "activer les services dont le client a besoin". J'ai créé un sous-compte, mais je ne peux autoriser/refuser l'accès aux services (par exemple Amazon EC2) et aux actions (par exemple, DescribeInstances), mais je ne vois pas comment je limiterais l'accès à un vpc spécifique. Merci. – kev

0

Vous ne pouvez pas restreindre les appels Describe* comme vous le souhaitez.

Les appels qui créent ressources peuvent être limitées (par exemple, donner la permission de lancer une instance dans un VPC particulier), mais demande que la liste ressources ne peuvent pas être limitées.

Si vous avez besoin de la capacité à empêcher certains utilisateurs de la liste des ressources, alors vous aurez besoin soit de construire votre propre front-end qui filtre les informations avant de le présenter aux utilisateurs ou utiliser plusieurs comptes AWS depuis ils sont complètement isolés les uns des autres.