{ "info": { "author": "Stephen Moore", "author_email": "stephen@rea-group.com", "bugtrack_url": null, "classifiers": [], "description": "IAM syncr\n=========\n\nA tool for keeping iam roles synced.\n\nInstallation\n============\n\nJust use pip::\n\n pip install iam_syncr\n\nUsage\n=====\n\nYou make a folder for each amazon account you have and you put in there files\nthat define the roles you want to define in that account.\n\nYou then run::\n\n iam_syncr \n\nIt will find the roles you have defined and ensure they exist and only have the\npolicies you have defined.\n\nIt will leave alone other roles in your account.\n\nNote that for the roles you have defined, it will remove any policies that don't\nmatch what you have.\n\nIt is up to you to put the necessary amazon credentials in your environment via\nAWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY.\n\nFormat\n======\n\naccounts.yaml\n The script will look for an accounts.yaml in the directory above the folder\n you specified. This is expected to be a mapping of {account_name:account_id}\n where account_id is the 12 digit id without hyphens for each amazon account.\n\n The script will use these values to both check that the credentials you\n supplied is for the account you are syncing and will also use the values if\n you specify you account names in the policies.\n\nAny yaml file in the specified folder\n Currently only supports files with a \"roles\" or \"remove_roles\" definition in it.\n\nYaml Configuration\n==================\n\nThe yaml looks something like::\n\n ---\n\n templates:\n : template\n\n roles:\n :\n use: \n\n description: \n\n make_instance_profile: \n\n allow_to_assume_me: []\n disallow_to_assume_me: []\n\n permission: []\n deny_permission: [ where \"Effect\" is set to \"Deny\"]\n allow_permission: [ where \"Effect\" is set to \"Allow\"]\n\n buckets:\n :\n location: \n permission: []\n deny_permission: [ where \"Effect\" is set to \"Deny\"]\n allow_permission: [ where \"Effect\" is set to \"Allow\"]\n\n keys:\n :\n location: \n admin_users: \n\n permission: []\n deny_permission: [ where \"Effect\" is set to \"Deny\"]\n allow_permission: [ where \"Effect\" is set to \"Allow\"]\n\n grant:\n - grantee: \n retiree: \n operations: (see http://boto.readthedocs.org/en/latest/ref/kms.html#boto.kms.layer1.KMSConnection.create_grant)\n constraints: \n grant_tokens: \n\n remove_role:\n - \n - \n - ...\n\nWhere ```` can be:\n\n``{service: ec2}``\n Sets the principle to ``{\"Service\": \"ec2.amazonaws.com\"}``\n\n You'll want to do this if you want to use metdata credentials on an ec2 box\n\n````\n See below, it specifies an iam resource\n\n Basically allows the iam role specified to call assume role to be this role.\n\n``{federated: }``\n Sets the principle to ``{\"Federated\": }``\n\n With an ``Action`` of ``AssumeRoleWithSAML``.\n\n``{federated: }``\n Sets the principle to ``{\"Federated\": }``\n\n With an ``Action`` of ``AssumeRoleWithSAML``.\n\nAnything in the dictionary starting with an upper case character is included as\nis in the statement.\n\nAlso, the difference between ``allow_to_assume_me`` and ``disallow_to_assume_me``\nis one sets ``Principle`` in the trust document, whereas the other sets ``NotPrinciple``.\n\nAnd ```` can be:\n\n``{\"action\": , resource: , \"allow\":}``\n Allows ```` for specified ```` (string or list of strings)\n\n \"allow\" will override any default allow or \"Effect\" you specify\n\n And anything starting with an upper case character is included in the\n statement as is.\n\nWhere ``action`` and ``resource`` can be ``notaction`` and ``notresource``.\n\nAnd ```` can be:\n\nA single string\n Placed in the policy as a list of that one string\n\nA list of ````\n Placed in the policy with each ```` expanded\n\n````\n See below, it specifies an iam resource\n\n``{\"s3\": }``\n \"arn:aws:s3:::\n\n``{\"s3\": [, , ...]}``\n [\"arn:aws:s3:::\", \"arn:aws:s3:::\", ...]\n\nWhere ```` can be:\n\n``{\"iam\":\"__self__\"}``\n arn for the role/user this policy is being given to\n\n``{\"iam\":, \"account\":\"}``\n \"arn:aws:iam:::\"\n\n Where account is retrieved from our accounts dictionary from accounts.yaml\n\nKMS keys\n========\n\nYou can create kms keys and associated grants using the ``keys`` namespace.\n\nThese keys will automatically get access from the root of the account, as well as\nall kms actions from any ``admin_users`` you specify.\n\nDry Run\n=======\n\nYou can use the ``--dry-run`` option to make iam_syncr tell you what changes will\nbe made without making those changes.\n\nIt will print out the changes to stdout.\n\nLines starting with \"+\" indicate additions, lines starting with \"-\" indicate\ndeletions and lines starting with \"M\" indicate modifications.\n\nModifications are followed by an indented diff of the differences to be made.\n\nThe Future\n==========\n\nIn order of importance:\n\n* More Tests\n\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "UNKNOWN", "keywords": "iam amazon credentials", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "iam_syncr", "package_url": "https://pypi.org/project/iam_syncr/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/iam_syncr/", "project_urls": { "Download": "UNKNOWN", "Homepage": "UNKNOWN" }, "release_url": "https://pypi.org/project/iam_syncr/0.4.3.2/", "requires_dist": null, "requires_python": null, "summary": "Syncs iam roles", "version": "0.4.3.2" }, "last_serial": 1565950, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "20954ba64aa2d94a966a2c80170fec5f", "sha256": "d77996bd04a508c9b0d3a43a42727b6440adbb7f028294e3bb1aa434c9a4ba82" }, "downloads": -1, "filename": "iam_syncr-0.2.tar.gz", "has_sig": false, "md5_digest": "20954ba64aa2d94a966a2c80170fec5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11515, "upload_time": "2014-06-03T22:31:16", "url": "https://files.pythonhosted.org/packages/96/06/2789a5b1596fc87f648c14e20a54db9708e9282f733befdf5dccb5a97e01/iam_syncr-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "bf89b8421dc41ad768cdd62fd0f91eae", "sha256": "f1128dd5eaa525413faf73c465dbab98cc5af75dd3ab0ad4624a6e412ce22134" }, "downloads": -1, "filename": "iam_syncr-0.2.1.tar.gz", "has_sig": false, "md5_digest": "bf89b8421dc41ad768cdd62fd0f91eae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11552, "upload_time": "2014-06-06T11:13:25", "url": "https://files.pythonhosted.org/packages/7f/a5/5e12cd2963bde77bdac690a06831c27681b7ae53949b12ff78bf9b6fcbd8/iam_syncr-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "caff2ede078e7613cc2f026e414949fd", "sha256": "be95ed3e9a212d4814aaa5327f9d7751c6d438baf2e2d852cd2ef72b31b6c42d" }, "downloads": -1, "filename": "iam_syncr-0.2.2.tar.gz", "has_sig": false, "md5_digest": "caff2ede078e7613cc2f026e414949fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11859, "upload_time": "2014-06-06T11:51:19", "url": "https://files.pythonhosted.org/packages/61/d8/3b36c4eaaaa1d3417fa72817a33d9afef5fbf8b43c5e435c57fdc76cfdf2/iam_syncr-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "f54671cd40b26e2ed22c79f35c6b79d1", "sha256": "4da2aea60df80697fd0cd67617ad7d3bab3a68fd288e17238e566f2ce91912bf" }, "downloads": -1, "filename": "iam_syncr-0.2.3.tar.gz", "has_sig": false, "md5_digest": "f54671cd40b26e2ed22c79f35c6b79d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11874, "upload_time": "2014-06-06T12:29:57", "url": "https://files.pythonhosted.org/packages/b2/d8/f3273486119b2e05321548365ad0e8c48c4863e82496fd0e3b40e1847bb1/iam_syncr-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "f72ddb8f67219d8dd20c6fc51251d313", "sha256": "440f489b21156a73b7010f376686a5882605bb0b5158892f2758d38066b079ba" }, "downloads": -1, "filename": "iam_syncr-0.2.4.tar.gz", "has_sig": false, "md5_digest": "f72ddb8f67219d8dd20c6fc51251d313", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11886, "upload_time": "2014-07-28T06:26:28", "url": "https://files.pythonhosted.org/packages/a8/d2/742735b0d22f8198e6aa3f85ad568f164fa489822b4b36f35ac74670cb90/iam_syncr-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "49ac67aa51ade95c1db6a77d2d6fbb9f", "sha256": "58bf27579c38f3003ff528e7cb93b98d7062de2834a7da4da81d1abc92743e2c" }, "downloads": -1, "filename": "iam_syncr-0.2.5.tar.gz", "has_sig": false, "md5_digest": "49ac67aa51ade95c1db6a77d2d6fbb9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11938, "upload_time": "2014-08-29T04:51:07", "url": "https://files.pythonhosted.org/packages/9e/ab/7e4123f9e16a7bf3de127dd3b8d3b1ff6424d9395f7e31f12dc52710175c/iam_syncr-0.2.5.tar.gz" } ], "0.2.5.1": [ { "comment_text": "", "digests": { "md5": "ff8d6108d6c64cd9e263482569b6fbd4", "sha256": "c5cfc1c01307cf7c480b71b5c694716b68f907a304e329662a68b4ad1aa2c131" }, "downloads": -1, "filename": "iam_syncr-0.2.5.1.tar.gz", "has_sig": false, "md5_digest": "ff8d6108d6c64cd9e263482569b6fbd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11959, "upload_time": "2014-09-01T09:16:58", "url": "https://files.pythonhosted.org/packages/2e/ba/62968d6c16eac6cc647131247c4726c56d7de42ff7d65591eade9f42ab2b/iam_syncr-0.2.5.1.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "6937404ac49acf161f8a18216a7227ea", "sha256": "3a1a33fd4b03498ddbaad5c40e22e2c8aaa7e7ee4b73d8753c296541c4d78bd0" }, "downloads": -1, "filename": "iam_syncr-0.2.6.tar.gz", "has_sig": false, "md5_digest": "6937404ac49acf161f8a18216a7227ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12051, "upload_time": "2014-09-01T23:27:36", "url": "https://files.pythonhosted.org/packages/5f/b0/f1ade43c88ee6e4fc35421ff020a29cc546c6bda9f98477883ace547cdc1/iam_syncr-0.2.6.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "d767e6c4c9f75c5f12759b089e0eb848", "sha256": "c68db6254595de2de4b05bc14a6fce3601d3bbfaf3329cb2aebfd45ca5ee8a38" }, "downloads": -1, "filename": "iam_syncr-0.3.0.tar.gz", "has_sig": false, "md5_digest": "d767e6c4c9f75c5f12759b089e0eb848", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12471, "upload_time": "2014-09-17T00:52:35", "url": "https://files.pythonhosted.org/packages/f3/17/22bfcf312189f4734a6c8096bc194fd489bf8c20153da799bc70122c6ece/iam_syncr-0.3.0.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "5dcdddd166dc2242fdebd7d3bf1d2aac", "sha256": "c1c90a252b78784d504c00aec1013557a86c24a6c134760824f3c61a14e04a41" }, "downloads": -1, "filename": "iam_syncr-0.3.5.tar.gz", "has_sig": false, "md5_digest": "5dcdddd166dc2242fdebd7d3bf1d2aac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13335, "upload_time": "2014-09-27T01:16:57", "url": "https://files.pythonhosted.org/packages/cc/d8/a2885c0bab8e5d9eae2b194fd1be57bb7f53ee55ba6d48032ed74024b458/iam_syncr-0.3.5.tar.gz" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "504f03bbc8c78b3cdeca28e10bae9cc6", "sha256": "703fa1e00fb49e999cd80081f511bc0e8d7533ad2aa8cf76b22379f986ee92ec" }, "downloads": -1, "filename": "iam_syncr-0.3.7.tar.gz", "has_sig": false, "md5_digest": "504f03bbc8c78b3cdeca28e10bae9cc6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13441, "upload_time": "2015-03-07T05:20:51", "url": "https://files.pythonhosted.org/packages/46/0b/39badb6305d25aac921d4a6cdaed8f065cec5c6a6e1b837eab23383a910a/iam_syncr-0.3.7.tar.gz" } ], "0.3.8": [ { "comment_text": "", "digests": { "md5": "700c85778838433a3d0b13588cfb10fa", "sha256": "af31682c2375f8111fd1c7e0bd55137f89be71d2dcd445618af32596f97213d9" }, "downloads": -1, "filename": "iam_syncr-0.3.8.tar.gz", "has_sig": false, "md5_digest": "700c85778838433a3d0b13588cfb10fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14720, "upload_time": "2015-03-08T23:57:33", "url": "https://files.pythonhosted.org/packages/43/06/972d6f7b2ed7b30d56dd41b7a501195027c19d2fe18b4e5cf65297e06045/iam_syncr-0.3.8.tar.gz" } ], "0.3.9": [ { "comment_text": "", "digests": { "md5": "e6d0ab9cb0eb393d8d77ed3fe7168681", "sha256": "c5fcd3ce660754d1824a0a1134a716e9ab3d23ef8e38fd5e3dc5445b31d2a609" }, "downloads": -1, "filename": "iam_syncr-0.3.9.tar.gz", "has_sig": false, "md5_digest": "e6d0ab9cb0eb393d8d77ed3fe7168681", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14805, "upload_time": "2015-03-12T05:07:50", "url": "https://files.pythonhosted.org/packages/12/e9/4844c7a2144d7790b59b801684acad22dd6774601cbe252a5a49fb9289a0/iam_syncr-0.3.9.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "26e41a65c4702f6f12605667a5310259", "sha256": "863242dd00614de6cda5d565694d76e518e34bdd1732d7eb0f1326d6b440d993" }, "downloads": -1, "filename": "iam_syncr-0.4.0.tar.gz", "has_sig": false, "md5_digest": "26e41a65c4702f6f12605667a5310259", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16946, "upload_time": "2015-03-28T00:36:26", "url": "https://files.pythonhosted.org/packages/55/e2/8ed04d0818ddd36183426cbeaefb44aa11a8711dfb4b8dce8a0dfa4fa5fa/iam_syncr-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "c9f993b419d95f4d6109345fd13ea6bc", "sha256": "c919fcb105fc9a2ab63939daa88b5fcf674948cde9b2aebb4e32cece71acf7aa" }, "downloads": -1, "filename": "iam_syncr-0.4.1.tar.gz", "has_sig": false, "md5_digest": "c9f993b419d95f4d6109345fd13ea6bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17043, "upload_time": "2015-03-28T00:43:07", "url": "https://files.pythonhosted.org/packages/2f/1e/be5447fbbb687ac8f2520a7d80b65ce0e560a619be9267115f4e6c27b2ed/iam_syncr-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "217d3a58d0f582e86cd894373f80a381", "sha256": "77fb0f9dc69eec7c984211ceeeec20cc249b6ea09afb4c7eff0d3c6a8fea01dd" }, "downloads": -1, "filename": "iam_syncr-0.4.2.tar.gz", "has_sig": false, "md5_digest": "217d3a58d0f582e86cd894373f80a381", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17144, "upload_time": "2015-04-04T04:21:11", "url": "https://files.pythonhosted.org/packages/a3/6f/8544fe46cbd545ba3ae6a6c3343d450c179d19c27c92e46c3da55022c305/iam_syncr-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "0ff0a0d4ef3dedc8c8fa3ca8c6b7cecf", "sha256": "a4a6d89c9814544f5a140963182edb053cb4ec32a7a335e57902162cda8568c1" }, "downloads": -1, "filename": "iam_syncr-0.4.3.tar.gz", "has_sig": false, "md5_digest": "0ff0a0d4ef3dedc8c8fa3ca8c6b7cecf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17597, "upload_time": "2015-05-16T07:37:05", "url": "https://files.pythonhosted.org/packages/ba/bd/d3a5ec2f49707ae9224cf232529a2024978e31ea4b8834f0307c97a9e482/iam_syncr-0.4.3.tar.gz" } ], "0.4.3.1": [ { "comment_text": "", "digests": { "md5": "9cd8b2c8d36dc08601f46d4ad3015f81", "sha256": "2319b92ae4ead0ac968f9bf524a0f37a8a12e3c9691df49c8827f029cf5573a8" }, "downloads": -1, "filename": "iam_syncr-0.4.3.1.tar.gz", "has_sig": false, "md5_digest": "9cd8b2c8d36dc08601f46d4ad3015f81", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17648, "upload_time": "2015-05-18T03:26:36", "url": "https://files.pythonhosted.org/packages/a1/89/2aecb8ace824ceeed955a59b71ef54603288bd276c51557c53d2fd7b4b98/iam_syncr-0.4.3.1.tar.gz" } ], "0.4.3.2": [ { "comment_text": "", "digests": { "md5": "38a93c017e3d80825260dee42e8bf8fb", "sha256": "b38e801ecbadefabb6c7dc2caa2f2e36aef19b604ce4fc237a3167e1e08b2144" }, "downloads": -1, "filename": "iam_syncr-0.4.3.2.tar.gz", "has_sig": false, "md5_digest": "38a93c017e3d80825260dee42e8bf8fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17834, "upload_time": "2015-05-28T08:50:21", "url": "https://files.pythonhosted.org/packages/e3/5c/f97fef2fa5b7fec99966a95ea94ade1d20dff735d2e8deed0a2eb2b18446/iam_syncr-0.4.3.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "38a93c017e3d80825260dee42e8bf8fb", "sha256": "b38e801ecbadefabb6c7dc2caa2f2e36aef19b604ce4fc237a3167e1e08b2144" }, "downloads": -1, "filename": "iam_syncr-0.4.3.2.tar.gz", "has_sig": false, "md5_digest": "38a93c017e3d80825260dee42e8bf8fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17834, "upload_time": "2015-05-28T08:50:21", "url": "https://files.pythonhosted.org/packages/e3/5c/f97fef2fa5b7fec99966a95ea94ade1d20dff735d2e8deed0a2eb2b18446/iam_syncr-0.4.3.2.tar.gz" } ] }