npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@aws-mdaa/glue-catalog

v1.6.0

Published

MDAA glue-catalog module

Downloads

489

Readme

Glue Catalog Settings

Note: This documentation is also available in a rendered format here.

Configures an account's Glue Catalog for encryption at rest and cross-account access for data mesh deployments. Supports complete mesh, partial mesh, and hub/spoke topologies. Use this module when you need to encrypt your Glue Catalog metadata and enable cross-account data sharing for multi-account data mesh or hub-and-spoke architectures.

⚠️ Account-Level Module — This module can only be deployed once per AWS account. A second deployment to the same account will fail. See Account-Level Modules for details.


Deployed Resources

This module deploys and integrates the following resources:

Glue Catalog KMS Key - Customer-managed KMS key for encrypting Glue Catalog metadata at rest.

Glue Catalog Settings - Configures the Glue Catalog to use the Catalog KMS Key for encryption.

Catalog Resource Policy - Glue Catalog resource policy granting cross-account read access to consumer accounts.

Athena Data Source - Each configured producer account creates an Athena Data Source pointing to the producer's Glue Catalog for cross-account queries.

RAM Resource Share (Optional) - Shares the Catalog KMS Key SSM parameter with consumer accounts for cross-account key discovery.

SSM Parameters - Catalog KMS Key ARN stored in Parameter Store for cross-module reference.

GlueCatalog


Related Modules

  • Data Lake — Data lake buckets and Glue databases use the Glue Catalog encryption configured by this module
  • Lake Formation Settings — Configure Lake Formation admin roles and IAM Allowed Principals behavior for the account
  • DataZone — DataZone associated accounts require access to the Glue Catalog KMS key configured here
  • SageMaker (Domain) — SageMaker associated accounts require access to the Glue Catalog KMS key configured here
  • DataOps Project — Project Glue databases are encrypted with the Catalog KMS key configured here

Security/Compliance Details

This module is designed in alignment with MDAA security/compliance principles and CDK nag rulesets. Additional review is recommended prior to production deployment, ensuring organization-specific compliance requirements are met.

  • Encryption at Rest:
    • Glue Catalog metadata encrypted with customer-managed KMS key
    • Key usage via Glue service within local account permitted by default
    • Consumer accounts granted scoped key usage via key policy
    • KMS-only consumer accounts can be granted decrypt access without catalog read
  • Least Privilege:
    • Catalog resource policy grants read access to consumer accounts
    • KMS-only consumer accounts can decrypt metadata without catalog read access
  • Separation of Duties:
    • Athena data sources provide cross-account query access without granting underlying catalog permissions

Configuration

MDAA Config

Add the following snippet to your mdaa.yaml under the modules: section of a domain/env in order to use this module:

glue-catalog: # Module Name can be customized
  module_path: '@aws-mdaa/glue-catalog' # Must match module NPM package name
  # module_configs is optional — all properties are optional.
  # Omit to deploy the Glue Catalog KMS key and encryption
  # settings with defaults.
  module_configs:
    - ./glue-catalog.yaml # Filename/path can be customized

Module Config Samples and Variants

Copy the contents of the relevant sample config below into the ./glue-catalog.yaml file referenced in the MDAA config snippet above.

Minimal Configuration

Deploys the Glue Catalog KMS key and encryption settings. All properties are optional — this config demonstrates a single consumer account for cross-account catalog access. Start here for a basic encrypted Glue Catalog with optional cross-account sharing.

sample-config-minimal.yaml

# Contents available via above link
--8<-- "target/docs/packages/apps/governance/glue-catalog-app/sample_configs/sample-config-minimal.yaml"

Comprehensive Configuration

Manages cross-account Glue Catalog access through consumer/producer account mappings, KMS key sharing, and resource-scoped access policies for fine-grained data governance. Start here when evaluating all available options for data mesh topologies, Athena data sources, and multi-account catalog sharing.

sample-config-comprehensive.yaml

# Contents available via above link
--8<-- "target/docs/packages/apps/governance/glue-catalog-app/sample_configs/sample-config-comprehensive.yaml"

Config Schema Docs