CreateSessionLogger - Amazon WorkSpaces Secure Browser

CreateSessionLogger

Creates a session logger.

Request Syntax

POST /sessionLoggers HTTP/1.1 Content-type: application/json { "additionalEncryptionContext": { "string" : "string" }, "clientToken": "string", "customerManagedKey": "string", "displayName": "string", "eventFilter": { ... }, "logConfiguration": { "s3": { "bucket": "string", "bucketOwner": "string", "folderStructure": "string", "keyPrefix": "string", "logFileFormat": "string" } }, "tags": [ { "Key": "string", "Value": "string" } ] }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.

additionalEncryptionContext

The additional encryption context of the session logger.

Type: String to string map

Key Length Constraints: Minimum length of 0. Maximum length of 131072.

Key Pattern: [\s\S]*

Value Length Constraints: Minimum length of 0. Maximum length of 131072.

Value Pattern: [\s\S]*

Required: No

clientToken

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request. If you do not specify a client token, one is automatically generated by the AWS SDK.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 512.

Required: No

customerManagedKey

The custom managed key of the session logger.

Type: String

Length Constraints: Minimum length of 20. Maximum length of 2048.

Pattern: arn:[\w+=\/,.@-]+:kms:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:key\/[a-zA-Z0-9-]+

Required: No

displayName

The human-readable display name for the session logger resource.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: [ _\-\d\w]+

Required: No

eventFilter

The filter that specifies the events to monitor.

Type: EventFilter object

Note: This object is a Union. Only one member of this object can be specified or returned.

Required: Yes

logConfiguration

The configuration that specifies where logs are delivered.

Type: LogConfiguration object

Required: Yes

tags

The tags to add to the session logger.

Type: Array of Tag objects

Array Members: Minimum number of 0 items. Maximum number of 200 items.

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "sessionLoggerArn": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

sessionLoggerArn

The ARN of the session logger.

Type: String

Length Constraints: Minimum length of 20. Maximum length of 2048.

Pattern: arn:[\w+=\/,.@-]+:[a-zA-Z0-9\-]+:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\/[a-fA-F0-9\-]{36})+

Errors

For information about the errors that are common to all actions, see Common Errors.

AccessDeniedException

Access is denied.

HTTP Status Code: 403

ConflictException

There is a conflict.

HTTP Status Code: 409

InternalServerException

There is an internal server error.

HTTP Status Code: 500

ServiceQuotaExceededException

The service quota has been exceeded.

HTTP Status Code: 402

ThrottlingException

There is a throttling error.

HTTP Status Code: 429

ValidationException

There is a validation error.

HTTP Status Code: 400

Examples

Sample request for all events

The following is a sample requests to capture all events.

{ "eventFilter": { "all": {} }, "logConfiguration": { "s3": { "bucket": "my-bucket", "keyPrefix": "my-prefix", "logFileFormat": "Json", "folderStructure": "Flat" } }, "displayName": "my-session-logger" }

Sample request for a few events

The following is a sample requests to capture a few events.

{ "eventFilter": { "include": ["UrlLoad", "SessionStart", "ContentPasteToWebsite"] }, "logConfiguration": { "s3": { "bucket": "my-bucket", "keyPrefix": "my-prefix", "logFileFormat": "Json", "folderStructure": "Flat" } }, "displayName": "my-session-logger" }

Sample request to use a bucket in a different account

The following is a sample request to send events to a bucket owned by a different account.

{ "eventFilter": { "all": {} }, "logConfiguration": { "s3": { "bucket": "bucket-in-account-000000000000", "bucketOwner": "000000000000", "keyPrefix": "my-prefix", "logFileFormat": "Json", "folderStructure": "Flat" } }, "displayName": "my-session-logger" }

Sample Response

The following is a sample response.

{ "sessionLoggerArn": "arn:aws:workspaces-web:us-east-1:123456789012:sessionLogger/my-session-logger-id" }

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: