@cdklabs/cdk-amazonmq
Version:
<!--BEGIN STABILITY BANNER-->
70 lines • 10.2 kB
JavaScript
;
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RabbitMqBrokerUserManagement = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const rabbitmq_authentication_strategy_1 = require("../rabbitmq-authentication-strategy");
/**
* Factory class for creating RabbitMQ broker user management configurations.
*
* This class provides static methods to create different types of user management
* strategies for RabbitMQ brokers, supporting both simple and config-managed
* authentication approaches.
*/
class RabbitMqBrokerUserManagement {
/**
* Creates a simple authentication user management configuration.
*
* Simple authentication uses RabbitMQ's Management plugin for user management
* where user credentials are stored in the broker's internal database. This is
* the traditional approach for RabbitMQ user management.
*
* @param options Configuration options including admin user credentials
* @returns A user management implementation using simple authentication
*/
static simple(options) {
return {
render() {
return {
users: [
{
username: options.admin.username,
password: options.admin.password.unsafeUnwrap(),
},
],
authenticationStrategy: rabbitmq_authentication_strategy_1.RabbitMqAuthenticationStrategy.SIMPLE,
};
},
};
}
/**
* Creates a config-managed authentication user management configuration.
*
* Config-managed authentication allows for external user management systems
* to handle authentication instead of using RabbitMQ's built-in user database.
* This approach provides more flexibility for integrating with existing
* authentication infrastructure and supports advanced authentication scenarios.
*
* With config-managed authentication:
* - No users are created in the broker's internal database
* - Authentication is handled through external configuration
* - Currently supports OAuth authentication and authorization
* - Requires additional configuration outside of the broker deployment
*
* @returns A user management implementation using config-managed authentication
*/
static configManaged() {
return {
render() {
return {
users: [],
authenticationStrategy: rabbitmq_authentication_strategy_1.RabbitMqAuthenticationStrategy.CONFIG_MANAGED,
};
},
};
}
}
exports.RabbitMqBrokerUserManagement = RabbitMqBrokerUserManagement;
_a = JSII_RTTI_SYMBOL_1;
RabbitMqBrokerUserManagement[_a] = { fqn: "@cdklabs/cdk-amazonmq.RabbitMqBrokerUserManagement", version: "0.1.8" };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFiYml0bXEtYnJva2VyLXVzZXItbWFuYWdlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yYWJiaXRtcS91c2VybWFuYWdlbWVudC9yYWJiaXRtcS1icm9rZXItdXNlci1tYW5hZ2VtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBTUEsMEZBQXFGO0FBMERyRjs7Ozs7O0dBTUc7QUFDSCxNQUFhLDRCQUE0QjtJQUN2Qzs7Ozs7Ozs7O09BU0c7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUNsQixPQUEwRDtRQUUxRCxPQUFPO1lBQ0wsTUFBTTtnQkFDSixPQUFPO29CQUNMLEtBQUssRUFBRTt3QkFDTDs0QkFDRSxRQUFRLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFROzRCQUNoQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFO3lCQUNoRDtxQkFDRjtvQkFDRCxzQkFBc0IsRUFBRSxpRUFBOEIsQ0FBQyxNQUFNO2lCQUM5RCxDQUFDO1lBQ0osQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7OztPQWVHO0lBQ0ksTUFBTSxDQUFDLGFBQWE7UUFDekIsT0FBTztZQUNMLE1BQU07Z0JBQ0osT0FBTztvQkFDTCxLQUFLLEVBQUUsRUFBRTtvQkFDVCxzQkFBc0IsRUFBRSxpRUFBOEIsQ0FBQyxjQUFjO2lCQUN0RSxDQUFDO1lBQ0osQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDOztBQXRESCxvRUF1REMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuKi9cbmltcG9ydCB7IENmbkJyb2tlciB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYW1hem9ubXFcIjtcbmltcG9ydCB7IEFkbWluIH0gZnJvbSBcIi4uL2FkbWluXCI7XG5pbXBvcnQgeyBSYWJiaXRNcUF1dGhlbnRpY2F0aW9uU3RyYXRlZ3kgfSBmcm9tIFwiLi4vcmFiYml0bXEtYXV0aGVudGljYXRpb24tc3RyYXRlZ3lcIjtcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIFJhYmJpdE1RIGJyb2tlciB1c2VyIG1hbmFnZW1lbnQgaW1wbGVtZW50YXRpb25zLlxuICpcbiAqIFRoaXMgaW50ZXJmYWNlIGFsbG93cyBkaWZmZXJlbnQgdXNlciBtYW5hZ2VtZW50IHN0cmF0ZWdpZXMgdG8gYmUgcGx1Z2dlZFxuICogaW50byBSYWJiaXRNUSBicm9rZXIgZGVwbG95bWVudHMsIHByb3ZpZGluZyBmbGV4aWJpbGl0eSBpbiBob3cgdXNlcnNcbiAqIGFuZCBhdXRoZW50aWNhdGlvbiBhcmUgY29uZmlndXJlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUmFiYml0TXFCcm9rZXJVc2VyTWFuYWdlbWVudCB7XG4gIC8qKlxuICAgKiBSZW5kZXJzIHRoZSB1c2VyIG1hbmFnZW1lbnQgY29uZmlndXJhdGlvbiBmb3IgdGhlIGJyb2tlciBkZXBsb3ltZW50LlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgdXNlciBtYW5hZ2VtZW50IGRlZmluaXRpb24gY29udGFpbmluZyB1c2VycyBhbmQgYXV0aGVudGljYXRpb24gc3RyYXRlZ3lcbiAgICovXG4gIHJlbmRlcigpOiBSYWJiaXRNcUJyb2tlckRlcGxveW1lbnRVc2VyTWFuYWdlbWVudERlZmluaXRpb247XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBkZWZpbml0aW9uIGZvciBSYWJiaXRNUSBicm9rZXIgdXNlciBtYW5hZ2VtZW50LlxuICpcbiAqIFRoaXMgaW50ZXJmYWNlIGRlZmluZXMgdGhlIHN0cnVjdHVyZSBvZiB1c2VyIG1hbmFnZW1lbnQgY29uZmlndXJhdGlvblxuICogdGhhdCB3aWxsIGJlIGFwcGxpZWQgdG8gdGhlIGJyb2tlciBkZXBsb3ltZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJhYmJpdE1xQnJva2VyRGVwbG95bWVudFVzZXJNYW5hZ2VtZW50RGVmaW5pdGlvbiB7XG4gIC8qKlxuICAgKiBMaXN0IG9mIHVzZXJzIHRvIGJlIGNyZWF0ZWQgb24gdGhlIGJyb2tlci5cbiAgICpcbiAgICogRm9yIFNJTVBMRSBhdXRoZW50aWNhdGlvbiwgdGhpcyBjb250YWlucyB0aGUgYWN0dWFsIHVzZXIgY3JlZGVudGlhbHMuXG4gICAqIEZvciBDT05GSUdfTUFOQUdFRCBhdXRoZW50aWNhdGlvbiwgdGhpcyBpcyB0eXBpY2FsbHkgZW1wdHkgYXMgdXNlcnNcbiAgICogYXJlIG1hbmFnZWQgZXh0ZXJuYWxseS5cbiAgICovXG4gIHJlYWRvbmx5IHVzZXJzOiBDZm5Ccm9rZXIuVXNlclByb3BlcnR5W107XG5cbiAgLyoqXG4gICAqIFRoZSBhdXRoZW50aWNhdGlvbiBzdHJhdGVneSB0byB1c2UgZm9yIHRoaXMgYnJva2VyLlxuICAgKlxuICAgKiBEZXRlcm1pbmVzIGhvdyB1c2VyIGF1dGhlbnRpY2F0aW9uIHdpbGwgYmUgaGFuZGxlZCBieSB0aGUgYnJva2VyLlxuICAgKi9cbiAgcmVhZG9ubHkgYXV0aGVudGljYXRpb25TdHJhdGVneT86IFJhYmJpdE1xQXV0aGVudGljYXRpb25TdHJhdGVneTtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHNpbXBsZSBhdXRoZW50aWNhdGlvbiB1c2VyIG1hbmFnZW1lbnQuXG4gKlxuICogU2ltcGxlIGF1dGhlbnRpY2F0aW9uIHVzZXMgUmFiYml0TVEncyBNYW5hZ2VtZW50IHBsdWdpbiBmb3IgdXNlciBtYW5hZ2VtZW50XG4gKiB3aGVyZSB1c2VycyBhcmUgc3RvcmVkIGluIHRoZSBicm9rZXIncyBpbnRlcm5hbCBkYXRhYmFzZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSYWJiaXRNcVNpbXBsZUF1dGhlbnRpY2F0aW9uVXNlck1hbmFnZW1lbnRPcHRpb25zIHtcbiAgLyoqXG4gICAqIEFkbWluaXN0cmF0aXZlIHVzZXIgY3JlZGVudGlhbHMgZm9yIHRoZSBicm9rZXIuXG4gICAqXG4gICAqIFRoaXMgdXNlciB3aWxsIGhhdmUgZnVsbCBhZG1pbmlzdHJhdGl2ZSBwcml2aWxlZ2VzIG9uIHRoZSBicm9rZXJcbiAgICogYW5kIGNhbiBtYW5hZ2Ugb3RoZXIgdXNlcnMsIHZpcnR1YWwgaG9zdHMsIGFuZCBicm9rZXIgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGFkbWluOiBBZG1pbjtcbn1cblxuLyoqXG4gKiBGYWN0b3J5IGNsYXNzIGZvciBjcmVhdGluZyBSYWJiaXRNUSBicm9rZXIgdXNlciBtYW5hZ2VtZW50IGNvbmZpZ3VyYXRpb25zLlxuICpcbiAqIFRoaXMgY2xhc3MgcHJvdmlkZXMgc3RhdGljIG1ldGhvZHMgdG8gY3JlYXRlIGRpZmZlcmVudCB0eXBlcyBvZiB1c2VyIG1hbmFnZW1lbnRcbiAqIHN0cmF0ZWdpZXMgZm9yIFJhYmJpdE1RIGJyb2tlcnMsIHN1cHBvcnRpbmcgYm90aCBzaW1wbGUgYW5kIGNvbmZpZy1tYW5hZ2VkXG4gKiBhdXRoZW50aWNhdGlvbiBhcHByb2FjaGVzLlxuICovXG5leHBvcnQgY2xhc3MgUmFiYml0TXFCcm9rZXJVc2VyTWFuYWdlbWVudCB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgc2ltcGxlIGF1dGhlbnRpY2F0aW9uIHVzZXIgbWFuYWdlbWVudCBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBTaW1wbGUgYXV0aGVudGljYXRpb24gdXNlcyBSYWJiaXRNUSdzIE1hbmFnZW1lbnQgcGx1Z2luIGZvciB1c2VyIG1hbmFnZW1lbnRcbiAgICogd2hlcmUgdXNlciBjcmVkZW50aWFscyBhcmUgc3RvcmVkIGluIHRoZSBicm9rZXIncyBpbnRlcm5hbCBkYXRhYmFzZS4gVGhpcyBpc1xuICAgKiB0aGUgdHJhZGl0aW9uYWwgYXBwcm9hY2ggZm9yIFJhYmJpdE1RIHVzZXIgbWFuYWdlbWVudC5cbiAgICpcbiAgICogQHBhcmFtIG9wdGlvbnMgQ29uZmlndXJhdGlvbiBvcHRpb25zIGluY2x1ZGluZyBhZG1pbiB1c2VyIGNyZWRlbnRpYWxzXG4gICAqIEByZXR1cm5zIEEgdXNlciBtYW5hZ2VtZW50IGltcGxlbWVudGF0aW9uIHVzaW5nIHNpbXBsZSBhdXRoZW50aWNhdGlvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzaW1wbGUoXG4gICAgb3B0aW9uczogUmFiYml0TXFTaW1wbGVBdXRoZW50aWNhdGlvblVzZXJNYW5hZ2VtZW50T3B0aW9ucyxcbiAgKTogSVJhYmJpdE1xQnJva2VyVXNlck1hbmFnZW1lbnQge1xuICAgIHJldHVybiB7XG4gICAgICByZW5kZXIoKTogUmFiYml0TXFCcm9rZXJEZXBsb3ltZW50VXNlck1hbmFnZW1lbnREZWZpbml0aW9uIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB1c2VyczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB1c2VybmFtZTogb3B0aW9ucy5hZG1pbi51c2VybmFtZSxcbiAgICAgICAgICAgICAgcGFzc3dvcmQ6IG9wdGlvbnMuYWRtaW4ucGFzc3dvcmQudW5zYWZlVW53cmFwKCksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgYXV0aGVudGljYXRpb25TdHJhdGVneTogUmFiYml0TXFBdXRoZW50aWNhdGlvblN0cmF0ZWd5LlNJTVBMRSxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgY29uZmlnLW1hbmFnZWQgYXV0aGVudGljYXRpb24gdXNlciBtYW5hZ2VtZW50IGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIENvbmZpZy1tYW5hZ2VkIGF1dGhlbnRpY2F0aW9uIGFsbG93cyBmb3IgZXh0ZXJuYWwgdXNlciBtYW5hZ2VtZW50IHN5c3RlbXNcbiAgICogdG8gaGFuZGxlIGF1dGhlbnRpY2F0aW9uIGluc3RlYWQgb2YgdXNpbmcgUmFiYml0TVEncyBidWlsdC1pbiB1c2VyIGRhdGFiYXNlLlxuICAgKiBUaGlzIGFwcHJvYWNoIHByb3ZpZGVzIG1vcmUgZmxleGliaWxpdHkgZm9yIGludGVncmF0aW5nIHdpdGggZXhpc3RpbmdcbiAgICogYXV0aGVudGljYXRpb24gaW5mcmFzdHJ1Y3R1cmUgYW5kIHN1cHBvcnRzIGFkdmFuY2VkIGF1dGhlbnRpY2F0aW9uIHNjZW5hcmlvcy5cbiAgICpcbiAgICogV2l0aCBjb25maWctbWFuYWdlZCBhdXRoZW50aWNhdGlvbjpcbiAgICogLSBObyB1c2VycyBhcmUgY3JlYXRlZCBpbiB0aGUgYnJva2VyJ3MgaW50ZXJuYWwgZGF0YWJhc2VcbiAgICogLSBBdXRoZW50aWNhdGlvbiBpcyBoYW5kbGVkIHRocm91Z2ggZXh0ZXJuYWwgY29uZmlndXJhdGlvblxuICAgKiAtIEN1cnJlbnRseSBzdXBwb3J0cyBPQXV0aCBhdXRoZW50aWNhdGlvbiBhbmQgYXV0aG9yaXphdGlvblxuICAgKiAtIFJlcXVpcmVzIGFkZGl0aW9uYWwgY29uZmlndXJhdGlvbiBvdXRzaWRlIG9mIHRoZSBicm9rZXIgZGVwbG95bWVudFxuICAgKlxuICAgKiBAcmV0dXJucyBBIHVzZXIgbWFuYWdlbWVudCBpbXBsZW1lbnRhdGlvbiB1c2luZyBjb25maWctbWFuYWdlZCBhdXRoZW50aWNhdGlvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjb25maWdNYW5hZ2VkKCk6IElSYWJiaXRNcUJyb2tlclVzZXJNYW5hZ2VtZW50IHtcbiAgICByZXR1cm4ge1xuICAgICAgcmVuZGVyKCk6IFJhYmJpdE1xQnJva2VyRGVwbG95bWVudFVzZXJNYW5hZ2VtZW50RGVmaW5pdGlvbiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdXNlcnM6IFtdLFxuICAgICAgICAgIGF1dGhlbnRpY2F0aW9uU3RyYXRlZ3k6IFJhYmJpdE1xQXV0aGVudGljYXRpb25TdHJhdGVneS5DT05GSUdfTUFOQUdFRCxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuIl19