Giter VIP home page Giter VIP logo

cloudaux's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cloudaux's Issues

Add support for S3 Analytics

Amazon recently announced new S3 features around analytics. There are additional API calls that are required:

- list_bucket_analytics_configurations()
- list_bucket_inventory_configurations()
- list_bucket_metrics_configurations()

This will also require boto's minimum version to be bumped up to 1.4.2.

aws/iam.py: get_role_managed_policy_documents fails to pass connection details to internal calls

get_role_managed_policy_documents passes its own kwargs directly to its internal calls to get_role_managed_policies and get_managed_policy_document, but the relevant connection parameters (account_number, assume_role, etc) are stripped by the sts_conn decorator beforehand. The result is that those internal calls receive no explicit connection parameters and fall back to boto3's credential-finding routine -- this may fail completely or pick up credentials that were not intended for this use.

optional fields param in orchestration

I wonder if all the orchestration commands (get_user, get_role, get_bucket) should take an optional fields parameter.

That way you could use CloudAux and specify some subset of the fields. The default would be all.

Each tech could provide an importable field list so that IDE's could auto-complete.

@mikegrima - Thoughts?

sts assume role fails

sts assume role fails with following error in GovCloud at

arn = 'arn:aws:iam::{0}:role/{1}'.format(

ClientError: An error occurred (AccessDenied) when calling the AssumeRole operation: Access denied

Can we somehow pass / implement ARN_PARTITION / ARN_PREFIX in the likes of what has been done in security_monkey

https://github.com/Netflix/security_monkey/blob/b174a705124f12aeee612f9ef93820f2b4227e0e/security_monkey/__init__.py#L72

CloudAux conn_details should be an instance variable, not a class variable

@willbengtson found a bug in the CloudAux class.

You can't have more than one CloudAux object instantiated because the conn_details is currently stored in a class variable, not an instance variable.

So this test would fail:

from cloudaux import CloudAux


def test_cloudaux():
    conn_one = {
        "account_number": "111111111111",
        "assume_role": "role_one",
        "region": "us-east-1",
        "session_name": "conn_one"
    }

    conn_two = {
        "account_number": "222222222222",
        "assume_role": "role_two",
        "region": "us-east-2",
        "session_name": "conn_two"
    }

    ca_one = CloudAux(**conn_one)
    ca_two = CloudAux(**conn_two)

    assert ca_one.conn_details["account_number"] == "111111111111"
    assert ca_one.conn_details["assume_role"] == "role_one"
    assert ca_one.conn_details["region"] == "us-east-1"
    assert ca_one.conn_details["session_name"] == "conn_one"

    assert ca_two.conn_details["account_number"] == "222222222222"
    assert ca_two.conn_details["assume_role"] == "role_two"
    assert ca_two.conn_details["region"] == "us-east-2"
    assert ca_two.conn_details["session_name"] == "conn_two"

I have a PR coming in just a second to fix the CloudAux class and to add the above unit test.

S3 ACL Canonical ID not captured correctly

There is a bug in the S3 get_grants() function when capturing canonical IDs. It is incorrectly looking for URI when it's supposed to fetch ID. This creates an incorrect string when the DisplayName isn't captured. The incorrect string looks like this:

Grants": {
    "null": [
        "FULL_CONTROL"
    ]
},

This is also causing downstream issues with Security Monkey where it thinks that there is a new change each time. This is currently the case with "new" regions where the get_bucket_acl API no longer returns the display name (still have not identified why SM thinks a new change keeps occurring, but this only happens on these specific buckets).

'pagiated' is an undefined name in ./cloudaux/aws/sns.py

Undefined names may raise NameError at runtime.

$ flake8 . --count --select=E901,E999,F821,F822,F823 --show-source --statistics

./cloudaux/aws/sns.py:132:2: F821 undefined name 'pagiated'
@pagiated('Topics', request_pagination_marker="NextToken", response_pagination_marker="NextToken")
 ^
1     F821 undefined name 'pagiated'

Also see FIXME in .travis.yml

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.