REST Resource: projects.tenants

Recurso: Usuario

Un usuario contiene la configuración del usuario en un proyecto multiusuario.

Representación 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

Solo salida. Es el nombre del recurso de un usuario. Por ejemplo: "projects/{project-id}/tenants/{tenant-id}"

displayName

string

Es el nombre visible del inquilino.

allowPasswordSignup

boolean

Indica si se permite la autenticación de usuarios con correo electrónico y contraseña.

disableAuth

boolean

Indica si la autenticación está inhabilitada para el usuario. Si es verdadero, los usuarios del inquilino inhabilitado no pueden acceder. Los administradores del usuario inhabilitado no pueden administrar a sus usuarios.

hashConfig

object (HashConfig)

Solo salida. Es la información de configuración de hash de un usuario para mostrarla en Pantheon. Solo se puede mostrar en Pantheon para evitar que la información sensible se filtre accidentalmente. Solo se muestra en la respuesta de tenants.get para restringir la lectura de esta información. Para mostrar este campo, se requiere el permiso firebaseauth.configs.getHashConfig en el proyecto del agente.

enableAnonymousUser

boolean

Indica si se debe habilitar la autenticación de usuarios anónimos.

mfaConfig

object (MultiFactorAuthConfig)

La configuración de las opciones de MFA a nivel del inquilino

testPhoneNumbers

map (key: string, value: string)

Un mapa de pares <número de teléfono de prueba, código falso> que se pueden usar para la MFA. El número de teléfono debe estar en formato E.164 (https://www.itu.int/rec/T-REC-E.164/) y se pueden agregar un máximo de 10 pares (se mostrará un error una vez que se supere esta cantidad).

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

inheritance

object (Inheritance)

Especifica la configuración que podría heredar el inquilino.

recaptchaConfig

object (RecaptchaConfig)

La configuración de reCAPTCHA a nivel del usuario

smsRegionConfig

object (SmsRegionConfig)

Configura qué regiones están habilitadas para el envío de códigos de verificación por SMS.

autodeleteAnonymousUsers

boolean

Si los usuarios anónimos se borrarán automáticamente después de un período de 30 días.

monitoring

object (MonitoringConfig)

Configuración relacionada con la supervisión de la actividad del proyecto.

passwordPolicyConfig

object (PasswordPolicyConfig)

La configuración de la política de contraseñas a nivel del inquilino

emailPrivacyConfig

object (EmailPrivacyConfig)

Configuración relacionada con la privacidad del correo electrónico y la visibilidad pública.

client

object (ClientPermissionConfig)

Son opciones relacionadas con la forma en que se deben configurar los clientes que realizan solicitudes en nombre de un proyecto.

HashConfig

Información del historial del algoritmo y la clave de hash. Las contraseñas de diferentes cuentas pueden generarse con diferentes versiones.

Representación JSON
{
  "algorithm": enum (HashAlgorithm),
  "signerKey": string,
  "saltSeparator": string,
  "rounds": integer,
  "memoryCost": integer
}
Campos
algorithm

enum (HashAlgorithm)

Solo salida. Diferentes algoritmos de hash de contraseñas que se usan en Identity Toolkit.

signerKey

string

Solo salida. Clave del firmante en base64.

saltSeparator

string

Solo salida. Es un carácter no imprimible que se inserta entre la sal y la contraseña de texto sin formato en base64.

rounds

integer

Solo salida. Cuántas rondas para el cálculo de hash. Lo usan scrypt y otros algoritmos de derivación de contraseñas similares.

memoryCost

integer

Solo salida. Es el costo de memoria para el cálculo de hash. Lo usan scrypt y otros algoritmos de derivación de contraseñas similares. Consulta https://tools.ietf.org/html/rfc7914 para obtener una explicación del campo.

HashAlgorithm

Diferentes algoritmos de hash de contraseñas que se usan en Identity Toolkit.

Enums
HASH_ALGORITHM_UNSPECIFIED Valor predeterminado No se debe usar.
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

Son opciones relacionadas con la autenticación de varios factores para el proyecto.

Representación JSON
{
  "state": enum (State),
  "enabledProviders": [
    enum (Provider)
  ],
  "providerConfigs": [
    {
      object (ProviderConfig)
    }
  ]
}
Campos
state

enum (State)

Indica si se habilitó la autenticación de varios factores para este proyecto.

enabledProviders[]

enum (Provider)

Es una lista de los segundos factores que se pueden usar para este proyecto.

providerConfigs[]

object (ProviderConfig)

Una lista de los segundos factores utilizables para este proyecto junto con sus parámetros de configuración. Este campo no admite la MFA basada en teléfonos. Para ello, usa el campo "enabledProviders".

Estado

Indica si se habilitó la autenticación de varios factores para este proyecto.

Enums
STATE_UNSPECIFIED Estado ilegal, no se debe usar.
DISABLED No se puede usar la autenticación de varios factores para este proyecto
ENABLED Se puede usar la autenticación de varios factores para este proyecto
MANDATORY Se requiere la autenticación de varios factores para este proyecto. Los usuarios de este proyecto deben autenticarse con el segundo factor.

Proveedor

Es una lista de los segundos factores que se pueden usar para este proyecto.

Enums
PROVIDER_UNSPECIFIED Proveedor ilegal, no se debe usar
PHONE_SMS Los SMS están habilitados como segundo factor para este proyecto.

ProviderConfig

ProviderConfig describe los proveedores de MFA admitidos junto con sus parámetros de configuración.

Representación 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)

