:doc:`IoTSiteWise <../../iotsitewise>` / Client / update_access_policy

********************
update_access_policy
********************



.. py:method:: IoTSiteWise.Client.update_access_policy(**kwargs)

  

  Updates an existing access policy that specifies an identity's access to an IoT SiteWise Monitor portal or project resource.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAccessPolicy>`_  


  **Request Syntax**
  ::

    response = client.update_access_policy(
        accessPolicyId='string',
        accessPolicyIdentity={
            'user': {
                'id': 'string'
            },
            'group': {
                'id': 'string'
            },
            'iamUser': {
                'arn': 'string'
            },
            'iamRole': {
                'arn': 'string'
            }
        },
        accessPolicyResource={
            'portal': {
                'id': 'string'
            },
            'project': {
                'id': 'string'
            }
        },
        accessPolicyPermission='ADMINISTRATOR'|'VIEWER',
        clientToken='string'
    )
    
  :type accessPolicyId: string
  :param accessPolicyId: **[REQUIRED]** 

    The ID of the access policy.

    

  
  :type accessPolicyIdentity: dict
  :param accessPolicyIdentity: **[REQUIRED]** 

    The identity for this access policy. Choose an IAM Identity Center user, an IAM Identity Center group, or an IAM user.

    

  
    - **user** *(dict) --* 

      An IAM Identity Center user identity.

      

    
      - **id** *(string) --* **[REQUIRED]** 

        The IAM Identity Center ID of the user.

        

      
    
    - **group** *(dict) --* 

      An IAM Identity Center group identity.

      

    
      - **id** *(string) --* **[REQUIRED]** 

        The IAM Identity Center ID of the group.

        

      
    
    - **iamUser** *(dict) --* 

      An IAM user identity.

      

    
      - **arn** *(string) --* **[REQUIRED]** 

        The ARN of the IAM user. For more information, see `IAM ARNs <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html>`__ in the *IAM User Guide*.

         

        .. note::

          

          If you delete the IAM user, access policies that contain this identity include an empty ``arn``. You can delete the access policy for the IAM user that no longer exists.

          

        

      
    
    - **iamRole** *(dict) --* 

      An IAM role identity.

      

    
      - **arn** *(string) --* **[REQUIRED]** 

        The ARN of the IAM role. For more information, see `IAM ARNs <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html>`__ in the *IAM User Guide*.

        

      
    
  
  :type accessPolicyResource: dict
  :param accessPolicyResource: **[REQUIRED]** 

    The IoT SiteWise Monitor resource for this access policy. Choose either a portal or a project.

    

  
    - **portal** *(dict) --* 

      A portal resource.

      

    
      - **id** *(string) --* **[REQUIRED]** 

        The ID of the portal.

        

      
    
    - **project** *(dict) --* 

      A project resource.

      

    
      - **id** *(string) --* **[REQUIRED]** 

        The ID of the project.

        

      
    
  
  :type accessPolicyPermission: string
  :param accessPolicyPermission: **[REQUIRED]** 

    The permission level for this access policy. Note that a project ``ADMINISTRATOR`` is also known as a project owner.

    

  
  :type clientToken: string
  :param clientToken: 

    A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

    This field is autopopulated if not provided.

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {}
      
    **Response Structure**

    

    - *(dict) --* 
  
  **Exceptions**
  
  *   :py:class:`IoTSiteWise.Client.exceptions.InvalidRequestException`

  
  *   :py:class:`IoTSiteWise.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`IoTSiteWise.Client.exceptions.InternalFailureException`

  
  *   :py:class:`IoTSiteWise.Client.exceptions.ThrottlingException`

  