限制 CodeStar 可以使用的子网或托管区域的策略
Policy to limit subnets or hosted zone CodeStar can use
是否有可以从 created/attached 到 CodeStarWorker-*-CloudFormation
的 IAM 策略来限制 CodeStar 工作人员可以使用的 Subnet
或 HostedZoneId
?
这是一个例子template.yml:
Resources:
# other resources
DevAlb:
Properties:
LoadBalancerAttributes: []
Name: !Sub '${ProjectId}-dev-alb'
Scheme: internal
SecurityGroups:
- !Ref AlbSecurityGroup
Subnets:
- !ImportValue PrivateSubnet1
- !ImportValue PrivateSubnet2
Tags:
- Key: Name
Value: !Sub '${ProjectId}-dev'
Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer'
DevAlbDns:
Properties:
AliasTarget:
DNSName: !GetAtt
- AlbDev
- DNSName
HostedZoneId: !GetAtt
- AlbDev
- CanonicalHostedZoneID
HostedZoneId: !ImportValue InternalDomainDotCom
Name: !Sub '${ProjectId}.internal-domain.com'
Type: A
Type: 'AWS::Route53::RecordSet'
我不希望具有 CodeStar 访问权限的用户访问 import/use 任何允许 public 互联网访问的内容(无论如何,未经管理员批准)。我怎样才能阻止某人 setting/importing PublicSubnet1
和 PublicSubnet2
作为 Subnet
中的一员?或者阻止他们 setting/import PublicDomainDotCom
作为 HostedZoneId
?
我可以通过将以下政策附加到 CodeStarWorker-app-CloudFormation
!
来做到这一点
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"route53:GetChange",
"route53:GetHostedZone",
"route53:ListHostedZones",
"route53:ListHostedZonesByName",
"route53:ListResourceRecordSets",
"route53:GetHostedZoneCount",
"route53domains:*"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"route53:ChangeResourceRecordSets",
"route53:ListResourceRecordSets",
"apigateway:GET"
],
"Resource": [
"arn:aws:route53:::hostedzone/REPLACE_WITH_HOSTED_ZONE_ID",
"arn:aws:apigateway:*::/domainnames"
]
}
]
}
这将只允许 CodeStar 的 CloudFormation 角色在管理员允许的托管区域 ID 中创建 Route 53 记录集。
我相信还有其他方法可以保护您的基础设施和数据免受具有 CodeStar 角色的不良行为者的侵害。如果您有任何想法(例如,限制 EC2 VPCs/Subnets),请随时分享。
是否有可以从 created/attached 到 CodeStarWorker-*-CloudFormation
的 IAM 策略来限制 CodeStar 工作人员可以使用的 Subnet
或 HostedZoneId
?
这是一个例子template.yml:
Resources:
# other resources
DevAlb:
Properties:
LoadBalancerAttributes: []
Name: !Sub '${ProjectId}-dev-alb'
Scheme: internal
SecurityGroups:
- !Ref AlbSecurityGroup
Subnets:
- !ImportValue PrivateSubnet1
- !ImportValue PrivateSubnet2
Tags:
- Key: Name
Value: !Sub '${ProjectId}-dev'
Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer'
DevAlbDns:
Properties:
AliasTarget:
DNSName: !GetAtt
- AlbDev
- DNSName
HostedZoneId: !GetAtt
- AlbDev
- CanonicalHostedZoneID
HostedZoneId: !ImportValue InternalDomainDotCom
Name: !Sub '${ProjectId}.internal-domain.com'
Type: A
Type: 'AWS::Route53::RecordSet'
我不希望具有 CodeStar 访问权限的用户访问 import/use 任何允许 public 互联网访问的内容(无论如何,未经管理员批准)。我怎样才能阻止某人 setting/importing PublicSubnet1
和 PublicSubnet2
作为 Subnet
中的一员?或者阻止他们 setting/import PublicDomainDotCom
作为 HostedZoneId
?
我可以通过将以下政策附加到 CodeStarWorker-app-CloudFormation
!
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"route53:GetChange",
"route53:GetHostedZone",
"route53:ListHostedZones",
"route53:ListHostedZonesByName",
"route53:ListResourceRecordSets",
"route53:GetHostedZoneCount",
"route53domains:*"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"route53:ChangeResourceRecordSets",
"route53:ListResourceRecordSets",
"apigateway:GET"
],
"Resource": [
"arn:aws:route53:::hostedzone/REPLACE_WITH_HOSTED_ZONE_ID",
"arn:aws:apigateway:*::/domainnames"
]
}
]
}
这将只允许 CodeStar 的 CloudFormation 角色在管理员允许的托管区域 ID 中创建 Route 53 记录集。
我相信还有其他方法可以保护您的基础设施和数据免受具有 CodeStar 角色的不良行为者的侵害。如果您有任何想法(例如,限制 EC2 VPCs/Subnets),请随时分享。