PutResourcePolicy - Amazon Comprehend API Reference

PutResourcePolicy

Attaches a resource-based policy to a custom model. You can use this policy to authorize an entity in another AWS account to import the custom model, which replicates it in Amazon Comprehend in their account.

Request Syntax

{ "PolicyRevisionId": "string", "ResourceArn": "string", "ResourcePolicy": "string" }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

PolicyRevisionId

The revision ID that Amazon Comprehend assigned to the policy that you are updating. If you are creating a new policy that has no prior version, don't use this parameter. Amazon Comprehend creates the revision ID for you.

Type: String

Length Constraints: Maximum length of 64.

Pattern: [0-9A-Fa-f]+

Required: No

ResourceArn

The Amazon Resource Name (ARN) of the custom model to attach the policy to.

Type: String

Length Constraints: Maximum length of 256.

Pattern: arn:aws(-[^:]+)?:comprehend:[a-zA-Z0-9-]*:[0-9]{12}:(document-classifier|entity-recognizer)/[a-zA-Z0-9](-*[a-zA-Z0-9])*(/version/[a-zA-Z0-9](-*[a-zA-Z0-9])*)?

Required: Yes

ResourcePolicy

The JSON resource-based policy to attach to your custom model. Provide your JSON as a UTF-8 encoded string without line breaks. To provide valid JSON for your policy, enclose the attribute names and values in double quotes. If the JSON body is also enclosed in double quotes, then you must escape the double quotes that are inside the policy:

"{\"attribute\": \"value\", \"attribute\": [\"value\"]}"

To avoid escaping quotes, you can use single quotes to enclose the policy and double quotes to enclose the JSON names and values:

'{"attribute": "value", "attribute": ["value"]}'

Type: String

Length Constraints: Minimum length of 1. Maximum length of 20000.

Pattern: [\u0009\u000A\u000D\u0020-\u00FF]+

Required: Yes

Response Syntax

{ "PolicyRevisionId": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

PolicyRevisionId

The revision ID of the policy. Each time you modify a policy, Amazon Comprehend assigns a new revision ID, and it deletes the prior version of the policy.

Type: String

Length Constraints: Maximum length of 64.

Pattern: [0-9A-Fa-f]+

Errors

For information about the errors that are common to all actions, see Common Errors.

InternalServerException

An internal server error occurred. Retry your request.

HTTP Status Code: 500

InvalidRequestException

The request is invalid.

HTTP Status Code: 400

ResourceNotFoundException

The specified resource ARN was not found. Check the ARN and try your request again.

HTTP Status Code: 400

Examples

Example resource-based policy for a custom model

The following example shows a resource-based policy for a custom model in Amazon Comprehend. The policy allows an entity in another AWS account to import the model that the policy is attached to. The policy specifies the authorized entity for the Principal attribute, and it specifies the ARN of the model version for the Resource attribute.

{ "Version": "2017-01-01", "Statement": [ { "Effect": "Allow", "Action": "comprehend:ImportModel", "Resource": [ "arn:aws:comprehend:us-west-2:111122223333:document-classifier/foo/version/*" ], "Principal": { "AWS": "arn:aws:iam::444455556666:root" } } ] }

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: