AWS Glue

2024/02/05 - AWS Glue - 2 updated api methods

Changes  Introduce Catalog Encryption Role within Glue Data Catalog Settings. Introduce SASL/PLAIN as an authentication method for Glue Kafka connections

GetDataCatalogEncryptionSettings (updated) Link ¶
Changes (response)
{'DataCatalogEncryptionSettings': {'EncryptionAtRest': {'CatalogEncryptionMode': {'SSE-KMS-WITH-SERVICE-ROLE'},
                                                        'CatalogEncryptionServiceRole': 'string'}}}

Retrieves the security configuration for a specified catalog.

See also: AWS API Documentation

Request Syntax

client.get_data_catalog_encryption_settings(
    CatalogId='string'
)
type CatalogId

string

param CatalogId

The ID of the Data Catalog to retrieve the security configuration for. If none is provided, the Amazon Web Services account ID is used by default.

rtype

dict

returns

Response Syntax

{
    'DataCatalogEncryptionSettings': {
        'EncryptionAtRest': {
            'CatalogEncryptionMode': 'DISABLED'|'SSE-KMS'|'SSE-KMS-WITH-SERVICE-ROLE',
            'SseAwsKmsKeyId': 'string',
            'CatalogEncryptionServiceRole': 'string'
        },
        'ConnectionPasswordEncryption': {
            'ReturnConnectionPasswordEncrypted': True|False,
            'AwsKmsKeyId': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • DataCatalogEncryptionSettings (dict) --

      The requested security configuration.

      • EncryptionAtRest (dict) --

        Specifies the encryption-at-rest configuration for the Data Catalog.

        • CatalogEncryptionMode (string) --

          The encryption-at-rest mode for encrypting Data Catalog data.

        • SseAwsKmsKeyId (string) --

          The ID of the KMS key to use for encryption at rest.

        • CatalogEncryptionServiceRole (string) --

          The role that Glue assumes to encrypt and decrypt the Data Catalog objects on the caller's behalf.

      • ConnectionPasswordEncryption (dict) --

        When connection password protection is enabled, the Data Catalog uses a customer-provided key to encrypt the password as part of CreateConnection or UpdateConnection and store it in the ENCRYPTED_PASSWORD field in the connection properties. You can enable catalog encryption or only password encryption.

        • ReturnConnectionPasswordEncrypted (boolean) --

          When the ReturnConnectionPasswordEncrypted flag is set to "true", passwords remain encrypted in the responses of GetConnection and GetConnections . This encryption takes effect independently from catalog encryption.

        • AwsKmsKeyId (string) --

          An KMS key that is used to encrypt the connection password.

          If connection password protection is enabled, the caller of CreateConnection and UpdateConnection needs at least kms:Encrypt permission on the specified KMS key, to encrypt passwords before storing them in the Data Catalog.

          You can set the decrypt permission to enable or restrict access on the password key according to your security requirements.

PutDataCatalogEncryptionSettings (updated) Link ¶
Changes (request)
{'DataCatalogEncryptionSettings': {'EncryptionAtRest': {'CatalogEncryptionMode': {'SSE-KMS-WITH-SERVICE-ROLE'},
                                                        'CatalogEncryptionServiceRole': 'string'}}}

Sets the security configuration for a specified catalog. After the configuration has been set, the specified encryption is applied to every catalog write thereafter.

See also: AWS API Documentation

Request Syntax

client.put_data_catalog_encryption_settings(
    CatalogId='string',
    DataCatalogEncryptionSettings={
        'EncryptionAtRest': {
            'CatalogEncryptionMode': 'DISABLED'|'SSE-KMS'|'SSE-KMS-WITH-SERVICE-ROLE',
            'SseAwsKmsKeyId': 'string',
            'CatalogEncryptionServiceRole': 'string'
        },
        'ConnectionPasswordEncryption': {
            'ReturnConnectionPasswordEncrypted': True|False,
            'AwsKmsKeyId': 'string'
        }
    }
)
type CatalogId

string

param CatalogId

The ID of the Data Catalog to set the security configuration for. If none is provided, the Amazon Web Services account ID is used by default.

type DataCatalogEncryptionSettings

dict

param DataCatalogEncryptionSettings

[REQUIRED]

The security configuration to set.

  • EncryptionAtRest (dict) --

    Specifies the encryption-at-rest configuration for the Data Catalog.

    • CatalogEncryptionMode (string) -- [REQUIRED]

      The encryption-at-rest mode for encrypting Data Catalog data.

    • SseAwsKmsKeyId (string) --

      The ID of the KMS key to use for encryption at rest.

    • CatalogEncryptionServiceRole (string) --

      The role that Glue assumes to encrypt and decrypt the Data Catalog objects on the caller's behalf.

  • ConnectionPasswordEncryption (dict) --

    When connection password protection is enabled, the Data Catalog uses a customer-provided key to encrypt the password as part of CreateConnection or UpdateConnection and store it in the ENCRYPTED_PASSWORD field in the connection properties. You can enable catalog encryption or only password encryption.

    • ReturnConnectionPasswordEncrypted (boolean) -- [REQUIRED]

      When the ReturnConnectionPasswordEncrypted flag is set to "true", passwords remain encrypted in the responses of GetConnection and GetConnections . This encryption takes effect independently from catalog encryption.

    • AwsKmsKeyId (string) --

      An KMS key that is used to encrypt the connection password.

      If connection password protection is enabled, the caller of CreateConnection and UpdateConnection needs at least kms:Encrypt permission on the specified KMS key, to encrypt passwords before storing them in the Data Catalog.

      You can set the decrypt permission to enable or restrict access on the password key according to your security requirements.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --