Registro de llamadas a la API con AWS CloudTrail para AWS Organizations - AWS Organizations

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Registro de llamadas a la API con AWS CloudTrail para AWS Organizations

AWS Organizations se integra con AWS CloudTrail, un servicio que proporciona un registro de las acciones hechas por un usuario, un rol o un servicio de AWS en AWS Organizations. CloudTrail captura todas las llamadas a la API de AWS Organizations como eventos, incluidas las llamadas procedentes de la consola de AWS Organizations y las llamadas de código a las API de AWS Organizations. Si crea un registro de seguimiento, puede habilitar la entrega continua de eventos de CloudTrail a un bucket de Amazon S3, incluidos los eventos para AWS Organizations. Si no configura un registro de seguimiento, puede ver los eventos más recientes en la consola de CloudTrail en el Event history (Historial de eventos). Mediante la información recopilada por CloudTrail, puede determinar la solicitud que se realizó a AWS Organizations, la dirección IP desde la que se realizó, quién la realizó, cuándo y otros detalles.

Para obtener más información sobre CloudTrail, consulte la Guía del usuario de AWS CloudTrail.

importante

Puede ver toda la información de CloudTrail de AWS Organizations solo en la región de EE.UU. Este (Norte de Virginia). Si no ve su actividad AWS Organizations en la consola de CloudTrail, configure la consola para EE. UU. Este (Norte de Virginia) con el menú de la esquina superior derecha. Si consulta CloudTrail con las herramientas AWS CLI o SDK, dirija la consulta al punto de enlace de EE. UU. Este (Norte de Virginia).

AWS OrganizationsInformación de en CloudTrail

CloudTrail se habilita en su Cuenta de AWS cuando se crea la cuenta. Cuando se produce actividad en AWS Organizations, dicha actividad se registra en un evento de CloudTrail junto con otros eventos de servicio de AWS en el Historial de eventos. Puede ver, buscar y descargar eventos recientes en su Cuenta de AWS. Para obtener más información, consulte Ver eventos con el historial de eventos de CloudTrail.

Para mantener un registro continuo de eventos en la Cuenta de AWS, incluidos los eventos de AWS Organizations, cree un registro de seguimiento. Un registro de seguimiento permite a CloudTrail enviar archivos de registro a un bucket de Amazon S3. Cuando el registro de CloudTrail está habilitado en su cuenta de Cuenta de AWS, las llamadas a la API realizadas en acciones de AWS Organizations se escriben en los archivos de registro de CloudTrail junto con otros registros del servicio de AWS. También puede configurar otros Servicios de AWS para analizar y actuar según los datos de eventos recopilados en los registros de CloudTrail. Para más información, consulte los siguientes temas:

Todas las acciones de AWS Organizations las registra CloudTrail y se documentan en la Referencia de la API de AWS Organizations. Por ejemplo, las llamadas a CreateAccount (incluido el evento CreateAccountResult), ListHandshakesForAccount, CreatePolicy y InviteAccountToOrganization generan entradas en los archivos de registro de CloudTrail.

Cada entrada de registro contiene información sobre quién generó la solicitud. La información de identidad del usuario en la entrada de registro le ayuda a determinar lo siguiente:

  • Si la solicitud se realizó con las credenciales del usuario raíz o del usuario de IAM

  • Si la solicitud se realizó con credenciales de seguridad temporales de un rol de IAM o un usuario federado.

  • si la solicitud la realizó otro servicio de AWS

Para obtener más información, consulte el Elemento userIdentity de CloudTrail.

Descripción de las entradas de los archivos de registro de AWS Organizations

Un registro de seguimiento es una configuración que permite la entrega de eventos como archivos de registro a un bucket de Amazon S3 que especifique. Los archivos de registro de CloudTrail pueden contener una o varias entradas de registro. 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.

Entradas de registro de ejemplo: CloseAccount

En el ejemplo siguiente se muestra una entrada de registro de CloudTrail para una llamada de CloseAccount de muestra que se genera cuando se llama a la API y el flujo de trabajo para cerrar la cuenta comienza a procesar en segundo plano.

{ "eventVersion": "1.08", "userIdentity": { "type": "IAMUser", "principalId": "AIDAMVNPBQA3EXAMPLE:my-admin-role", "arn": "arn:aws:sts::111122223333:assumed-role/my-admin-role/my-session-id", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AIDAMVNPBQA3EXAMPLE", "arn": "arn:aws:iam::111122223333:role/my-admin-role", "accountId": "111122223333", "userName": "my-session-id" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2022-03-18T18:17:06Z" } } }, "eventTime": "2022-03-18T18:17:06Z", "eventSource": "organizations.amazonaws.com", "eventName": "CloseAccount", "awsRegion": "us-east-1", "sourceIPAddress": "192.168.0.1", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...", "requestParameters": { "accountId": "555555555555" }, "responseElements": null, "requestID": "e28932f8-d5da-4d7a-8238-ef74f3d5c09a", "eventID": "19fe4c10-f57e-4cb7-a2bc-6b5c30233592", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }

En el ejemplo siguiente, se muestra una entrada de registro de CloudTrail para una llamada CloseAccountResult después de que el flujo de trabajo en segundo plano para cerrar la cuenta se completa correctamente.

{ "eventVersion": "1.08", "userIdentity": { "accountId": "111122223333", "invokedBy": "organizations.amazonaws.com" }, "eventTime": "2022-03-18T18:17:06Z", "eventSource": "organizations.amazonaws.com", "eventName": "CloseAccountResult", "awsRegion": "us-east-1", "sourceIPAddress": "organizations.amazonaws.com", "userAgent": "organizations.amazonaws.com", "requestParameters": null, "responseElements": null, "eventID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "readOnly": false, "eventType": "AwsServiceEvent", "readOnly": false, "eventType": "AwsServiceEvent", "managementEvent": true, "recipientAccountId": "111122223333", "serviceEventDetails": { "closeAccountStatus": { "accountId": "555555555555", "state": "SUCCEEDED", "requestedTimestamp": "Mar 18, 2022 6:16:58 PM", "completedTimestamp": "Mar 18, 2022 6:16:58 PM" } }, "eventCategory": "Management" }

Entradas de registro de ejemplo: CreateAccount

En el ejemplo siguiente se muestra una entrada de log de CloudTrail para una llamada de muestra CreateAccount que se genera cuando se llama a la API y el flujo de trabajo para crear la cuenta comienza a procesarse en segundo plano.

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDAMVNPBQA3EXAMPLE:my-admin-role", "arn": "arn:aws:sts::111122223333:assumed-role/my-admin-role/my-session-id", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AIDAMVNPBQA3EXAMPLE", "arn": "arn:aws:iam::111122223333:role/my-admin-role", "accountId": "111122223333", "userName": "my-session-id" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2020-09-16T21:16:45Z" } } }, "eventTime": "2018-06-21T22:06:27Z", "eventSource": "organizations.amazonaws.com", "eventName": "CreateAccount", "awsRegion": "us-east-1", "sourceIPAddress": "192.168.0.1", "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)...", "requestParameters": { "tags": [], "email": "****", "accountName": "****" }, "responseElements": { "createAccountStatus": { "accountName": "****", "state": "IN_PROGRESS", "id": "car-examplecreateaccountrequestid111", "requestedTimestamp": "Sep 16, 2020 9:20:50 PM" } }, "requestID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "eventID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "eventType": "AwsApiCall", "recipientAccountId": "111111111111" }

En el ejemplo siguiente, se muestra una entrada de log de CloudTrail para una llamada CreateAccount después de que el flujo de trabajo en segundo plano crea la cuenta que se completa correctamente.

{ "eventVersion": "1.05", "userIdentity": { "accountId": "111122223333", "invokedBy": "..." }, "eventTime": "2020-09-16T21:20:53Z", "eventSource": "organizations.amazonaws.com", "eventName": "CreateAccountResult", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "....", "requestParameters": null, "responseElements": null, "eventID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "readOnly": false, "eventType": "AwsServiceEvent", "recipientAccountId": "111122223333", "serviceEventDetails": { "createAccountStatus": { "id": "car-examplecreateaccountrequestid111", "state": "SUCCEEDED", "accountName": "****", "accountId": "444455556666", "requestedTimestamp": "Sep 16, 2020 9:20:50 PM", "completedTimestamp": "Sep 16, 2020 9:20:53 PM" } } }

El siguiente ejemplo muestra una entrada de registro de CloudTrail que se genera después de que un flujo de trabajo en segundo plano CreateAccount falle al crear la cuenta.

{ "eventVersion": "1.06", "userIdentity": { "accountId": "111122223333", "invokedBy": "AWS Internal" }, "eventTime": "2018-06-21T22:06:27Z", "eventSource": "organizations.amazonaws.com", "eventName": "CreateAccountResult", "awsRegion": "us-east-1", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "requestParameters": null, "responseElements": null, "eventID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "readOnly": false, "eventType": "AwsServiceEvent", "recipientAccountId": "111122223333", "serviceEventDetails": { "createAccountStatus": { "id": "car-examplecreateaccountrequestid111", "state": "FAILED", "accountName": "****", "failureReason": "EMAIL_ALREADY_EXISTS", "requestedTimestamp": Jun 21, 2018 10:06:27 PM, "completedTimestamp": Jun 21, 2018 10:07:15 PM } } }

Entrada de registro de ejemplo: CreateOrganizationalUnit

En el ejemplo siguiente se muestra una entrada de registro de CloudTrail para una llamada CreateOrganizationalUnit de ejemplo:

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDAMVNPBQA3EXAMPLE", "arn": "arn:aws:iam::111111111111:user/diego", "accountId": "111111111111", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "diego" }, "eventTime": "2017-01-18T21:40:11Z", "eventSource": "organizations.amazonaws.com", "eventName": "CreateOrganizationalUnit", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36", "requestParameters": { "name": "OU-Developers-1", "parentId": "r-a1b2" }, "responseElements": { "organizationalUnit": { "arn": "arn:aws:organizations::111111111111:ou/o-aa111bb222/ou-examplerootid111-exampleouid111", "id": "ou-examplerootid111-exampleouid111", "name": "test-cloud-trail" } }, "requestID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "eventID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "eventType": "AwsApiCall", "recipientAccountId": "111111111111" }

Entrada de registro de ejemplo: InviteAccountToOrganization

En el ejemplo siguiente se muestra una entrada de registro de CloudTrail para una llamada InviteAccountToOrganization de ejemplo:

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDAMVNPBQA3EXAMPLE", "arn": "arn:aws:iam::111111111111:user/diego", "accountId": "111111111111", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "diego" }, "eventTime": "2017-01-18T21:41:17Z", "eventSource": "organizations.amazonaws.com", "eventName": "InviteAccountToOrganization", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36", "requestParameters": { "notes": "This is a request for Mary's account to join Diego's organization.", "target": { "type": "ACCOUNT", "id": "111111111111" } }, "responseElements": { "handshake": { "requestedTimestamp": "Jan 18, 2017 9:41:16 PM", "state": "OPEN", "arn": "arn:aws:organizations::111111111111:handshake/o-aa111bb222/invite/h-examplehandshakeid111", "id": "h-examplehandshakeid111", "parties": [ { "type": "ORGANIZATION", "id": "o-aa111bb222" }, { "type": "ACCOUNT", "id": "222222222222" } ], "action": "invite", "expirationTimestamp": "Feb 2, 2017 9:41:16 PM", "resources": [ { "resources": [ { "type": "MASTER_EMAIL", "value": "diego@example.com" }, { "type": "MASTER_NAME", "value": "Management account for organization" }, { "type": "ORGANIZATION_FEATURE_SET", "value": "ALL" } ], "type": "ORGANIZATION", "value": "o-aa111bb222" }, { "type": "ACCOUNT", "value": "222222222222" }, { "type": "NOTES", "value": "This is a request for Mary's account to join Diego's organization." } ] } }, "requestID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "eventID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "eventType": "AwsApiCall", "recipientAccountId": "111111111111" }

Entrada de registro de ejemplo: AttachPolicy

En el ejemplo siguiente se muestra una entrada de registro de CloudTrail para una llamada AttachPolicy de ejemplo: La respuesta indica que la llamada ha dado un error porque el tipo de política solicitado no está habilitado en la raíz donde se ha intentado adjuntar la solicitud.

{ "eventVersion": "1.06", "userIdentity": { "type": "IAMUser", "principalId": "AIDAMVNPBQA3EXAMPLE", "arn": "arn:aws:iam::111111111111:user/diego", "accountId": "111111111111", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "diego" }, "eventTime": "2017-01-18T21:42:44Z", "eventSource": "organizations.amazonaws.com", "eventName": "AttachPolicy", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36", "errorCode": "PolicyTypeNotEnabledException", "errorMessage": "The given policy type ServiceControlPolicy is not enabled on the current view", "requestParameters": { "policyId": "p-examplepolicyid111", "targetId": "ou-examplerootid111-exampleouid111" }, "responseElements": null, "requestID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "eventID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "eventType": "AwsApiCall", "recipientAccountId": "111111111111" }

Ejemplo de entrada de registro: política en vigor no válida

En el ejemplo siguiente se muestra una entrada de registro de CloudTrail para un evento EffectivePolicyValidation de ejemplo. Este evento se emite a la cuenta de administración de la organización cada vez que una actualización crea una política en vigor no válida para cualquier cuenta.

{ "eventVersion": "1.11", "userIdentity": { "accountId": "111122223333", "invokedBy": "AWS Internal" }, "eventTime": "2025-07-17T14:53:40Z", "eventSource": "organizations.amazonaws.com", "eventName": "EffectivePolicyValidation", "awsRegion": "us-east-1", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "requestParameters": null, "responseElements": null, "eventID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "readOnly": true, "eventType": "AwsServiceEvent", "managementEvent": true, "recipientAccountId": "111111111111", "serviceEventDetails": { "accountId": "111111111111", "policyType": "BACKUP_POLICY", "state": "INVALID", "requestTimestamp": "Jul 17, 2025, 2:53:40 PM", "info": "All validation errors listed", "validationErrors": [ { "accountPath": "o-aa111bb222/r-a1b2/111111111111/", "evaluationTimestamp": "Jul 17, 2025, 2:53:40 PM", "errorCode": "ELEMENTS_TOO_MANY", "errorMessage": "'hourly_rule' exceeds the allowed maximum limit 10", "pathToError": "plans/hourly-backup/rules/hourly_rule", "contributingPolicies": [ "p-examplepolicyid111" ] } ] }, "eventCategory": "Management" }

Ejemplo de entrada de registro: política en vigor válida

En el ejemplo siguiente se muestra una entrada de registro de CloudTrail para un evento EffectivePolicyValidation de ejemplo. Este evento se emite a la cuenta de administración de la organización cada vez que una actualización de la organización soluciona una política en vigor en una cuenta que anteriormente no era válida.

{ "eventVersion": "1.11", "userIdentity": { "accountId": "111111111111", "invokedBy": "AWS Internal" }, "eventTime": "2025-07-17T14:54:40Z", "eventSource": "organizations.amazonaws.com", "eventName": "EffectivePolicyValidation", "awsRegion": "us-east-1", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "requestParameters": null, "responseElements": null, "eventID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "readOnly": true, "eventType": "AwsServiceEvent", "managementEvent": true, "recipientAccountId": "111111111111", "serviceEventDetails": { "accountId": "111111111111", "policyType": "BACKUP_POLICY", "state": "VALID", "requestTimestamp": "Jul 17, 2025, 2:54:40 PM", "info": "Previous effective policy validation error(s) resolved for this account/policyType" }, "eventCategory": "Management" }