https://github.com/mashiike/qsgpm
A commandline tool for management of QuickSight Group and CustomPermission
https://github.com/mashiike/qsgpm
quicksight
Last synced: 3 months ago
JSON representation
A commandline tool for management of QuickSight Group and CustomPermission
- Host: GitHub
- URL: https://github.com/mashiike/qsgpm
- Owner: mashiike
- License: mit
- Created: 2022-02-14T09:32:54.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-09-11T20:46:06.000Z (over 1 year ago)
- Last Synced: 2024-06-21T08:47:16.953Z (12 months ago)
- Topics: quicksight
- Language: Go
- Homepage:
- Size: 71.3 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README


[](https://goreportcard.com/report/mashiike/qsgpm) [](https://github.com/mashiike/qsgpm/blob/master/LICENSE)
# qsgpm
A commandline tool for management of QuickSight Group and CustomPermission## Install
### binary packages
[Releases](https://github.com/mashiike/shimesaba/releases).
## QuickStart
```console
$ qsgpm --help
NAME:
qsgpm - A commandline tool for management of QuickSight Group and CustomPermissionUSAGE:
qsgpm --configVERSION:
currentCOMMANDS:
help, h Shows a list of commands or help for one commandGLOBAL OPTIONS:
--config value, -c value config file path [$CONFIG, $QSGPM_CONFIG]
--dry-run (default: false) [$QSGPM_DRY_RUN]
--log-level value, -l value output log level (debug|info|notice|warn|error) (default: "info") [$QSGPM_LOG_LEVEL]
--help, -h show help (default: false)
--version, -v print the version (default: false)
```The simplest configuration is:
```yaml
required_version: ">=0.0.0"user:
namespace: default
groups:
- allrules:
- user:
role: Admin
groups:
- admin- user:
role: Author
groups:
- author
custom_permission: DefaultAuthor- user:
role: Reader
groups:
- reader
```The above setting means that all users will belong to the group "all" and also to the group for each account role, and Author will have a custom permission named DefaultAuthor.
What conditions do the rules match for users? and if they match, which group they belong to and what custom permissions they should have.
The rule matches only one.
The Yaml array is evaluated from the top and the first matching rule is applied to each user.For example, for a more complex configuration where the QuickSight user is an external user, the following is an example of another configuration.
```yaml
required_version: ">=0.0.0"user:
identity_type: IAM
namespace: default
groups:
- allrules:
- user:
role: Admin
groups:
- admin- user:
identity_type: QuickSight
email_suffix: "@internal.example.com"
role: Author
groups:
- internal_author
- author
custom_permission: InternalAuthor- user:
role: Author
groups:
- external_author
- author
custom_permission: ExternalAuthor- user:
session_name_suffix: "@external.example.com"
role: Author
groups:
- external_author
- author
custom_permission: ExternalAuthor
- user:
role: Author
groups:
- internal_author
- author
custom_permission: InternalAuthor- user:
role: Reader
groups:
- reader
```## LICENSE
MIT