为了保护您的应用程序免受未经授权的访问,您应该为App Engine设置防火墙规则。在GCP中,您可以为经过身份验证的用户设置防火墙规则,以限制他们对应用程序的访问。
以下是示例代码,演示如何为GCP工作区中的用户设置防火墙规则:
在GCP控制台中,选择您的项目并转到'VPC网络”。
点击'防火墙规则”选项卡并选择'创建防火墙规则”。
为防火墙规则命名,并在'源过滤器”字段中输入用户的电子邮件地址。使用逗号分隔多个用户。
在'目标标记”字段中输入应用程序的标记,以表示允许用户访问应用程序。
选择所需的协议和端口,然后保存防火墙规则。
以下是一个Python代码示例,演示如何在App Engine中为经过身份验证的用户设置防火墙规则:
from google.cloud import firewall
firewall_client = firewall.FirewallServiceClient()
# Retrieve the authenticated user's email
user_email = os.environ.get('USER_EMAIL')
# Set the firewall rule name
rule_name = 'allow-{}'.format(user_email)
# Set the target and source filters
target_tags = ['allow-{}'.format(user_email)]
source_range = '{}'.format(user_email)
# Set the allowed protocols and ports
allowed_tcp = [('80', '80'), ('443', '443')]
allowed_udp = []
# Create the firewall rule
rule = firewall.FirewallRule(
name=rule_name,
action=firewall.FirewallRule.Action.ALLOW,
direction=firewall.FirewallRule.Direction.INGRESS,
target_tags=target_tags,
source_ranges=[source_range],
allowed=firewall.Allowed(
ip_protocol='tcp',
ports=allowed_tcp
)
)
# Apply the firewall rule to the App Engine network
operation = firewall_client.update_firewall_rule(
firewall_rule=rule,
update_mask=firewall.field_mask.FieldMask(
paths=[
'allowed',
'direction',
'source_ranges',
'target_tags'
]
)
)
print('Firewall rule created for user: {}'.format(user_email))
这个
上一篇:Appengine:将路由指向其他appspot.com
下一篇:AppEngine:在apphosting_java_openjre8中出现java.lang.UnsatisfiedLinkError错误