Recuperación de puntos finales de servicio
Los puntos finales de servicio que el clúster expone se ponen a disposición del usuario como claves de servicio (también conocidas como credenciales de servicio).
Puede captar los puntos finales de servicio:
- Utilización de la CLI de IBM Cloud
- Utilización de la API REST de IBM Cloud
- Desde la consola de IBM Cloud
Los puntos finales de servicio no exponen las credenciales de instancia. Para obtener las credenciales de la instancia, consulte Recuperación de credenciales de clúster.
Obtención de puntos finales de servicio mediante la CLI de IBM Cloud
Debe crear una clave de servicio para la instancia sin servidor de IBM Analytics Engine para obtener los puntos finales de servicio.
Para crear una clave de recurso de servicio, especifique el mandato siguiente:
ibmcloud resource service-key-create <your_service_key_name> <role> --instance-name <your_service_instance_name>
Los parámetros necesarios incluyen:
<your_service_instance_name>: el nombre de la instancia de servicio que ha especificado al crear el clúster. Consulte los nombres de instancia de servicio en la Lista de recursos de IBM Cloud.<your_service_key_name>: cualquier nombre que desee utilizar para la clave. Este nombre se utiliza para recuperar claves de servicio.<role>: el rol que ha asignado a la clave de API de IAM que se ha generado para las credenciales de servicio. Podrá realizar solo aquellas operaciones que están permitidas para el rol seleccionado. Para obtener más detalles sobre los roles necesarios para realizar una operación, consulte la sección Permisos de IAM necesarios en Cómo otorgar permisos a los usuarios.
Respuesta esperada:
Creating service key of service instance <service_instance_name> under account <your account name> as <your user name>...
OK
Service key <service key crn> was created.
Name: service-key-name
ID: crn:v1:staging:public:ibmanalyticsengine:us-south:a/d628eae2cxxxxx229f2xxxx:1671b660-xxxx-448f-xxx-e1633a2b97c7:resource-key:4f1b043c-xxxx-xxxx-xxxx-cbf90f6155d0
Created At: Mon Nov 29 11:47:32 UTC 2021
State: active
Credentials:
apikey: xxxxxx
endpoints:
applications_api: https://api-staging.us-south.ae.cloud.ibm.com/v3/analytics_engines/xxxx660-7f2x-4xxf-9xx4-exxxxxxxxxc7/spark_applications
instance_api: https://api-staging.us-south.ae.cloud.ibm.com/v3/analytics_engines/xxxx660-7f2x-4xxf-9xx4-exxxxxxxxxc7
history_server_ui: https://spark-console.us-south.ae.cloud.ibm.com/v3/analytics_engines/xxxx660-7f2x-4xxf-9xx4-exxxxxxxxxc7/spark_history_ui
history_server_api: https://spark-console.us-south.ae.cloud.ibm.com/v3/analytics_engines/xxxx660-7f2x-4xxf-9xx4-exxxxxxxxxc7/spark_history_api/v1
iam_apikey_description: Auto-generated for key 4f1xxx3c-7517-xxx-cbfxxxxxx5d0
iam_apikey_name: service-key-name
iam_role_crn: crn:v1:bluemix:public:iam::::serviceRole:Writer
iam_serviceid_crn: crn:v1:staging:public:iam-identity::a/xxxx::serviceid:ServiceId-3543db7f-xxxx-454a-xxxx-1b20333ebeaa
Para ver la clave de recurso de servicio, especifique el mandato siguiente:
ibmcloud resource service-key <service_key_name>
Parámetro obligatorio:
<service key name>: el nombre de la clave de servicio que ha especificado al crear la clave.
Respuesta de ejemplo: Recuerde que las credenciales de clúster no se devuelven en la respuesta.
{
"apikey": "xxxxx",
"endpoints": {
"applications_api": "https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/xxxx-3bxxxbc-4xxx1-axx6-8xxdxx0xxd/spark_applications",
"instance_api": "https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/xxxx-3bxxxbc-4xxx1-axx6-8xxdxx0xxd",
"history_server_ui": "https://spark-console.us-south.ae.cloud.ibm.com/v3/analytics_engines/xxxx-3bxxxbc-4xxx1-axx6-8xxdxx0xxd/spark_history_ui",
"history_server_api":"https://spark-console.us-south.ae.cloud.ibm.com/v3/analytics_engines/xxxx-3bxxxbc-4xxx1-axx6-8xxdxx0xxd/spark_history_api/v1"
},
"iam_apikey_description": "Auto-generated for key cabde209-xxxx",
"iam_apikey_name": "Service credentials-1",
"iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Reader",
"iam_serviceid_crn": "crn:v1:bluemix:public:iam-identity::a/xxxxx::serviceid:ServiceId-2fec11aa-xxxx-4918-xxxx-aa3650f99050"
}
En la respuesta de ejemplo, las propiedades de endpoints especifican los puntos finales de servicio. La propiedad iam_apikey_name contiene una clave de API de IAM que se puede utilizar para generar señales portadoras
de IAM. Se debe proporcionar una señal portadora de IAM para la autorización al invocar las API REST de instancias sin servidor de IBM Analytics Engine.
Obtención de puntos finales de servicio mediante la API REST de IBM Cloud
Requisito previo: necesita una señal portadora IAM. Para obtener más información, consulte Recuperación de señales de acceso IAM.
El punto final de API que maneja las claves de servicio de API es https://resource-controller.cloud.ibm.com/v1/resource_keys.
Para crear una clave de recurso de servicio, especifique:
curl -X POST \
https://resource-controller.cloud.ibm.com/v1/resource_keys \
-H 'accept: application/json' \
-H "authorization: Bearer <IAM bearer token>" \
-H 'content-type: application/json' \
-d '{"name":"<key name>","source_crn":"<service instance crn>", "parameters":{"role_crn":"<crn of access role>"} }'
Respuesta de ejemplo:
{
"id": "crn:v1:staging:public:ibmanalyticsengine:us-south:a/d628eae2cxxxxx229f2xxxx:79c757e9-xxxx-xxxx-xxxx-dff7f01xxxx:resource-key:2278xxxx-xxxx-xxxx-xxxx-59a6da6xxxxe",
"guid": "2278xxxx-xxxx-xxxx-xxxx-59a6da68xxxx",
"url": "/v1/resource_keys/crn%3Av1%3Astaging%3Apublic%3Aibmanalyticsengine%3Aus-south%3Aa%2Fd628eae2cxxxxx229f2xxxx%3A79c757e9-xxxx-xxxx-xxxx-dff7f01xxxx%3Aresource-key%3A2278xxxx-xxxx-xxxx-xxxx-59a6da6xxxxe",
"created_at": "2021-11-30T08:48:47.909145179Z",
"updated_at": "2021-11-30T08:48:47.909145179Z",
"deleted_at": null,
"created_by": "",
"updated_by": "",
"deleted_by": "",
"source_crn": "crn:v1:staging:public:ibmanalyticsengine:us-south:a/d628eae2cxxxxx229f2xxxx:79c757e9-xxxx-xxxx-xxxx-dff7f01xxxx::",
"name": "service_key_02",
"role": "crn:v1:bluemix:public:iam::::serviceRole:Writer",
"crn": "crn:v1:staging:public:ibmanalyticsengine:us-south:a/d628eae2cxxxxx229f2xxxx:79c757e9-xxxx-xxxx-xxxx-dff7f01xxxx:resource-key:2278xxxx-xxxx-xxxx-xxxx-59a6da6xxxxe",
"state": "active",
"account_id": "d628eae2cxxxxx229f2xxxx",
"resource_group_id": "65828fxxxx594594816e872xxxx",
"resource_id": "18dexxxx-xxxx-xxxx-xxxx-0ed2f93fxxxx",
"credentials": {
"apikey": "xxxxx",
"endpoints": {
"applications_api": "https://api-staging.us-south.ae.cloud.ibm.com/v3/analytics_engines/79c757e9-xxxx-xxxx-xxxx-dff7f01xxxx/spark_applications",
"instance_api": "https://api-staging.us-south.ae.cloud.ibm.com/v3/analytics_engines/79c757e9-xxxx-xxxx-xxxx-dff7f01xxxx",
"history_server_ui": "https://spark-console.us-south.ae.cloud.ibm.com/v3/analytics_engines/79c757e9-xxxx-xxxx-xxxx-dff7f01xxxx/spark_history_ui",
"history_server_api":"https://spark-console.us-south.ae.cloud.ibm.com/v3/analytics_engines/79c757e9-xxxx-xxxx-xxxx-dff7f01xxxx/spark_history_api/v1"
},
"iam_apikey_description": "Auto-generated for key 2278e09d-b815-4c4b-b824-xxxx",
"iam_apikey_name": "service_key_02",
"iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Writer",
"iam_serviceid_crn": "crn:v1:staging:public:iam-identity::a/d628eae2cxxxxx229f2xxxx::serviceid:ServiceId-209exxxx-xxxx-xxxx-xxxx-4ab9ce16xxxx"
},
"iam_compatible": true,
"migrated": false,
"resource_instance_url": "/v1/resource_instances/crn%3Av1%3Astaging%3Apublic%3Aibmanalyticsengine%3Aus-south%3Aa%2Fd628eae2cxxxxx229f2xxxx%3A79c757e9-xxxx-xxxx-xxxx-dff7f01xxxx%3A%3A",
"resource_alias_url": null
}
Obtención de los puntos finales de servicio desde la consola de IBM Cloud
Si sigue los pasos de esta sección para obtener los puntos finales de servicio mediante la consola de IBM Cloud, se le dirigirá a la página de credenciales de servicio de la instancia de servicio en la que espera ver los puntos finales de servicio y la clave de API.
Para crear una clave de servicio desde la consola de IBM Cloud:
- Vaya a la lista de recursos, pulse Servicios y software y seleccione la instancia sin servidor suministrada.
- Pulse Credenciales de servicio en la barra lateral de la izquierda.
- A continuación, pulse Nueva credencial para crear nuevas credenciales de servicio.
- Especifique un nombre, seleccione un rol y pulse Añadir.
- Copie las credenciales en el portapapeles.
Consulte la Documentación de API para conocer las operaciones que están disponibles en los puntos finales de gestión de instancias y de gestión de aplicaciones. Para obtener detalles sobre los permisos necesarios para invocar operaciones en dichos puntos finales, consulte Cómo otorgar permisos a los usuarios.