The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Paws::AccessAnalyzer - Perl Interface to AWS Access Analyzer

SYNOPSIS

  use Paws;

  my $obj = Paws->service('AccessAnalyzer');
  my $res = $obj->Method(
    Arg1 => $val1,
    Arg2 => [ 'V1', 'V2' ],
    # if Arg3 is an object, the HashRef will be used as arguments to the constructor
    # of the arguments type
    Arg3 => { Att1 => 'Val1' },
    # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
    # the constructor of the arguments type
    Arg4 => [ { Att1 => 'Val1'  }, { Att1 => 'Val2' } ],
  );

DESCRIPTION

AWS IAM Access Analyzer helps identify potential resource-access risks by enabling you to identify any policies that grant access to an external principal. It does this by using logic-based reasoning to analyze resource-based policies in your AWS environment. An external principal can be another AWS account, a root user, an IAM user or role, a federated user, an AWS service, or an anonymous user. You can also use Access Analyzer to preview and validate public and cross-account access to your resources before deploying permissions changes. This guide describes the AWS IAM Access Analyzer operations that you can call programmatically. For general information about Access Analyzer, see AWS IAM Access Analyzer (https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html) in the IAM User Guide.

To start using Access Analyzer, you first need to create an analyzer.

For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/access-analyzer-2019-11-01

METHODS

ApplyArchiveRule

AnalyzerArn => Str
RuleName => Str
[ClientToken => Str]

Each argument is described in detail in: Paws::AccessAnalyzer::ApplyArchiveRule

Returns: nothing

Retroactively applies the archive rule to existing findings that meet the archive rule criteria.

CancelPolicyGeneration

JobId => Str

Each argument is described in detail in: Paws::AccessAnalyzer::CancelPolicyGeneration

Returns: a Paws::AccessAnalyzer::CancelPolicyGenerationResponse instance

Cancels the requested policy generation.

CreateAccessPreview

AnalyzerArn => Str
Configurations => Paws::AccessAnalyzer::ConfigurationsMap
[ClientToken => Str]

Each argument is described in detail in: Paws::AccessAnalyzer::CreateAccessPreview

Returns: a Paws::AccessAnalyzer::CreateAccessPreviewResponse instance

Creates an access preview that allows you to preview Access Analyzer findings for your resource before deploying resource permissions.

CreateAnalyzer

AnalyzerName => Str
Type => Str
[ArchiveRules => ArrayRef[Paws::AccessAnalyzer::InlineArchiveRule]]
[ClientToken => Str]
[Tags => Paws::AccessAnalyzer::TagsMap]

Each argument is described in detail in: Paws::AccessAnalyzer::CreateAnalyzer

Returns: a Paws::AccessAnalyzer::CreateAnalyzerResponse instance

Creates an analyzer for your account.

CreateArchiveRule

AnalyzerName => Str
Filter => Paws::AccessAnalyzer::FilterCriteriaMap
RuleName => Str
[ClientToken => Str]

Each argument is described in detail in: Paws::AccessAnalyzer::CreateArchiveRule

Returns: nothing

Creates an archive rule for the specified analyzer. Archive rules automatically archive new findings that meet the criteria you define when you create the rule.

To learn about filter keys that you can use to create an archive rule, see Access Analyzer filter keys (https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-filter-keys.html) in the IAM User Guide.

DeleteAnalyzer

AnalyzerName => Str
[ClientToken => Str]

Each argument is described in detail in: Paws::AccessAnalyzer::DeleteAnalyzer

Returns: nothing

Deletes the specified analyzer. When you delete an analyzer, Access Analyzer is disabled for the account or organization in the current or specific Region. All findings that were generated by the analyzer are deleted. You cannot undo this action.

DeleteArchiveRule

AnalyzerName => Str
RuleName => Str
[ClientToken => Str]

Each argument is described in detail in: Paws::AccessAnalyzer::DeleteArchiveRule

Returns: nothing

Deletes the specified archive rule.

GetAccessPreview

AccessPreviewId => Str
AnalyzerArn => Str

Each argument is described in detail in: Paws::AccessAnalyzer::GetAccessPreview

Returns: a Paws::AccessAnalyzer::GetAccessPreviewResponse instance

Retrieves information about an access preview for the specified analyzer.

GetAnalyzedResource

AnalyzerArn => Str
ResourceArn => Str

Each argument is described in detail in: Paws::AccessAnalyzer::GetAnalyzedResource

Returns: a Paws::AccessAnalyzer::GetAnalyzedResourceResponse instance

Retrieves information about a resource that was analyzed.

GetAnalyzer

AnalyzerName => Str

Each argument is described in detail in: Paws::AccessAnalyzer::GetAnalyzer

Returns: a Paws::AccessAnalyzer::GetAnalyzerResponse instance

Retrieves information about the specified analyzer.

GetArchiveRule

AnalyzerName => Str
RuleName => Str

