

# Security Hub CSPM controls for Amazon Glue
<a name="glue-controls"></a>

These Amazon Security Hub CSPM controls evaluate the Amazon Glue service and resources. The controls might not be available in all Amazon Web Services Regions. For more information, see [Availability of controls by Region](securityhub-regions.md#securityhub-regions-control-support).

## [Glue.1] Amazon Glue jobs should be tagged
<a name="glue-1"></a>

**Category:** Identify > Inventory > Tagging

**Severity:** Low

**Resource type:** `Amazon::Glue::Job`

**Amazon Config rule:** `tagged-glue-job` (custom Security Hub CSPM rule)

**Schedule type:** Change triggered

**Parameters:**


| Parameter | Description | Type | Allowed custom values | Security Hub CSPM default value | 
| --- | --- | --- | --- | --- | 
|  requiredTagKeys  | List of non-system tag keys that the evaluated resource must contain. Tag keys are case sensitive.  | StringList (maximum of 6 items)  | 1–6 tag keys that meet [Amazon requirements](https://docs.amazonaws.cn/tag-editor/latest/userguide/tagging.html#tag-conventions).  | No default value  | 

This control checks whether an Amazon Glue job has tags with the specific keys defined in the parameter `requiredTagKeys`. The control fails if the job doesn’t have any tag keys or if it doesn’t have all the keys specified in the parameter `requiredTagKeys`. If the parameter `requiredTagKeys` isn't provided, the control only checks for the existence of a tag key and fails if the job isn't tagged with any key. System tags, which are automatically applied and begin with `aws:`, are ignored.

A tag is a label that you assign to an Amazon resource, and it consists of a key and an optional value. You can create tags to categorize resources by purpose, owner, environment, or other criteria. Tags can help you identify, organize, search for, and filter resources. Tagging also helps you track accountable resource owners for actions and notifications. When you use tagging, you can implement attribute-based access control (ABAC) as an authorization strategy, which defines permissions based on tags. You can attach tags to IAM entities (users or roles) and to Amazon resources. You can create a single ABAC policy or a separate set of policies for your IAM principals. You can design these ABAC policies to allow operations when the principal's tag matches the resource tag. For more information, see [What is ABAC for Amazon?](https://docs.amazonaws.cn/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) in the *IAM User Guide*.

**Note**  
Don’t add personally identifiable information (PII) or other confidential or sensitive information in tags. Tags are accessible to many Amazon Web Services services, including Amazon Billing. For more tagging best practices, see [Tagging your Amazon resources](https://docs.amazonaws.cn/tag-editor/latest/userguide/tagging.html#tag-best-practices) in the *Amazon Web Services General Reference*.

### Remediation
<a name="glue-1-remediation"></a>

To add tags to a Amazon Glue job, see [Amazon tags in Amazon Glue](https://docs.amazonaws.cn/glue/latest/dg/monitor-tags.html) in the *Amazon Glue User Guide*.

## [Glue.3] Amazon Glue machine learning transforms should be encrypted at rest
<a name="glue-3"></a>

**Category:** Protect > Data Protection > Encryption of data-at-rest

**Severity:** Medium

**Resource type:** `AWS::Glue::MLTransform`

**Amazon Config rule:** [https://docs.amazonaws.cn/config/latest/developerguide/glue-ml-transform-encrypted-at-rest.html](https://docs.amazonaws.cn/config/latest/developerguide/glue-ml-transform-encrypted-at-rest.html)

**Schedule type:** Change triggered

**Parameters:** No

This control checks whether an Amazon Glue machine learning transform is encrypted at rest. The control fails if the machine learning transform isn't encrypted at rest.

Data at rest refers to data that's stored in persistent, non-volatile storage for any duration. Encrypting data at rest helps you protect its confidentiality, which reduces the risk that an unauthorized user can access it.

### Remediation
<a name="glue-3-remediation"></a>

To configure encryption for Amazon Glue machine learning transforms, see [Working with machine learning transforms](https://docs.amazonaws.cn/glue/latest/dg/console-machine-learning-transforms.html) in the *Amazon Glue User Guide*.

## [Glue.4] Amazon Glue Spark jobs should run on supported versions of Amazon Glue
<a name="glue-4"></a>

**Related requirements:** NIST.800-53.r5 CA-9(1), NIST.800-53.r5 CM-2, NIST.800-53.r5 SI-2, NIST.800-53.r5 SI-2(2), NIST.800-53.r5 SI-2(4), NIST.800-53.r5 SI-2(5)

**Category:** Identify > Vulnerability, patch, and version management

**Severity:** Medium

**Resource type:** `AWS::Glue::Job`

**Amazon Config rule:** [https://docs.amazonaws.cn/config/latest/developerguide/glue-spark-job-supported-version.html](https://docs.amazonaws.cn/config/latest/developerguide/glue-spark-job-supported-version.html)

**Schedule type:** Change triggered

**Parameters:** `minimumSupportedGlueVersion`: `3.0` (not customizable)

This control checks whether an Amazon Glue for Spark job is configured to run on a supported version of Amazon Glue. The control fails if the Spark job is configured to run on a version of Amazon Glue that's earlier than the minimum supported version.

**Note**  
This control also generates a `FAILED` finding for an Amazon Glue for Spark job if the Amazon Glue version (`GlueVersion`) property doesn’t exist or is null in the configuration item (CI) for the job. In such cases, the finding includes the following annotation: `GlueVersion is null or missing in glueetl job configuration`. To address this type of `FAILED` finding, add the `GlueVersion` property to the job’s configuration. For a list of supported versions and runtime environments, see [Amazon Glue Versions](https://docs.amazonaws.cn/glue/latest/dg/release-notes.html#release-notes-versions) in the *Amazon Glue User Guide*.

Running Amazon Glue Spark jobs on current versions of Amazon Glue can optimize performance, security, and access to the latest features of Amazon Glue. It can also help safeguard against security vulnerabilities. For example, a new version might be released to provide security updates, address issues, or introduce new features.

### Remediation
<a name="glue-4-remediation"></a>

For information about migrating a Spark job to a supported version of Amazon Glue, see [Migrating Amazon Glue for Spark jobs](https://docs.amazonaws.cn/glue/latest/dg/migrating-version-40.html) in the *Amazon Glue User Guide*.