Describe el estado del tipo de autenticación de varios factores.

Campo de unión mfa_provider_config.

mfa_provider_config puede ser una de las siguientes opciones:

totpProviderConfig

object (TotpMfaProviderConfig)

Configuración del proveedor de MFA de TOTP para este proyecto.

TotpMfaProviderConfig

TotpMFAProviderConfig representa el proveedor de MFA basado en TOTP.

Representación JSON
{
  "adjacentIntervals": integer
}
Campos
adjacentIntervals

integer

Es la cantidad permitida de intervalos adyacentes que se usarán para la verificación para evitar el sesgo del reloj.

MfaState

Indica si se habilitó la autenticación de varios factores para este proyecto.

Enums
MFA_STATE_UNSPECIFIED Estado ilegal, no se debe usar.
DISABLED No se puede usar la autenticación de varios factores para este proyecto.
ENABLED Se puede usar la autenticación de varios factores para este proyecto.
MANDATORY Se requiere la autenticación de varios factores para este proyecto. Los usuarios de este proyecto deben autenticarse con el segundo factor.

Herencia

Es la configuración que heredarán los inquilinos a nivel del proyecto.

Representación JSON
{
  "emailSendingConfig": boolean
}
Campos
emailSendingConfig

boolean

Permite o no que el usuario herede los dominios personalizados, las plantillas de correo electrónico y la configuración personalizada de SMTP. Si es verdadero, los correos electrónicos que se envíen desde el usuario seguirán la configuración de envío de correos electrónicos a nivel del proyecto. Si es falso (predeterminado), los correos electrónicos se enviarán con la configuración predeterminada sin personalizaciones.

RecaptchaConfig

La configuración de integración de reCAPTCHA Enterprise

Representación 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)

Las reglas administradas para la acción de autenticación según las puntuaciones de reCAPTCHA Las reglas se comparten entre los proveedores de un proyecto de usuario determinado.

recaptchaKeys[]

object (RecaptchaKey)

Las claves de reCAPTCHA

tollFraudManagedRules[]

object (RecaptchaTollFraudManagedRule)

Las reglas administradas para la acción de autenticación según las puntuaciones de riesgo de fraude de peaje de reCAPTCHA Las reglas administradas de fraude de peaje solo tendrán efecto cuando el estado de aplicación forzosa del teléfono sea AUDIT o ENFORCE y useSmsTollFraudProtection sea verdadero.

emailPasswordEnforcementState

enum (RecaptchaProviderEnforcementState)

La configuración de reCAPTCHA para el proveedor de correo electrónico o contraseña, que contiene el estado de aplicación forzosa El proveedor de correo electrónico o contraseña contiene todos los flujos de usuarios relacionados con el correo electrónico protegidos por reCAPTCHA.

useAccountDefender

boolean

Indica si se debe usar la protección de cuentas para la evaluación de reCAPTCHA. La configuración predeterminada es false.

phoneEnforcementState

enum (RecaptchaProviderEnforcementState)

La configuración de reCAPTCHA para el proveedor de telefonía, que contiene el estado de aplicación. El proveedor de telefonía contiene todos los flujos de usuarios relacionados con SMS protegidos por reCAPTCHA.

