Amazon Macie 2

2020/06/10 - Amazon Macie 2 - 1 updated api methods

Changes  This release of the Amazon Macie API removes support for the ArchiveFindings and UnarchiveFindings operations. This release also adds UNKNOWN as an encryption type for S3 bucket metadata.

GetFindings (updated) Link ΒΆ
Changes (response)
{'findings': {'resourcesAffected': {'s3Bucket': {'defaultServerSideEncryption': {'encryptionType': {'UNKNOWN'}}},
                                    's3Object': {'serverSideEncryption': {'encryptionType': {'UNKNOWN'}}}}}}

Retrieves information about one or more findings.

See also: AWS API Documentation

Request Syntax

client.get_findings(
    findingIds=[
        'string',
    ],
    sortCriteria={
        'attributeName': 'string',
        'orderBy': 'ASC'|'DESC'
    }
)
type findingIds

list

param findingIds

[REQUIRED]

An array of strings that lists the unique identifiers for the findings to retrieve information about.

  • (string) --

type sortCriteria

dict

param sortCriteria

The criteria for sorting the results of the request.

  • attributeName (string) --

    The name of the property to sort the results by. This value can be the name of any property that Amazon Macie defines for a finding.

  • orderBy (string) --

    The sort order to apply to the results, based on the value for the property specified by the attributeName property. Valid values are: ASC, sort the results in ascending order; and, DESC, sort the results in descending order.

rtype

dict

returns

Response Syntax

