> ## Documentation Index
> Fetch the complete documentation index at: https://docs.basaltic.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Permissões do workspace

> Ações organizacionais, atribuições de função de conta e delegação para identidades de conta.

O espaço de trabalho serve recursos da organização em `workspace.basaltic.sh`. Conceder `workspace:*` ações em políticas de organização. As ações de faturamento, cota e auditoria também são avaliadas no domínio de política da organização. As políticas do IAM de conta nunca concedem essas ações, mesmo com um curinga de ação.

Os usuários herdam políticas da organização diretamente e por meio de grupos de usuários. As funções e contas de serviço recebem apenas políticas da organização explicitamente delegadas a elas. Uma sessão de função usa as concessões da função, não as de sua origem.

<a id="resource-names" />

## Nomes de recursos

```
crn:workspace:::organization/current
crn:workspace:::account/<account-uuid>
crn:workspace:::user/<username>
crn:workspace:::group/platform-team
crn:workspace:::policy/billing-reader
crn:workspace:::system-policy/Administrator
```

Grupos e políticas personalizadas usam nomes imutáveis. Os usuários usam seu nome de usuário global. Contas e convites usam UUIDs. O nome de exibição de uma conta não é seu identificador ou sua identidade CRN. As referências são resolvidas somente na organização selecionada. As listas de nível superior autorizam sua coleção, não cada resultado; os filtros de consulta não substituem a autorização.

Políticas em linha de usuário e grupo anexam `/inline-policy/<name>` ao CRN principal. O limite de permissão de um usuário anexa `/permission-boundary/default`. Definir esse limite também requer `workspace:GetPolicy` na política escolhida.

<a id="the-actions" />

## As ações

A tabela inclui ações primárias. Verificações adicionais de conta de destino para delegação de organização e atribuição de função são descritas abaixo.

| Chamada de telefone | Ação e aventura |
| - | - |
| `GET /v1/organizations` | `none` |
| `GET /v1/organizations/{organization_id}` | `workspace:GetOrganization` |
| `PATCH /v1/organizations/{organization_id}` | `workspace:UpdateOrganization` |
| `DELETE /v1/organizations/{organization_id}` | `workspace:DeleteOrganization` |
| `GET /v1/accounts` | `workspace:ListAccounts` |
| `POST /v1/accounts` | `workspace:CreateAccount` |
| `GET /v1/accounts/{account_id}/resources` | `workspace:GetAccount` |
| `GET /v1/accounts/{account_id}` | `workspace:GetAccount` |
| `PATCH /v1/accounts/{account_id}` | `workspace:UpdateAccount` |
| `DELETE /v1/accounts/{account_id}` | `workspace:DeleteAccount` |
| `GET /v1/invitations` | `workspace:ListInvitations` |
| `GET /v1/invitations/{invitation_id}` | `workspace:GetInvitation` |
| `DELETE /v1/invitations/{invitation_id}` | `workspace:CancelInvitation` |
| `GET /v1/users` | `workspace:ListUsers` |
| `POST /v1/users` | `workspace:AddUser` |
| `GET /v1/users/{user_id}` | `workspace:GetUser` |
| `DELETE /v1/users/{user_id}` | `workspace:RemoveUser` |
| `GET /v1/users/{user_id}/policies` | `workspace:ListUserPolicies` |
| `POST /v1/users/{user_id}/policies` | `workspace:AttachPolicy` |
| `DELETE /v1/users/{user_id}/policies/{policy_id}` | `workspace:DetachPolicy` |
| `GET /v1/users/{user_id}/groups` | `workspace:ListUserGroups` |
| `POST /v1/users/{user_id}/groups` | `workspace:ManageGroupMembership` |
| `DELETE /v1/users/{user_id}/groups/{group_id}` | `workspace:ManageGroupMembership` |
| `GET /v1/service-accounts/{service_account_id}/policies` | `workspace:ListServiceAccountPolicies` |
| `POST /v1/service-accounts/{service_account_id}/policies` | `workspace:AttachServiceAccountPolicy` |
| `DELETE /v1/service-accounts/{service_account_id}/policies/{policy_id}` | `workspace:DetachServiceAccountPolicy` |
| `GET /v1/groups` | `workspace:ListGroups` |
| `POST /v1/groups` | `workspace:CreateGroup` |
| `GET /v1/groups/{group_id}` | `workspace:GetGroup` |
| `PATCH /v1/groups/{group_id}` | `workspace:UpdateGroup` |
| `DELETE /v1/groups/{group_id}` | `workspace:DeleteGroup` |
| `GET /v1/groups/{group_id}/users` | `workspace:ListGroupUsers` |
| `GET /v1/groups/{group_id}/policies` | `workspace:ListGroupPolicies` |
| `POST /v1/groups/{group_id}/policies` | `workspace:AttachPolicy` |
| `DELETE /v1/groups/{group_id}/policies/{policy_id}` | `workspace:DetachPolicy` |
| `GET /v1/roles/{role_id}/policies` | `workspace:ListRolePolicies` |
| `POST /v1/roles/{role_id}/policies` | `workspace:AttachRolePolicy` |
| `DELETE /v1/roles/{role_id}/policies/{policy_id}` | `workspace:DetachRolePolicy` |
| `GET /v1/policies` | `workspace:ListPolicies` |
| `POST /v1/policies` | `workspace:CreatePolicy` |
| `GET /v1/policies/{policy_id}` | `workspace:GetPolicy` |
| `PATCH /v1/policies/{policy_id}` | `workspace:UpdatePolicy` |
| `DELETE /v1/policies/{policy_id}` | `workspace:DeletePolicy` |
| `GET /v1/policies/{policy_id}/users` | `workspace:GetPolicy` |
| `GET /v1/policies/{policy_id}/service-accounts` | `workspace:GetPolicy` |
| `GET /v1/policies/{policy_id}/groups` | `workspace:GetPolicy` |
| `GET /v1/policies/{policy_id}/roles` | `workspace:GetPolicy` |
| `PUT /v1/users/{user_id}/permission-boundary` | `workspace:SetPermissionBoundary` |
| `GET /v1/users/{user_id}/permission-boundary` | `workspace:GetPermissionBoundary` |
| `DELETE /v1/users/{user_id}/permission-boundary` | `workspace:RemovePermissionBoundary` |
| `GET /v1/users/{user_id}/inline-policies` | `workspace:ListInlinePolicies` |
| `PUT /v1/users/{user_id}/inline-policies/{policy_name}` | `workspace:PutInlinePolicy` |
| `GET /v1/users/{user_id}/inline-policies/{policy_name}` | `workspace:GetInlinePolicy` |
| `DELETE /v1/users/{user_id}/inline-policies/{policy_name}` | `workspace:DeleteInlinePolicy` |
| `GET /v1/groups/{group_id}/inline-policies` | `workspace:ListInlinePolicies` |
| `PUT /v1/groups/{group_id}/inline-policies/{policy_name}` | `workspace:PutInlinePolicy` |
| `GET /v1/groups/{group_id}/inline-policies/{policy_name}` | `workspace:GetInlinePolicy` |
| `DELETE /v1/groups/{group_id}/inline-policies/{policy_name}` | `workspace:DeleteInlinePolicy` |
| `GET /v1/accounts/{account_id}/role-assignments` | `workspace:ListAccountRoleAssignments` |
| `POST /v1/accounts/{account_id}/role-assignments` | `workspace:AssignAccountRole` |
| `DELETE /v1/accounts/{account_id}/role-assignments/{assignment_id}` | `workspace:RemoveAccountRoleAssignment` |
| `GET /v1/account-roles` | `none` |

