

End of support notice: On October 7th, 2026, AWS will discontinue support for AWS IoT Greengrass Version 1. After October 7th, 2026, you will no longer be able to access the AWS IoT Greengrass V1 resources. For more information, please visit [Migrate from AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

# /greengrass/groups/GroupId/role


## PUT


 `PUT /greengrass/groups/GroupId/role`

Operation ID: [AssociateRoleToGroup](associateroletogroup-put.md)

Associates a role with a group. Your Greengrass core uses the role to access AWS services. The role's permissions should allow Greengrass Lambda functions and connectors to perform actions against the cloud.

### Body Parameters


[**AssociateRoleToGroupRequestBody**](parameters-associateroletogrouprequestbody.md)  
  
where used: body; required: true  

```
{
"RoleArn": "string"
}
```  
AssociateRoleToGroupRequest  
type: object  
required: ["RoleArn"]  
RoleArn  
The ARN of the role to associate with this group.  
type: string

### Path Parameters


[**GroupId**](parameters-groupidparam.md)  
The ID of the Greengrass group.  
where used: path; required: true  
type: string

### CLI


```
aws greengrass associate-role-to-group \
  --group-id <value> \
  [--role-arn <value>]  \
  [--cli-input-json <value>] \
  [--generate-cli-skeleton]
```

cli-input-json format:

```
{
"GroupId": "string",
"RoleArn": "string"
}
```

### Responses


**200**  
Success.  
 [ AssociateRoleToGroupResponse](definitions-associateroletogroupresponse.md)   

```
{
"AssociatedAt": "string"
}
```  
Group  
type: object  
AssociatedAt  
The time, in milliseconds since the epoch, when the role ARN was associated with the group.  
type: string

**400**  
Invalid request.  
 [ GeneralError](definitions-generalerror.md)   

```
{
"Message": "string",
"ErrorDetails": [
  {
    "DetailedErrorCode": "string",
    "DetailedErrorMessage": "string"
  }
]
}
```  
GeneralError  
General error information.  
type: object  
required: ["Message"]  
Message  
A message that contains information about the error.  
type: string  
ErrorDetails  
A list of error details.  
type: array  
items: [ErrorDetail](definitions-errordetail.md)  
ErrorDetail  
Details about the error.  
type: object  
DetailedErrorCode  
A detailed error code.  
type: string  
DetailedErrorMessage  
A detailed error message.  
type: string

**500**  
Server error.  
 [ GeneralError](definitions-generalerror.md)   

```
{
"Message": "string",
"ErrorDetails": [
  {
    "DetailedErrorCode": "string",
    "DetailedErrorMessage": "string"
  }
]
}
```  
GeneralError  
General error information.  
type: object  
required: ["Message"]  
Message  
A message that contains information about the error.  
type: string  
ErrorDetails  
A list of error details.  
type: array  
items: [ErrorDetail](definitions-errordetail.md)  
ErrorDetail  
Details about the error.  
type: object  
DetailedErrorCode  
A detailed error code.  
type: string  
DetailedErrorMessage  
A detailed error message.  
type: string

## DELETE


 `DELETE /greengrass/groups/GroupId/role`

Operation ID: [DisassociateRoleFromGroup](disassociaterolefromgroup-delete.md)

Disassociates the role from a group.

### Path Parameters


[**GroupId**](parameters-groupidparam.md)  
The ID of the Greengrass group.  
where used: path; required: true  
type: string

### CLI


```
aws greengrass disassociate-role-from-group \
  --group-id <value>  \
  [--cli-input-json <value>] \
  [--generate-cli-skeleton]
```

cli-input-json format:

```
{
"GroupId": "string"
}
```

### Responses


**200**  
Success.  
 [ DisassociateRoleFromGroupResponse](definitions-disassociaterolefromgroupresponse.md)   

```
{
"DisassociatedAt": "string"
}
```  
DisassociateRoleFromGroupResponse  
type: object  
DisassociatedAt  
The time, in milliseconds since the epoch, when the role was disassociated from the group.  
type: string

**400**  
Invalid request.  
 [ GeneralError](definitions-generalerror.md)   

```
{
"Message": "string",
"ErrorDetails": [
  {
    "DetailedErrorCode": "string",
    "DetailedErrorMessage": "string"
  }
]
}
```  
GeneralError  
General error information.  
type: object  
required: ["Message"]  
Message  
A message that contains information about the error.  
type: string  
ErrorDetails  
A list of error details.  
type: array  
items: [ErrorDetail](definitions-errordetail.md)  
ErrorDetail  
Details about the error.  
type: object  
DetailedErrorCode  
A detailed error code.  
type: string  
DetailedErrorMessage  
A detailed error message.  
type: string

**500**  
Server error.  
 [ GeneralError](definitions-generalerror.md)   

```
{
"Message": "string",
"ErrorDetails": [
  {
    "DetailedErrorCode": "string",
    "DetailedErrorMessage": "string"
  }
]
}
```  
GeneralError  
General error information.  
type: object  
required: ["Message"]  
Message  
A message that contains information about the error.  
type: string  
ErrorDetails  
A list of error details.  
type: array  
items: [ErrorDetail](definitions-errordetail.md)  
ErrorDetail  
Details about the error.  
type: object  
DetailedErrorCode  
A detailed error code.  
type: string  
DetailedErrorMessage  
A detailed error message.  
type: string

## GET


 `GET /greengrass/groups/GroupId/role`

Operation ID: [GetAssociatedRole](getassociatedrole-get.md)

Retrieves the role associated with a group.

### Path Parameters


[**GroupId**](parameters-groupidparam.md)  
The ID of the Greengrass group.  
where used: path; required: true  
type: string

### CLI


```
aws greengrass get-associated-role \
  --group-id <value>  \
  [--cli-input-json <value>] \
  [--generate-cli-skeleton]
```

cli-input-json format:

```
{
"GroupId": "string"
}
```

### Responses


**200**  
Success.  
 [ GetAssociatedRoleResponse](definitions-getassociatedroleresponse.md)   

```
{
"AssociatedAt": "string",
"RoleArn": "string"
}
```  
GetAssociatedRoleResponse  
type: object  
AssociatedAt  
The time when the role was associated with the group.  
type: string  
RoleArn  
The ARN of the role that is associated with the group.  
type: string

**400**  
Invalid request.  
 [ GeneralError](definitions-generalerror.md)   

```
{
"Message": "string",
"ErrorDetails": [
  {
    "DetailedErrorCode": "string",
    "DetailedErrorMessage": "string"
  }
]
}
```  
GeneralError  
General error information.  
type: object  
required: ["Message"]  
Message  
A message that contains information about the error.  
type: string  
ErrorDetails  
A list of error details.  
type: array  
items: [ErrorDetail](definitions-errordetail.md)  
ErrorDetail  
Details about the error.  
type: object  
DetailedErrorCode  
A detailed error code.  
type: string  
DetailedErrorMessage  
A detailed error message.  
type: string

**500**  
Server error.  
 [ GeneralError](definitions-generalerror.md)   

```
{
"Message": "string",
"ErrorDetails": [
  {
    "DetailedErrorCode": "string",
    "DetailedErrorMessage": "string"
  }
]
}
```  
GeneralError  
General error information.  
type: object  
required: ["Message"]  
Message  
A message that contains information about the error.  
type: string  
ErrorDetails  
A list of error details.  
type: array  
items: [ErrorDetail](definitions-errordetail.md)  
ErrorDetail  
Details about the error.  
type: object  
DetailedErrorCode  
A detailed error code.  
type: string  
DetailedErrorMessage  
A detailed error message.  
type: string