Preguntas más frecuentes sobre autenticación con IBM Cloudant
IBM Cloud® Identity and Access Management (IAM) combina la gestión de identidades de usuario, servicios y control de acceso en un único enfoque. IBM® Cloudant® for IBM Cloud® se integra con IBM Cloud Identity and Access Management.
¿Cuál es la diferencia entre los controles de acceso de IAM y heredados de IBM Cloudant?
IBM Cloud IAM
- Gestión de acceso gestionado de manera central en IBM Cloud.
- Permite a un usuario o servicio acceder a distintos recursos utilizando el mismo conjunto de credenciales (por ejemplo, el mismo usuario y contraseña o clave de API IAM).
- Es posible otorgar acceso a las claves de API IAM a las funciones de gestión de cuenta, como la creación de bases de datos nuevas.
Heredado de IBM Cloudant
- Exclusivo de IBM Cloudant.
- El acceso a cada instancia de servicio requiere su propio conjunto de credenciales.
- Utiliza la autenticación básica HTTP con las credenciales que no están enlazadas a un servicio o usuario individual.
¿Por qué es preferible la modalidad Utilizar solo IAM?
La modalidad Utilizar solo IAM implica que únicamente se suministran credenciales de IAM a través de un enlace de servicio y la generación de credenciales. Utilizando IBM Cloud IAM, obtiene las siguientes ventajas:
- Gestión del acceso a IBM Cloudant con las herramientas estándares de IBM Cloud.
- Utilización de credenciales que puede revocar y rotar fácilmente al utilizar IBM Cloud IAM.
Para obtener más información sobre las ventajas y desventajas de estas modalidades, consulte Ventajas y desventajas de los dos mecanismos de control de acceso.
¿Cómo puedo crear una instancia utilizando la línea de mandatos?
Cuando se crea una nueva instancia de IBM Cloudant desde la línea de mandatos, debe incluir la herramienta ibmcloud
mediante el parámetro -p
. Este parámetro habilita o inhabilita las credenciales heredadas para una
cuenta pasando la opción en formato JSON. La opción se denomina legacyCredentials
.
Para crear una instancia como Utilizar solo IAM (recomendado), ejecute el mandato siguiente:
ibmcloud resource service-instance-create "Instance Name" \
cloudantnosqldb Standard us-south \
-p '{"legacyCredentials": false}'
Si no utiliza la modalidad Utilizar solo IAM cuando utilice los roles de IAM de lector y escritor, puede otorgar a los usuarios credenciales heredadas con más permisos de acceso de los que desee.
¿Cómo puedo generar credenciales de servicio?
Puede generar credenciales de servicio en la interfaz primaria de IBM Cloud IAM. Al seleccionar Utilizar solo IAM, las credenciales de servicio incluyen solo los valores de IAM. El JSON de las credenciales de servicio es similar al ejemplo siguiente:
{
"apikey": "MxVp86XHkU82Wc97tdvDF8qM8B0Xdit2RqR1mGfVXPWz",
"host": "2922d728-27c0-4c7f-aa80-1e59fbeb04d0-bluemix.cloudant.com",
"iam_apikey_description": "Auto generated apikey during resource-key [...]",
"iam_apikey_name": "auto-generated-apikey-050d21b5-5f[...]",
"iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Manager",
"iam_serviceid_crn": "crn:v1:staging:public:iam-identity::[...]",
"url": "https://76838001-b883-444d-90d0-46f89e942a15-bluemix.cloudant.com",
"username": "76838001-b883-444d-90d0-46f89e942a15-bluemix"
}
Los valores del ejemplo anterior se describen en la lista siguiente:
apikey
- Clave de API de IAM.
host
- El DNS que resuelve los nombres de dominio con sus direcciones IP correspondientes.
iam_apikey_description
- Descripción de la clave de API de IAM.
iam_apikey_name
- ID de la clave de API de IAM.
iam_role_crn
- El rol de IAM que tiene la clave de API de IAM.
iam_serviceid_crn
- El CRN de ID de servicio.
url
- URL de servicio IBM Cloudant.
username
- El nombre de cuenta interno de IBM Cloudant.
Para obtener más información, consulte Claves de API IBM Cloud y Utilizar solo IAM.
¿Cómo puedo hacer rotar mis credenciales?
En la mayoría de los casos, la rotación de credenciales es un proceso simple:
-
Generar una credencial de servicio de sustitución. Para obtener más información, consulte ¿Cómo puedo generar credenciales de servicio?.
-
Sustituya la credencial actual por la credencial recién generada.
-
Suprima la credencial de servicio que ya no se utiliza.
Sin embargo, cuando rota las credenciales de una réplica, si utiliza credenciales heredadas en el documento de réplica, la réplica se inicia desde el principio. Para asegurarse de que los cambios llegan de forma oportuna, le aconsejamos que cree una nueva réplica una vez que se alcance la supresión de la réplica anterior y la credencial de servicio asociada. El proceso se describe en los pasos siguientes:
-
Generar una credencial de servicio de sustitución. Para obtener más información, consulte ¿Cómo puedo generar credenciales de servicio?.
-
Cree una réplica con los mismos valores pero nuevas credenciales.
-
Supervise la nueva réplica utilizando Tareas activas, o puede utilizar
_scheduler/jobs
. -
Una vez que el campo
changes_pending
para la nueva réplica sea un valor adecuado para sus requisitos, la réplica que utiliza las credenciales anteriores se puede suprimir. -
Suprima la credencial de servicio que ya no se utiliza.
Las réplicas que utilizan claves de API de IAM se pueden actualizar para utilizar una nueva clave de API directamente, sin retrasar los cambios que se están replicando.