Some types of audit event samples from [our documentation](https://www.elastic.co/guide/en/elasticsearch/reference/7.17/audit-event-types.html) include the port number in "origin.address", like **access_denied**:
```json
{"type":"audit", "timestamp":"2020-12-30T22:30:06,949+0200", "node.id":
"0RMNyghkQYCc_gVd1G6tZQ", "event.type":"transport", "event.action":
"access_denied", "authentication.type":"REALM", "user.name":"user1",
"user.realm":"default_native", "user.roles":["test_role"], "origin.type":
"rest", "origin.address":"[::1]:52434", "request.id":"yKOgWn2CRQCKYgZRz3phJw",
"action":"indices:admin/auto_create", "request.name":"CreateIndexRequest",
"indices":["<index-{now/d+1d}>"]}
```
but other types like **connection_denied** from this issue does not include the port:

```json
{"type":"audit", "timestamp":"2020-12-30T21:47:31,526+0200", "node.id":
"0RMNyghkQYCc_gVd1G6tZQ", "event.type":"ip_filter", "event.action":
"connection_denied", "origin.type":"rest", "origin.address":"10.10.0.20",
"transport.profile":".http", "rule":"deny 10.10.0.0/16"}
```

I think we should be consistent here and always include the port number in the "origin.address" field.
x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/audit/logfile/LoggingAuditTrailTests.java
checkedFields = new MapBuilder<>(commonFields);
        checkedFields.remove(LoggingAuditTrail.ORIGIN_ADDRESS_FIELD_NAME);
        checkedFields.remove(LoggingAuditTrail.ORIGIN_TYPE_FIELD_NAME);
        checkedFields.put("type", "audit")
            .put(LoggingAuditTrail.EVENT_TYPE_FIELD_NAME, "security_config_change")
            .put(LoggingAuditTrail.EVENT_ACTION_FIELD_NAME, "create_apikey")
            .put(LoggingAuditTrail.REQUEST_ID_FIELD_NAME, requestId);
        assertMsg(generatedGrantKeyAuditEventString, checkedFields.map());
        
        CapturingLogger.output(logger.getName(), Level.INFO).clear();
        PutRoleRequest putRoleRequest = new PutRoleRequest();
        putRoleRequest.setRefreshPolicy(randomFrom(WriteRequest.RefreshPolicy.values()));
        RoleDescriptor roleDescriptor = randomFrom(allTestRoleDescriptors);
        putRoleRequest.name(roleDescriptor.getName());
        putRoleRequest.cluster(roleDescriptor.getClusterPrivileges());
        putRoleRequest.addIndex(roleDescriptor.getIndicesPrivileges());
        putRoleRequest.runAs(roleDescriptor.getRunAs());
        putRoleRequest.conditionalCluster(roleDescriptor.getConditionalClusterPrivileges());
        putRoleRequest.addApplicationPrivileges(roleDescriptor.getApplicationPrivileges());
        putRoleRequest.metadata(roleDescriptor.getMetadata());
        auditTrail.accessGranted(requestId, authentication, PutRoleAction.NAME, putRoleRequest, authorizationInfo);
        output = CapturingLogger.output(logger.getName(), Level.INFO);
        assertThat(output.size(), is(2));
        String generatedPutRoleAuditEventString = output.get(1);
        String expectedPutRoleAuditEventString = """
            "put":{"role":{"name":"%s","role_descriptor":%s}}\
            """.formatted(putRoleRequest.name(), auditedRolesMap.get(putRoleRequest.name()));
        assertThat(generatedPutRoleAuditEventString, containsString(expectedPutRoleAuditEventString));
        generatedPutRoleAuditEventString = generatedPutRoleAuditEventString.replace(", " + expectedPutRoleAuditEventString, "");
        checkedFields = new MapBuilder<>(commonFields);