CreateProfile
Creates a profile, a list of the roles that Roles Anywhere service is trusted to assume. You use profiles to intersect permissions with IAM managed policies.
Required permissions:
rolesanywhere:CreateProfile
.
Request Syntax
POST /profiles HTTP/1.1
Content-type: application/json
{
"durationSeconds": number
,
"enabled": boolean
,
"managedPolicyArns": [ "string
" ],
"name": "string
",
"requireInstanceProperties": boolean
,
"roleArns": [ "string
" ],
"sessionPolicy": "string
",
"tags": [
{
"key": "string
",
"value": "string
"
}
]
}
URI Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in JSON format.
- durationSeconds
-
The number of seconds the vended session credentials are valid for.
Type: Integer
Valid Range: Minimum value of 900. Maximum value of 3600.
Required: No
- enabled
-
Specifies whether the profile is enabled.
Type: Boolean
Required: No
- managedPolicyArns
-
A list of managed policy ARNs that apply to the vended session credentials.
Type: Array of strings
Array Members: Minimum number of 0 items. Maximum number of 50 items.
Length Constraints: Minimum length of 1. Maximum length of 200.
Required: No
- name
-
The name of the profile.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern:
^[ a-zA-Z0-9-_]*$
Required: Yes
- requireInstanceProperties
-
Specifies whether instance properties are required in temporary credential requests with this profile.
Type: Boolean
Required: No
- roleArns
-
A list of IAM roles that this profile can assume in a temporary credential request.
Type: Array of strings
Array Members: Minimum number of 0 items. Maximum number of 50 items.
Length Constraints: Minimum length of 1. Maximum length of 1011.
Pattern:
^arn:aws(-[^:]+)?:iam(:.*){2}(:role.*)$
Required: Yes
- sessionPolicy
-
A session policy that applies to the trust boundary of the vended session credentials.
Type: String
Required: No
-
The tags to attach to the profile.
Type: Array of Tag objects
Array Members: Minimum number of 0 items. Maximum number of 200 items.
Required: No
Response Syntax
HTTP/1.1 201
Content-type: application/json
{
"profile": {
"createdAt": "string",
"createdBy": "string",
"durationSeconds": number,
"enabled": boolean,
"managedPolicyArns": [ "string" ],
"name": "string",
"profileArn": "string",
"profileId": "string",
"requireInstanceProperties": boolean,
"roleArns": [ "string" ],
"sessionPolicy": "string",
"updatedAt": "string"
}
}
Response Elements
If the action is successful, the service sends back an HTTP 201 response.
The following data is returned in JSON format by the service.
- profile
-
The state of the profile after a read or write operation.
Type: ProfileDetail object
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
-
You do not have sufficient access to perform this action.
HTTP Status Code: 403
- ValidationException
-
Validation exception error.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific Amazon SDKs, see the following: