Я пытаюсь создать IAM Policy для ограничения доступа к выбранным кодам S3. Есть по умолчанию S3 Bucket ARNs
, который должен быть всегда присутствует, оператор шаблона может добавить список дополнительных Bucket ARNs
, чтобы предоставить доступ через Parameter.Как добавить обязательные значения для CommaDelimitedList
В моем шаблоне BucketARNs
Parameter, позволяет оператору указывать список ARN, который не ограничен по длине.
BucketARNs:
Type: CommaDelimitedList
Description: 'Add the ARN of S3 Buckets that the Get* and List*
access to. When specifying a Bucket 2 values should be supplied one for the
bucket and for objects within that bucket, for example: arn:aws:s3:::MyContentBucket,arn:aws:s3:::MyContentBucket/* .
This defaults to all buckets.'
Default: arn:aws:s3:::*, arn:aws:s3:::*/*
Документ политики, который использует это Parameter выглядит
PolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Action:
- s3:Get*
- s3:List*
Resource:
!Ref BucketARNs
я хочу сделать, это убедиться, что, например
arn:aws:s3:::MyMustHaveBucket,
arn:aws:s3:::MyMustHaveBucket/*
ВРНС являются всегда в списке от BucketARNs
. Default
в Parameter может быть удален оператором - это единственное решение, которое добавляет их как значения Default
и добавляет информацию в Description
, предупреждая пользователей о том, что они не удаляют необходимые АРН? Который, как это можно легко сломать.
Кто-нибудь знает способ обеспечения, чтобы у меня всегда были эти возможности? учитывая список BucketARN, указанный через Parameter, является переменной?
В идеале я хотел бы функцию список конкатенации
Мне это действительно нравится. Я думаю, ваше решение также будет работать по этому вопросу: http://stackoverflow.com/questions/32082228/add-a-parameterized-list-of-security-groups-to-another-security-groups-ingress?rq = 1 – georgealton