REST Resource: projects.tenants

資源:Tenant

用戶群包含多租戶專案中用戶群的設定。

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

是否已為租用戶停用驗證機制。如果設為「是」,則停用的租用戶下的使用者將無法登入。停用的租用戶管理員無法管理使用者。

hashConfig

object (HashConfig)

僅供輸出。用於在 Pantheon 上顯示的租用戶雜湊設定資訊。這項資訊只能在 Pantheon 上顯示,以免機密資訊意外外洩。僅會在 tenants.get 回應中傳回,以限制讀取這項資訊。如要傳回這個欄位,代理程式專案必須具備 firebaseauth.configs.getHashConfig 權限。

enableAnonymousUser

boolean

是否啟用匿名使用者驗證功能。

mfaConfig

object (MultiFactorAuthConfig)

多重身份驗證選項的租用戶層級設定。

testPhoneNumbers

map (key: string, value: string)

可用於 MFA 的 <測試電話號碼、假驗證碼> 對應項目。電話號碼應採用 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」欄位的電話式 MFA。

狀態

是否已為這個專案啟用多重驗證功能。

列舉
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 用戶端類型為網頁。
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)

預設允許傳送 SMS 至所有區域的政策,並將不允許的區域加入禁止清單。

allowlistOnly

object (AllowlistOnly)

政策只允許明確加入許可清單的區域。

AllowByDefault

定義預設允許所有區域的政策,並將不允許的區域加入不允許清單。

JSON 表示法
{
  "disallowedRegions": [
    string
  ]
}
欄位
disallowedRegions[]

string

根據 https://cldr.unicode.org/ 定義,禁止使用兩個字母的萬國碼區域代碼。這些區域代碼的完整清單如下:https://github.com/unicode-cldr/cldr-localenames-full/blob/master/main/en/territories.json

AllowlistOnly

定義只允許特定區域的政策,並明確將這些區域加入許可清單。

JSON 表示法
{
  "allowedRegions": [
    string
  ]
}
欄位
allowedRegions[]

string

根據 https://cldr.unicode.org/ 定義,允許使用兩個字母的 Unicode 區域代碼。這些區域代碼的完整清單如下: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 Link 網域,以及 FDL 淘汰後的代管網域。
HOSTING_DOMAIN 使用代管網域做為應用程式連結網域。

方法

create

建立租戶。

delete

刪除用戶群。

get

取得用戶群。

getIamPolicy

取得資源的存取權控管政策。

list

列出指定代理程式專案下的租戶。

patch

更新租用戶。

setIamPolicy

設定資源的存取權控管政策。

testIamPermissions

傳回呼叫者對資源的權限。