Amazon IAM Access Analyzer Access Preview API

The Access Preview API from Amazon IAM Access Analyzer — 3 operation(s) for access preview.

OpenAPI Specification

amazon-iam-access-analyzer-access-preview-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 2019-11-01
  x-release: v4
  title: 'Access Analyzer #analyzerArn Access Preview API'
  description: <p>Identity and Access Management 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 Amazon Web Services environment. An external principal can be another Amazon Web Services account, a root user, an IAM user or role, a federated user, an Amazon Web Services service, or an anonymous user. You can also use IAM Access Analyzer to preview and validate public and cross-account access to your resources before deploying permissions changes. This guide describes the Identity and Access Management Access Analyzer operations that you can call programmatically. For general information about IAM Access Analyzer, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html">Identity and Access Management Access Analyzer</a> in the <b>IAM User Guide</b>.</p> <p>To start using IAM Access Analyzer, you first need to create an analyzer.</p>
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png
    backgroundColor: '#FFFFFF'
  termsOfService: https://aws.amazon.com/service-terms/
  contact:
    name: Mike Ralphson
    email: mike.ralphson@gmail.com
    url: https://github.com/mermade/aws2openapi
    x-twitter: PermittedSoc
  license:
    name: Apache 2.0 License
    url: http://www.apache.org/licenses/
  x-providerName: amazonaws.com
  x-serviceName: accessanalyzer
  x-aws-signingName: access-analyzer
  x-origin:
  - contentType: application/json
    url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/accessanalyzer-2019-11-01.normal.json
    converter:
      url: https://github.com/mermade/aws2openapi
      version: 1.0.0
    x-apisguru-driver: external
  x-apiClientRegistration:
    url: https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct
  x-apisguru-categories:
  - cloud
  x-preferred: true
servers:
- url: http://access-analyzer.{region}.amazonaws.com
  variables:
    region:
      description: The AWS region
      enum:
      - us-east-1
      - us-east-2
      - us-west-1
      - us-west-2
      - us-gov-west-1
      - us-gov-east-1
      - ca-central-1
      - eu-north-1
      - eu-west-1
      - eu-west-2
      - eu-west-3
      - eu-central-1
      - eu-south-1
      - af-south-1
      - ap-northeast-1
      - ap-northeast-2
      - ap-northeast-3
      - ap-southeast-1
      - ap-southeast-2
      - ap-east-1
      - ap-south-1
      - sa-east-1
      - me-south-1
      default: us-east-1
  description: The Access Analyzer multi-region endpoint
- url: https://access-analyzer.{region}.amazonaws.com
  variables:
    region:
      description: The AWS region
      enum:
      - us-east-1
      - us-east-2
      - us-west-1
      - us-west-2
      - us-gov-west-1
      - us-gov-east-1
      - ca-central-1
      - eu-north-1
      - eu-west-1
      - eu-west-2
      - eu-west-3
      - eu-central-1
      - eu-south-1
      - af-south-1
      - ap-northeast-1
      - ap-northeast-2
      - ap-northeast-3
      - ap-southeast-1
      - ap-southeast-2
      - ap-east-1
      - ap-south-1
      - sa-east-1
      - me-south-1
      default: us-east-1
  description: The Access Analyzer multi-region endpoint
- url: http://access-analyzer.{region}.amazonaws.com.cn
  variables:
    region:
      description: The AWS region
      enum:
      - cn-north-1
      - cn-northwest-1
      default: cn-north-1
  description: The Access Analyzer endpoint for China (Beijing) and China (Ningxia)
- url: https://access-analyzer.{region}.amazonaws.com.cn
  variables:
    region:
      description: The AWS region
      enum:
      - cn-north-1
      - cn-northwest-1
      default: cn-north-1
  description: The Access Analyzer endpoint for China (Beijing) and China (Ningxia)
security:
- hmac: []
tags:
- name: Access Preview
paths:
  /access-preview:
    parameters:
    - $ref: '#/components/parameters/X-Amz-Content-Sha256'
    - $ref: '#/components/parameters/X-Amz-Date'
    - $ref: '#/components/parameters/X-Amz-Algorithm'
    - $ref: '#/components/parameters/X-Amz-Credential'
    - $ref: '#/components/parameters/X-Amz-Security-Token'
    - $ref: '#/components/parameters/X-Amz-Signature'
    - $ref: '#/components/parameters/X-Amz-SignedHeaders'
    put:
      operationId: CreateAccessPreview
      description: Creates an access preview that allows you to preview IAM Access Analyzer findings for your resource before deploying resource permissions.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAccessPreviewResponse'
        '480':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '481':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
        '482':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
        '483':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '484':
          description: ServiceQuotaExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceQuotaExceededException'
        '485':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '486':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - analyzerArn
              - configurations
              properties:
                analyzerArn:
                  description: The <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources">ARN of the account analyzer</a> used to generate the access preview. You can only create an access preview for analyzers with an <code>Account</code> type and <code>Active</code> status.
                  type: string
                  pattern: '[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:analyzer/.{1,255}'
                configurations:
                  description: Access control configuration for your resource that is used to generate the access preview. The access preview includes findings for external access allowed to the resource with the proposed access control configuration. The configuration must contain exactly one element.
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/Configuration'
                clientToken:
                  description: A client token.
                  type: string
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      summary: Amazon IAM Access Analyzer Create Access Preview
      tags:
      - Access Preview
  /access-preview/{accessPreviewId}#analyzerArn:
    parameters:
    - $ref: '#/components/parameters/X-Amz-Content-Sha256'
    - $ref: '#/components/parameters/X-Amz-Date'
    - $ref: '#/components/parameters/X-Amz-Algorithm'
    - $ref: '#/components/parameters/X-Amz-Credential'
    - $ref: '#/components/parameters/X-Amz-Security-Token'
    - $ref: '#/components/parameters/X-Amz-Signature'
    - $ref: '#/components/parameters/X-Amz-SignedHeaders'
    get:
      operationId: GetAccessPreview
      description: Retrieves information about an access preview for the specified analyzer.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAccessPreviewResponse'
        '480':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '481':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
        '482':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '483':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '484':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
      parameters:
      - name: accessPreviewId
        in: path
        required: true
        description: The unique ID for the access preview.
        schema:
          type: string
          pattern: '[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}'
      - name: analyzerArn
        in: query
        required: true
        description: The <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources">ARN of the analyzer</a> used to generate the access preview.
        schema:
          type: string
          pattern: '[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:analyzer/.{1,255}'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      summary: Amazon IAM Access Analyzer Get Access Preview
      tags:
      - Access Preview
  /access-preview/{accessPreviewId}:
    parameters:
    - $ref: '#/components/parameters/X-Amz-Content-Sha256'
    - $ref: '#/components/parameters/X-Amz-Date'
    - $ref: '#/components/parameters/X-Amz-Algorithm'
    - $ref: '#/components/parameters/X-Amz-Credential'
    - $ref: '#/components/parameters/X-Amz-Security-Token'
    - $ref: '#/components/parameters/X-Amz-Signature'
    - $ref: '#/components/parameters/X-Amz-SignedHeaders'
    post:
      operationId: ListAccessPreviewFindings
      description: Retrieves a list of access preview findings generated by the specified access preview.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAccessPreviewFindingsResponse'
        '480':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '481':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
        '482':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
        '483':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '484':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '485':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
      parameters:
      - name: accessPreviewId
        in: path
        required: true
        description: The unique ID for the access preview.
        schema:
          type: string
          pattern: '[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}'
      - name: maxResults
        in: query
        schema:
          type: string
        description: Pagination limit
        required: false
      - name: nextToken
        in: query
        schema:
          type: string
        description: Pagination token
        required: false
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - analyzerArn
              properties:
                analyzerArn:
                  description: The <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources">ARN of the analyzer</a> used to generate the access.
                  type: string
                  pattern: '[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:analyzer/.{1,255}'
                filter:
                  description: Criteria to filter the returned findings.
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/Criterion'
                nextToken:
                  description: A token used for pagination of results returned.
                  type: string
                maxResults:
                  description: The maximum number of results to return in the response.
                  type: integer
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      summary: Amazon IAM Access Analyzer List Access Preview Findings
      tags:
      - Access Preview
components:
  schemas:
    KmsConstraintsMap:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/KmsConstraintsValue'
    String:
      type: string
    AclPermission:
      type: string
      enum:
      - READ
      - WRITE
      - READ_ACP
      - WRITE_ACP
      - FULL_CONTROL
    GetAccessPreviewResponse:
      type: object
      required:
      - accessPreview
      properties:
        accessPreview:
          allOf:
          - $ref: '#/components/schemas/AccessPreview'
          - description: An object that contains information about the access preview.
    EbsSnapshotDataEncryptionKeyId:
      type: string
    RdsDbSnapshotKmsKeyId:
      type: string
    ResourceType:
      type: string
      enum:
      - AWS::S3::Bucket
      - AWS::IAM::Role
      - AWS::SQS::Queue
      - AWS::Lambda::Function
      - AWS::Lambda::LayerVersion
      - AWS::KMS::Key
      - AWS::SecretsManager::Secret
      - AWS::EFS::FileSystem
      - AWS::EC2::Snapshot
      - AWS::ECR::Repository
      - AWS::RDS::DBSnapshot
      - AWS::RDS::DBClusterSnapshot
      - AWS::SNS::Topic
    ListAccessPreviewFindingsResponse:
      type: object
      required:
      - findings
      properties:
        findings:
          allOf:
          - $ref: '#/components/schemas/AccessPreviewFindingsList'
          - description: A list of access preview findings that match the specified filter criteria.
        nextToken:
          allOf:
          - $ref: '#/components/schemas/Token'
          - description: A token used for pagination of results returned.
    AccessPointPolicy:
      type: string
    AnalyzerArn:
      type: string
      pattern: '[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:analyzer/.{1,255}'
    InternetConfiguration:
      type: object
      properties: {}
      description: This configuration sets the network origin for the Amazon S3 access point or multi-region access point to <code>Internet</code>.
    RetiringPrincipal:
      type: string
    EcrRepositoryConfiguration:
      type: object
      properties:
        repositoryPolicy:
          allOf:
          - $ref: '#/components/schemas/EcrRepositoryPolicy'
          - description: The JSON repository policy text to apply to the Amazon ECR repository. For more information, see <a href="https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-policy-examples.html">Private repository policy examples</a> in the <i>Amazon ECR User Guide</i>.
      description: <p>The proposed access control configuration for an Amazon ECR repository. You can propose a configuration for a new Amazon ECR repository or an existing Amazon ECR repository that you own by specifying the Amazon ECR policy. For more information, see <a href="https://docs.aws.amazon.com/AmazonECR/latest/APIReference/API_Repository.html">Repository</a>.</p> <ul> <li> <p>If the configuration is for an existing Amazon ECR repository and you do not specify the Amazon ECR policy, then the access preview uses the existing Amazon ECR policy for the repository.</p> </li> <li> <p>If the access preview is for a new resource and you do not specify the policy, then the access preview assumes an Amazon ECR repository without a policy.</p> </li> <li> <p>To propose deletion of an existing Amazon ECR repository policy, you can specify an empty string for the Amazon ECR policy.</p> </li> </ul>
    ResourceNotFoundException: {}
    FindingId:
      type: string
    Timestamp:
      type: string
      format: date-time
    SnsTopicConfiguration:
      type: object
      properties:
        topicPolicy:
          allOf:
          - $ref: '#/components/schemas/SnsTopicPolicy'
          - description: The JSON policy text that defines who can access an Amazon SNS topic. For more information, see <a href="https://docs.aws.amazon.com/sns/latest/dg/sns-access-policy-use-cases.html">Example cases for Amazon SNS access control</a> in the <i>Amazon SNS Developer Guide</i>.
      description: The proposed access control configuration for an Amazon SNS topic. You can propose a configuration for a new Amazon SNS topic or an existing Amazon SNS topic that you own by specifying the policy. If the configuration is for an existing Amazon SNS topic and you do not specify the Amazon SNS policy, then the access preview uses the existing Amazon SNS policy for the topic. If the access preview is for a new resource and you do not specify the policy, then the access preview assumes an Amazon SNS topic without a policy. To propose deletion of an existing Amazon SNS topic policy, you can specify an empty string for the Amazon SNS policy. For more information, see <a href="https://docs.aws.amazon.com/sns/latest/api/API_Topic.html">Topic</a>.
    S3AccessPointConfigurationsMap:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/S3AccessPointConfiguration'
    EbsUserIdList:
      type: array
      items:
        $ref: '#/components/schemas/EbsUserId'
    S3BucketAclGrantConfigurationsList:
      type: array
      items:
        $ref: '#/components/schemas/S3BucketAclGrantConfiguration'
    AccessPreviewFinding:
      type: object
      required:
      - id
      - resourceType
      - createdAt
      - changeType
      - status
      - resourceOwnerAccount
      properties:
        id:
          allOf:
          - $ref: '#/components/schemas/AccessPreviewFindingId'
          - description: The ID of the access preview finding. This ID uniquely identifies the element in the list of access preview findings and is not related to the finding ID in Access Analyzer.
        existingFindingId:
          allOf:
          - $ref: '#/components/schemas/FindingId'
          - description: The existing ID of the finding in IAM Access Analyzer, provided only for existing findings.
        existingFindingStatus:
          allOf:
          - $ref: '#/components/schemas/FindingStatus'
          - description: The existing status of the finding, provided only for existing findings.
        principal:
          allOf:
          - $ref: '#/components/schemas/PrincipalMap'
          - description: The external principal that has access to a resource within the zone of trust.
        action:
          allOf:
          - $ref: '#/components/schemas/ActionList'
          - description: The action in the analyzed policy statement that an external principal has permission to perform.
        condition:
          allOf:
          - $ref: '#/components/schemas/ConditionKeyMap'
          - description: The condition in the analyzed policy statement that resulted in a finding.
        resource:
          allOf:
          - $ref: '#/components/schemas/String'
          - description: The resource that an external principal has access to. This is the resource associated with the access preview.
        isPublic:
          allOf:
          - $ref: '#/components/schemas/Boolean'
          - description: Indicates whether the policy that generated the finding allows public access to the resource.
        resourceType:
          allOf:
          - $ref: '#/components/schemas/ResourceType'
          - description: The type of the resource that can be accessed in the finding.
        createdAt:
          allOf:
          - $ref: '#/components/schemas/Timestamp'
          - description: The time at which the access preview finding was created.
        changeType:
          allOf:
          - $ref: '#/components/schemas/FindingChangeType'
          - description: <p>Provides context on how the access preview finding compares to existing access identified in IAM Access Analyzer.</p> <ul> <li> <p> <code>New</code> - The finding is for newly-introduced access.</p> </li> <li> <p> <code>Unchanged</code> - The preview finding is an existing finding that would remain unchanged.</p> </li> <li> <p> <code>Changed</code> - The preview finding is an existing finding with a change in status.</p> </li> </ul> <p>For example, a <code>Changed</code> finding with preview status <code>Resolved</code> and existing status <code>Active</code> indicates the existing <code>Active</code> finding would become <code>Resolved</code> as a result of the proposed permissions change.</p>
        status:
          allOf:
          - $ref: '#/components/schemas/FindingStatus'
          - description: The preview status of the finding. This is what the status of the finding would be after permissions deployment. For example, a <code>Changed</code> finding with preview status <code>Resolved</code> and existing status <code>Active</code> indicates the existing <code>Active</code> finding would become <code>Resolved</code> as a result of the proposed permissions change.
        resourceOwnerAccount:
          allOf:
          - $ref: '#/components/schemas/String'
          - description: The Amazon Web Services account ID that owns the resource. For most Amazon Web Services resources, the owning account is the account in which the resource was created.
        error:
          allOf:
          - $ref: '#/components/schemas/String'
          - description: An error.
        sources:
          allOf:
          - $ref: '#/components/schemas/FindingSourceList'
          - description: The sources of the finding. This indicates how the access that generated the finding is granted. It is populated for Amazon S3 bucket findings.
      description: An access preview finding generated by the access preview.
    ConditionKeyMap:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/String'
    SecretsManagerSecretKmsId:
      type: string
    NetworkOriginConfiguration:
      type: object
      properties:
        vpcConfiguration:
          $ref: '#/components/schemas/VpcConfiguration'
        internetConfiguration:
          allOf:
          - $ref: '#/components/schemas/InternetConfiguration'
          - description: The configuration for the Amazon S3 access point or multi-region access point with an <code>Internet</code> origin.
      description: The proposed <code>InternetConfiguration</code> or <code>VpcConfiguration</code> to apply to the Amazon S3 access point. <code>VpcConfiguration</code> does not apply to multi-region access points. You can make the access point accessible from the internet, or you can specify that all requests made through that access point must originate from a specific virtual private cloud (VPC). You can specify only one type of network configuration. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/creating-access-points.html">Creating access points</a>.
    Token:
      type: string
    KmsGrantConfiguration:
      type: object
      required:
      - operations
      - granteePrincipal
      - issuingAccount
      properties:
        operations:
          allOf:
          - $ref: '#/components/schemas/KmsGrantOperationsList'
          - description: A list of operations that the grant permits.
        granteePrincipal:
          allOf:
          - $ref: '#/components/schemas/GranteePrincipal'
          - description: The principal that is given permission to perform the operations that the grant permits.
        retiringPrincipal:
          allOf:
          - $ref: '#/components/schemas/RetiringPrincipal'
          - description: The principal that is given permission to retire the grant by using <a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_RetireGrant.html">RetireGrant</a> operation.
        constraints:
          allOf:
          - $ref: '#/components/schemas/KmsGrantConstraints'
          - description: Use this structure to propose allowing <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations">cryptographic operations</a> in the grant only when the operation request includes the specified <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context">encryption context</a>.
        issuingAccount:
          allOf:
          - $ref: '#/components/schemas/IssuingAccount'
          - description: ' The Amazon Web Services account under which the grant was issued. The account is used to propose KMS grants issued by accounts other than the owner of the key.'
      description: A proposed grant configuration for a KMS key. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html">CreateGrant</a>.
    S3BucketAclGrantConfiguration:
      type: object
      required:
      - permission
      - grantee
      properties:
        permission:
          allOf:
          - $ref: '#/components/schemas/AclPermission'
          - description: The permissions being granted.
        grantee:
          allOf:
          - $ref: '#/components/schemas/AclGrantee'
          - description: The grantee to whom you’re assigning access rights.
      description: A proposed access control list grant configuration for an Amazon S3 bucket. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#setting-acls">How to Specify an ACL</a>.
    IamTrustPolicy:
      type: string
    AccessPreviewStatusReason:
      type: object
      required:
      - code
      properties:
        code:
          allOf:
          - $ref: '#/components/schemas/AccessPreviewStatusReasonCode'
          - description: The reason code for the current status of the access preview.
      description: Provides more details about the current status of the access preview. For example, if the creation of the access preview fails, a <code>Failed</code> status is returned. This failure can be due to an internal issue with the analysis or due to an invalid proposed resource configuration.
    RdsDbSnapshotAccountId:
      type: string
    ConflictException: {}
    AccessPreviewFindingsList:
      type: array
      items:
        $ref: '#/components/schemas/AccessPreviewFinding'
    VpcConfiguration:
      type: object
      required:
      - vpcId
      properties:
        vpcId:
          allOf:
          - $ref: '#/components/schemas/VpcId'
          - description: ' If this field is specified, this access point will only allow connections from the specified VPC ID. '
      description: 'The proposed virtual private cloud (VPC) configuration for the Amazon S3 access point. VPC configuration does not apply to multi-region access points. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_VpcConfiguration.html">VpcConfiguration</a>. '
    RdsDbSnapshotAttributesMap:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/RdsDbSnapshotAttributeValue'
    KmsGrantConstraints:
      type: object
      properties:
        encryptionContextEquals:
          allOf:
          - $ref: '#/components/schemas/KmsConstraintsMap'
          - description: A list of key-value pairs that must match the encryption context in the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations">cryptographic operation</a> request. The grant allows the operation only when the encryption context in the request is the same as the encryption context specified in this constraint.
        encryptionContextSubset:
          allOf:
          - $ref: '#/components/schemas/KmsConstraintsMap'
          - description: A list of key-value pairs that must be included in the encryption context of the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations">cryptographic operation</a> request. The grant allows the cryptographic operation only when the encryption context in the request includes the key-value pairs specified in this constraint, although it can include additional key-value pairs.
      description: Use this structure to propose allowing <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations">cryptographic operations</a> in the grant only when the operation request includes the specified <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context">encryption context</a>. You can specify only one type of encryption context. An empty map is treated as not specified. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_GrantConstraints.html">GrantConstraints</a>.
    IamRoleConfiguration:
      type: object
      properties:
        trustPolicy:
          allOf:
          - $ref: '#/components/schemas/IamTrustPolicy'
          - description: The proposed trust policy for the IAM role.
      description: The proposed access control configuration for an IAM role. You can propose a configuration for a new IAM role or an existing IAM role that you own by specifying the trust policy. If the configuration is for a new IAM role, you must specify the trust policy. If the configuration is for an existing IAM role that you own and you do not propose the trust policy, the access preview uses the existing trust policy for the role. The proposed trust policy cannot be an empty string. For more information about role trust policy limits, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html">IAM and STS quotas</a>.
    Configuration:
      type: object
      properties:
        ebsSnapshot:
          allOf:
          - $ref: '#/components/schemas/EbsSnapshotConfiguration'
          - description: The access control configuration is for an Amazon EBS volume snapshot.
        ecrRepository:
          allOf:
          - $ref: '#/components/schemas/EcrRepositoryConfiguration'
          - description: The access control configuration is for an Amazon ECR repository.
        iamRole:
          allOf:
          - $ref: '#/components/schemas/IamRoleConfiguration'
          - description: 'The access control configuration is for an IAM role. '
        efsFileSystem:
          allOf:
          - $ref: '#/components/schemas/EfsFileSystemConfiguration'
          - description: The access control configuration is for an Amazon EFS file system.
        kmsKey:
          allOf:
          - $ref: '#/components/schemas/KmsKeyConfiguration'
          - description: 'The access control configuration is for a KMS key. '
        rdsDbClusterSnapshot:
          allOf:
          - $ref: '#/components/schemas/RdsDbClusterSnapshotConfiguration'
          - description: The access control configuration is for an Amazon RDS DB cluster snapshot.
        rdsDbSnapshot:
          allOf:
      

# --- truncated at 32 KB (62 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/amazon-iam-access-analyzer/refs/heads/main/openapi/amazon-iam-access-analyzer-access-preview-api-openapi.yml