======================
**aws-access-advisor**
======================
Overview
--------
Generate IAM actions list from AWS Access Advisor reports.
Prerequisites
-------------
- *Python >= 3.6*
- *aws-authenticator (https://pypi.org/project/aws-authenticator/) >= 2022.10.1.0*
Required Arguments
------------------
- AWS entity ARN (role, user, etc. to use for report generation)
- AWS authentication method (profile, iam, or sso)
Conditional Arguments
---------------------
If authenticating with named profiles:
- AWSCLI profile name
If authenticating with IAM acccess key credentials:
- AWS access key id
- AWS secret access key
If authenticating with SSO:
- AWS account ID
- AWS SSO Permission Set (role) name
- AWS SSO login URL
Usage
-----
Installation:
.. code-block:: BASH
pip3 install aws-access-advisor
# or
python3 -m pip install aws-access-advisor
In Python3 authenticating with named profiles:
.. code-block:: PYTHON
import aws_access_advisor as access
report = access.get_report(
"<entity_arn>",
"profile",
profile_name="<profile_name>",
)
print(
f'Job status: {report["JobStatus"]} after {report["processing_time"]} second(s).'
)
print("\n".join(access.parse(report)))
In Python3 authenticating with IAM access key credentials:
.. code-block:: PYTHON
import aws_access_advisor as access
report = access.get_report(
"<entity_arn>",
"iam"
access_key_id="<access_key_id>",
secret_access_key="<secret_access_key>",
)
print(
f'Job status: {report["JobStatus"]} after {report["processing_time"]} second(s).'
)
print("\n".join(access.parse(report)))
In Python3 authenticating with SSO:
.. code-block:: PYTHON
import aws_access_advisor as access
report = access.get_report(
"<entity_arn>",
"sso"
sso_url="<sso_url>",
sso_role_name="<sso_role_name>",
sso_account_id="<sso_account_id>",
)
print(
f'Job status: {report["JobStatus"]} after {report["processing_time"]} second(s).'
)
print("\n".join(access.parse(report)))
In BASH authenticating with named profiles:
.. code-block:: BASH
python [/path/to/]aws_access_advisor \
-e <entity_arn> \
-m profile \
-p <profile_name>
In BASH authenticating with IAM access key credentials:
.. code-block:: BASH
python [/path/to/]aws_access_advisor \
-e <entity_arn> \
-m iam \
-k <access_key_id> \
-s <secret_access_key>
In BASH authenticating with SSO:
.. code-block:: BASH
python [/path/to/]aws_access_advisor \
-e <entity_arn> \
-m sso \
-a <sso_account_id> \
-r <sso_role_name> \
-u <sso_url>
Raw data
{
"_id": null,
"home_page": "https://gitlab.com/fer1035_python/modules/pypi-aws_access_advisor",
"name": "aws_access_advisor",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6,<4.0",
"maintainer_email": "",
"keywords": "AWS,Access,Advisor",
"author": "Ahmad Ferdaus Abd Razak",
"author_email": "ahmad.ferdaus.abd.razak@ni.com",
"download_url": "https://files.pythonhosted.org/packages/35/72/85b986441d275d602acffd6ec1e776a7ceedfa89cb5ec992b96d044835ee/aws_access_advisor-2024.1.0.0.tar.gz",
"platform": null,
"description": "======================\n**aws-access-advisor**\n======================\n\nOverview\n--------\n\nGenerate IAM actions list from AWS Access Advisor reports.\n\nPrerequisites\n-------------\n\n- *Python >= 3.6*\n- *aws-authenticator (https://pypi.org/project/aws-authenticator/) >= 2022.10.1.0*\n\nRequired Arguments\n------------------\n\n- AWS entity ARN (role, user, etc. to use for report generation)\n- AWS authentication method (profile, iam, or sso)\n\nConditional Arguments\n---------------------\n\nIf authenticating with named profiles:\n\n- AWSCLI profile name\n\nIf authenticating with IAM acccess key credentials:\n\n- AWS access key id\n- AWS secret access key\n\nIf authenticating with SSO:\n\n- AWS account ID\n- AWS SSO Permission Set (role) name\n- AWS SSO login URL\n\nUsage\n-----\n\nInstallation:\n\n.. code-block:: BASH\n\n pip3 install aws-access-advisor\n # or\n python3 -m pip install aws-access-advisor\n\nIn Python3 authenticating with named profiles:\n\n.. code-block:: PYTHON\n\n import aws_access_advisor as access\n\n report = access.get_report(\n \"<entity_arn>\",\n \"profile\",\n profile_name=\"<profile_name>\",\n )\n print(\n f'Job status: {report[\"JobStatus\"]} after {report[\"processing_time\"]} second(s).'\n )\n print(\"\\n\".join(access.parse(report)))\n\nIn Python3 authenticating with IAM access key credentials:\n\n.. code-block:: PYTHON\n\n import aws_access_advisor as access\n\n report = access.get_report(\n \"<entity_arn>\",\n \"iam\"\n access_key_id=\"<access_key_id>\",\n secret_access_key=\"<secret_access_key>\",\n )\n print(\n f'Job status: {report[\"JobStatus\"]} after {report[\"processing_time\"]} second(s).'\n )\n print(\"\\n\".join(access.parse(report)))\n\nIn Python3 authenticating with SSO:\n\n.. code-block:: PYTHON\n\n import aws_access_advisor as access\n\n report = access.get_report(\n \"<entity_arn>\",\n \"sso\"\n sso_url=\"<sso_url>\",\n sso_role_name=\"<sso_role_name>\",\n sso_account_id=\"<sso_account_id>\",\n )\n print(\n f'Job status: {report[\"JobStatus\"]} after {report[\"processing_time\"]} second(s).'\n )\n print(\"\\n\".join(access.parse(report)))\n\nIn BASH authenticating with named profiles:\n\n.. code-block:: BASH\n\n python [/path/to/]aws_access_advisor \\\n -e <entity_arn> \\\n -m profile \\\n -p <profile_name>\n\nIn BASH authenticating with IAM access key credentials:\n\n.. code-block:: BASH\n\n python [/path/to/]aws_access_advisor \\\n -e <entity_arn> \\\n -m iam \\\n -k <access_key_id> \\\n -s <secret_access_key>\n\nIn BASH authenticating with SSO:\n\n.. code-block:: BASH\n\n python [/path/to/]aws_access_advisor \\\n -e <entity_arn> \\\n -m sso \\\n -a <sso_account_id> \\\n -r <sso_role_name> \\\n -u <sso_url>\n",
"bugtrack_url": null,
"license": "GPL-2.0-only",
"summary": "Generate IAM actions list from AWS Access Advisor reports.",
"version": "2024.1.0.0",
"project_urls": {
"Homepage": "https://gitlab.com/fer1035_python/modules/pypi-aws_access_advisor",
"Repository": "https://gitlab.com/fer1035_python/modules/pypi-aws_access_advisor"
},
"split_keywords": [
"aws",
"access",
"advisor"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "014613cea50385220c2bda937bf6489b905eda13e1e661af2cc606a77876607a",
"md5": "7f393688cdbb5e55c213354d6ea28803",
"sha256": "364f69697d238cc8b043c9b156954b115b915c3c030fc4784ba20adcc400536a"
},
"downloads": -1,
"filename": "aws_access_advisor-2024.1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7f393688cdbb5e55c213354d6ea28803",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6,<4.0",
"size": 3601,
"upload_time": "2024-02-02T04:48:29",
"upload_time_iso_8601": "2024-02-02T04:48:29.925239Z",
"url": "https://files.pythonhosted.org/packages/01/46/13cea50385220c2bda937bf6489b905eda13e1e661af2cc606a77876607a/aws_access_advisor-2024.1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "357285b986441d275d602acffd6ec1e776a7ceedfa89cb5ec992b96d044835ee",
"md5": "3cc52b1db08842466313c791928ea9a1",
"sha256": "076593c5e118ec22cbd13cc752d1371f96b35e826e31d106891913393b57baa1"
},
"downloads": -1,
"filename": "aws_access_advisor-2024.1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "3cc52b1db08842466313c791928ea9a1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6,<4.0",
"size": 2838,
"upload_time": "2024-02-02T04:48:32",
"upload_time_iso_8601": "2024-02-02T04:48:32.205552Z",
"url": "https://files.pythonhosted.org/packages/35/72/85b986441d275d602acffd6ec1e776a7ceedfa89cb5ec992b96d044835ee/aws_access_advisor-2024.1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-02 04:48:32",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "fer1035_python",
"gitlab_project": "modules",
"lcname": "aws_access_advisor"
}