├── .editorconfig ├── .env ├── .gitignore ├── .travis.yml ├── Dockerfile ├── Dockerfile.dev ├── LICENSE ├── Makefile ├── README.md ├── api ├── .gitignore ├── Makefile ├── am.proto ├── third_party │ ├── github.com │ │ └── mwitkow │ │ │ └── go-proto-validators │ │ │ └── validator.proto │ └── googleapis │ │ └── google │ │ └── api │ │ ├── annotations.proto │ │ └── http.proto └── types.proto ├── cmd └── am │ └── main.go ├── doc ├── images │ ├── Makefile │ ├── iam-group-user.png │ ├── iam-role-action-rule.png │ ├── iam-role.png │ ├── rbac-simple2.dot │ ├── rbac-simple2.dot.png │ ├── rbac.dot │ └── rbac.dot.png ├── openpitrix.md └── readme.md ├── docker-compose.yml ├── docker_push ├── go.mod ├── pkg ├── client │ └── im │ │ └── client.go ├── config │ └── config.go ├── constants │ ├── column.go │ └── common.go ├── db │ ├── Dockerfile │ ├── common.go │ ├── db.go │ ├── ddl │ │ └── am.sql │ ├── schema │ │ └── am │ │ │ ├── V0_10__remove_repo.sql │ │ │ ├── V0_1__init.sql │ │ │ ├── V0_2__data.sql │ │ │ ├── V0_3__adjust_m0.sql │ │ │ ├── V0_4__special_action_bundle.sql │ │ │ ├── V0_5__add_describe_debug_app_cluster.sql │ │ │ ├── V0_6__adjust_isv_auth.sql │ │ │ ├── V0_7__developer_binding.sql │ │ │ ├── V0_8__owner_path_length.sql │ │ │ └── V0_9__add_api_validate_email_service.sql │ └── scripts │ │ └── ddl_init.sh ├── gerr │ ├── codes.go │ ├── error.go │ ├── error_test.go │ └── message.go ├── global │ └── global_config.go ├── manager │ ├── grpc_client.go │ └── grpc_server.go ├── models │ ├── enable_action_bundle.go │ ├── module_api.go │ ├── role.go │ ├── role_module_binding.go │ └── user_role_binding.go ├── pb │ ├── am.pb.go │ └── types.pb.go ├── sender │ ├── owner_path.go │ ├── owner_path_test.go │ └── sender.go ├── service │ └── am │ │ ├── handler.go │ │ ├── permission.go │ │ ├── resource │ │ ├── can_do_control.go │ │ ├── module_api_control.go │ │ ├── role_control.go │ │ ├── role_module_binding_control.go │ │ ├── role_module_control.go │ │ └── user_role_binding_control.go │ │ └── server.go ├── util │ ├── assert │ │ └── assert.go │ ├── ctxutil │ │ ├── ctx.go │ │ ├── ctx_test.go │ │ ├── message.go │ │ ├── request.go │ │ └── sender.go │ ├── idutil │ │ ├── id.go │ │ └── id_test.go │ ├── jsonutil │ │ ├── interface.go │ │ └── json.go │ └── stringutil │ │ ├── utils.go │ │ └── utils_test.go └── version │ ├── .gitignore │ ├── Makefile │ ├── gen_helper.go │ └── version.go └── readme_zh.md /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/.editorconfig -------------------------------------------------------------------------------- /.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/.env -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/.travis.yml -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/Dockerfile -------------------------------------------------------------------------------- /Dockerfile.dev: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/Dockerfile.dev -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/README.md -------------------------------------------------------------------------------- /api/.gitignore: -------------------------------------------------------------------------------- 1 | /_output/ 2 | -------------------------------------------------------------------------------- /api/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/api/Makefile -------------------------------------------------------------------------------- /api/am.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/api/am.proto -------------------------------------------------------------------------------- /api/third_party/github.com/mwitkow/go-proto-validators/validator.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/api/third_party/github.com/mwitkow/go-proto-validators/validator.proto -------------------------------------------------------------------------------- /api/third_party/googleapis/google/api/annotations.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/api/third_party/googleapis/google/api/annotations.proto -------------------------------------------------------------------------------- /api/third_party/googleapis/google/api/http.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/api/third_party/googleapis/google/api/http.proto -------------------------------------------------------------------------------- /api/types.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/api/types.proto -------------------------------------------------------------------------------- /cmd/am/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/cmd/am/main.go -------------------------------------------------------------------------------- /doc/images/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/doc/images/Makefile -------------------------------------------------------------------------------- /doc/images/iam-group-user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/doc/images/iam-group-user.png -------------------------------------------------------------------------------- /doc/images/iam-role-action-rule.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/doc/images/iam-role-action-rule.png -------------------------------------------------------------------------------- /doc/images/iam-role.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/doc/images/iam-role.png -------------------------------------------------------------------------------- /doc/images/rbac-simple2.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/doc/images/rbac-simple2.dot -------------------------------------------------------------------------------- /doc/images/rbac-simple2.dot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/doc/images/rbac-simple2.dot.png -------------------------------------------------------------------------------- /doc/images/rbac.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/doc/images/rbac.dot -------------------------------------------------------------------------------- /doc/images/rbac.dot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/doc/images/rbac.dot.png -------------------------------------------------------------------------------- /doc/openpitrix.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/doc/openpitrix.md -------------------------------------------------------------------------------- /doc/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/doc/readme.md -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /docker_push: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/docker_push -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/go.mod -------------------------------------------------------------------------------- /pkg/client/im/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/client/im/client.go -------------------------------------------------------------------------------- /pkg/config/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/config/config.go -------------------------------------------------------------------------------- /pkg/constants/column.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/constants/column.go -------------------------------------------------------------------------------- /pkg/constants/common.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/constants/common.go -------------------------------------------------------------------------------- /pkg/db/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/db/Dockerfile -------------------------------------------------------------------------------- /pkg/db/common.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/db/common.go -------------------------------------------------------------------------------- /pkg/db/db.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/db/db.go -------------------------------------------------------------------------------- /pkg/db/ddl/am.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/db/ddl/am.sql -------------------------------------------------------------------------------- /pkg/db/schema/am/V0_10__remove_repo.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/db/schema/am/V0_10__remove_repo.sql -------------------------------------------------------------------------------- /pkg/db/schema/am/V0_1__init.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/db/schema/am/V0_1__init.sql -------------------------------------------------------------------------------- /pkg/db/schema/am/V0_2__data.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/db/schema/am/V0_2__data.sql -------------------------------------------------------------------------------- /pkg/db/schema/am/V0_3__adjust_m0.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/db/schema/am/V0_3__adjust_m0.sql -------------------------------------------------------------------------------- /pkg/db/schema/am/V0_4__special_action_bundle.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/db/schema/am/V0_4__special_action_bundle.sql -------------------------------------------------------------------------------- /pkg/db/schema/am/V0_5__add_describe_debug_app_cluster.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/db/schema/am/V0_5__add_describe_debug_app_cluster.sql -------------------------------------------------------------------------------- /pkg/db/schema/am/V0_6__adjust_isv_auth.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/db/schema/am/V0_6__adjust_isv_auth.sql -------------------------------------------------------------------------------- /pkg/db/schema/am/V0_7__developer_binding.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/db/schema/am/V0_7__developer_binding.sql -------------------------------------------------------------------------------- /pkg/db/schema/am/V0_8__owner_path_length.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `role` MODIFY owner_path varchar(255) not null; 2 | -------------------------------------------------------------------------------- /pkg/db/schema/am/V0_9__add_api_validate_email_service.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/db/schema/am/V0_9__add_api_validate_email_service.sql -------------------------------------------------------------------------------- /pkg/db/scripts/ddl_init.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/db/scripts/ddl_init.sh -------------------------------------------------------------------------------- /pkg/gerr/codes.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/gerr/codes.go -------------------------------------------------------------------------------- /pkg/gerr/error.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/gerr/error.go -------------------------------------------------------------------------------- /pkg/gerr/error_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/gerr/error_test.go -------------------------------------------------------------------------------- /pkg/gerr/message.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/gerr/message.go -------------------------------------------------------------------------------- /pkg/global/global_config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/global/global_config.go -------------------------------------------------------------------------------- /pkg/manager/grpc_client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/manager/grpc_client.go -------------------------------------------------------------------------------- /pkg/manager/grpc_server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/manager/grpc_server.go -------------------------------------------------------------------------------- /pkg/models/enable_action_bundle.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/models/enable_action_bundle.go -------------------------------------------------------------------------------- /pkg/models/module_api.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/models/module_api.go -------------------------------------------------------------------------------- /pkg/models/role.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/models/role.go -------------------------------------------------------------------------------- /pkg/models/role_module_binding.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/models/role_module_binding.go -------------------------------------------------------------------------------- /pkg/models/user_role_binding.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/models/user_role_binding.go -------------------------------------------------------------------------------- /pkg/pb/am.pb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/pb/am.pb.go -------------------------------------------------------------------------------- /pkg/pb/types.pb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/pb/types.pb.go -------------------------------------------------------------------------------- /pkg/sender/owner_path.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/sender/owner_path.go -------------------------------------------------------------------------------- /pkg/sender/owner_path_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/sender/owner_path_test.go -------------------------------------------------------------------------------- /pkg/sender/sender.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/sender/sender.go -------------------------------------------------------------------------------- /pkg/service/am/handler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/service/am/handler.go -------------------------------------------------------------------------------- /pkg/service/am/permission.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/service/am/permission.go -------------------------------------------------------------------------------- /pkg/service/am/resource/can_do_control.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/service/am/resource/can_do_control.go -------------------------------------------------------------------------------- /pkg/service/am/resource/module_api_control.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/service/am/resource/module_api_control.go -------------------------------------------------------------------------------- /pkg/service/am/resource/role_control.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/service/am/resource/role_control.go -------------------------------------------------------------------------------- /pkg/service/am/resource/role_module_binding_control.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/service/am/resource/role_module_binding_control.go -------------------------------------------------------------------------------- /pkg/service/am/resource/role_module_control.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/service/am/resource/role_module_control.go -------------------------------------------------------------------------------- /pkg/service/am/resource/user_role_binding_control.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/service/am/resource/user_role_binding_control.go -------------------------------------------------------------------------------- /pkg/service/am/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/service/am/server.go -------------------------------------------------------------------------------- /pkg/util/assert/assert.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/util/assert/assert.go -------------------------------------------------------------------------------- /pkg/util/ctxutil/ctx.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/util/ctxutil/ctx.go -------------------------------------------------------------------------------- /pkg/util/ctxutil/ctx_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/util/ctxutil/ctx_test.go -------------------------------------------------------------------------------- /pkg/util/ctxutil/message.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/util/ctxutil/message.go -------------------------------------------------------------------------------- /pkg/util/ctxutil/request.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/util/ctxutil/request.go -------------------------------------------------------------------------------- /pkg/util/ctxutil/sender.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/util/ctxutil/sender.go -------------------------------------------------------------------------------- /pkg/util/idutil/id.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/util/idutil/id.go -------------------------------------------------------------------------------- /pkg/util/idutil/id_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/util/idutil/id_test.go -------------------------------------------------------------------------------- /pkg/util/jsonutil/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/util/jsonutil/interface.go -------------------------------------------------------------------------------- /pkg/util/jsonutil/json.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/util/jsonutil/json.go -------------------------------------------------------------------------------- /pkg/util/stringutil/utils.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/util/stringutil/utils.go -------------------------------------------------------------------------------- /pkg/util/stringutil/utils_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/util/stringutil/utils_test.go -------------------------------------------------------------------------------- /pkg/version/.gitignore: -------------------------------------------------------------------------------- 1 | z_update_version.go 2 | -------------------------------------------------------------------------------- /pkg/version/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/version/Makefile -------------------------------------------------------------------------------- /pkg/version/gen_helper.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/version/gen_helper.go -------------------------------------------------------------------------------- /pkg/version/version.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/pkg/version/version.go -------------------------------------------------------------------------------- /readme_zh.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openpitrix/iam/HEAD/readme_zh.md --------------------------------------------------------------------------------