REST Resource: projects.tenants

Recurso: locatário

Um locatário contém a configuração para o locatário em um projeto multilocatário.

Representação 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)
  }
}
Campos
name

string

Apenas saída. Nome do recurso de um locatário. Por exemplo: "projects/{project-id}/tenants/{tenant-id}"

displayName

string

Nome de exibição do locatário.

allowPasswordSignup

boolean

Permitir a autenticação do usuário por e-mail/senha.

disableAuth

boolean

Indica se a autenticação está desativada para o locatário. Se verdadeiro, os usuários do locatário desativado não podem fazer login. Os administradores do locatário desativado não podem gerenciar os usuários.

hashConfig

object (HashConfig)

Apenas saída. Informações de configuração de hash de um locatário para exibição no Pantheon. Isso só pode ser exibido no Pantheon para evitar que as informações sensíveis sejam divulgadas acidentalmente. Retornado apenas na resposta tenants.get para restringir a leitura dessas informações. Requer a permissão firebaseauth.configs.getHashConfig no projeto do agente para retornar esse campo.

enableAnonymousUser

boolean

Define se a autenticação de usuários anônimos vai ser ativada.

mfaConfig

object (MultiFactorAuthConfig)

A configuração de opções de MFA no nível do locatário.

testPhoneNumbers

map (key: string, value: string)

Um mapa de pares <número de telefone de teste, código falso> que podem ser usados para MFA. O número de telefone precisa estar no formato E.164 (https://www.itu.int/rec/T-REC-E.164/) e é possível adicionar no máximo 10 pares (um erro será gerado quando esse limite for excedido).

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

inheritance

object (Inheritance)

Especifique as configurações que o locatário pode herdar.

recaptchaConfig

object (RecaptchaConfig)

A configuração do reCAPTCHA no nível do locatário.

smsRegionConfig

object (SmsRegionConfig)

Configura quais regiões estão ativadas para o envio de códigos de verificação por SMS.

autodeleteAnonymousUsers

boolean

Se os usuários anônimos serão excluídos automaticamente após um período de 30 dias.

monitoring

object (MonitoringConfig)

Configuração relacionada ao monitoramento da atividade do projeto.

passwordPolicyConfig

object (PasswordPolicyConfig)

A configuração da política de senha no nível do locatário

emailPrivacyConfig

object (EmailPrivacyConfig)

Configuração de configurações relacionadas à privacidade de e-mail e visibilidade pública.

client

object (ClientPermissionConfig)

Opções relacionadas à configuração de como os clientes que fazem solicitações em nome de um projeto devem ser configurados.

HashConfig

Informações históricas do algoritmo de hash e da chave. As senhas de contas diferentes podem ser geradas por versões diferentes.

Representação JSON
{
  "algorithm": enum (HashAlgorithm),
  "signerKey": string,
  "saltSeparator": string,
  "rounds": integer,
  "memoryCost": integer
}
Campos
algorithm

enum (HashAlgorithm)

Apenas saída. Diferentes algoritmos de hash de senha usados no Identity Toolkit.

signerKey

string

Apenas saída. Chave do assinante em base64.

saltSeparator

string

Apenas saída. Caractere não imprimível a ser inserido entre o sal e a senha de texto simples em base64.

rounds

integer

Apenas saída. Quantas rodadas para o cálculo de hash. Usado por scrypt e outros algoritmos de derivação de senha semelhantes.

memoryCost

integer

Apenas saída. Custo de memória para cálculo de hash. Usado por scrypt e outros algoritmos de derivação de senha semelhantes. Consulte https://tools.ietf.org/html/rfc7914 para uma explicação do campo.

HashAlgorithm

Diferentes algoritmos de hash de senha usados no Identity Toolkit.

Enums
HASH_ALGORITHM_UNSPECIFIED Valor padrão. Não use.
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

Opções relacionadas à autenticação multifator para o projeto.

Representação JSON
{
  "state": enum (State),
  "enabledProviders": [
    enum (Provider)
  ],
  "providerConfigs": [
    {
      object (ProviderConfig)
    }
  ]
}
Campos
state

enum (State)

Se a autenticação multifator foi ativada para este projeto.

enabledProviders[]

enum (Provider)

Uma lista de segundos fatores utilizáveis para este projeto.

providerConfigs[]

object (ProviderConfig)

Uma lista de segundos fatores utilizáveis para este projeto e as respectivas configurações. Esse campo não oferece suporte para MFA baseado em telefone, que usa o campo "enabledProviders".

Estado

Se a autenticação multifator foi ativada para este projeto.

Enums
STATE_UNSPECIFIED Estado ilegal, não deve ser usado.
DISABLED A autenticação multifator não pode ser usada para este projeto
ENABLED A autenticação multifator pode ser usada para este projeto
MANDATORY A autenticação multifator é necessária para este projeto. Os usuários desse projeto precisam se autenticar com o segundo fator.

Provedor

Uma lista de segundos fatores utilizáveis para este projeto.

Enums
PROVIDER_UNSPECIFIED Provedor ilegal, não deve ser usado
PHONE_SMS O SMS está ativado como segunda etapa para este projeto.

ProviderConfig

O ProviderConfig descreve os provedores de MFA compatíveis e as respectivas configurações.

Representação 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.
}
Campos
state