Each argument is described in detail in: Paws::AccessAnalyzer::GetArchiveRule

Returns: a Paws::AccessAnalyzer::GetArchiveRuleResponse instance

Retrieves information about an archive rule.

To learn about filter keys that you can use to create an archive rule, see Access Analyzer filter keys (https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-filter-keys.html) in the IAM User Guide.

GetFinding

AnalyzerArn => Str
Id => Str

Each argument is described in detail in: Paws::AccessAnalyzer::GetFinding

Returns: a Paws::AccessAnalyzer::GetFindingResponse instance

Retrieves information about the specified finding.

GetGeneratedPolicy

JobId => Str
[IncludeResourcePlaceholders => Bool]
[IncludeServiceLevelTemplate => Bool]

Each argument is described in detail in: Paws::AccessAnalyzer::GetGeneratedPolicy

Returns: a Paws::AccessAnalyzer::GetGeneratedPolicyResponse instance

Retrieves the policy that was generated using StartPolicyGeneration.

ListAccessPreviewFindings

AccessPreviewId => Str
AnalyzerArn => Str
[Filter => Paws::AccessAnalyzer::FilterCriteriaMap]
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::AccessAnalyzer::ListAccessPreviewFindings

Returns: a Paws::AccessAnalyzer::ListAccessPreviewFindingsResponse instance

Retrieves a list of access preview findings generated by the specified access preview.

ListAccessPreviews

AnalyzerArn => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::AccessAnalyzer::ListAccessPreviews

Returns: a Paws::AccessAnalyzer::ListAccessPreviewsResponse instance

Retrieves a list of access previews for the specified analyzer.

ListAnalyzedResources

AnalyzerArn => Str
[MaxResults => Int]
[NextToken => Str]
[ResourceType => Str]

Each argument is described in detail in: Paws::AccessAnalyzer::ListAnalyzedResources

Returns: a Paws::AccessAnalyzer::ListAnalyzedResourcesResponse instance

Retrieves a list of resources of the specified type that have been analyzed by the specified analyzer..

ListAnalyzers

[MaxResults => Int]
[NextToken => Str]
[Type => Str]

Each argument is described in detail in: Paws::AccessAnalyzer::ListAnalyzers

Returns: a Paws::AccessAnalyzer::ListAnalyzersResponse instance

Retrieves a list of analyzers.

ListArchiveRules

AnalyzerName => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::AccessAnalyzer::ListArchiveRules

Returns: a Paws::AccessAnalyzer::ListArchiveRulesResponse instance

Retrieves a list of archive rules created for the specified analyzer.

ListFindings

AnalyzerArn => Str
[Filter => Paws::AccessAnalyzer::FilterCriteriaMap]
[MaxResults => Int]
[NextToken => Str]
[Sort => Paws::AccessAnalyzer::SortCriteria]

Each argument is described in detail in: Paws::AccessAnalyzer::ListFindings

Returns: a Paws::AccessAnalyzer::ListFindingsResponse instance

Retrieves a list of findings generated by the specified analyzer.

To learn about filter keys that you can use to retrieve a list of findings, see Access Analyzer filter keys (https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-filter-keys.html) in the IAM User Guide.

ListPolicyGenerations

[MaxResults => Int]
[NextToken => Str]
[PrincipalArn => Str]

Each argument is described in detail in: Paws::AccessAnalyzer::ListPolicyGenerations

Returns: a Paws::AccessAnalyzer::ListPolicyGenerationsResponse instance

Lists all of the policy generations requested in the last seven days.

ListTagsForResource

ResourceArn => Str

Each argument is described in detail in: Paws::AccessAnalyzer::ListTagsForResource

Returns: a Paws::AccessAnalyzer::ListTagsForResourceResponse instance

Retrieves a list of tags applied to the specified resource.

StartPolicyGeneration

PolicyGenerationDetails => Paws::AccessAnalyzer::PolicyGenerationDetails
[ClientToken => Str]
[CloudTrailDetails => Paws::AccessAnalyzer::CloudTrailDetails]

Each argument is described in detail in: Paws::AccessAnalyzer::StartPolicyGeneration

Returns: a Paws::AccessAnalyzer::StartPolicyGenerationResponse instance

Starts the policy generation request.

StartResourceScan

AnalyzerArn => Str
ResourceArn => Str

Each argument is described in detail in: Paws::AccessAnalyzer::StartResourceScan

Returns: nothing

Immediately starts a scan of the policies applied to the specified resource.

TagResource

ResourceArn => Str
Tags => Paws::AccessAnalyzer::TagsMap

Each argument is described in detail in: Paws::AccessAnalyzer::TagResource

Returns: a Paws::AccessAnalyzer::TagResourceResponse instance

Adds a tag to the specified resource.

UntagResource

ResourceArn => Str
TagKeys => ArrayRef[Str|Undef]

Each argument is described in detail in: Paws::AccessAnalyzer::UntagResource

