UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

1,378 lines 114 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Securityagent = void 0; const shared_1 = require("../../shared"); /** * Statement provider for service [securityagent](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecurityagent.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ class Securityagent extends shared_1.PolicyStatement { /** * Grants permission to add an Artifact for the given Agent Space * * Access Level: Write * * https://docs.aws.amazon.com/securityagent/API_AddArtifact.html */ toAddArtifact() { return this.to('AddArtifact'); } /** * Grants permission to delete multiple code reviews in a single request * * Access Level: Write * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_BatchDeleteCodeReviews.html */ toBatchDeleteCodeReviews() { return this.to('BatchDeleteCodeReviews'); } /** * Grants permission to delete multiple penetration tests in a single request * * Access Level: Write * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_BatchDeletePentests.html */ toBatchDeletePentests() { return this.to('BatchDeletePentests'); } /** * Grants permission to delete multiple threat models in a single request * * Access Level: Write * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_BatchDeleteThreatModels.html */ toBatchDeleteThreatModels() { return this.to('BatchDeleteThreatModels'); } /** * Grants permission to delete multiple threats * * Access Level: Write * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_BatchDeleteThreats.html */ toBatchDeleteThreats() { return this.to('BatchDeleteThreats'); } /** * Grants permission to retrieve multiple agent spaces in a single request * * Access Level: Read * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_BatchGetAgentSpaces.html */ toBatchGetAgentSpaces() { return this.to('BatchGetAgentSpaces'); } /** * Grants permission to retrieve one or more Artifact Metadata records for the given Agent Space * * Access Level: Read * * https://docs.aws.amazon.com/securityagent/API_BatchGetArtifactMetadata.html */ toBatchGetArtifactMetadata() { return this.to('BatchGetArtifactMetadata'); } /** * Grants permission to retrieve multiple code review job tasks in a single request * * Access Level: Read * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_BatchGetCodeReviewJobTasks.html */ toBatchGetCodeReviewJobTasks() { return this.to('BatchGetCodeReviewJobTasks'); } /** * Grants permission to retrieve multiple code review jobs in a single request * * Access Level: Read * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_BatchGetCodeReviewJobs.html */ toBatchGetCodeReviewJobs() { return this.to('BatchGetCodeReviewJobs'); } /** * Grants permission to retrieve multiple code reviews in a single request * * Access Level: Read * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_BatchGetCodeReviews.html */ toBatchGetCodeReviews() { return this.to('BatchGetCodeReviews'); } /** * Grants permission to retrieve multiple security testing findings in a single request * * Access Level: Read * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_BatchGetFindings.html */ toBatchGetFindings() { return this.to('BatchGetFindings'); } /** * Grants permission to retrieve multiple pentest job contents metadata in a single request * * Access Level: Read * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_BatchGetPentestJobContentMetadata.html */ toBatchGetPentestJobContentMetadata() { return this.to('BatchGetPentestJobContentMetadata'); } /** * Grants permission to retrieve multiple pentest job tasks in a single request * * Access Level: Read * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_BatchGetPentestJobTasks.html */ toBatchGetPentestJobTasks() { return this.to('BatchGetPentestJobTasks'); } /** * Grants permission to retrieve multiple security testing jobs in a single request * * Access Level: Read * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_BatchGetPentestJobs.html */ toBatchGetPentestJobs() { return this.to('BatchGetPentestJobs'); } /** * Grants permission to retrieve multiple penetration tests in a single request * * Access Level: Read * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_BatchGetPentests.html */ toBatchGetPentests() { return this.to('BatchGetPentests'); } /** * Grants permission to retrieve multiple target domains in a single request * * Access Level: Read * * https://docs.aws.amazon.com/securityagent/API_BatchGetTargetDomains.html */ toBatchGetTargetDomains() { return this.to('BatchGetTargetDomains'); } /** * Grants permission to retrieve multiple tasks for a threat model job in a single request * * Access Level: Read * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_BatchGetThreatModelJobTasks.html */ toBatchGetThreatModelJobTasks() { return this.to('BatchGetThreatModelJobTasks'); } /** * Grants permission to retrieve details for one or more threat model jobs * * Access Level: Read * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_BatchGetThreatModelJobs.html */ toBatchGetThreatModelJobs() { return this.to('BatchGetThreatModelJobs'); } /** * Grants permission to retrieve multiple threat models in a single request * * Access Level: Read * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_BatchGetThreatModels.html */ toBatchGetThreatModels() { return this.to('BatchGetThreatModels'); } /** * Grants permission to retrieve details for one or more threats * * Access Level: Read * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_BatchGetThreats.html */ toBatchGetThreats() { return this.to('BatchGetThreats'); } /** * Grants permission to create an agent space record * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * Dependent actions: * - kms:Decrypt * - kms:DescribeKey * - kms:GenerateDataKeyWithoutPlaintext * * https://docs.aws.amazon.com/securityagent/API_CreateAgentSpace.html */ toCreateAgentSpace() { return this.to('CreateAgentSpace'); } /** * Grants permission to create a new application * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * Dependent actions: * - iam:PassRole * - kms:DescribeKey * - sso:CreateApplication * * https://docs.aws.amazon.com/securityagent/API_CreateApplication.html */ toCreateApplication() { return this.to('CreateApplication'); } /** * Grants permission to create a new code review configuration * * Access Level: Write * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_CreateCodeReview.html */ toCreateCodeReview() { return this.to('CreateCodeReview'); } /** * Grants permission to create a design review * * Access Level: Write * * https://docs.aws.amazon.com/securityagent/API_CreateDesignReview.html */ toCreateDesignReview() { return this.to('CreateDesignReview'); } /** * Grants permission to create a security testing integration * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/securityagent/API_CreateIntegration.html */ toCreateIntegration() { return this.to('CreateIntegration'); } /** * Grants permission to add a single member to a agent space with specified role * * Access Level: Write * * https://docs.aws.amazon.com/securityagent/API_CreateMembership.html */ toCreateMembership() { return this.to('CreateMembership'); } /** * Grants permission to create a one time login session * * Access Level: Write * * https://docs.aws.amazon.com/securityagent/API_CreateOneTimeLoginSession.html */ toCreateOneTimeLoginSession() { return this.to('CreateOneTimeLoginSession'); } /** * Grants permission to create a new penetration test configuration * * Access Level: Write * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_CreatePentest.html */ toCreatePentest() { return this.to('CreatePentest'); } /** * Grants permission to add a customer managed Security Requirement * * Access Level: Write * * https://docs.aws.amazon.com/securityagent/API_CreateSecurityRequirement.html */ toCreateSecurityRequirement() { return this.to('CreateSecurityRequirement'); } /** * Grants permission to create a target domain record * * Access Level: Write * * https://docs.aws.amazon.com/securityagent/API_CreateTargetDomain.html */ toCreateTargetDomain() { return this.to('CreateTargetDomain'); } /** * Grants permission to create a threat in a threat model * * Access Level: Write * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_CreateThreat.html */ toCreateThreat() { return this.to('CreateThreat'); } /** * Grants permission to create a new threat model configuration * * Access Level: Write * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_CreateThreatModel.html */ toCreateThreatModel() { return this.to('CreateThreatModel'); } /** * Grants permission to delete an agent space record * * Access Level: Write * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_DeleteAgentSpace.html */ toDeleteAgentSpace() { return this.to('DeleteAgentSpace'); } /** * Grants permission to delete application * * Access Level: Write * * https://docs.aws.amazon.com/securityagent/API_DeleteApplication.html */ toDeleteApplication() { return this.to('DeleteApplication'); } /** * Grants permission to delete an Artifact * * Access Level: Write * * https://docs.aws.amazon.com/securityagent/API_DeleteArtifact.html */ toDeleteArtifact() { return this.to('DeleteArtifact'); } /** * Grants permission to delete a design review * * Access Level: Write * * https://docs.aws.amazon.com/securityagent/API_DeleteDesignReview.html */ toDeleteDesignReview() { return this.to('DeleteDesignReview'); } /** * Grants permission to delete the integration of an application * * Access Level: Write * * https://docs.aws.amazon.com/securityagent/API_DeleteIntegration.html */ toDeleteIntegration() { return this.to('DeleteIntegration'); } /** * Grants permission to remove a single member associated to an agent space * * Access Level: Write * * https://docs.aws.amazon.com/securityagent/API_DeleteMembership.html */ toDeleteMembership() { return this.to('DeleteMembership'); } /** * Grants permission to delete a customer managed Security Requirement * * Access Level: Write * * https://docs.aws.amazon.com/securityagent/API_DeleteSecurityRequirement.html */ toDeleteSecurityRequirement() { return this.to('DeleteSecurityRequirement'); } /** * Grants permission to delete a target domain record * * Access Level: Write * * https://docs.aws.amazon.com/securityagent/API_DeleteTargetDomain.html */ toDeleteTargetDomain() { return this.to('DeleteTargetDomain'); } /** * Grants permission to get application details by application ID * * Access Level: Read * * https://docs.aws.amazon.com/securityagent/API_GetApplication.html */ toGetApplication() { return this.to('GetApplication'); } /** * Grants permission to retrieve an Artifact for the given Agent Space * * Access Level: Read * * https://docs.aws.amazon.com/securityagent/API_GetArtifact.html */ toGetArtifact() { return this.to('GetArtifact'); } /** * Grants permission to get the status of the associated agent space design review * * Access Level: Read * * https://docs.aws.amazon.com/securityagent/API_GetDesignReview.html */ toGetDesignReview() { return this.to('GetDesignReview'); } /** * Grants permission to get design review artifact for a specific document * * Access Level: Read * * https://docs.aws.amazon.com/securityagent/API_GetDesignReviewArtifact.html */ toGetDesignReviewArtifact() { return this.to('GetDesignReviewArtifact'); } /** * Grants permission to get feedback for a design review comment * * Access Level: Read * * https://docs.aws.amazon.com/securityagent/API_GetDesignReviewFeedback.html */ toGetDesignReviewFeedback() { return this.to('GetDesignReviewFeedback'); } /** * Grants permission to get the integration metadata by ID * * Access Level: Read * * https://docs.aws.amazon.com/securityagent/API_GetIntegration.html */ toGetIntegration() { return this.to('GetIntegration'); } /** * Grants permission to retrieve a Security Requirement * * Access Level: Read * * https://docs.aws.amazon.com/securityagent/API_GetSecurityRequirement.html */ toGetSecurityRequirement() { return this.to('GetSecurityRequirement'); } /** * Grants permission to initiate the registration of Security Agent App for the given provider (eg: GitHub) * * Access Level: Write * * https://docs.aws.amazon.com/securityagent/API_InitiateProviderRegistration.html */ toInitiateProviderRegistration() { return this.to('InitiateProviderRegistration'); } /** * Grants permission to list agent spaces * * Access Level: List * * https://docs.aws.amazon.com/securityagent/API_ListAgentSpaces.html */ toListAgentSpaces() { return this.to('ListAgentSpaces'); } /** * Grants permission to list all applications in the account * * Access Level: List * * https://docs.aws.amazon.com/securityagent/API_ListApplications.html */ toListApplications() { return this.to('ListApplications'); } /** * Grants permission to list all artifacts for the given agent space * * Access Level: List * * https://docs.aws.amazon.com/securityagent/API_ListArtifacts.html */ toListArtifacts() { return this.to('ListArtifacts'); } /** * Grants permission to list tasks associated with a code review job * * Access Level: List * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_ListCodeReviewJobTasks.html */ toListCodeReviewJobTasks() { return this.to('ListCodeReviewJobTasks'); } /** * Grants permission to list code review jobs associated with a code review * * Access Level: List * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_ListCodeReviewJobsForCodeReview.html */ toListCodeReviewJobsForCodeReview() { return this.to('ListCodeReviewJobsForCodeReview'); } /** * Grants permission to list code reviews with optional filtering by status * * Access Level: List * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_ListCodeReviews.html */ toListCodeReviews() { return this.to('ListCodeReviews'); } /** * Grants permission to list design review comments * * Access Level: List * * https://docs.aws.amazon.com/securityagent/API_ListDesignReviewComments.html */ toListDesignReviewComments() { return this.to('ListDesignReviewComments'); } /** * Grants permission to list all design reviews for the given agent space * * Access Level: List * * https://docs.aws.amazon.com/securityagent/API_ListDesignReviews.html */ toListDesignReviews() { return this.to('ListDesignReviews'); } /** * Grants permission to list discovered endpoints associated with a pentest job with optional URI prefix filtering * * Access Level: List * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_ListDiscoveredEndpoints.html */ toListDiscoveredEndpoints() { return this.to('ListDiscoveredEndpoints'); } /** * Grants permission to list findings with filtering and pagination support * * Access Level: List * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_ListFindings.html */ toListFindings() { return this.to('ListFindings'); } /** * Grants permission to list integrated resources for an agent space * * Access Level: List * * https://docs.aws.amazon.com/securityagent/API_ListIntegratedResources.html */ toListIntegratedResources() { return this.to('ListIntegratedResources'); } /** * Grants permission to get the integrations owned by the caller's AWS account * * Access Level: List * * https://docs.aws.amazon.com/securityagent/API_ListIntegrations.html */ toListIntegrations() { return this.to('ListIntegrations'); } /** * Grants permission to list all members associated to an agent space with pagination support * * Access Level: List * * https://docs.aws.amazon.com/securityagent/API_ListMemberships.html */ toListMemberships() { return this.to('ListMemberships'); } /** * Grants permission to list pentest job tasks associated with a pentest job * * Access Level: List * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_ListPentestJobTasks.html */ toListPentestJobTasks() { return this.to('ListPentestJobTasks'); } /** * Grants permission to list penetration test jobs associated with a penetration test * * Access Level: List * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_ListPentestJobsForPentest.html */ toListPentestJobsForPentest() { return this.to('ListPentestJobsForPentest'); } /** * Grants permission to list penetration tests with optional filtering by status * * Access Level: List * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_ListPentests.html */ toListPentests() { return this.to('ListPentests'); } /** * Grants permission to list resources from Integration * * Access Level: List * * https://docs.aws.amazon.com/securityagent/API_ListResourcesFromIntegration.html */ toListResourcesFromIntegration() { return this.to('ListResourcesFromIntegration'); } /** * Grants permission to list all Security Requirements * * Access Level: List * * https://docs.aws.amazon.com/securityagent/API_ListSecurityRequirements.html */ toListSecurityRequirements() { return this.to('ListSecurityRequirements'); } /** * Grants permission to list the tags for a resource * * Access Level: Read * * https://docs.aws.amazon.com/securityagent/API_ListTagsForResource.html */ toListTagsForResource() { return this.to('ListTagsForResource'); } /** * Grants permission to list target domains * * Access Level: List * * https://docs.aws.amazon.com/securityagent/API_ListTargetDomains.html */ toListTargetDomains() { return this.to('ListTargetDomains'); } /** * Grants permission to list tasks associated with a specific threat model job * * Access Level: List * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_ListThreatModelJobTasks.html */ toListThreatModelJobTasks() { return this.to('ListThreatModelJobTasks'); } /** * Grants permission to list threat model jobs for a threat model * * Access Level: List * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_ListThreatModelJobs.html */ toListThreatModelJobs() { return this.to('ListThreatModelJobs'); } /** * Grants permission to list threat models for an agent space * * Access Level: List * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_ListThreatModels.html */ toListThreatModels() { return this.to('ListThreatModels'); } /** * Grants permission to list threats for a threat model job with filtering and pagination support * * Access Level: List * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_ListThreats.html */ toListThreats() { return this.to('ListThreats'); } /** * Grants permission to submit feedback for a design review comment * * Access Level: Write * * https://docs.aws.amazon.com/securityagent/API_PutDesignReviewFeedback.html */ toPutDesignReviewFeedback() { return this.to('PutDesignReviewFeedback'); } /** * Grants permission to start code remediation for the findings * * Access Level: Write * * Dependent actions: * - kms:Decrypt * - kms:GenerateDataKey * * https://docs.aws.amazon.com/securityagent/API_StartCodeRemediation.html */ toStartCodeRemediation() { return this.to('StartCodeRemediation'); } /** * Grants permission to initiate the execution of a code review * * Access Level: Write * * Dependent actions: * - kms:Decrypt * - kms:GenerateDataKey * * https://docs.aws.amazon.com/securityagent/API_StartCodeReviewJob.html */ toStartCodeReviewJob() { return this.to('StartCodeReviewJob'); } /** * Grants permission to initiate the execution of a penetration test * * Access Level: Write * * Dependent actions: * - kms:Decrypt * - kms:GenerateDataKey * * https://docs.aws.amazon.com/securityagent/API_StartPentestJob.html */ toStartPentestJob() { return this.to('StartPentestJob'); } /** * Grants permission to initiate the execution of a threat model job * * Access Level: Write * * Dependent actions: * - kms:Decrypt * - kms:GenerateDataKey * * https://docs.aws.amazon.com/securityagent/API_StartThreatModelJob.html */ toStartThreatModelJob() { return this.to('StartThreatModelJob'); } /** * Grants permission to stop the execution of a running code review * * Access Level: Write * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_StopCodeReviewJob.html */ toStopCodeReviewJob() { return this.to('StopCodeReviewJob'); } /** * Grants permission to stop the execution of a running penetration test * * Access Level: Write * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_StopPentestJob.html */ toStopPentestJob() { return this.to('StopPentestJob'); } /** * Grants permission to stop a running threat model job * * Access Level: Write * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_StopThreatModelJob.html */ toStopThreatModelJob() { return this.to('StopThreatModelJob'); } /** * Grants permission to add tags to a resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/securityagent/API_TagResource.html */ toTagResource() { return this.to('TagResource'); } /** * Grants permission to toggle the status of a managed Security Requirement * * Access Level: Write * * https://docs.aws.amazon.com/securityagent/API_ToggleManagedSecurityRequirement.html */ toToggleManagedSecurityRequirement() { return this.to('ToggleManagedSecurityRequirement'); } /** * Grants permission to remove tags from a resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/securityagent/API_UntagResource.html */ toUntagResource() { return this.to('UntagResource'); } /** * Grants permission to update an agent space record * * Access Level: Write * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_UpdateAgentSpace.html */ toUpdateAgentSpace() { return this.to('UpdateAgentSpace'); } /** * Grants permission to update application configuration * * Access Level: Write * * Dependent actions: * - iam:PassRole * - kms:DescribeKey * * https://docs.aws.amazon.com/securityagent/API_UpdateApplication.html */ toUpdateApplication() { return this.to('UpdateApplication'); } /** * Grants permission to update an existing code review with new configuration or settings * * Access Level: Write * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_UpdateCodeReview.html */ toUpdateCodeReview() { return this.to('UpdateCodeReview'); } /** * Grants permission to update an existing security finding with new details or status * * Access Level: Write * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_UpdateFinding.html */ toUpdateFinding() { return this.to('UpdateFinding'); } /** * Grants permission to update integrated resources for an agent space * * Access Level: Write * * https://docs.aws.amazon.com/securityagent/API_UpdateIntegratedResources.html */ toUpdateIntegratedResources() { return this.to('UpdateIntegratedResources'); } /** * Grants permission to update an existing penetration test with new configuration or settings * * Access Level: Write * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_UpdatePentest.html */ toUpdatePentest() { return this.to('UpdatePentest'); } /** * Grants permission to update a customer managed Security Requirement * * Access Level: Write * * https://docs.aws.amazon.com/securityagent/API_UpdateSecurityRequirement.html */ toUpdateSecurityRequirement() { return this.to('UpdateSecurityRequirement'); } /** * Grants permission to update a target domain record * * Access Level: Write * * https://docs.aws.amazon.com/securityagent/API_UpdateTargetDomain.html */ toUpdateTargetDomain() { return this.to('UpdateTargetDomain'); } /** * Grants permission to update a threat * * Access Level: Write * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_UpdateThreat.html */ toUpdateThreat() { return this.to('UpdateThreat'); } /** * Grants permission to update an existing threat model with new configuration * * Access Level: Write * * Dependent actions: * - kms:Decrypt * * https://docs.aws.amazon.com/securityagent/API_UpdateThreatModel.html */ toUpdateThreatModel() { return this.to('UpdateThreatModel'); } /** * Grants permission to verify ownership for a registered target domain * * Access Level: Write * * https://docs.aws.amazon.com/securityagent/API_VerifyTargetDomain.html */ toVerifyTargetDomain() { return this.to('VerifyTargetDomain'); } /** * Adds a resource of type Application to the statement * * https://docs.aws.amazon.com/securityagent/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats * * @param applicationId - Identifier for the applicationId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onApplication(applicationId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:securityagent:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:application/${applicationId}`); } /** * Adds a resource of type SecurityRequirementPack to the statement * * https://docs.aws.amazon.com/securityagent/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats * * @param securityRequirementPackId - Identifier for the securityRequirementPackId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onSecurityRequirementPack(securityRequirementPackId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:securityagent:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:security-requirement-pack/${securityRequirementPackId}`); } /** * Adds a resource of type Integration to the statement * * https://docs.aws.amazon.com/securityagent/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats * * @param integrationId - Identifier for the integrationId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onIntegration(integrationId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:securityagent:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:integration/${integrationId}`); } /** * Adds a resource of type AgentSpace to the statement * * https://docs.aws.amazon.com/securityagent/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats * * @param agentId - Identifier for the agentId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onAgentSpace(agentId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:securityagent:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:agent-space/${agentId}`); } /** * Adds a resource of type TargetDomain to the statement * * https://docs.aws.amazon.com/securityagent/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats * * @param targetDomainId - Identifier for the targetDomainId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onTargetDomain(targetDomainId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:securityagent:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:target-domain/${targetDomainId}`); } /** * Filters access by the tags that are passed in the request * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag * * Applies to actions: * - .toCreateAgentSpace() * - .toCreateApplication() * - .toCreateIntegration() * - .toTagResource() * * @param tagKey The tag key to check * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsRequestTag(tagKey, value, operator) { return this.if(`aws:RequestTag/${tagKey}`, value, operator ?? 'StringLike'); } /** * Filters access by the tags associated with the resource * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag * * Applies to resource types: * - Application * - SecurityRequirementPack * - Integration * - AgentSpace * - TargetDomain * * @param tagKey The tag key to check * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsResourceTag(tagKey, value, operator) { return this.if(`aws:ResourceTag/${tagKey}`, value, operator ?? 'StringLike'); } /** * Filters access by the tag keys that are passed in the request * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys * * Applies to actions: * - .toCreateAgentSpace() * - .toCreateApplication() * - .toCreateIntegration() * - .toTagResource() * - .toUntagResource() * * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsTagKeys(value, operator) { return this.if(`aws:TagKeys`, value, operator ?? 'StringLike'); } /** * Statement provider for service [securityagent](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecurityagent.html). * */ constructor(props) { super(props); this.servicePrefix = 'securityagent'; this.accessLevelList = { Write: [ 'AddArtifact', 'BatchDeleteCodeReviews', 'BatchDeletePentests', 'BatchDeleteThreatModels', 'BatchDeleteThreats', 'CreateAgentSpace', 'CreateApplication', 'CreateCodeReview', 'CreateDesignReview', 'CreateIntegration', 'CreateMembership', 'CreateOneTimeLoginSession', 'CreatePentest', 'CreateSecurityRequirement', 'CreateTargetDomain', 'CreateThreat', 'CreateThreatModel', 'DeleteAgentSpace', 'DeleteApplication', 'DeleteArtifact', 'DeleteDesignReview', 'DeleteIntegration', 'DeleteMembership', 'DeleteSecurityRequirement', 'DeleteTargetDomain', 'InitiateProviderRegistration', 'PutDesignReviewFeedback', 'StartCodeRemediation', 'StartCodeReviewJob', 'StartPentestJob', 'StartThreatModelJob', 'StopCodeReviewJob', 'StopPentestJob', 'StopThreatModelJob', 'ToggleManagedSecurityRequirement', 'UpdateAgentSpace', 'UpdateApplication', 'UpdateCodeReview', 'UpdateFinding', 'UpdateIntegratedResources', 'UpdatePentest', 'UpdateSecurityRequirement', 'UpdateTargetDomain', 'UpdateThreat', 'UpdateThreatModel', 'VerifyTargetDomain' ], Read: [ 'BatchGetAgentSpaces', 'BatchGetArtifactMetadata', 'BatchGetCodeReviewJobTasks', 'BatchGetCodeReviewJobs', 'BatchGetCodeReviews', 'BatchGetFindings', 'BatchGetPentestJobContentMetadata', 'BatchGetPentestJobTasks', 'BatchGetPentestJobs', 'BatchGetPentests', 'BatchGetTargetDomains', 'BatchGetThreatModelJobTasks', 'BatchGetThreatModelJobs', 'BatchGetThreatModels', 'BatchGetThreats', 'GetApplication', 'GetArtifact', 'GetDesignReview', 'GetDesignReviewArtifact', 'GetDesignReviewFeedback', 'GetIntegration', 'GetSecurityRequirement', 'ListTagsForResource' ], List: [ 'ListAgentSpaces', 'ListApplications', 'ListArtifacts', 'ListCodeReviewJobTasks', 'ListCodeReviewJobsForCodeReview', 'ListCodeReviews', 'ListDesignReviewComments', 'ListDesignReviews', 'ListDiscoveredEndpoints', 'ListFindings', 'ListIntegratedResources', 'ListIntegrations', 'ListMemberships', 'ListPentestJobTasks', 'ListPentestJobsForPentest', 'ListPentests', 'ListResourcesFromIntegration', 'ListSecurityRequirements', 'ListTargetDomains', 'ListThreatModelJobTasks', 'ListThreatModelJobs', 'ListThreatModels', 'ListThreats' ], Tagging: [ 'TagResource', 'UntagResource' ] }; } } exports.Securityagent = Securityagent; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHlhZ2VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNlY3VyaXR5YWdlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseUNBQXlEO0FBR3pEOzs7O0dBSUc7QUFDSCxNQUFhLGFBQWMsU0FBUSx3QkFBZTtJQUdoRDs7Ozs7O09BTUc7SUFDSSxhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksd0JBQXdCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxxQkFBcUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLHlCQUF5QjtRQUM5QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksb0JBQW9CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxxQkFBcUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLDBCQUEwQjtRQUMvQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksNEJBQTRCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSx3QkFBd0I7UUFD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