REST Resource: projects.tenants

资源:租户

租户包含多租户项目中的租户配置。

JSON 表示法
{
  "name": string,
  "displayName": string,
  "allowPasswordSignup": boolean,
  "enableEmailLinkSignin": boolean,
  "disableAuth": boolean,
  "hashConfig": {
    object (HashConfig)
  },
  "enableAnonymousUser": boolean,
  "mfaConfig": {
    object (MultiFactorAuthConfig)
  },
  "testPhoneNumbers": {
    string: string,
    ...
  },
  "inheritance": {
    object (Inheritance)
  },
  "recaptchaConfig": {
    object (RecaptchaConfig)
  },
  "smsRegionConfig": {
    object (SmsRegionConfig)
  },
  "autodeleteAnonymousUsers": boolean,
  "monitoring": {
    object (MonitoringConfig)
  },
  "passwordPolicyConfig": {
    object (PasswordPolicyConfig)
  },
  "emailPrivacyConfig": {
    object (EmailPrivacyConfig)
  },
  "client": {
    object (ClientPermissionConfig)
  },
  "mobileLinksConfig": {
    object (MobileLinksConfig)
  }
}
字段
name

string

仅限输出。租户的资源名称。例如:"projects/{project-id}/tenants/{tenant-id}"

displayName

string

租户的显示名称。

allowPasswordSignup

boolean

是否允许使用电子邮件地址/密码进行用户身份验证。

disableAuth

boolean

是否为租户停用了身份验证。如果为 true,则停用租户下的用户将无法登录。停用的租户的管理员无法管理其用户。

hashConfig

object (HashConfig)

仅限输出。租户的哈希配置信息,用于在 Pantheon 上显示。此信息只能在 Pantheon 上显示,以免敏感信息意外泄露。仅在 tenants.get 响应中返回,以限制读取此信息。需要对代理项目拥有 firebaseauth.configs.getHashConfig 权限才能返回此字段。

enableAnonymousUser

boolean

是否启用匿名用户身份验证。

mfaConfig

object (MultiFactorAuthConfig)

多重身份验证选项的租户级配置。

testPhoneNumbers

map (key: string, value: string)

