Mi empresa tiene una organización configurada en AWS (CompanyA como ejemplo). Cada equipo tiene una cuenta asociada a esta organización (HR, ProductA, ProductB, ect..). Nosotros, en ProductA, estamos intentando otorgar acceso de solo lectura a un depósito S3 que sirve como un repositorio yum que poseemos para cualquier persona de esta organización desde su instancia ec2 sin autenticación (los comandos yum funcionan de forma inmediata)
Algunos elementos que evaluamos: https://github.com/rmela/yum-s3-plugin -> Esto iría junto con el acceso principal del usuario, los usuarios tendrían que agregar sus claves para extraer del repositorio
http://parthicloud.com/how-to-access-s3-bucket-from-application-on-amazon-ec2-without-access-credentials/ -> Gran tutorial para dentro de su propia cuenta, es necesario traer instancias ec2 con una política de IAM para permitir el acceso al depósito.
Agregue una condición a la política del depósito que enumera su organización de AWS y permita el acceso a todos los principales. Consulte Claves de contexto de condición global de AWS , busque aws:PrincipalOrgID . "Cuando agrega y elimina cuentas, las políticas que incluyen aws:PrincipalOrgID incluyen automáticamente las cuentas correctas y no requieren actualización manual".
Las secciones Action y Resource en el siguiente ejemplo deben ser las mismas que para su política actual que enumera todas las cuentas de AWS en su organización.
{ "Version": "2012-10-17", "Statement": { "Sid": "AllowOrganizationToReadYumBucket", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::your-yum-bucket", "arn:aws:s3:::your-yum-bucket/*" ], "Condition": { "StringEquals": {"aws:PrincipalOrgID":["o-xxxxxxxxxxx"]} } } }No es posible que una política de depósito de Amazon S3 haga referencia a un grupo de cuentas en una organización de AWS .
Su política de depósito necesitaría enumerar los permisos para cada cuenta individualmente. Por ejemplo:
"Principal":{"AWS":"arn:aws:iam::ACCOUNT-NUMBER:user/*"}