{"id":25519656,"url":"https://github.com/aligent/serverless-access-roles-generator","last_synced_at":"2025-12-22T09:30:16.814Z","repository":{"id":208355739,"uuid":"719782705","full_name":"aligent/serverless-access-roles-generator","owner":"aligent","description":null,"archived":false,"fork":false,"pushed_at":"2024-02-19T10:08:16.000Z","size":397,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-02-16T13:24:05.050Z","etag":null,"topics":["serverless"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aligent.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-11-16T22:21:56.000Z","updated_at":"2023-11-30T06:03:02.000Z","dependencies_parsed_at":"2023-11-21T04:42:04.555Z","dependency_job_id":null,"html_url":"https://github.com/aligent/serverless-access-roles-generator","commit_stats":null,"previous_names":["aligent/serverless-access-roles-generator"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aligent%2Fserverless-access-roles-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aligent%2Fserverless-access-roles-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aligent%2Fserverless-access-roles-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aligent%2Fserverless-access-roles-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aligent","download_url":"https://codeload.github.com/aligent/serverless-access-roles-generator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239703249,"owners_count":19683237,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["serverless"],"created_at":"2025-02-19T17:29:17.429Z","updated_at":"2025-12-22T09:30:16.671Z","avatar_url":"https://github.com/aligent.png","language":"TypeScript","readme":"# Serverless Access Roles Generator\n\nA [Serverless framework](https://www.serverless.com) plugin for:\n\n- Generate access roles for exported services (generated by [serverless-export-resources](https://github.com/aligent/serverless-export-resources) plugin).\n- Collect and export the result to a specific file.\n\n## Serverless configuration\n\nThe plugin is configured within the `serverless.yaml` by providing configuration values as the example below\n\n```yaml\ncustom:\n  accessRolesGenerator:\n    principalAccountId: principal_aws_account_id\n    principalRoleName: principal_role_name\n    externalId: ${self:service}-${self:provider.stage}\n```\n\n### Variables\n\n| Variable           | Usage                                                                                                                                                  |\n| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| principalAccountId | Principal Account Id that is used to generate access role.                                                                                             |\n| principalRoleName  | Principal Role Name that is used to generate access role.                                                                                              |\n| externalId         | A string to identify the app. Can be a random string.                                                                                                  |\n| exportPrefix       | A string to filter the exported services. Default to `aser`. If provided, make sure it match the configuration in `serverless-export-resources` plugin |\n| outDir             | Destination folder for exporting services' arn, description, and role. Default to `dist/data`                                                          |\n| outFilename        | Name of the file that services will be exported to. Default to `service-outputs.json`                                                                  |\n\n## References:\n\n- For more information about principal account \u0026 role name, check this [AWS document](https://aws.amazon.com/blogs/security/how-to-use-trust-policies-with-iam-roles/)\n- More information about `externalId`, check this [AWS document](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faligent%2Fserverless-access-roles-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faligent%2Fserverless-access-roles-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faligent%2Fserverless-access-roles-generator/lists"}