enum (MfaState)

Descreve o estado do tipo de autenticação multifator.

Campo de união mfa_provider_config.

mfa_provider_config pode ser apenas de um dos tipos a seguir:

totpProviderConfig

object (TotpMfaProviderConfig)

Configuração do provedor de MFA TOTP para este projeto.

TotpMfaProviderConfig

O TotpMFAProviderConfig representa o provedor de MFA baseado em TOTP.

Representação JSON
{
  "adjacentIntervals": integer
}
Campos
adjacentIntervals

integer

O número permitido de intervalos adjacentes que será usado para verificação, a fim de evitar a distorção do relógio.

MfaState

Se a autenticação multifator foi ativada para este projeto.

Enums
MFA_STATE_UNSPECIFIED Estado ilegal, não deve ser usado.
DISABLED A autenticação multifator não pode ser usada para este projeto.
ENABLED A autenticação multifator pode ser usada para este projeto.
MANDATORY A autenticação multifator é necessária para este projeto. Os usuários desse projeto precisam se autenticar com o segundo fator.

Herança

Configurações que os locatários vão herdar do nível do projeto.

Representação JSON
{
  "emailSendingConfig": boolean
}
Campos
emailSendingConfig

boolean

Se o locatário pode herdar domínios personalizados, modelos de e-mail e configurações de SMTP personalizadas. Se verdadeiro, o e-mail enviado pelo locatário vai seguir as configurações de envio de e-mail no nível do projeto. Se for falso (padrão), os e-mails vão usar as configurações padrão sem personalizações.

RecaptchaConfig

A configuração de integração do reCAPTCHA Enterprise.

Representação JSON
{
  "managedRules": [
    {
      object (RecaptchaManagedRule)
    }
  ],
  "recaptchaKeys": [
    {
      object (RecaptchaKey)
    }
  ],
  "tollFraudManagedRules": [
    {
      object (RecaptchaTollFraudManagedRule)
    }
  ],
  "emailPasswordEnforcementState": enum (RecaptchaProviderEnforcementState),
  "useAccountDefender": boolean,
  "phoneEnforcementState": enum (RecaptchaProviderEnforcementState),
  "useSmsBotScore": boolean,
  "useSmsTollFraudProtection": boolean
}
Campos
managedRules[]

object (RecaptchaManagedRule)

As regras gerenciadas para a ação de autenticação com base nas pontuações do reCAPTCHA. As regras são compartilhadas entre os provedores de um determinado projeto de locatário.

recaptchaKeys[]

object (RecaptchaKey)

As chaves do reCAPTCHA.

tollFraudManagedRules[]

object (RecaptchaTollFraudManagedRule)

As regras gerenciadas para a ação de autenticação com base nas pontuações de risco de fraude de pedágio do reCAPTCHA. As regras gerenciadas de fraude de pedágio só vão entrar em vigor quando o valor de phoneEnforcementState for AUDIT ou ENFORCE e useSmsTollFraudProtection for verdadeiro.

emailPasswordEnforcementState

enum (RecaptchaProviderEnforcementState)

A configuração do reCAPTCHA para o provedor de e-mail/senha, que contém o status de aplicação. O provedor de e-mail/senha contém todos os fluxos de usuários relacionados a e-mails protegidos pelo reCAPTCHA.

