В итоге мы обнаружили сообщение на форуме AWS , в котором подробно описываются связанные со службой роли (SLR). Кажется, что когда-то за последние пару месяцев они изменили поведение ASG (только для вновь созданных ASG). Ранее ASG мог использовать любой KMS CMK, но это было изменено, чтобы он мог получить доступ только к ключу по умолчанию. Мы используем «управляемый клиентом» CMK, поэтому наша вновь созданная ASG больше не может получить к нему доступ по умолчанию.
По-видимому, это будет изменено на существующих ASG к концу июня.
Чтобы исправить это, мы приступили к созданию новой зеркальной фотокамеры с доступом к нашему ключу, но позже обнаружили, что CloudFormation еще не позволяет указывать зеркальную зеркальную копию для ASG.
Тем временем мы решили по существу создать ситуацию, которая у нас была раньше, изменив политику на нашем CMK, чтобы разрешить доступ из зеркалки по умолчанию.
Облачная формация, которую мы используем для создания нашего CMK, теперь выглядит следующим образом:
KmsKey:
Type: AWS::KMS::Key
DeletionPolicy: Retain
Properties:
Description: Used to encrypt AMIs
EnableKeyRotation: True
KeyPolicy:
Version: 2012-10-17
Id: ami-kms-key
Statement:
- Sid: Enable IAM User Permissions
Effect: Allow
Principal:
AWS: !Sub arn:aws:iam::${AWS::AccountId}:root
Action: kms:*
Resource: "*"
- Sid: Allow use of the key by the default service linked role
Effect: Allow
Principal:
AWS:
- !Sub arn:aws:iam::${AWS::AccountId}:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling
Action:
- kms:Encrypt
- kms:Decrypt
- kms:ReEncrypt*
- kms:GenerateDataKey*
- kms:DescribeKey
Resource: "*"
- Sid: Allow attachment of persistent resources
Effect: Allow
Principal:
AWS:
- !Sub arn:aws:iam::${AWS::AccountId}:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling
Action:
- kms:CreateGrant
Resource: "*"
Condition:
Bool:
kms:GrantIsForAWSResource: true