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

能否通过编程创建Google Workspace SAML应用?求示例脚本

编程创建Google Workspace SAML应用的可行性及脚本示例

可以通过Google Workspace Admin SDK中的SAML Apps API实现编程创建SAML应用,该API支持自动化完成SAML应用的创建、配置与管理操作。

前提条件

  • 拥有Google Workspace超级管理员权限
  • 在Google Cloud Console中启用Admin SDK API
  • 创建并下载服务账号密钥(JSON格式),完成域范围授权(允许服务账号以超级管理员身份调用API)

Python脚本示例

首先安装依赖库:

pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib

脚本代码:

from google.oauth2 import service_account
from googleapiclient.discovery import build

# 自定义配置参数
SERVICE_ACCOUNT_KEY_PATH = 'your-service-account-key.json'
ADMIN_EMAIL = 'admin@your-domain.com'
DOMAIN_NAME = 'your-domain.com'

# API授权范围
AUTH_SCOPES = [
    'https://www.googleapis.com/auth/admin.directory.apps'
]

def create_saml_application():
    # 构建服务账号凭证
    credentials = service_account.Credentials.from_service_account_file(
        SERVICE_ACCOUNT_KEY_PATH, scopes=AUTH_SCOPES
    )
    # 委托超级管理员权限
    delegated_creds = credentials.with_subject(ADMIN_EMAIL)

    # 初始化Admin SDK服务
    admin_service = build('admin', 'directory_v1', credentials=delegated_creds)

    # 构造SAML应用配置体
    saml_app_config = {
        "name": "API创建的SAML测试应用",
        "description": "通过Admin SDK自动化创建的SAML应用",
        "samlSettings": {
            "acsUrl": "https://your-app.example.com/saml/acs",
            "entityId": "https://your-app.example.com/saml/metadata",
            "ssoUrl": "https://accounts.google.com/o/saml2/idp?idpid=YOUR_IDP_ID",
            "nameIdFormat": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
            "nameIdMapping": "userPrimaryEmail"
        }
    }

    # 调用API创建应用
    try:
        response = admin_service.apps().insert(
            customer='my_customer',
            body=saml_app_config
        ).execute()
        print(f"SAML应用创建成功,应用ID: {response['id']}")
        return response
    except Exception as err:
        print(f"创建失败: {str(err)}")
        return None

if __name__ == '__main__':
    create_saml_application()

脚本使用指引

  1. 替换配置参数:
    • SERVICE_ACCOUNT_KEY_PATH:你的服务账号密钥文件路径
    • ADMIN_EMAIL:Google Workspace超级管理员邮箱
    • samlSettings中的acsUrl、entityId:替换为目标应用的实际SAML端点
    • ssoUrl:从Google Workspace管理控制台的IDP元数据中获取(路径:安全 > 设置 > SSO与SAML应用 > 配置SAML单点登录)
  2. 确保服务账号已完成域范围授权:在Google Workspace管理控制台中,将服务账号的客户端ID与Admin SDK的授权范围绑定,并指定超级管理员作为委托用户
  3. 运行脚本即可完成SAML应用创建

注意事项

  • 测试阶段建议在非生产环境验证配置
  • 如需添加属性映射、签名算法等高级配置,可扩展samlSettings字段,参考Admin SDK API的参数定义

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 01:45:56