useAccountDefender

boolean

Se o defensor da conta será usado para a avaliação do reCAPTCHA. O valor padrão é false.

phoneEnforcementState

enum (RecaptchaProviderEnforcementState)

A configuração do reCAPTCHA para o provedor de telefone, que contém o status de aplicação. O provedor de telefonia contém todos os fluxos de usuários relacionados a SMS protegidos pelo reCAPTCHA.

useSmsBotScore

boolean

Define se a pontuação de bot rCE será usada para o provedor de telefone reCAPTCHA. Só pode ser verdadeiro quando o phoneEnforcementState é AUDIT ou ENFORCE.

useSmsTollFraudProtection

boolean

Indica se a pontuação de risco da proteção contra fraude de cobrança por SMS do rCE é usada para o provedor de telefone do reCAPTCHA. Só pode ser verdadeiro quando o phoneEnforcementState é AUDIT ou ENFORCE.

RecaptchaProviderEnforcementState

Estados de aplicação para proteção reCAPTCHA.

Enums
RECAPTCHA_PROVIDER_ENFORCEMENT_STATE_UNSPECIFIED O estado de restrição não foi definido.
OFF Não aplicada.
AUDIT A avaliação reCAPTCHA é criada, mas o resultado não é usado para aplicar.
ENFORCE A avaliação reCAPTCHA é criada, e o resultado é usado para aplicar.

RecaptchaManagedRule

A configuração de uma regra gerenciada pelo reCAPTCHA. Modela um único intervalo [startScore, endScore]. A startScore é implícita. É a pontuação final menor mais próxima (se disponível) ou 0. Intervalos no intervalo agregado [0, 1] sem sobreposição.

Representação JSON
{
  "endScore": number,
  "action": enum (RecaptchaAction)
}
Campos
endScore

number

A pontuação final (inclusive) do intervalo de pontuação de uma ação. Precisa ser um valor entre 0,0 e 1,0, com 11 valores discretos, por exemplo, 0, 0,1, 0,2, 0,3, ... 0,9, 1,0. Uma pontuação de 0,0 indica a solicitação mais arriscada (provavelmente um bot), enquanto 1,0 indica a solicitação mais segura (provavelmente um humano). Consulte https://cloud.google.com/recaptcha-enterprise/docs/interpret-assessment.

action

enum (RecaptchaAction)

A ação tomada se a pontuação do reCAPTCHA de uma solicitação estiver no intervalo [startScore, endScore].

RecaptchaAction

As ações para solicitações protegidas por reCAPTCHA.

Enums
RECAPTCHA_ACTION_UNSPECIFIED A ação do reCAPTCHA não foi especificada.
BLOCK A solicitação protegida por reCAPTCHA será bloqueada.

RecaptchaKey

A configuração da chave reCAPTCHA. O reCAPTCHA Enterprise oferece chaves diferentes para diferentes plataformas de cliente.

Representação JSON
{
  "key": string,
  "type": enum (RecaptchaKeyClientType)
}
Campos
key

string

O nome do recurso da chave reCAPTCHA Enterprise, por exemplo, "projects/{project}/keys/{key}"

type

enum (RecaptchaKeyClientType)

O tipo de plataforma do cliente.

RecaptchaKeyClientType

Os diferentes clientes compatíveis com as chaves do reCAPTCHA Enterprise.

Enums
CLIENT_TYPE_UNSPECIFIED O tipo de cliente não foi especificado.
WEB O tipo de cliente é "Web".
IOS O tipo de cliente é iOS.
ANDROID O tipo de cliente é Android.

RecaptchaTollFraudManagedRule

A configuração de uma regra gerenciada de avaliação de fraude de cobrança do reCAPTCHA. Modela um único intervalo [startScore, endScore]. A pontuação final é implícita. É a pontuação final menor mais próxima (se disponível) ou 0. Intervalos no intervalo agregado [0, 1] sem sobreposição.

Representação JSON
{
  "startScore": number,
  "action": enum (RecaptchaAction)
}
Campos
startScore

number

A pontuação inicial (inclusive) de uma ação. Precisa ser um valor entre 0,0 e 1,0, com 11 valores discretos, por exemplo, 0, 0,1, 0,2, 0,3, ... 0,9, 1,0. Uma pontuação de 0,0 indica a solicitação mais segura (provavelmente legítima), enquanto 1,0 indica a solicitação mais arriscada (provavelmente fraude de pedágio). Consulte https://cloud.google.com/recaptcha-enterprise/docs/sms-fraud-detection#create-assessment-sms.

