Rekognition / Client / put_project_policy



Attaches a project policy to a Amazon Rekognition Custom Labels project in a trusting AWS account. A project policy specifies that a trusted AWS account can copy a model version from a trusting AWS account to a project in the trusted AWS account. To copy a model version you use the CopyProjectVersion operation.

For more information about the format of a project policy document, see Attaching a project policy (SDK) in the Amazon Rekognition Custom Labels Developer Guide.

The response from PutProjectPolicy is a revision ID for the project policy. You can attach multiple project policies to a project. You can also update an existing project policy by specifying the policy revision ID of the existing policy.

To remove a project policy from a project, call DeleteProjectPolicy. To get a list of project policies attached to a project, call ListProjectPolicies.

You copy a model version by calling CopyProjectVersion.

This operation requires permissions to perform the rekognition:PutProjectPolicy action.

See also: AWS API Documentation

Request Syntax

response = client.put_project_policy(
  • ProjectArn (string) –


    The Amazon Resource Name (ARN) of the project that the project policy is attached to.

  • PolicyName (string) –


    A name for the policy.

  • PolicyRevisionId (string) – The revision ID for the Project Policy. Each time you modify a policy, Amazon Rekognition Custom Labels generates and assigns a new PolicyRevisionId and then deletes the previous version of the policy.

  • PolicyDocument (string) –


    A resource policy to add to the model. The policy is a JSON structure that contains one or more statements that define the policy. The policy must follow the IAM syntax. For more information about the contents of a JSON policy document, see IAM JSON policy reference.

Return type:



Response Syntax

    'PolicyRevisionId': 'string'

Response Structure

  • (dict) –

    • PolicyRevisionId (string) –

      The ID of the project policy.


  • Rekognition.Client.exceptions.AccessDeniedException

  • Rekognition.Client.exceptions.InternalServerError

  • Rekognition.Client.exceptions.InvalidParameterException

  • Rekognition.Client.exceptions.InvalidPolicyRevisionIdException

  • Rekognition.Client.exceptions.MalformedPolicyDocumentException

  • Rekognition.Client.exceptions.ResourceNotFoundException

  • Rekognition.Client.exceptions.ResourceAlreadyExistsException

  • Rekognition.Client.exceptions.ThrottlingException

  • Rekognition.Client.exceptions.ServiceQuotaExceededException

  • Rekognition.Client.exceptions.ProvisionedThroughputExceededException

  • Rekognition.Client.exceptions.LimitExceededException