Membros humanos podem ler sua própria organização através da associação. Identidades de máquina precisam de `workspace:GetOrganization`. Listagem de organização retorna as associações humanas. O login pessoal, a aceitação de convites e a troca da organização ativa continuam sendo fluxos de autenticação do IAM.

<a id="attaching-organization-policies-to-people" />

## Anexando políticas de organização a pessoas

`workspace:AttachPolicy` e `workspace:DetachPolicy` requerem autorização tanto na política da organização quanto no usuário ou grupo de destino. Use os CRNs concretos de ambos os recursos; as políticas do sistema têm seu namespace CRN de sistema separado.

<a id="delegating-organization-policies" />

## Delegando políticas de organização

Uma conta de função ou serviço pode ter permissões de organização para coletores de faturamento, trabalhos de integração ou outras automações. Sua guia de política de console tem tabelas separadas de **Account policies** e **Organization policies**.

Os endpoints de anexo da organização estão no Workspace, não no IAM:

| Destinatário | Caminho do espaço de trabalho |
| - | - |
| Função | `/v1/roles/{role_id}/policies` |
| Conta de serviço | `/v1/service-accounts/{service_account_id}/policies` |

POST aceita `policy_id`, o UUID da política da organização. DELETE acrescenta esse UUID ao caminho. GET lista os anexos de política da organização. O UUID do destino é resolvido dentro da organização atual e da conta proprietária; ele não move a identidade do chamador para essa conta.

A delegação é autorizada por concessão de espaço de trabalho:

| Operação de | Ação necessária | Recursos verificados |
| - | - | - |
| Lista de subsídios de uma função | `workspace:ListRolePolicies` | Função CRN |
| Anexar ou desligar uma concessão de função | `workspace:AttachRolePolicy` ou `workspace:DetachRolePolicy` | Tanto a política como o papel CRNs |
| Lista de subsídios de uma conta de serviço | `workspace:ListServiceAccountPolicies` | Conta de serviço CRN |
| Anexar ou separar uma concessão de conta de serviço | `workspace:AttachServiceAccountPolicy` ou `workspace:DetachServiceAccountPolicy` | CRNs de conta de apólice e de serviço |

Use uma concessão de espaço de trabalho que cubra a política e o destinatário pretendido. Uma função de Administrador de conta sozinha não pode delegar autoridade da organização. O console usa sua sessão pessoal do Workspace para essas concessões da organização.

Alterações confidenciais que transferem a autoridade de uma identidade já delegada também exigem permissão de delegação de espaço de trabalho. A administração de política de conta sozinha não pode obter acesso da organização passando uma função ou emitindo uma nova credencial.

<a id="account-role-assignments" />

## Atribuições de função de conta

As atribuições de função vinculam um usuário ou grupo da organização a uma função em uma conta. Eles fornecem a permissão de origem para a troca AssumeRole de um humano. A confiança do destino ainda é necessária e a criação de atribuições nunca altera a confiança.

Criar uma atribuição requer `workspace:AssignAccountRole` na conta. A função de destino deve pertencer a essa conta e organização. Listando e removendo atribuições use `workspace:ListAccountRoleAssignments` e `workspace:RemoveAccountRoleAssignment`.

O humano atual pode descobrir suas atribuições efetivas através de `GET /v1/account-roles`. Isso é diferente da lista de contas administrativas; um usuário não precisa receber `workspace:ListAccounts` simplesmente para escolher uma função atribuída. Consulte [acesso à conta](/pt/workspace/accounts).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.