action

enum (RecaptchaAction)

A ação realizada se a pontuação do reCAPTCHA de uma solicitação estiver no intervalo [startScore, endScore].

RecaptchaAction

O padrão é RECAPTCHA_ACTION_UNSPECIFIED.

Enums
RECAPTCHA_ACTION_UNSPECIFIED A ação do reCAPTCHA não foi especificada.
BLOCK A solicitação protegida por reCAPTCHA será bloqueada.

SmsRegionConfig

Configura as regiões em que os usuários podem enviar SMS de verificação para o projeto ou locatário. Isso é baseado no código de discagem do número de telefone de destino.

Representação 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.
}
Campos
Campo de união sms_region_policy. Uma política que determina onde os usuários podem enviar SMS de verificação. Isso pode ser para permitir todas as regiões por padrão ou apenas as regiões por uma lista de permissões explícita. sms_region_policy pode ser apenas de um dos tipos a seguir:
allowByDefault

object (AllowByDefault)

Uma política que permite o envio de SMS para todas as regiões por padrão e adiciona as regiões não permitidas a uma lista de bloqueio.

allowlistOnly

object (AllowlistOnly)

Uma política que permite apenas regiões, adicionando-as explicitamente a uma lista de permissões.

AllowByDefault

Define uma política que permite todas as regiões por padrão e adiciona regiões não permitidas a uma lista de bloqueio.

Representação JSON
{
  "disallowedRegions": [
    string
  ]
}
Campos
disallowedRegions[]

string

Códigos regionais Unicode de duas letras a serem desativados, conforme definido em https://cldr.unicode.org/. A lista completa desses códigos regionais está disponível em https://github.com/unicode-cldr/cldr-localenames-full/blob/master/main/pt-br/territories.json.

AllowlistOnly

Define uma política de permissão de regiões apenas adicionando-as explicitamente a uma lista de permissões.

Representação JSON
{
  "allowedRegions": [
    string
  ]
}
Campos
allowedRegions[]

string

Códigos de região Unicode de duas letras, conforme definido em https://cldr.unicode.org/. A lista completa desses códigos está disponível em https://github.com/unicode-cldr/cldr-localenames-full/blob/master/main/pt-br/territories.json.

MonitoringConfig

Configuração relacionada ao monitoramento da atividade do projeto.

Representação JSON
{
  "requestLogging": {
    object (RequestLogging)
  }
}
Campos
requestLogging

object (RequestLogging)

Configuração para registrar solicitações feitas a este projeto no Stackdriver Logging

RequestLogging

Configuração para registrar solicitações feitas a este projeto no Stackdriver Logging

Representação JSON
{
  "enabled": boolean
}
Campos
enabled

boolean

Se a geração de registros está ativada ou não para este projeto.

PasswordPolicyConfig

A configuração da política de senha no projeto.

Representação JSON
{
  "passwordPolicyEnforcementState": enum (PasswordPolicyEnforcementState),
  "passwordPolicyVersions": [
    {
      object (PasswordPolicyVersion)
    }
  ],
  "forceUpgradeOnSignin": boolean,
  "lastUpdateTime": string
}
Campos
passwordPolicyEnforcementState

enum (PasswordPolicyEnforcementState)

Qual modo de aplicação usar para a política de senha.

passwordPolicyVersions[]

object (PasswordPolicyVersion)

Precisa ter comprimento 1. Contém os atributos de força da política de senha.

forceUpgradeOnSignin

boolean

Os usuários precisam ter uma senha que siga a política de senhas para fazer login.

lastUpdateTime

string (Timestamp format)

Apenas saída. A última vez que a política de senha do projeto foi atualizada.

Usa o RFC 3339, em que a saída gerada é sempre normalizada em Z e usa dígitos fracionários 0, 3, 6 ou 9. Deslocamentos diferentes de "Z" também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

PasswordPolicyEnforcementState

Estado de aplicação da política de senha

Enums
PASSWORD_POLICY_ENFORCEMENT_STATE_UNSPECIFIED Estado ilegal, não deve ser usado.
OFF A política de senhas não será usada no projeto.
ENFORCE As senhas que não estiverem em compliance com a política de senha serão rejeitadas com um erro.

PasswordPolicyVersion

Os atributos de força da política de senha no projeto.

Representação JSON
{
  "customStrengthOptions": {
    object (CustomStrengthOptions)
  },
  "schemaVersion": integer
}
Campos
customStrengthOptions

object (CustomStrengthOptions)

As opções de nível de segurança personalizadas aplicadas pela política de senha.

schemaVersion

integer

Apenas saída. Número da versão do esquema para a política de senha

CustomStrengthOptions

Opções de nível de segurança personalizadas para aplicar às senhas dos usuários.

Representação JSON
{
  "minPasswordLength": integer,
  "maxPasswordLength": integer,
  "containsLowercaseCharacter": boolean,
  "containsUppercaseCharacter": boolean,
  "containsNumericCharacter": boolean,
  "containsNonAlphanumericCharacter": boolean
}
Campos
minPasswordLength

integer

Tamanho mínimo da senha. Varia de 6 a 30

maxPasswordLength

integer

Tamanho máximo da senha. Não há duração máxima padrão

containsLowercaseCharacter

boolean

A senha precisa ter uma letra minúscula.

containsUppercaseCharacter

boolean

A senha precisa ter uma letra maiúscula.

containsNumericCharacter

boolean

A senha precisa conter um número.

containsNonAlphanumericCharacter

boolean

A senha precisa conter um caractere não alfanumérico.

EmailPrivacyConfig

Configuração de configurações relacionadas à privacidade de e-mail e visibilidade pública. As configurações dessa configuração protegem contra a enumeração de e-mails, mas podem prejudicar a facilidade de uso.

Representação JSON
{
  "enableImprovedEmailPrivacy": boolean
}
Campos
enableImprovedEmailPrivacy

boolean

Migra o projeto para um estado de privacidade de e-mail aprimorada. Por exemplo, alguns códigos de erro são mais genéricos para evitar a divulgação de informações sobre a existência da conta. Além disso, isso desativa alguns recursos que, como efeito colateral, permitem a enumeração de usuários. Ativar esse botão desativa a funcionalidade fetchSignInMethodsForEmail e muda o e-mail do usuário para um e-mail não verificado. É recomendável remover a dependência dessa funcionalidade e ativar esse botão para melhorar a privacidade do usuário.

ClientPermissionConfig

Opções relacionadas à configuração de como os clientes que fazem solicitações em nome de um locatário.

Representação JSON
{
  "permissions": {
    object (ClientPermissions)
  }
}
Campos
permissions

object (ClientPermissions)

Configuração relacionada à restrição da capacidade de um usuário de afetar a conta dele.

ClientPermissions

Configuração relacionada à restrição da capacidade de um usuário de afetar a conta dele.

Representação JSON
{
  "disabledUserSignup": boolean,
  "disabledUserDeletion": boolean
}
Campos
disabledUserSignup

boolean

Quando "true", os usuários finais não podem se inscrever para uma nova conta no projeto associado usando nossos métodos de API

disabledUserDeletion

boolean

Quando definido como "true", os usuários finais não podem excluir a conta no projeto associado usando nenhum dos nossos métodos de API.

MobileLinksConfig

Links de configuração para dispositivos móveis.

Representação JSON
{
  "domain": enum (Domain)
}
Campos
domain

enum (Domain)

Abra o código no domínio do app para usar nos links do app e universais.

Domínio

Possível código aberto no domínio do app para usar em links de app e links universais.

Enums
DOMAIN_UNSPECIFIED Valor padrão. O domínio padrão é o do Firebase Dynamic Links antes da descontinuação do FDL e o domínio de hospedagem depois da descontinuação do FDL.
HOSTING_DOMAIN Use o domínio de hospedagem como domínio de vinculação de app.

Métodos

create

Crie um locatário.

delete

Excluir um locatário.

get

Acesse um locatário.

getIamPolicy

Busca a política de controle de acesso de um recurso.

list

Lista os locatários no projeto de agente fornecido.

patch

Atualizar um locatário.

setIamPolicy

Define a política de controle de acesso de um recurso.

testIamPermissions

Retorna as permissões do autor da chamada em um recurso.