useSmsBotScore

boolean

Indica si se debe usar la puntuación de bot de rCE para el proveedor de telefonía de reCAPTCHA. Solo puede ser verdadero cuando phoneEnforcementState es AUDIT o ENFORCE.

useSmsTollFraudProtection

boolean

Indica si se debe usar la puntuación de riesgo de protección contra el fraude de cargos telefónicos por SMS de rCE para el proveedor de telefonía de reCAPTCHA. Solo puede ser verdadero cuando phoneEnforcementState es AUDIT o ENFORCE.

RecaptchaProviderEnforcementState

Estados de aplicación para la protección de reCAPTCHA

Enums
RECAPTCHA_PROVIDER_ENFORCEMENT_STATE_UNSPECIFIED No se estableció el estado de aplicación forzosa.
OFF No se aplica.
AUDIT Se crea la evaluación de reCAPTCHA, pero el resultado no se usa para aplicarla.
ENFORCE Se crea la evaluación de reCAPTCHA y se usa el resultado para aplicarla.

RecaptchaManagedRule

Es la configuración de una regla administrada por reCAPTCHA. Modela un solo intervalo [startScore, endScore]. El valor de startScore es implícito. Es el endScore más cercano más bajo (si hay uno disponible) o 0. Los intervalos en el intervalo agregado [0, 1] no se superponen.

Representación JSON
{
  "endScore": number,
  "action": enum (RecaptchaAction)
}
Campos
endScore

number

La puntuación final (inclusive) del rango de puntuación de una acción. Debe ser un valor entre 0.0 y 1.0, en 11 valores discretos; p.ej., 0, 0.1, 0.2, 0.3, ... 0.9, 1.0. Una puntuación de 0.0 indica la solicitud más riesgosa (probablemente un bot), mientras que 1.0 indica la solicitud más segura (probablemente un usuario humano). Consulta https://cloud.google.com/recaptcha-enterprise/docs/interpret-assessment.

action

enum (RecaptchaAction)

Es la acción que se realiza si la puntuación de reCAPTCHA de una solicitud está dentro del intervalo [startScore, endScore].

RecaptchaAction

Las acciones para las solicitudes protegidas por reCAPTCHA.

Enums
RECAPTCHA_ACTION_UNSPECIFIED No se especificó la acción de reCAPTCHA.
BLOCK Se bloqueará la solicitud protegida por reCAPTCHA.

RecaptchaKey

La configuración de la clave de reCAPTCHA. reCAPTCHA Enterprise ofrece diferentes claves para diferentes plataformas de clientes.

Representación JSON
{
  "key": string,
  "type": enum (RecaptchaKeyClientType)
}
Campos
key

string

Es el nombre del recurso de la clave de reCAPTCHA Enterprise, p. ej., "projects/{project}/keys/{key}".

type

enum (RecaptchaKeyClientType)

Es el tipo de plataforma del cliente.

RecaptchaKeyClientType

Los diferentes clientes que admiten las claves de reCAPTCHA Enterprise

Enums
CLIENT_TYPE_UNSPECIFIED No se especificó el tipo de cliente.
WEB El tipo de cliente es web.
IOS El tipo de cliente es iOS.
ANDROID El tipo de cliente es Android.

RecaptchaTollFraudManagedRule

La configuración de una regla administrada de evaluación de fraude de peaje de reCAPTCHA Modela un solo intervalo [startScore, endScore]. El endScore es implícito. Es el endScore más cercano más bajo (si hay uno disponible) o 0. Los intervalos en el intervalo agregado [0, 1] no se superponen.

Representación JSON
{
  "startScore": number,
  "action": enum (RecaptchaAction)
}
Campos
startScore

number

La puntuación inicial (incluida) de una acción. Debe ser un valor entre 0.0 y 1.0, en 11 valores discretos; p.ej., 0, 0.1, 0.2, 0.3, ... 0.9, 1.0. Una puntuación de 0.0 indica la solicitud más segura (probablemente legítima), mientras que 1.0 indica la solicitud más riesgosa (probablemente un fraude de peaje). Consulta https://cloud.google.com/recaptcha-enterprise/docs/sms-fraud-detection#create-assessment-sms.

action

enum (RecaptchaAction)

Es la acción que se realiza si la puntuación de reCAPTCHA de una solicitud está dentro del intervalo [startScore, endScore].