Returns: a Paws::AccessAnalyzer::UntagResourceResponse instance

Removes a tag from the specified resource.

UpdateArchiveRule

AnalyzerName => Str
Filter => Paws::AccessAnalyzer::FilterCriteriaMap
RuleName => Str
[ClientToken => Str]

Each argument is described in detail in: Paws::AccessAnalyzer::UpdateArchiveRule

Returns: nothing

Updates the criteria and values for the specified archive rule.

UpdateFindings

AnalyzerArn => Str
Status => Str
[ClientToken => Str]
[Ids => ArrayRef[Str|Undef]]
[ResourceArn => Str]

Each argument is described in detail in: Paws::AccessAnalyzer::UpdateFindings

Returns: nothing

Updates the status for the specified findings.

ValidatePolicy

PolicyDocument => Str
PolicyType => Str
[Locale => Str]
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::AccessAnalyzer::ValidatePolicy

Returns: a Paws::AccessAnalyzer::ValidatePolicyResponse instance

Requests the validation of a policy and returns a list of findings. The findings help you identify issues and provide actionable recommendations to resolve the issue and enable you to author functional policies that meet security best practices.

PAGINATORS

Paginator methods are helpers that repetively call methods that return partial results

ListAllAccessPreviewFindings(sub { },AccessPreviewId => Str, AnalyzerArn => Str, [Filter => Paws::AccessAnalyzer::FilterCriteriaMap, MaxResults => Int, NextToken => Str])

ListAllAccessPreviewFindings(AccessPreviewId => Str, AnalyzerArn => Str, [Filter => Paws::AccessAnalyzer::FilterCriteriaMap, MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - findings, passing the object as the first parameter, and the string 'findings' as the second parameter 

If not, it will return a a Paws::AccessAnalyzer::ListAccessPreviewFindingsResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllAccessPreviews(sub { },AnalyzerArn => Str, [MaxResults => Int, NextToken => Str])

ListAllAccessPreviews(AnalyzerArn => Str, [MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - accessPreviews, passing the object as the first parameter, and the string 'accessPreviews' as the second parameter 

If not, it will return a a Paws::AccessAnalyzer::ListAccessPreviewsResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllAnalyzedResources(sub { },AnalyzerArn => Str, [MaxResults => Int, NextToken => Str, ResourceType => Str])

ListAllAnalyzedResources(AnalyzerArn => Str, [MaxResults => Int, NextToken => Str, ResourceType => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - analyzedResources, passing the object as the first parameter, and the string 'analyzedResources' as the second parameter 

If not, it will return a a Paws::AccessAnalyzer::ListAnalyzedResourcesResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllAnalyzers(sub { },[MaxResults => Int, NextToken => Str, Type => Str])

ListAllAnalyzers([MaxResults => Int, NextToken => Str, Type => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - analyzers, passing the object as the first parameter, and the string 'analyzers' as the second parameter 

If not, it will return a a Paws::AccessAnalyzer::ListAnalyzersResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllArchiveRules(sub { },AnalyzerName => Str, [MaxResults => Int, NextToken => Str])

ListAllArchiveRules(AnalyzerName => Str, [MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - archiveRules, passing the object as the first parameter, and the string 'archiveRules' as the second parameter 

If not, it will return a a Paws::AccessAnalyzer::ListArchiveRulesResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllFindings(sub { },AnalyzerArn => Str, [Filter => Paws::AccessAnalyzer::FilterCriteriaMap, MaxResults => Int, NextToken => Str, Sort => Paws::AccessAnalyzer::SortCriteria])

ListAllFindings(AnalyzerArn => Str, [Filter => Paws::AccessAnalyzer::FilterCriteriaMap, MaxResults => Int, NextToken => Str, Sort => Paws::AccessAnalyzer::SortCriteria])

If passed a sub as first parameter, it will call the sub for each element found in :

 - findings, passing the object as the first parameter, and the string 'findings' as the second parameter 

If not, it will return a a Paws::AccessAnalyzer::ListFindingsResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllPolicyGenerations(sub { },[MaxResults => Int, NextToken => Str, PrincipalArn => Str])

ListAllPolicyGenerations([MaxResults => Int, NextToken => Str, PrincipalArn => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - policyGenerations, passing the object as the first parameter, and the string 'policyGenerations' as the second parameter 

If not, it will return a a Paws::AccessAnalyzer::ListPolicyGenerationsResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ValidateAllPolicies(sub { },PolicyDocument => Str, PolicyType => Str, [Locale => Str, MaxResults => Int, NextToken => Str])

ValidateAllPolicies(PolicyDocument => Str, PolicyType => Str, [Locale => Str, MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - findings, passing the object as the first parameter, and the string 'findings' as the second parameter 

If not, it will return a a Paws::AccessAnalyzer::ValidatePolicyResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

SEE ALSO

This service class forms part of Paws

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues