{ "info": { "author": "Sophian Mehboub", "author_email": "sophienmehboub@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: POSIX :: Linux", "Programming Language :: Python" ], "description": "Allow connection to instances on multiple criteria via Identity-Aware Proxy\n\nInstallation : \n```\n pip install google-iap \n```\n\nPrerequisites:\n\n > The service account used must have at least the roles Compute Viewer and IAP Policy Admin \n > You must authorize the Identity-Aware Proxy network (35.235.240.0/20) on port 22 as input to the desired network at the firewall \n\n\nExample of use : \n```\n google-iap iap get --credentials=service-account.json --project= \n\n google-iap iap get --credentials=service-account.json --project= --zone= \n\n google-iap iap get --credentials=service-account.json --project= --zone= --instance= \n\n google-iap iap get --credentials=service-account.json --project= --zone= --instance= --format=yaml \n\n google-iap iap get --credentials=service-account.json --project= --zone= --instance= --format=json \n\n google-iap iap set --credentials=service-account.json --project= --policy=POLICY_FILE.json \n\n google-iap iap set --credentials=service-account.json --project= --policy=POLICY_FILE.yaml \n\n google-iap iap set --credentials=service-account.json --project= --zone= --policy=POLICY_FILE.yaml \n\n google-iap iap set --credentials=service-account.json --project= --zone= --instance= --policy=POLICY_FILE.yaml \n```\n\n\nFile example POLICY_FILE.yaml : \n```\n---\npolicy:\n bindings:\n - role: roles/iap.tunnelResourceAccessor\n members:\n - user:account@gmail.com\n condition:\n title: adm-ssh\n expression: \"resource.name.startsWith(\\\"instance-name\\\") && resource.type == \\\"google.cloud.compute.Instance\\\" && destination.port == 22\"\n```\nFile example POLICY_FILE.json : \n```\n{\n\n \"policy\": {\n\n \"bindings\": [\n\n {\n\n \"role\": \"roles/iap.tunnelResourceAccessor\",\n\n \"members\": [\"user:account@gmail.com\"],\n\n \"condition\": {\n\n \"title\": \"adm-ssh\",\n\n \"expression\": \"resource.name.startsWith(\\\"instance-name\\\") && resource.type == \\\"google.cloud.compute.Instance\\\" && destination.port == 22\"\n\n }\n\n }\n\n ]\n\n }\n\n}\n```\nYou can show CEL expression -> https://cloud.google.com/iam/docs/conditions-overview?hl=ko#example_destination_ipport_expressions_for_cloud_iap_for_tcp_tunneling \n\nUse : \n * Ssh tunneling : \n ```\n gcloud beta compute start-iap-tunnel 80 --local-host-port=localhost:8888 --network-interface=nic0 --zone= \n ```\n * Ssh connection : \n ```\n gcloud beta compute ssh --tunnel-through-iap --zone= \n ```\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/smehboub/google_iap", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "google-iap", "package_url": "https://pypi.org/project/google-iap/", "platform": "", "project_url": "https://pypi.org/project/google-iap/", "project_urls": { "Homepage": "https://github.com/smehboub/google_iap" }, "release_url": "https://pypi.org/project/google-iap/1.0.7/", "requires_dist": [ "docopt", "pyyaml", "oauth2client", "google-auth", "google-api-python-client" ], "requires_python": "", "summary": "A tool for to manage Identity-Aware Proxy policy google cloud platform", "version": "1.0.7" }, "last_serial": 5142339, "releases": { "0.0.0.1": [ { "comment_text": "", "digests": { "md5": "a62671c626d600a47adcbc14a28ebc96", "sha256": "3886fe738de47c19825568bdfecf647fedd200617fb95985bd9d1d2df14d3db4" }, "downloads": -1, "filename": "google_iap-0.0.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "a62671c626d600a47adcbc14a28ebc96", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 3900, "upload_time": "2019-03-06T10:04:43", "url": "https://files.pythonhosted.org/packages/39/06/8aca490bca7035d7620cb3c1f15fb9ef5dbca7bca26bd080536ab526bac8/google_iap-0.0.0.1-py2-none-any.whl" } ], "0.0.1": [ { "comment_text": "", "digests": { "md5": "58b1ab4fd7fc8cd1b3423f1ac2c79fc3", "sha256": "6a0989eda72aa388869c30c7fe411e887309bb0f7406bf22b0e3136737cb00e6" }, "downloads": -1, "filename": "google_iap-0.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "58b1ab4fd7fc8cd1b3423f1ac2c79fc3", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 3870, "upload_time": "2019-03-06T10:00:40", "url": "https://files.pythonhosted.org/packages/08/ca/5ff5ed3638bd15c27f637ada744b8ce613a5e8ee30c6e4b561f6856adc89/google_iap-0.0.1-py2-none-any.whl" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "cceb3100786c397e2885706111316ca5", "sha256": "b10f0556f3bc8510ae2c29e189ffddc2da8e12272fb22bd8b8f44e3b6143a2c3" }, "downloads": -1, "filename": "google_iap-0.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "cceb3100786c397e2885706111316ca5", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 3878, "upload_time": "2019-03-06T10:07:18", "url": "https://files.pythonhosted.org/packages/65/d5/2bdc7fb634eddc49ed3081039f6dc73488a463ab5b50c25ef88eecb5a8bc/google_iap-0.0.2-py2-none-any.whl" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "6df1f562bfed5cf286c112de741bb038", "sha256": "b4c860e5b32dc29b313183e551647f73bb3a758c034d870f98b295005b56f08e" }, "downloads": -1, "filename": "google_iap-0.0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "6df1f562bfed5cf286c112de741bb038", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4054, "upload_time": "2019-04-04T14:07:55", "url": "https://files.pythonhosted.org/packages/a8/c3/18d8e0a8c57dab953f62a76d03820793d686cd64c5f051c2034cff75a013/google_iap-0.0.3-py2-none-any.whl" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "30baff8ab92d0c93f8e4d89344bd35d3", "sha256": "0114f54b31095bbb1593d4af21a50602d974dc72ca6f2f25d98fa5891f894276" }, "downloads": -1, "filename": "google_iap-0.0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "30baff8ab92d0c93f8e4d89344bd35d3", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4988, "upload_time": "2019-04-04T14:34:49", "url": "https://files.pythonhosted.org/packages/66/27/178d460ed113359198fdc43c0d9d2aae8f9c032764e8b917b42357df7226/google_iap-0.0.4-py2-none-any.whl" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "51cc2de21669c90d327ea01b053675cd", "sha256": "a022a54430c7e6c53af875ec6145c1327500953f5db01643521b9333c9d5fdf0" }, "downloads": -1, "filename": "google_iap-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "51cc2de21669c90d327ea01b053675cd", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5006, "upload_time": "2019-04-04T14:49:00", "url": "https://files.pythonhosted.org/packages/9a/2d/ff09af896a87a61a3157e41c9a9c9b03c497df805da439ed63f9d3faf338/google_iap-1.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ee4607bbf01847cc9623868eb3d6f414", "sha256": "deaaad4c26926e867443693a88ea297025c4e62035fde2eb607d933e21282600" }, "downloads": -1, "filename": "google_iap-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ee4607bbf01847cc9623868eb3d6f414", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5005, "upload_time": "2019-04-04T15:28:30", "url": "https://files.pythonhosted.org/packages/39/7d/6a3a5be5383a70d6274f4e77bda4392ad0e4741f4e8c9e63aa19dc6cbc3f/google_iap-1.0.0-py3-none-any.whl" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "6170b0d301511e19a31364fe11176ab4", "sha256": "ab91cb3597bcaba1bd37e70aee2d5ad6141d2d416a6fb28dbf89e34923bdfc6a" }, "downloads": -1, "filename": "google_iap-1.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "6170b0d301511e19a31364fe11176ab4", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6935, "upload_time": "2019-04-04T16:07:32", "url": "https://files.pythonhosted.org/packages/9f/53/19595719bf2abca3c097113e9ee92e032d9b6207070900ef81b44cd42feb/google_iap-1.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d0ce534171df005116006e485df4b2f4", "sha256": "c7900f135dae8233f43752d17bec6c0de441ad5a01882a4bc703031029c71610" }, "downloads": -1, "filename": "google_iap-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d0ce534171df005116006e485df4b2f4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6935, "upload_time": "2019-04-04T16:10:04", "url": "https://files.pythonhosted.org/packages/c6/93/291e3db3b6377778ba839d3cfde981b0ac4bc3b66581cc678d858dc77890/google_iap-1.0.1-py3-none-any.whl" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "016753d69e414f053af440890dc5e640", "sha256": "0c556fcfffca6d5004b64e5d8ed07820497da4aaf70bf91cb8322aa96fddfe2a" }, "downloads": -1, "filename": "google_iap-1.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "016753d69e414f053af440890dc5e640", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6968, "upload_time": "2019-04-04T19:46:56", "url": "https://files.pythonhosted.org/packages/94/58/d7f294d660a4cfb195dc90163e7b384664cf549d66a1e95292ad76d5c570/google_iap-1.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "084fbd2682e94011d29f430635d4e07c", "sha256": "788e2679354782f9afc802572c5a8da72c1b64c8357c29e4aee4866245434a00" }, "downloads": -1, "filename": "google_iap-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "084fbd2682e94011d29f430635d4e07c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6967, "upload_time": "2019-04-04T19:45:06", "url": "https://files.pythonhosted.org/packages/84/06/5435391e15be025c4135bef398f36397fad93da337218692709aa37f8996/google_iap-1.0.2-py3-none-any.whl" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "a644b3e1a9b7dedc95686b8c771ac9cd", "sha256": "cf2716dd5da7c501b1da173f536d93390e9ff573bb6e7bf118f46ad80789b906" }, "downloads": -1, "filename": "google_iap-1.0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "a644b3e1a9b7dedc95686b8c771ac9cd", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 9792, "upload_time": "2019-04-05T15:59:20", "url": "https://files.pythonhosted.org/packages/5e/00/c430dd1c06a2c99ff2e8eb8f560c55efc751a9e32c3e6feb8e22dc5d1295/google_iap-1.0.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4ca6c6daf9239d7682906424eb4ff241", "sha256": "cece398793ca250c66ac7f92b825bd3f4c135254ed837b514c04a80bedf6f826" }, "downloads": -1, "filename": "google_iap-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "4ca6c6daf9239d7682906424eb4ff241", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9790, "upload_time": "2019-04-05T16:10:12", "url": "https://files.pythonhosted.org/packages/82/a9/fe4db1663e1607b5151aec7d8433d7af2da3cab9eba043e8fb9d0a2a4576/google_iap-1.0.3-py3-none-any.whl" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "b6ce2475da2c4f37c43edb2af1938c9b", "sha256": "cbb8360f3e3561967e25623f271006043725fbcf7506f037ae364351bb0aebf0" }, "downloads": -1, "filename": "google_iap-1.0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "b6ce2475da2c4f37c43edb2af1938c9b", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 9795, "upload_time": "2019-04-08T12:50:39", "url": "https://files.pythonhosted.org/packages/9b/18/f75c35b3ce35176e308337bbb53384acd0b389ae7a540dd9fa11af2edca8/google_iap-1.0.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6c04769148f6c1b77430e50ead2e5bca", "sha256": "e3c935d983498732b53d12561b1b2f8c067c714e7d01227d33ebd6acacec7fee" }, "downloads": -1, "filename": "google_iap-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "6c04769148f6c1b77430e50ead2e5bca", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9793, "upload_time": "2019-04-08T12:53:05", "url": "https://files.pythonhosted.org/packages/88/56/a4cefb7f5fef540e7d589e73d5cc2282a7f029cdb5243fdc3f3ac5575c80/google_iap-1.0.4-py3-none-any.whl" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "d1b03c72f30231c2cb8ef565439e7add", "sha256": "3c7443704e54d4eb0bfd252111635daa861de0b616141d21ec6a047ae5b55310" }, "downloads": -1, "filename": "google_iap-1.0.5-py2-none-any.whl", "has_sig": false, "md5_digest": "d1b03c72f30231c2cb8ef565439e7add", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 10242, "upload_time": "2019-04-13T05:28:08", "url": "https://files.pythonhosted.org/packages/82/73/a01eb96fb87f591644a10fd52eef3c80e99ce046871e0aeced0457d9fb22/google_iap-1.0.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "56c71ab59da11b11c6de6b136ff4a15b", "sha256": "6e00f527c11bcd181a28c4fb9eccc2d8dd516af3dc526c068d2246d7f1399efe" }, "downloads": -1, "filename": "google_iap-1.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "56c71ab59da11b11c6de6b136ff4a15b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10239, "upload_time": "2019-04-13T05:33:30", "url": "https://files.pythonhosted.org/packages/e6/da/e218aea4a260b6a3698b33f4243804f9429238583ae631bef81c0ec91d0b/google_iap-1.0.5-py3-none-any.whl" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "88c3dc3c2a85df77b729867be4d5488d", "sha256": "76a520b120333e3b63cb1350261b0cfc5042e151379b18812a25030e304dc5e3" }, "downloads": -1, "filename": "google_iap-1.0.6-py2-none-any.whl", "has_sig": false, "md5_digest": "88c3dc3c2a85df77b729867be4d5488d", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 10249, "upload_time": "2019-04-14T00:06:28", "url": "https://files.pythonhosted.org/packages/1c/15/5317675689975e775523d94ab57512e88ed822ad5ff7bc413573d415f7e0/google_iap-1.0.6-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0a0896bb814891309c5c84f3a6d2f9ca", "sha256": "2071ff4804a741adcc896562083b0df6d78492f1adb81f2b7b3ffbf9a03b0530" }, "downloads": -1, "filename": "google_iap-1.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "0a0896bb814891309c5c84f3a6d2f9ca", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10246, "upload_time": "2019-04-14T00:08:30", "url": "https://files.pythonhosted.org/packages/da/f9/abb765555b5b8a2ba3ba9ffe69289a61339279b6c7c0c875e4a6e7a617fa/google_iap-1.0.6-py3-none-any.whl" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "9127c85ce887125935391b2ceebae0fc", "sha256": "79b333ec5d82b9fa7a8975409b7f9e82252dcc445bb0a94cb5de09058d271ee9" }, "downloads": -1, "filename": "google_iap-1.0.7-py2-none-any.whl", "has_sig": false, "md5_digest": "9127c85ce887125935391b2ceebae0fc", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 10281, "upload_time": "2019-04-15T00:23:56", "url": "https://files.pythonhosted.org/packages/36/06/5386fbc5b18b1ddb786ab2252e3504de01f048410299ce37f2469bc09187/google_iap-1.0.7-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9ca45b7cd12cba489fd3fc8be77d4ad6", "sha256": "62efe751f9fa1e89f05bd8fe131eefcab5865bea8c04877e41693a9fd1dbfdd0" }, "downloads": -1, "filename": "google_iap-1.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "9ca45b7cd12cba489fd3fc8be77d4ad6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10279, "upload_time": "2019-04-15T00:27:15", "url": "https://files.pythonhosted.org/packages/9f/aa/b460578da93a093055a838d4c24abe69818672940098f7603977a85cdec7/google_iap-1.0.7-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9127c85ce887125935391b2ceebae0fc", "sha256": "79b333ec5d82b9fa7a8975409b7f9e82252dcc445bb0a94cb5de09058d271ee9" }, "downloads": -1, "filename": "google_iap-1.0.7-py2-none-any.whl", "has_sig": false, "md5_digest": "9127c85ce887125935391b2ceebae0fc", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 10281, "upload_time": "2019-04-15T00:23:56", "url": "https://files.pythonhosted.org/packages/36/06/5386fbc5b18b1ddb786ab2252e3504de01f048410299ce37f2469bc09187/google_iap-1.0.7-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9ca45b7cd12cba489fd3fc8be77d4ad6", "sha256": "62efe751f9fa1e89f05bd8fe131eefcab5865bea8c04877e41693a9fd1dbfdd0" }, "downloads": -1, "filename": "google_iap-1.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "9ca45b7cd12cba489fd3fc8be77d4ad6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10279, "upload_time": "2019-04-15T00:27:15", "url": "https://files.pythonhosted.org/packages/9f/aa/b460578da93a093055a838d4c24abe69818672940098f7603977a85cdec7/google_iap-1.0.7-py3-none-any.whl" } ] }