aws.glue-catalog

Filters

cross-account

Filter glue catalog if it has cross account permissions

example:

policies:
  - name: catalog-cross-account
    resource: aws.glue-catalog
    filters:
      - type: cross-account
properties:
  actions:
    items:
      type: string
    type: array
  everyone_only:
    type: boolean
  type:
    enum:
    - cross-account
  whitelist:
    items:
      type: string
    type: array
  whitelist_conditions:
    items:
      type: string
    type: array
  whitelist_from:
    additionalProperties: 'False'
    properties:
      expr:
        oneOf:
        - type: integer
        - type: string
      format:
        enum:
        - csv
        - json
        - txt
        - csv2dict
      headers:
        patternProperties:
          ? ''
          : type: string
        type: object
      url:
        type: string
    required:
    - url
    type: object
  whitelist_orgids:
    items:
      type: string
    type: array
  whitelist_orgids_from:
    additionalProperties: 'False'
    properties:
      expr:
        oneOf:
        - type: integer
        - type: string
      format:
        enum:
        - csv
        - json
        - txt
        - csv2dict
      headers:
        patternProperties:
          ? ''
          : type: string
        type: object
      url:
        type: string
    required:
    - url
    type: object
  whitelist_vpc:
    items:
      type: string
    type: array
  whitelist_vpc_from:
    additionalProperties: 'False'
    properties:
      expr:
        oneOf:
        - type: integer
        - type: string
      format:
        enum:
        - csv
        - json
        - txt
        - csv2dict
      headers:
        patternProperties:
          ? ''
          : type: string
        type: object
      url:
        type: string
    required:
    - url
    type: object
  whitelist_vpce:
    items:
      type: string
    type: array
  whitelist_vpce_from:
    additionalProperties: 'False'
    properties:
      expr:
        oneOf:
        - type: integer
        - type: string
      format:
        enum:
        - csv
        - json
        - txt
        - csv2dict
      headers:
        patternProperties:
          ? ''
          : type: string
        type: object
      url:
        type: string
    required:
    - url
    type: object
required:
- type

Permissions - glue:GetResourcePolicy

glue-security-config

Filter glue catalog by its glue encryption status and KMS key

example:

policies:
  - name: glue-catalog-security-config
    resource: aws.glue-catalog
    filters:
      - type: glue-security-config
        SseAwsKmsKeyId: alias/aws/glue
properties:
  AwsKmsKeyId:
    type: string
  CatalogEncryptionMode:
    enum:
    - DISABLED
    - SSE-KMS
  ReturnConnectionPasswordEncrypted:
    type: boolean
  SseAwsKmsKeyId:
    type: string
  type:
    enum:
    - glue-security-config

Permissions - glue:GetDataCatalogEncryptionSettings

Actions

remove-statements

Action to remove policy statements from Glue Data Catalog

example:

policies:
   - name: remove-glue-catalog-cross-account
     resource: aws.glue-catalog
     filters:
       - type: cross-account
     actions:
       - type: remove-statements
         statement_ids: matched
properties:
  statement_ids:
    oneOf:
    - enum:
      - matched
      - '*'
    - items:
        type: string
      type: array
  type:
    enum:
    - remove-statements
required:
- statement_ids
- type

Permissions - glue:PutResourcePolicy

set-encryption

Modifies glue data catalog encryption based on specified parameter As per docs, we can enable catalog encryption or only password encryption, not both

example:

policies:
  - name: data-catalog-encryption
    resource: glue-catalog
    filters:
      - type: value
        key: DataCatalogEncryptionSettings.EncryptionAtRest.CatalogEncryptionMode
        value: DISABLED
        op: eq
    actions:
      - type: set-encryption
        attributes:
          EncryptionAtRest:
            CatalogEncryptionMode: SSE-KMS
            SseAwsKmsKeyId: alias/aws/glue
properties:
  attributes:
    additionalProperties: false
    properties:
      ConnectionPasswordEncryption:
        additionalProperties: false
        properties:
          AwsKmsKeyId:
            type: string
          ReturnConnectionPasswordEncrypted:
            type: boolean
        required:
        - ReturnConnectionPasswordEncrypted
        type: object
      EncryptionAtRest:
        additionalProperties: false
        properties:
          CatalogEncryptionMode:
            enum:
            - DISABLED
            - SSE-KMS
          SseAwsKmsKeyId:
            type: string
        required:
        - CatalogEncryptionMode
        type: object
    type: object
  type:
    enum:
    - set-encryption
required:
- attributes
- type

Permissions - glue:PutDataCatalogEncryptionSettings