{
    'findings': [
        {
            'accountId': 'string',
            'archived': True|False,
            'category': 'CLASSIFICATION'|'POLICY',
            'classificationDetails': {
                'detailedResultsLocation': 'string',
                'jobArn': 'string',
                'jobId': 'string',
                'result': {
                    'customDataIdentifiers': {
                        'detections': [
                            {
                                'arn': 'string',
                                'count': 123,
                                'name': 'string'
                            },
                        ],
                        'totalCount': 123
                    },
                    'mimeType': 'string',
                    'sensitiveData': [
                        {
                            'category': 'FINANCIAL_INFORMATION'|'PERSONAL_INFORMATION'|'CREDENTIALS'|'CUSTOM_IDENTIFIER',
                            'detections': [
                                {
                                    'count': 123,
                                    'type': 'string'
                                },
                            ],
                            'totalCount': 123
                        },
                    ],
                    'sizeClassified': 123,
                    'status': {
                        'code': 'string',
                        'reason': 'string'
                    }
                }
            },
            'count': 123,
            'createdAt': datetime(2015, 1, 1),
            'description': 'string',
            'id': 'string',
            'partition': 'string',
            'policyDetails': {
                'action': {
                    'actionType': 'AWS_API_CALL',
                    'apiCallDetails': {
                        'api': 'string',
                        'apiServiceName': 'string',
                        'firstSeen': datetime(2015, 1, 1),
                        'lastSeen': datetime(2015, 1, 1)
                    }
                },
                'actor': {
                    'domainDetails': {
                        'domainName': 'string'
                    },
                    'ipAddressDetails': {
                        'ipAddressV4': 'string',
                        'ipCity': {
                            'name': 'string'
                        },
                        'ipCountry': {
                            'code': 'string',
                            'name': 'string'
                        },
                        'ipGeoLocation': {
                            'lat': 123.0,
                            'lon': 123.0
                        },
                        'ipOwner': {
                            'asn': 'string',
                            'asnOrg': 'string',
                            'isp': 'string',
                            'org': 'string'
                        }
                    },
                    'userIdentity': {
                        'assumedRole': {
                            'accessKeyId': 'string',
                            'accountId': 'string',
                            'arn': 'string',
                            'principalId': 'string',
                            'sessionContext': {
                                'attributes': {
                                    'creationDate': datetime(2015, 1, 1),
                                    'mfaAuthenticated': True|False
                                },
                                'sessionIssuer': {
                                    'accountId': 'string',
                                    'arn': 'string',
                                    'principalId': 'string',
                                    'type': 'string',
                                    'userName': 'string'
                                }
                            }
                        },
                        'awsAccount': {
                            'accountId': 'string',
                            'principalId': 'string'
                        },
                        'awsService': {
                            'invokedBy': 'string'
                        },
                        'federatedUser': {
                            'accessKeyId': 'string',
                            'accountId': 'string',
                            'arn': 'string',
                            'principalId': 'string',
                            'sessionContext': {
                                'attributes': {
                                    'creationDate': datetime(2015, 1, 1),
                                    'mfaAuthenticated': True|False
                                },
                                'sessionIssuer': {
                                    'accountId': 'string',
                                    'arn': 'string',
                                    'principalId': 'string',
                                    'type': 'string',
                                    'userName': 'string'
                                }
                            }
                        },
                        'iamUser': {
                            'accountId': 'string',
                            'arn': 'string',
                            'principalId': 'string',
                            'userName': 'string'
                        },
                        'root': {
                            'accountId': 'string',
                            'arn': 'string',
                            'principalId': 'string'
                        },
                        'type': 'AssumedRole'|'IAMUser'|'FederatedUser'|'Root'|'AWSAccount'|'AWSService'
                    }
                }
            },
            'region': 'string',
            'resourcesAffected': {
                's3Bucket': {
                    'arn': 'string',
                    'createdAt': datetime(2015, 1, 1),
                    'defaultServerSideEncryption': {
                        'encryptionType': 'NONE'|'AES256'|'aws:kms'|'UNKNOWN',
                        'kmsMasterKeyId': 'string'
                    },
                    'name': 'string',
                    'owner': {
                        'displayName': 'string',
                        'id': 'string'
                    },
                    'publicAccess': {
                        'effectivePermission': 'PUBLIC'|'NOT_PUBLIC',
                        'permissionConfiguration': {
                            'accountLevelPermissions': {
                                'blockPublicAccess': {
                                    'blockPublicAcls': True|False,
                                    'blockPublicPolicy': True|False,
                                    'ignorePublicAcls': True|False,
                                    'restrictPublicBuckets': True|False
                                }
                            },
                            'bucketLevelPermissions': {
                                'accessControlList': {
                                    'allowsPublicReadAccess': True|False,
                                    'allowsPublicWriteAccess': True|False
                                },
                                'blockPublicAccess': {
                                    'blockPublicAcls': True|False,
                                    'blockPublicPolicy': True|False,
                                    'ignorePublicAcls': True|False,
                                    'restrictPublicBuckets': True|False
                                },
                                'bucketPolicy': {
                                    'allowsPublicReadAccess': True|False,
                                    'allowsPublicWriteAccess': True|False
                                }
                            }
                        }
                    },
                    'tags': [
                        {
                            'key': 'string',
                            'value': 'string'
                        },
                    ]
                },
                's3Object': {
                    'bucketArn': 'string',
                    'eTag': 'string',
                    'extension': 'string',
                    'key': 'string',
                    'lastModified': datetime(2015, 1, 1),
                    'path': 'string',
                    'publicAccess': True|False,
                    'serverSideEncryption': {
                        'encryptionType': 'NONE'|'AES256'|'aws:kms'|'UNKNOWN',
                        'kmsMasterKeyId': 'string'
                    },
                    'size': 123,
                    'storageClass': 'STANDARD'|'REDUCED_REDUNDANCY'|'STANDARD_IA'|'INTELLIGENT_TIERING'|'DEEP_ARCHIVE'|'ONEZONE_IA'|'GLACIER',
                    'tags': [
                        {
                            'key': 'string',
                            'value': 'string'
                        },
                    ],
                    'versionId': 'string'
                }
            },
            'sample': True|False,
            'schemaVersion': 'string',
            'severity': {
                'description': 'Low'|'Medium'|'High',
                'score': 123
            },
            'title': 'string',
            'type': 'SensitiveData:S3Object/Multiple'|'SensitiveData:S3Object/Financial'|'SensitiveData:S3Object/Personal'|'SensitiveData:S3Object/Credentials'|'SensitiveData:S3Object/CustomIdentifier'|'Policy:IAMUser/S3BucketPublic'|'Policy:IAMUser/S3BucketSharedExternally'|'Policy:IAMUser/S3BucketReplicatedExternally'|'Policy:IAMUser/S3BucketEncryptionDisabled'|'Policy:IAMUser/S3BlockPublicAccessDisabled',
            'updatedAt': datetime(2015, 1, 1)
        },
    ]
}

Response Structure

  • (dict) --

    The request succeeded.

    • findings (list) --

      An array of objects, one for each finding that meets the criteria specified in the request.

      • (dict) --

        Provides information about a finding.

        • accountId (string) --

          The identifier for the AWS account that the finding applies to. This is typically the account that owns the affected resource.

        • archived (boolean) --

          Specifies whether the finding is archived.

        • category (string) --

          The category of the finding. Possible values are: CLASSIFICATION, for a sensitive data finding; and, POLICY, for a policy finding.

        • classificationDetails (dict) --

          The details of a sensitive data finding. This value is null for a policy finding.

          • detailedResultsLocation (string) --

            The Amazon Resource Name (ARN) of the file that contains the detailed record, including offsets, for the finding.

          • jobArn (string) --

            The Amazon Resource Name (ARN) of the classification job that produced the finding.

          • jobId (string) --

            The unique identifier for the classification job that produced the finding.

          • result (dict) --

            The status and detailed results of the finding.

            • customDataIdentifiers (dict) --

              The number of occurrences of the data that produced the finding, and the custom data identifiers that detected the data.

              • detections (list) --

                The names of the custom data identifiers that detected the data, and the number of occurrences of the data that each identifier detected.

                • (dict) --

                  Provides information about a custom data identifier that produced a sensitive data finding, and the number of occurrences of the data that it detected for the finding.

                  • arn (string) --

                    The Amazon Resource Name (ARN) of the custom data identifier.

                  • count (integer) --

                    The total number of occurrences of the data that the custom data identifier detected for the finding.

                  • name (string) --

                    The name of the custom data identifier.

              • totalCount (integer) --

                The total number of occurrences of the data that was detected by the custom data identifiers and produced the finding.

            • mimeType (string) --

              The type of content, expressed as a MIME type, that the finding applies to. For example, application/gzip, for a GNU Gzip compressed archive file, or application/pdf, for an Adobe PDF file.

            • sensitiveData (list) --

              The category and number of occurrences of the sensitive data that produced the finding.

              • (dict) --

                Provides information about the category, type, and number of occurrences of sensitive data that produced a finding.

                • category (string) --

                  The category of sensitive data that was detected. For example, FINANCIAL_INFORMATION, for financial information such as credit card numbers, or PERSONAL_INFORMATION, for personally identifiable information such as names and addresses.

                • detections (list) --

                  An array of objects, one for each type of sensitive data that was detected. Each object reports the number of occurrences of a specific type of sensitive data that was detected.

                  • (dict) --

                    Provides information about sensitive data that was detected by managed data identifiers and produced a finding.

                    • count (integer) --

                      The total number of occurrences of the type of data that was detected.

                    • type (string) --

                      The type of data that was detected. For example, AWS_CREDENTIALS, PHONE_NUMBER, or ADDRESS.

                • totalCount (integer) --

                  The total number of occurrences of the sensitive data that was detected.

            • sizeClassified (integer) --

              The total size, in bytes, of the data that the finding applies to.

            • status (dict) --

              The status of the finding.

              • code (string) --

                The status of the finding, such as COMPLETE.

              • reason (string) --

                A brief description of the status of the finding. Amazon Macie uses this value to notify you of any errors, warnings, or considerations that might impact your analysis of the finding.

        • count (integer) --

          The total number of occurrences of this finding.

        • createdAt (datetime) --

          The date and time, in UTC and extended ISO 8601 format, when the finding was created.

        • description (string) --

          The description of the finding.

        • id (string) --

          The unique identifier for the finding. This is a random string that Amazon Macie generates and assigns to a finding when it creates the finding.

        • partition (string) --

          The AWS partition that Amazon Macie created the finding in.

        • policyDetails (dict) --

          The details of a policy finding. This value is null for a sensitive data finding.

          • action (dict) --

            The action that occurred and produced the finding.

            • actionType (string) --

              The type of action that occurred for the affected resource. This value is typically AWS_API_CALL, which indicates that an entity invoked an API operation for the resource.

            • apiCallDetails (dict) --

              For the affected resource:

              • The name of the operation that was invoked most recently and produced the finding (api).

              • The first date and time when any operation was invoked and produced the finding (firstSeen).

              • The most recent date and time when the specified operation was invoked and produced the finding (lastSeen).

              All date and time values are in UTC and extended ISO 8601 format.

              • api (string) --

                Reserved for future use.

              • apiServiceName (string) --

                Reserved for future use.

              • firstSeen (datetime) --

                Reserved for future use.

              • lastSeen (datetime) --

                Reserved for future use.

          • actor (dict) --

            The entity who performed the action that produced the finding.

            • domainDetails (dict) --

              The DNS name of the entity that performed the action on the affected resource.

              • domainName (string) --

                Reserved for future use.

            • ipAddressDetails (dict) --

              The IP address of the device that the entity used to perform the action on the affected resource. This object also provides information such as the owner and geographical location for the IP address.

              • ipAddressV4 (string) --

                Reserved for future use.

              • ipCity (dict) --

                Reserved for future use.

                • name (string) --

                  Reserved for future use.

              • ipCountry (dict) --

                Reserved for future use.

                • code (string) --

                  Reserved for future use.

                • name (string) --

                  Reserved for future use.

              • ipGeoLocation (dict) --

                Reserved for future use.

                • lat (float) --

                  Reserved for future use.

                • lon (float) --

                  Reserved for future use.

              • ipOwner (dict) --

                Reserved for future use.

                • asn (string) --

                  Reserved for future use.

                • asnOrg (string) --

                  Reserved for future use.

                • isp (string) --

                  Reserved for future use.

                • org (string) --

                  Reserved for future use.

            • userIdentity (dict) --

              The name and type of entity who performed the action on the affected resource.

              • assumedRole (dict) --

                Reserved for future use.

                • accessKeyId (string) --

                  Reserved for future use.

                • accountId (string) --

                  Reserved for future use.

                • arn (string) --

                  Reserved for future use.

                • principalId (string) --

                  Reserved for future use.

                • sessionContext (dict) --

                  Reserved for future use.

                  • attributes (dict) --

                    The date and time when the credentials were issued, and whether the credentials were authenticated with a multi-factor authentication (MFA) device.

                    • creationDate (datetime) --

                      The date and time, in ISO 8601 format, when the credentials were issued.

                    • mfaAuthenticated (boolean) --

                      Specifies whether the credentials were authenticated with a multi-factor authentication (MFA) device.

                  • sessionIssuer (dict) --

                    The source and type of credentials that the entity obtained.

                    • accountId (string) --

                      The account that owns the entity that was used to get the credentials.

                    • arn (string) --

                      The Amazon Resource Name (ARN) of the source account, IAM user, or role that was used to get the credentials.

                    • principalId (string) --

                      The internal identifier for the entity that was used to get the credentials.

                    • type (string) --

                      The source of the temporary security credentials, such as Root, IAMUser, or Role.

                    • userName (string) --

                      The name or alias of the user or role that issued the session. This value is null if the credentials were obtained from a root account that doesn't have an alias.

              • awsAccount (dict) --

                Reserved for future use.

                • accountId (string) --

                  Reserved for future use.

                • principalId (string) --

                  Reserved for future use.

              • awsService (dict) --

                Reserved for future use.

                • invokedBy (string) --

                  Reserved for future use.

              • federatedUser (dict) --

                Reserved for future use.

                • accessKeyId (string) --

                  Reserved for future use.

                • accountId (string) --

                  Reserved for future use.

                • arn (string) --

                  Reserved for future use.

                • principalId (string) --

                  Reserved for future use.

                • sessionContext (dict) --

                  Reserved for future use.

                  • attributes (dict) --

                    The date and time when the credentials were issued, and whether the credentials were authenticated with a multi-factor authentication (MFA) device.

                    • creationDate (datetime) --

                      The date and time, in ISO 8601 format, when the credentials were issued.

                    • mfaAuthenticated (boolean) --

                      Specifies whether the credentials were authenticated with a multi-factor authentication (MFA) device.

                  • sessionIssuer (dict) --

                    The source and type of credentials that the entity obtained.

                    • accountId (string) --

                      The account that owns the entity that was used to get the credentials.

                    • arn (string) --

                      The Amazon Resource Name (ARN) of the source account, IAM user, or role that was used to get the credentials.

                    • principalId (string) --

                      The internal identifier for the entity that was used to get the credentials.

                    • type (string) --

                      The source of the temporary security credentials, such as Root, IAMUser, or Role.

                    • userName (string) --

                      The name or alias of the user or role that issued the session. This value is null if the credentials were obtained from a root account that doesn't have an alias.

              • iamUser (dict) --

                Reserved for future use.

                • accountId (string) --

                  Reserved for future use.

                • arn (string) --

                  Reserved for future use.

                • principalId (string) --

                  Reserved for future use.

                • userName (string) --

                  Reserved for future use.

              • root (dict) --

                Reserved for future use.

                • accountId (string) --

                  Reserved for future use.

                • arn (string) --

                  Reserved for future use.

                • principalId (string) --

                  Reserved for future use.

              • type (string) --

                Reserved for future use.

        • region (string) --

          The AWS Region that Amazon Macie created the finding in.

        • resourcesAffected (dict) --

          The resources that the finding applies to.

          • s3Bucket (dict) --

            An array of objects, one for each S3 bucket that the finding applies to. Each object provides a set of metadata about an affected S3 bucket.

            • arn (string) --

              The Amazon Resource Name (ARN) of the bucket.

            • createdAt (datetime) --

              The date and time, in UTC and extended ISO 8601 format, when the bucket was created.

            • defaultServerSideEncryption (dict) --

              The server-side encryption settings for the bucket.

              • encryptionType (string) --

                The server-side encryption algorithm that's used when storing data in the bucket or object. If encryption is disabled for the bucket or object, this value is NONE.

              • kmsMasterKeyId (string) --

                The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) master key that's used to encrypt the bucket or object. This value is null if KMS isn't used to encrypt the bucket or object.

            • name (string) --

              The name of the bucket.

            • owner (dict) --

              The display name and account identifier for the user who owns the bucket.

              • displayName (string) --

                The display name of the user who owns the bucket.

              • id (string) --

                The AWS account ID for the user who owns the bucket.

            • publicAccess (dict) --

              The permissions settings that determine whether the bucket is publicly accessible.

              • effectivePermission (string) --

                Specifies whether the bucket is publicly accessible due to the combination of permissions settings that apply to the bucket. Possible values are: PUBLIC, the bucket is publicly accessible; and, NOT_PUBLIC, the bucket isn't publicly accessible.

              • permissionConfiguration (dict) --

                The account-level and bucket-level permissions for the bucket.

                • accountLevelPermissions (dict) --

                  The account-level permissions settings that apply to the bucket.

                  • blockPublicAccess (dict) --

                    The block public access settings for the bucket.

                    • blockPublicAcls (boolean) --

                      Specifies whether Amazon S3 blocks public access control lists (ACLs) for the bucket and objects in the bucket.

                    • blockPublicPolicy (boolean) --

                      Specifies whether Amazon S3 blocks public bucket policies for the bucket.

                    • ignorePublicAcls (boolean) --

                      Specifies whether Amazon S3 ignores public ACLs for the bucket and objects in the bucket.

                    • restrictPublicBuckets (boolean) --

                      Specifies whether Amazon S3 restricts public bucket policies for the bucket.

                • bucketLevelPermissions (dict) --

                  The bucket-level permissions settings for the bucket.

                  • accessControlList (dict) --

                    The permissions settings of the access control list (ACL) for the bucket. This value is null if an ACL hasn't been defined for the bucket.

                    • allowsPublicReadAccess (boolean) --

                      Specifies whether the ACL grants the general public with read access permissions for the bucket.

                    • allowsPublicWriteAccess (boolean) --

                      Specifies whether the ACL grants the general public with write access permissions for the bucket.

                  • blockPublicAccess (dict) --

                    The block public access settings for the bucket.

                    • blockPublicAcls (boolean) --

                      Specifies whether Amazon S3 blocks public access control lists (ACLs) for the bucket and objects in the bucket.

                    • blockPublicPolicy (boolean) --

                      Specifies whether Amazon S3 blocks public bucket policies for the bucket.

                    • ignorePublicAcls (boolean) --

                      Specifies whether Amazon S3 ignores public ACLs for the bucket and objects in the bucket.

                    • restrictPublicBuckets (boolean) --

                      Specifies whether Amazon S3 restricts public bucket policies for the bucket.

                  • bucketPolicy (dict) --

                    The permissions settings of the bucket policy for the bucket. This value is null if a bucket policy hasn't been defined for the bucket.

                    • allowsPublicReadAccess (boolean) --

                      Specifies whether the bucket policy allows the general public to have read access to the bucket.

                    • allowsPublicWriteAccess (boolean) --

                      Specifies whether the bucket policy allows the general public to have write access to the bucket.

            • tags (list) --

              The tags that are associated with the bucket.

              • (dict) --

                Provides information about the tags that are associated with an S3 bucket or object. Each tag consists of a required tag key and an associated tag value.

                • key (string) --

                  One part of a key-value pair that comprises a tag. A tag key is a general label that acts as a category for more specific tag values.

                • value (string) --

                  One part of a key-value pair that comprises a tag. A tag value acts as a descriptor for a tag key. A tag value can be empty or null.

          • s3Object (dict) --

            An array of objects, one for each S3 object that the finding applies to. Each object provides a set of metadata about an affected S3 object.

            • bucketArn (string) --

              The Amazon Resource Name (ARN) of the bucket that contains the object.

            • eTag (string) --

              The entity tag (ETag) that identifies the affected version of the object. If the object was overwritten or changed after Amazon Macie produced the finding, this value might be different from the current ETag for the object.

            • extension (string) --

              The file extension of the object. If the object doesn't have a file extension, this value is "".

            • key (string) --

              The full key (name) that's assigned to the object.

            • lastModified (datetime) --

              The date and time, in UTC and extended ISO 8601 format, when the object was last modified.

            • path (string) --

              The path to the object, including the full key (name).

            • publicAccess (boolean) --

              Specifies whether the object is publicly accessible due to the combination of permissions settings that apply to the object.

            • serverSideEncryption (dict) --

              The server-side encryption settings for the object.

              • encryptionType (string) --

                The server-side encryption algorithm that's used when storing data in the bucket or object. If encryption is disabled for the bucket or object, this value is NONE.

              • kmsMasterKeyId (string) --

                The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) master key that's used to encrypt the bucket or object. This value is null if KMS isn't used to encrypt the bucket or object.

            • size (integer) --

              The total storage size, in bytes, of the object.

            • storageClass (string) --

              The storage class of the object.

            • tags (list) --

              The tags that are associated with the object.

              • (dict) --

                Provides information about the tags that are associated with an S3 bucket or object. Each tag consists of a required tag key and an associated tag value.

                • key (string) --

                  One part of a key-value pair that comprises a tag. A tag key is a general label that acts as a category for more specific tag values.

                • value (string) --

                  One part of a key-value pair that comprises a tag. A tag value acts as a descriptor for a tag key. A tag value can be empty or null.

            • versionId (string) --

              The identifier for the affected version of the object.

        • sample (boolean) --

          Specifies whether the finding is a sample finding. A sample finding is a finding that uses example data to demonstrate what a finding might contain.

        • schemaVersion (string) --

          The version of the schema that was used to define the data structures in the finding.

        • severity (dict) --

          The severity of the finding.

          • description (string) --

            The textual representation of the severity value, such as Low or High.

          • score (integer) --

            The numeric score for the severity value, ranging from 0 (least severe) to 4 (most severe).

        • title (string) --

          The brief description of the finding.

        • type (string) --

          The type of the finding.

        • updatedAt (datetime) --

          The date and time, in UTC and extended ISO 8601 format, when the finding was last updated. For sensitive data findings, this value is the same as the value for the createdAt property. Sensitive data findings aren't updated.