RecaptchaAction

El valor predeterminado es RECAPTCHA_ACTION_UNSPECIFIED.

Enums
RECAPTCHA_ACTION_UNSPECIFIED No se especificó la acción de reCAPTCHA.
BLOCK Se bloqueará la solicitud protegida por reCAPTCHA.

SmsRegionConfig

Configura las regiones en las que los usuarios pueden enviar SMS de verificación para el proyecto o el usuario. Esto se basa en el código de llamada del número de teléfono de destino.

Representación 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ón sms_region_policy. Es una política que determina en qué países los usuarios pueden enviar SMS de verificación. Esto puede ser para permitir todas las regiones de forma predeterminada o para permitir regiones solo a través de una lista de entidades permitidas explícita. sms_region_policy puede ser solo uno de los siguientes:
allowByDefault

object (AllowByDefault)

Una política que permite los SMS a todas las regiones de forma predeterminada y agrega regiones no permitidas a una lista de entidades no permitidas.

allowlistOnly

object (AllowlistOnly)

Una política que solo permite regiones agregándolas de forma explícita a una lista de entidades permitidas.

AllowByDefault

Define una política que permite todas las regiones de forma predeterminada y agrega regiones no permitidas a una lista de entidades no permitidas.

Representación JSON
{
  "disallowedRegions": [
    string
  ]
}
Campos
disallowedRegions[]

string

Códigos de región de Unicode de dos letras que no se permiten, según se define en https://cldr.unicode.org/. La lista completa de estos códigos de región se encuentra aquí: https://github.com/unicode-cldr/cldr-localenames-full/blob/master/main/en/territories.json

AllowlistOnly

Define una política de solo permitir regiones agregándolas de forma explícita a una lista de entidades permitidas.

Representación JSON
{
  "allowedRegions": [
    string
  ]
}
Campos
allowedRegions[]

string

Códigos de región de Unicode de dos letras para permitir según se define en https://cldr.unicode.org/. La lista completa de estos códigos de región se encuentra aquí: https://github.com/unicode-cldr/cldr-localenames-full/blob/master/main/en/territories.json

MonitoringConfig

Configuración relacionada con la supervisión de la actividad del proyecto.

Representación JSON
{
  "requestLogging": {
    object (RequestLogging)
  }
}
Campos
requestLogging

object (RequestLogging)

Configuración para registrar las solicitudes que se realizan a este proyecto en Stackdriver Logging

RequestLogging

Configuración para registrar las solicitudes que se realizan a este proyecto en Stackdriver Logging

Representación JSON
{
  "enabled": boolean
}
Campos
enabled

boolean

Indica si los registros están habilitados para este proyecto o no.

PasswordPolicyConfig

La configuración de la política de contraseñas en el proyecto

Representación JSON
{
  "passwordPolicyEnforcementState": enum (PasswordPolicyEnforcementState),
  "passwordPolicyVersions": [
    {
      object (PasswordPolicyVersion)
    }
  ],
  "forceUpgradeOnSignin": boolean,
  "lastUpdateTime": string
}
Campos
passwordPolicyEnforcementState

enum (PasswordPolicyEnforcementState)

Es el modo de aplicación forzosa que se usará para la política de contraseñas.

passwordPolicyVersions[]

object (PasswordPolicyVersion)

Debe tener una longitud de 1. Contiene los atributos de seguridad de la política de contraseñas.

forceUpgradeOnSignin

boolean

Los usuarios deben tener una contraseña que cumpla con la política de contraseñas para acceder.

lastUpdateTime

string (Timestamp format)

Solo salida. La última vez que se actualizó la política de contraseñas del proyecto.

Usa RFC 3339, en el que el resultado generado siempre se normalizará en Z y usará 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan compensaciones distintas de "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

PasswordPolicyEnforcementState

Estado de aplicación forzosa de la política de contraseñas

Enums
PASSWORD_POLICY_ENFORCEMENT_STATE_UNSPECIFIED Estado ilegal, no se debe usar.
OFF No se usará la Política de Contraseñas en el proyecto.
ENFORCE Las contraseñas que no cumplan con la política de contraseñas se rechazarán y se mostrará un error.

PasswordPolicyVersion

Los atributos de nivel de seguridad de la política de contraseñas del proyecto

Representación JSON
{
  "customStrengthOptions": {
    object (CustomStrengthOptions)
  },
  "schemaVersion": integer
}
Campos
customStrengthOptions

object (CustomStrengthOptions)

Las opciones de seguridad personalizadas que aplica la política de contraseñas

schemaVersion

integer

Solo salida. Es el número de versión del esquema de la política de contraseñas.

CustomStrengthOptions

Opciones de nivel de seguridad personalizadas para aplicar en las contraseñas de los usuarios

Representación JSON
{
  "minPasswordLength": integer,
  "maxPasswordLength": integer,
  "containsLowercaseCharacter": boolean,
  "containsUppercaseCharacter": boolean,
  "containsNumericCharacter": boolean,
  "containsNonAlphanumericCharacter": boolean
}
Campos
minPasswordLength

integer

Longitud mínima de la contraseña El rango disponible varía de 6 a 30.

maxPasswordLength

integer

Es la longitud máxima de la contraseña. Sin duración máxima predeterminada

containsLowercaseCharacter

boolean

La contraseña debe contener un carácter en minúscula.

containsUppercaseCharacter

boolean

La contraseña debe contener un carácter en mayúscula.

containsNumericCharacter

boolean

La contraseña debe contener un número.

containsNonAlphanumericCharacter

boolean

La contraseña debe contener un carácter que no sea alfanumérico.

EmailPrivacyConfig

Configuración relacionada con la privacidad del correo electrónico y la visibilidad pública. La configuración de esta opción protege contra la enumeración de correos electrónicos, pero puede hacer que la usabilidad sea menos intuitiva.

Representación JSON
{
  "enableImprovedEmailPrivacy": boolean
}
Campos
enableImprovedEmailPrivacy

boolean

Migra el proyecto a un estado de privacidad de correo electrónico mejorada. Por ejemplo, algunos códigos de error son más genéricos para evitar revelar información sobre si la cuenta existe. Además, inhabilita ciertas funciones que, como efecto secundario, permiten la enumeración de usuarios. Si habilitas este botón de activación, se inhabilitará la funcionalidad fetchSignInMethodsForEmail y se cambiará el correo electrónico del usuario a uno no verificado. Se recomienda quitar la dependencia de esta funcionalidad y habilitar este botón de activación para mejorar la privacidad del usuario.

ClientPermissionConfig

Son opciones relacionadas con la forma en que se deben configurar los clientes que realizan solicitudes en nombre de un inquilino.

Representación JSON
{
  "permissions": {
    object (ClientPermissions)
  }
}
Campos
permissions

object (ClientPermissions)

Configuración relacionada con la restricción de la capacidad de un usuario para afectar su cuenta.

ClientPermissions

Configuración relacionada con la restricción de la capacidad de un usuario para afectar su cuenta.

Representación JSON
{
  "disabledUserSignup": boolean,
  "disabledUserDeletion": boolean
}
Campos
disabledUserSignup

boolean

Si es verdadero, los usuarios finales no pueden registrarse para obtener una cuenta nueva en el proyecto asociado a través de ninguno de nuestros métodos de API.

disabledUserDeletion

boolean

Si es verdadero, los usuarios finales no pueden borrar su cuenta en el proyecto asociado a través de ninguno de nuestros métodos de API.

MobileLinksConfig

Vínculos de configuración para dispositivos móviles.

Representación JSON
{
  "domain": enum (Domain)
}
Campos
domain

enum (Domain)

Código abierto en el dominio de la app para usar en vínculos a la app y vínculos universales.

Dominio

Posible código abierto en el dominio de la app para usar en vínculos a la app y vínculos universales.

Enums
DOMAIN_UNSPECIFIED Valor predeterminado El dominio predeterminado es el dominio de Firebase Dynamic Links antes de la baja de los FDL y el dominio de hosting después de la baja de los FDL.
HOSTING_DOMAIN Usa el dominio de hosting como dominio de vínculo de la app.

Métodos

create

Crea un usuario.

delete

Borra un usuario.

get

Obtén un usuario.

getIamPolicy

Permite obtener la política de control de acceso de un recurso.

list

Muestra una lista de los inquilinos del proyecto de agente determinado.

patch

Actualiza un usuario.

setIamPolicy

Configura la política de control de acceso de un recurso.

testIamPermissions

Devuelve los permisos del emisor en un recurso.