You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在公开GitHub的Python项目中安全接入Google Drive与AWS数据库?

安全接入Google Drive与AWS数据库的代码实现方案

Google Drive服务账户密钥处理

  • 禁止将服务账户JSON文件提交至GitHub仓库,哪怕数据公开,该密钥属于你的Google Cloud身份,泄露后可能被滥用(如操作其他Drive资源、触发配额超限)
  • 改用环境变量加载密钥:
    import os
    import json
    from google.oauth2 import service_account
    
    # 从环境变量读取服务账户JSON内容
    drive_key_json = json.loads(os.getenv("GOOGLE_DRIVE_SERVICE_ACCOUNT_JSON"))
    credentials = service_account.Credentials.from_service_account_info(drive_key_json)
    
  • 或者通过环境变量指定JSON文件路径,同时在.gitignore中排除该文件:
    1. 项目根目录创建.gitignore,添加google-service-account.json(你的JSON文件名)
    2. 代码中读取路径:
      import os
      from google.oauth2 import service_account
      
      cred_path = os.getenv("GOOGLE_DRIVE_CRED_PATH")
      credentials = service_account.Credentials.from_service_account_file(cred_path)
      

AWS数据库(MySQL)凭证处理

  • 移除硬编码的数据库凭证,改用环境变量读取:
    import mysql.connector
    import os
    
    db_connection = mysql.connector.connect(
        host=os.getenv("AWS_DB_HOST"),
        user=os.getenv("AWS_DB_USER"),
        password=os.getenv("AWS_DB_PASSWORD"),
        database=os.getenv("AWS_DB_NAME")
    )
    
  • 若部署在AWS环境(如ECS、Lambda),推荐使用AWS Secrets Manager存储凭证,通过boto3获取:
    import mysql.connector
    import boto3
    import json
    
    # 从Secrets Manager拉取数据库凭证
    secrets_manager = boto3.client('secretsmanager')
    secret_response = secrets_manager.get_secret_value(SecretId='your-db-secret-name')
    db_credentials = json.loads(secret_response['SecretString'])
    
    db_connection = mysql.connector.connect(
        host=db_credentials['host'],
        user=db_credentials['username'],
        password=db_credentials['password'],
        database=db_credentials['dbname']
    )
    
  • 务必在.gitignore中排除本地测试用的配置文件(如.env、local_config.py),防止误提交。

额外安全建议

  • 给Google服务账户配置最小权限:仅分配工具所需的Drive权限(如只读),即便密钥泄露,影响范围也会被限制
  • 启用GitHub仓库的Secret Scanning功能,自动检测并提醒敏感密钥的提交
  • 不要依赖“数据公开”放松凭证保护,身份凭证泄露可能导致数据被篡改、云服务配额被恶意消耗

内容的提问来源于stack exchange,提问作者jiopla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 04:07:32