可用于多重身份验证的 <测试手机号码、虚假代码> 对的映射。电话号码应采用 E.164 格式 (https://www.itu.int/rec/T-REC-E.164/),并且最多只能添加 10 对(超出此数量后,系统会抛出错误)。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

inheritance

object (Inheritance)

指定租户可以继承的设置。

recaptchaConfig

object (RecaptchaConfig)

租户级 reCAPTCHA 配置。

smsRegionConfig

object (SmsRegionConfig)

配置启用短信验证码发送功能的区域。

autodeleteAnonymousUsers

boolean

是否会在 30 天后自动删除匿名用户。

monitoring

object (MonitoringConfig)

与监控项目活动相关的配置。

passwordPolicyConfig

object (PasswordPolicyConfig)

租户级密码政策配置

emailPrivacyConfig

object (EmailPrivacyConfig)

与电子邮件隐私和公开可见性相关的设置的配置。

client

object (ClientPermissionConfig)

与应如何配置代表项目发出请求的客户端相关的选项。

HashConfig

哈希算法和密钥的历史信息。不同账号的密码可能会由不同的版本生成。

JSON 表示法
{
  "algorithm": enum (HashAlgorithm),
  "signerKey": string,
  "saltSeparator": string,
  "rounds": integer,
  "memoryCost": integer
}
字段
algorithm

enum (HashAlgorithm)

仅限输出。Identity Toolkit 中使用的不同密码哈希算法。

signerKey

string

仅限输出。签名者密钥(采用 base64 编码)。

saltSeparator

string

仅限输出。要插入 base64 中的盐和纯文本密码之间的不可打印字符。

rounds

integer

仅限输出。哈希计算的轮数。由 scrypt 和其他类似的密码派生算法使用。

memoryCost

integer

仅限输出。哈希计算的内存开销。由 scrypt 和其他类似的密码派生算法使用。如需了解该字段,请参阅 https://tools.ietf.org/html/rfc7914

HashAlgorithm

Identity Toolkit 中使用的不同密码哈希算法。

枚举
HASH_ALGORITHM_UNSPECIFIED 默认值。请勿使用。
HMAC_SHA256 HMAC_SHA256
HMAC_SHA1 HMAC_SHA1
HMAC_MD5 HMAC_MD5
SCRYPT SCRYPT
PBKDF_SHA1 PBKDF_SHA1
MD5 MD5
HMAC_SHA512 HMAC_SHA512
SHA1 SHA1
BCRYPT BCRYPT
PBKDF2_SHA256 PBKDF2_SHA256
SHA256 SHA256
SHA512 SHA512
STANDARD_SCRYPT STANDARD_SCRYPT

MultiFactorAuthConfig

与项目的多重身份验证相关的选项。

JSON 表示法
{
  "state": enum (State),
  "enabledProviders": [
    enum (Provider)
  ],
  "providerConfigs": [
    {
      object (ProviderConfig)
    }
  ]
}
字段
state

enum (State)

是否为此项目启用了多重身份验证。

enabledProviders[]

enum (Provider)

此项目可用的第二重身份验证方法的列表。

providerConfigs[]

object (ProviderConfig)

此项目可用的第二重身份验证因素及其配置的列表。此字段不支持基于电话的多重身份验证,如需使用此类验证,请使用“enabledProviders”字段。

是否为此项目启用了多重身份验证。

枚举
STATE_UNSPECIFIED 非法状态,不应使用。
DISABLED 无法对此项目使用多重身份验证
ENABLED 可以为此项目使用多重身份验证
MANDATORY 此项目需要进行多重身份验证。此项目中的用户必须使用第二重身份验证方法进行身份验证。

提供商

此项目可用的第二重身份验证方法的列表。

枚举
PROVIDER_UNSPECIFIED 非法提供商,不应使用
PHONE_SMS 已为此项目启用短信作为第二重身份验证方法。

ProviderConfig

ProviderConfig 用于描述支持的多重身份验证 (MFA) 提供程序及其配置。

JSON 表示法
{
  "state": enum (MfaState),

  // Union field mfa_provider_config can be only one of the following:
  "totpProviderConfig": {
    object (TotpMfaProviderConfig)
  }
  // End of list of possible types for union field mfa_provider_config.
}
字段
state

enum (MfaState)

描述多重身份验证类型的状态。

联合字段 mfa_provider_config

mfa_provider_config 只能是下列其中一项:

totpProviderConfig

object (TotpMfaProviderConfig)

此项目的 TOTP 多重身份验证 (MFA) 提供程序配置。

TotpMfaProviderConfig

TotpMFAProviderConfig 表示基于 TOTP 的 MFA 提供程序。

JSON 表示法
{
  "adjacentIntervals": integer
}
字段
adjacentIntervals

integer

用于验证以避免时钟偏差的允许相邻间隔数。

MfaState

是否为此项目启用了多重身份验证。

枚举
MFA_STATE_UNSPECIFIED 非法状态,不应使用。
DISABLED 无法对此项目使用多重身份验证。
ENABLED 此项目可以使用多重身份验证。
MANDATORY 此项目需要进行多重身份验证。此项目中的用户必须使用第二重身份验证方法进行身份验证。

继承

租户将从项目级继承的设置。

JSON 表示法
{
  "emailSendingConfig": boolean
}
字段
emailSendingConfig

boolean

是否允许租户继承自定义域名、电子邮件模板和自定义 SMTP 设置。如果为 true,则从租户发送的电子邮件将遵循项目级电子邮件发送配置。如果为 false(默认),电子邮件将采用默认设置,不进行任何自定义。

RecaptchaConfig

reCAPTCHA Enterprise 集成配置。

JSON 表示法
{
  "managedRules": [
    {
      object (RecaptchaManagedRule)
    }
  ],
  "recaptchaKeys": [
    {
      object (RecaptchaKey)
    }
  ],
  "tollFraudManagedRules": [
    {
      object (RecaptchaTollFraudManagedRule)
    }
  ],
  "emailPasswordEnforcementState": enum (RecaptchaProviderEnforcementState),
  "useAccountDefender": boolean,
  "phoneEnforcementState": enum (RecaptchaProviderEnforcementState),
  "useSmsBotScore": boolean,
  "useSmsTollFraudProtection": boolean
}
字段
managedRules[]

object (RecaptchaManagedRule)

用于根据 reCAPTCHA 得分执行身份验证操作的管理规则。这些规则会在给定租户项目的各个提供方之间共享。

recaptchaKeys[]

object (RecaptchaKey)

reCAPTCHA 密钥。

tollFraudManagedRules[]

object (RecaptchaTollFraudManagedRule)

针对基于 reCAPTCHA 短信欺诈风险信号的身份验证操作的管理规则。只有当 phoneEnforcementState 为 AUDIT 或 ENFORCE 且 useSmsTollFraudProtection 为 true 时,由系统管理的来电过滤规则才会生效。

emailPasswordEnforcementState

enum (RecaptchaProviderEnforcementState)

电子邮件/密码提供方的 reCAPTCHA 配置,其中包含强制执行状态。电子邮件/密码提供程序包含 reCAPTCHA 保护的所有电子邮件相关用户流程。

useAccountDefender

boolean

是否使用账号卫士进行 reCAPTCHA 评估。默认值为 false

phoneEnforcementState

enum (RecaptchaProviderEnforcementState)

电话号码提供方的 reCAPTCHA 配置,其中包含强制执行状态。电话提供程序包含受 reCAPTCHA 保护的所有与短信相关的用户流程。

useSmsBotScore

boolean

是否为 reCAPTCHA 电话提供商使用 rCE 聊天机器人得分。只有在 phoneEnforcementState 为 AUDIT 或 ENFORCE 时,此值才为 true。

useSmsTollFraudProtection

boolean

是否为 reCAPTCHA 电话提供商使用 rCE 短信话费欺诈防护风险评分。只有在 phoneEnforcementState 为 AUDIT 或 ENFORCE 时,此值才为 true。

RecaptchaProviderEnforcementState

reCAPTCHA 保护的强制执行状态。

枚举
RECAPTCHA_PROVIDER_ENFORCEMENT_STATE_UNSPECIFIED 尚未设置违规处置状态。
OFF 未强制执行。
AUDIT 创建了 reCAPTCHA 评估,但未使用结果强制执行。
ENFORCE 创建 reCAPTCHA 评估,并使用结果进行强制执行。

RecaptchaManagedRule

reCAPTCHA 管理的规则的配置。对单个区间 [startScore, endScore] 进行建模。startScore 是隐式的。它是最近的较小 endScore(如果有)或 0。汇总中的间隔时间介于 [0, 1] 之间,且不重叠。

JSON 表示法
{
  "endScore": number,
  "action": enum (RecaptchaAction)
}
字段
endScore

number

操作得分范围的结束分数(包括此分数)。必须是一个介于 0.0 到 1.0 之间的值,且有 11 个离散值;例如 0、0.1、0.2、0.3、... 0.9、1.0。得分为 0.0 表示风险最高的请求(可能是聊天机器人),而得分为 1.0 表示风险最低的请求(可能是真人)。请参阅 https://cloud.google.com/recaptcha-enterprise/docs/interpret-assessment

action

enum (RecaptchaAction)

如果请求的 reCAPTCHA 得分在 [startScore, endScore] 范围内,则执行的操作。

RecaptchaAction

针对 reCAPTCHA 保护的请求的操作。

枚举
RECAPTCHA_ACTION_UNSPECIFIED 未指定 reCAPTCHA 操作。
BLOCK 受 reCAPTCHA 保护的请求将被屏蔽。

RecaptchaKey

reCAPTCHA 密钥配置。reCAPTCHA Enterprise 为不同的客户端平台提供不同的密钥。

JSON 表示法
{
  "key": string,
  "type": enum (RecaptchaKeyClientType)
}
字段
key

string

reCAPTCHA Enterprise 密钥资源名称,例如“projects/{project}/keys/{key}”

type

enum (RecaptchaKeyClientType)

客户端的平台类型。

RecaptchaKeyClientType

reCAPTCHA Enterprise 密钥支持的不同客户端。

枚举
CLIENT_TYPE_UNSPECIFIED 未指定客户端类型。
WEB 客户端类型为 Web。
IOS 客户端类型为 iOS。
ANDROID 客户端类型为 Android。

RecaptchaTollFraudManagedRule

reCAPTCHA 话费欺诈评估代管式规则的配置。对单个区间 [startScore, endScore] 进行建模。endScore 是隐式的。它是最近的较小 endScore(如果有)或 0。汇总中的间隔时间介于 [0, 1] 之间,且不重叠。

JSON 表示法
{
  "startScore": number,
  "action": enum (RecaptchaAction)
}
字段
startScore

number

操作的开始得分(包括此得分)。必须是一个介于 0.0 到 1.0 之间的值,且有 11 个离散值;例如 0、0.1、0.2、0.3、... 0.9、1.0。得分为 0.0 表示风险最低的请求(可能是合法的),而得分为 1.0 表示风险最高的请求(可能是付费欺诈)。请参阅 https://cloud.google.com/recaptcha-enterprise/docs/sms-fraud-detection#create-assessment-sms

action

enum (RecaptchaAction)

如果请求的 reCAPTCHA 得分在 [startScore, endScore] 范围内,则执行的操作。

RecaptchaAction

默认值为 RECAPTCHA_ACTION_UNSPECIFIED

枚举
RECAPTCHA_ACTION_UNSPECIFIED 未指定 reCAPTCHA 操作。
BLOCK 受 reCAPTCHA 保护的请求将被屏蔽。

SmsRegionConfig

配置允许用户为项目或租户发送验证短信的区域。此字段基于目标电话号码的拨号代码。

JSON 表示法
{

  // Union field sms_region_policy can be only one of the following:
  "allowByDefault": {
    object (AllowByDefault)
  },
  "allowlistOnly": {
    object (AllowlistOnly)
  }
  // End of list of possible types for union field sms_region_policy.
}
字段
联合字段 sms_region_policy。用于指定允许用户发送验证短信的位置的政策。这可以是默认允许所有地区,也可以是仅通过明确的许可名单允许地区。sms_region_policy 只能是下列其中一项:
allowByDefault

object (AllowByDefault)

默认允许向所有区域发送短信,并将禁止的区域添加到禁止名单中的政策。

allowlistOnly

object (AllowlistOnly)

仅通过将区域明确添加到许可名单来允许相应区域的政策。

AllowByDefault

定义一项政策,默认允许所有区域,并将禁止的区域添加到禁止列表。

JSON 表示法
{
  "disallowedRegions": [
    string
  ]
}
字段
disallowedRegions[]

string

要禁止使用的两个字母 Unicode 地区代码(如 https://cldr.unicode.org/ 中所定义)。如需查看这些地区代码的完整列表,请访问:https://github.com/unicode-cldr/cldr-localenames-full/blob/master/main/en/territories.json

AllowlistOnly

定义仅通过将某些区域明确添加到许可名单来允许这些区域的政策。

JSON 表示法
{
  "allowedRegions": [
    string
  ]
}
字段
allowedRegions[]

string

允许的双字母 Unicode 地区代码(如 https://cldr.unicode.org/ 中所定义)。如需查看这些地区代码的完整列表,请访问:https://github.com/unicode-cldr/cldr-localenames-full/blob/master/main/en/territories.json

MonitoringConfig

与监控项目活动相关的配置。

JSON 表示法
{
  "requestLogging": {
    object (RequestLogging)
  }
}
字段
requestLogging

object (RequestLogging)

将对此项目的请求记录到 Stackdriver Logging 的配置

RequestLogging

将对此项目的请求记录到 Stackdriver Logging 的配置

JSON 表示法
{
  "enabled": boolean
}
字段
enabled

boolean

是否为此项目启用了日志记录功能。

PasswordPolicyConfig

项目的密码政策配置。

JSON 表示法
{
  "passwordPolicyEnforcementState": enum (PasswordPolicyEnforcementState),
  "passwordPolicyVersions": [
    {
      object (PasswordPolicyVersion)
    }
  ],
  "forceUpgradeOnSignin": boolean,
  "lastUpdateTime": string
}
字段
passwordPolicyEnforcementState

enum (PasswordPolicyEnforcementState)

要为密码政策使用哪种强制执行模式。

passwordPolicyVersions[]

object (PasswordPolicyVersion)

长度必须为 1。包含密码政策的强度属性。

forceUpgradeOnSignin

boolean

用户必须使用符合密码政策的密码才能登录。

lastUpdateTime

string (Timestamp format)

仅限输出。项目的密码政策上次更新的时间。

采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

PasswordPolicyEnforcementState

密码政策的强制执行状态

枚举
PASSWORD_POLICY_ENFORCEMENT_STATE_UNSPECIFIED 非法状态,不应使用。
OFF 系统不会对该项目应用密码政策。
ENFORCE 系统会拒绝不符合密码政策的密码,并抛出错误。

PasswordPolicyVersion

项目密码政策的强度属性。

JSON 表示法
{
  "customStrengthOptions": {
    object (CustomStrengthOptions)
  },
  "schemaVersion": integer
}
字段
customStrengthOptions

object (CustomStrengthOptions)

密码政策强制执行的自定义强度选项。

schemaVersion

integer

仅限输出。密码政策的架构版本号

CustomStrengthOptions

用于强制执行用户密码强度的自定义选项。

JSON 表示法
{
  "minPasswordLength": integer,
  "maxPasswordLength": integer,
  "containsLowercaseCharacter": boolean,
  "containsUppercaseCharacter": boolean,
  "containsNumericCharacter": boolean,
  "containsNonAlphanumericCharacter": boolean
}
字段
minPasswordLength

integer

最小密码长度。范围为 6 到 30

maxPasswordLength

integer

最大密码长度。无默认时长上限

containsLowercaseCharacter

boolean

密码必须包含小写字符。

containsUppercaseCharacter

boolean

密码必须包含大写字符。

containsNumericCharacter

boolean

密码必须包含数字。

containsNonAlphanumericCharacter

boolean

密码必须包含非字母数字字符。

EmailPrivacyConfig

与电子邮件隐私和公开可见性相关的设置的配置。此配置中的设置可防范电子邮件枚举,但可能会在易用性方面做出一些权衡。

JSON 表示法
{
  "enableImprovedEmailPrivacy": boolean
}
字段
enableImprovedEmailPrivacy

boolean

将项目迁移到可更好地保护电子邮件隐私的状态。例如,某些错误代码更为笼统,以避免泄露账号是否存在的信息。此外,这会停用某些会导致用户枚举的副作用功能。启用此切换开关会停用 fetchSignInMethodsForEmail 功能,并将用户的电子邮件地址更改为未验证的电子邮件地址。建议移除对此功能的依赖,并启用此切换开关以保护用户隐私。

ClientPermissionConfig

与客户端代表租户发出请求的配置方式相关的选项。

JSON 表示法
{
  "permissions": {
    object (ClientPermissions)
  }
}
字段
permissions

object (ClientPermissions)

与限制用户对其账号的影响力相关的配置。

ClientPermissions

与限制用户对其账号的影响力相关的配置。

JSON 表示法
{
  "disabledUserSignup": boolean,
  "disabledUserDeletion": boolean
}
字段
disabledUserSignup

boolean

如果为 true,最终用户将无法通过我们的任何 API 方法在关联的项目中注册新账号

disabledUserDeletion

boolean

如果为 true,最终用户将无法通过我们的任何 API 方法删除其在关联项目中的账号

MobileLinksConfig

配置移动链接。

JSON 表示法
{
  "domain": enum (Domain)
}
字段
domain

enum (Domain)

在应用网域中打开代码,以供应用链接和通用链接使用。

网域

应用网域中可能的开放代码,用于应用链接和通用链接。

枚举
DOMAIN_UNSPECIFIED 默认值。默认网域是 FDL 弃用前的 Firebase Dynamic Links 网域,是 FDL 弃用后的托管网域。
HOSTING_DOMAIN 将托管网域用作应用链接网域。

方法

create

创建租户。

delete

删除租户。

get

获取租户。

getIamPolicy

获取资源的访问权限控制政策。

list

列出给定代理项目下的租户。

patch

更新租户。

setIamPolicy

设置资源的访问权限控制政策。

testIamPermissions

返回调用者对资源的权限。