Amazon CodeCatalyst ya no está disponible para nuevos clientes. Los clientes existentes pueden seguir utilizando el servicio con normalidad. Para obtener más información, consulte Cómo migrar de CodeCatalyst.
Supervisión de llamadas a la API en Cuentas de AWS que usan el registro de AWS CloudTrail
Amazon CodeCatalyst está integrado con AWS CloudTrail, un servicio que proporciona un registro de las acciones realizadas por un usuario, un rol o un Servicio de AWS. CloudTrail captura llamadas a la API hechas en nombre de CodeCatalyst en Cuentas de AWS conectadas como eventos. Si crea un registro de seguimiento, puede habilitar la entrega continua de eventos de CloudTrail a un bucket de S3, lo que incluye los eventos para CodeCatalyst. Si no configura un registro de seguimiento, puede ver los eventos más recientes de la consola de CloudTrail en el historial de eventos.
CodeCatalyst admite el registro de las siguientes acciones como eventos en archivos de registro de CloudTrail:
-
Los eventos de administración de los espacios de CodeCatalyst se registrarán en la Cuenta de AWS que se haya designado como la cuenta de facturación para el espacio. Para obtener más información, consulte Eventos en el espacio de CodeCatalyst.
nota
Se puede acceder a los eventos de datos de los espacios de CodeCatalyst mediante la CLI, como se explica en Acceso a los eventos registrados mediante el registro de eventos.
-
Los eventos de los recursos empleados en las acciones de flujos de trabajo de CodeCatalyst que ocurren en una Cuenta de AWS conectada se registrarán como eventos en esa Cuenta de AWS. Para obtener más información, consulte Eventos de facturación y conexiones de cuentas en CodeCatalyst.
importante
Aunque se pueden asociar varias cuentas a un espacio, el registro de CloudTrail para eventos en espacios y proyectos de CodeCatalyst solo se aplica a la cuenta de facturación.
La cuenta de facturación del espacio es la Cuenta de AWS en la que se le cobra por los recursos de CodeCatalyst que no están incluidos en el nivel gratuito de AWS. Se pueden conectar varias cuentas a un espacio, pero solo una cuenta puede ser la cuenta de facturación designada. La cuenta de facturación o las cuentas conectadas adicionales del espacio pueden tener roles de IAM utilizados para implementar infraestructura y recursos de AWS, como un clúster de Amazon ECS o un bucket de S3, desde flujos de trabajo de CodeCatalyst. Puede usar el YAML del flujo de trabajo para identificar la Cuenta de AWS en la que ha hecho la implementación.
nota
Los recursos de AWS implementados en las cuentas conectadas para los flujos de trabajo de CodeCatalyst no se registran como parte del registro de CloudTrail para el espacio de CodeCatalyst. Por ejemplo, los recursos de CodeCatalyst incluyen un espacio o un proyecto; los recursos de AWS incluyen una función de Lambda o un servicio de Amazon ECS. El registro de CloudTrail debe configurarse por separado para cada Cuenta de AWS en la que se vayan a implementar los recursos.
El registro de CodeCatalyst en las cuentas conectadas incluye las siguientes consideraciones:
-
El acceso a los eventos de CloudTrail se administra con IAM en la cuenta conectada, no en CodeCatalyst.
-
Las conexiones externas, como la vinculación a un repositorio de GitHub, provocarán que los nombres de los recursos externos se guarden en los registros de CloudTrail.
nota
El registro de CloudTrail para los eventos de CodeCatalyst se lleva a cabo en el nivel del espacio y no aísla los eventos según los límites del proyecto.
Para obtener más información acerca de CloudTrail, consulte la Guía del usuario de AWS CloudTrail.
nota
En esta sección, se describe el registro de CloudTrail para todos los eventos registrados en un espacio de CodeCatalyst y para las Cuentas de AWS conectadas a CodeCatalyst. Además, para revisar todos los eventos registrados en un espacio de CodeCatalyst, también puede utilizar la AWS CLI y el comando aws codecatalyst list-event-logs. Para obtener más información, consulte Acceso a los eventos registrados mediante el registro de eventos.
Eventos en el espacio de CodeCatalyst
Las acciones de CodeCatalyst para administrar los recursos en el nivel del espacio y del proyecto se registran en la cuenta de facturación del espacio. Para el registro de CloudTrail en un espacio de CodeCatalyst, los eventos se registran teniendo en cuenta las siguientes consideraciones.
-
Los eventos de CloudTrail se aplican a todo el espacio y no se centran en un solo proyecto.
-
Al conectar una Cuenta de AWS a un espacio de CodeCatalyst, los eventos registrables de las conexiones de cuentas se registrarán en esa Cuenta de AWS. Tras habilitar esta conexión, no podrá deshabilitarla.
-
Al conectar una Cuenta de AWS a un espacio de CodeCatalyst y designarla como la cuenta de facturación del espacio, los eventos se registrarán en esa Cuenta de AWS. Tras habilitar esta conexión, no podrá deshabilitarla.
Los eventos de los recursos en el nivel del espacio y el nivel del proyecto solo se registran en la cuenta de facturación. Para cambiar la cuenta de destino de CloudTrail, actualice la cuenta de facturación en CodeCatalyst. Al comienzo del siguiente ciclo de facturación mensual, el cambio para la nueva cuenta de facturación en CodeCatalyst entrará en vigor. Después, se actualizará la cuenta de destino de CloudTrail.
A continuación, puede ver algunos ejemplos de eventos en AWS relacionados con acciones de CodeCatalyst para la administración de recursos en el espacio y en el proyecto. Las siguientes API se publican mediante el SDK y la CLI. Los eventos se registrarán en la Cuenta de AWS especificada como la cuenta de facturación para el espacio de CodeCatalyst.
Eventos de facturación y conexiones de cuentas en CodeCatalyst
A continuación, puede ver algunos ejemplos de eventos en AWS relacionados con acciones en CodeCatalyst para la conexión de cuentas o la facturación:
-
AcceptConnection -
AssociateIAMRoletoConnection -
DeleteConnection -
DissassociateIAMRolefromConnection -
GetBillingAuthorization -
GetConnection -
GetPendingConnection -
ListConnections -
ListIAMRolesforConnection -
PutBillingAuthorization -
RejectConnection
Información de CodeCatalyst en CloudTrail
CloudTrail está habilitado en una Cuenta de AWS cuando crea esa cuenta. Cuando conecte esa Cuenta de AWS a un espacio de CodeCatalyst, los eventos de ese espacio que ocurran en esa Cuenta de AWS se guardarán en los registros de CloudTrail de esa cuenta de AWS. Los eventos registrables en CodeCatalyst se registran como eventos de CloudTrail en los registros de CloudTrail de la cuenta conectada y en el Historial de eventos de la consola de CloudTrail, junto con otros eventos de AWS registrables de esa cuenta.
Cada entrada de registro o evento contiene información sobre quién generó la solicitud. La información de identidad del usuario le ayuda a determinar lo siguiente:
-
Si la solicitud la hizo un usuario con su ID de creador de AWS.
-
Si la solicitud se realizó con credenciales de usuario de AWS Identity and Access Management (IAM) o credenciales de usuario raíz.
-
Si la solicitud se realizó con credenciales de seguridad temporales de un rol o fue un usuario federado.
-
Si la solicitud la realizó otro servicio de AWS.
Para obtener más información, consulte Elemento userIdentity de CloudTrail.
Acceso a los eventos de CloudTrail
Para el registro continuo de los eventos en su Cuenta de AWS, lo que incluye los eventos para la actividad de CodeCatalyst en la Cuenta de AWS, cree un registro de seguimiento. Un registro de seguimiento permite a CloudTrail que pueda enviar archivos de registro a un bucket de S3. De forma predeterminada, cuando se crea un registro de seguimiento en la consola, el registro de seguimiento se aplica a todas las Regiones de AWS. El registro de seguimiento registra los eventos de todas las regiones de la partición de AWS y envía los archivos de registro al bucket de S3 especificado. También es posible configurar otros servicios de AWS para analizar en profundidad y actuar en función de los datos de eventos recopilados en los registros de CloudTrail. Para más información, consulte los siguientes temas:
Un registro de seguimiento es una configuración que permite la entrega de eventos como archivos de log al bucket de S3 que se especifique. Los archivos log de CloudTrail pueden contener una o varias entradas de log. Un evento representa una solicitud específica realizada desde un origen cualquiera y contiene información sobre la acción solicitada, la fecha y la hora de la acción, los parámetros de la solicitud, etc. Los archivos de registro de CloudTrail no rastrean el orden en la pila de las llamadas públicas a la API, por lo que estas no aparecen en ningún orden específico.
Ejemplo de evento de conexiones de cuentas de CodeCatalyst en AWS
En el siguiente ejemplo, se muestra una entrada de registro de CloudTrail que ilustra la acción ListConnections. Para una Cuenta de AWS conectada al espacio, ListConnections se utiliza para ver todas las conexiones de cuentas a CodeCatalyst para esa Cuenta de AWS. El evento se registrará en la Cuenta de AWS especificada en accountId, y el valor del arn será el nombre de recurso de Amazon (ARN) del rol utilizado para la acción.
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "role-ARN", "accountId": "account-ID", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "role-ARN", "accountId": "account-ID", "userName": "user-name" }, "webIdFederationData": {}, "attributes": { "creationDate": "2022-09-06T15:04:31Z", "mfaAuthenticated": "false" } } }, "eventTime": "2022-09-06T15:08:43Z", "eventSource": "account-ID", "eventName": "ListConnections", "awsRegion": "us-west-2", "sourceIPAddress": "192.168.0.1", "userAgent": "aws-cli/1.18.147 Python/2.7.18 Linux/5.4.207-126.363.amzn2int.x86_64 botocore/1.18.6", "requestParameters": null, "responseElements": null, "requestID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 ", "eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 ", "readOnly": true, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "account-ID", "eventCategory": "Management" }
Ejemplo de evento de recurso de proyecto de CodeCatalyst en AWS
En el siguiente ejemplo, se muestra una entrada de registro de CloudTrail que ilustra la acción CreateDevEnvironment. Para los eventos en el nivel de proyecto del espacio, como la creación de un entorno de desarrollo, se utiliza una Cuenta de AWS que esté conectada al espacio y que se haya designado como la cuenta de facturación para ese espacio.
Bajo userIdentity, en el campo accountId, encontrará el ID de la cuenta del IAM Identity Center (432677196278) que aloja el grupo de identidades de todas las identidades de ID de creador de AWS. Este ID de cuenta contiene la siguiente información acerca del usuario de CodeCatalyst para el evento.
-
El campo
typeindica el tipo de entidad de IAM de la solicitud. En el caso de los eventos de CodeCatalyst para los recursos del proyecto y el espacio, el valor esIdentityCenterUser. El campoaccountIdespecifica la cuenta que posee la entidad empleada para obtener las credenciales. -
El campo
userIdcontiene el identificador de ID de creador de AWS para el usuario. -
El campo
identityStoreArncontiene el ARN del rol para el usuario y la cuenta del almacén de identidades.
El campo recipientAccountId contiene el ID de cuenta de la cuenta de facturación del espacio (en este caso, con 111122223333 como valor de ejemplo).
Para obtener más información, consulte Elemento userIdentity de CloudTrail.
{ "eventVersion": "1.09", "userIdentity": { "type": "IdentityCenterUser", "accountId": "432677196278", "onBehalfOf": { "userId": "user-ID", "identityStoreArn": "arn:aws:identitystore::432677196278:identitystore/d-9067642ac7" }, "credentialId": "ABCDefGhiJKLMn11Lmn_1AbCDEFgHijk-AaBCdEFGHIjKLmnOPqrs11abEXAMPLE" }, "eventTime": "2023-05-18T17:10:50Z", "eventSource": "codecatalyst.amazonaws.com", "eventName": "CreateDevEnvironment", "awsRegion": "us-west-2", "sourceIPAddress": "192.168.0.1", "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0", "requestParameters": { "spaceName": "MySpace", "projectName": "MyProject", "ides": [{ "runtime": "public.ecr.aws/q6e8p2q0/cloud9-ide-runtime:2.5.1", "name": "Cloud9" }], "instanceType": "dev.standard1.small", "inactivityTimeoutMinutes": 15, "persistentStorage": { "sizeInGiB": 16 } }, "responseElements": { "spaceName": "MySpace", "projectName": "MyProject", "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 " }, "requestID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "sharedEventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "eventCategory": "Management" }
nota
En algunos eventos, es posible que el agente de usuario sea desconocido. En ese caso, CodeCatalyst proporcionará un valor de Unknown en el campo userAgent del evento de CloudTrail.
Consultas en los registros de seguimiento de eventos en CodeCatalyst
Puede crear y administrar consultas para sus registros de CloudTrail mediante una tabla de consultas en Amazon Athena. Para obtener más información sobre la creación de consultas, vaya a Consulta de registros de AWS CloudTrail en la Guía del usuario de Amazon Athena.