Referência da API do grupo SCIM

Você pode usar a API do grupo SCIM para acessar, criar e modificar funções.

O Snowflake utiliza SCIM para importar funções do Okta, Azure AD e aplicativos personalizados. As funções nesses provedores de identidade são mapeadas individualmente com as funções do Snowflake.

As funções, às vezes chamadas de grupos, são uma coleção de privilégios de acesso. Para acessar objetos protegíveis no Snowflake, os privilégios devem ser atribuídos a funções que, por sua vez, são atribuídas a outras funções ou usuários.

As permissões de acesso e os direitos concedidos à função são automaticamente herdados por cada membro, como um usuário, da função. Para obter mais informações, consulte Visão geral do controle de acesso.

Os requisitos de acesso de um usuário ao Snowflake podem mudar. Por exemplo, um usuário pode deixar de ser um colaborador individual e se tornar um gerente em sua organização, o que pode exigir que sua função no Snowflake seja alterada, ou pode exigir acesso a conjuntos de dados disponíveis apenas para gerentes.

À medida que a função do usuário muda no provedor de identidade, seu acesso ao Snowflake muda automaticamente quando sua função de organização é mapeada para a função Snowflake correspondente.

Cabeçalhos HTTP

A Snowflake SCIM API usa tokens de portador para autenticação HTTP.

Cada solicitação HTTP à Snowflake SCIM API permite os seguintes cabeçalhos HTTP:

Cabeçalho

Valor

Authorization (obrigatório)

Bearer <access_token>

Content-Type

application/scim+json

Accept-Encoding

utf-8

Accept-Charset

utf-8

Atributos de grupo

Você pode especificar atributos de grupo (ou seja, uma função) no corpo das solicitações de API como pares chave-valor no formato JSON. Esses pares contêm informações sobre o grupo, como o nome de exibição do grupo. Os provedores de identidade podem especificar seus próprios nomes de chaves para cada atributo.

O Snowflake suporta os seguintes atributos SCIM para o gerenciamento do ciclo de vida da função. Os atributos podem ser gravados, a menos que seja observado o contrário.

Atributo de grupo do SCIM

Atributo de grupo do Snowflake

Tipo

Descrição

id

id

Cadeia de caracteres

O identificador imutável e exclusivo (GUID) da função no Snowflake.

O Snowflake não retorna esse valor.

Você pode encontrar esse valor chamando a função de tabela Information Schema REST_EVENT_HISTORY. Verifique os logs do IdP para garantir que os valores correspondem.

displayName

name

Cadeia de caracteres

O texto exibido na interface do usuário ao se referir ao grupo.

members.value

N/A

Cadeia de caracteres

O id do usuário que é um membro da função.

schemas

N/A

Cadeia de caracteres

Uma matriz de cadeias de caracteres para indicar os URIs do namespace. Por exemplo, urn:ietf:params:scim:schemas:core:2.0:Group.

Obtenção de detalhes sobre um grupo com displayName

Método e ponto de extremidade:

GET /scim/v2/Groups?filter=displayName eq "{{group_name}}"

Descrição:

Retorna detalhes sobre um grupo associado ao parâmetro de consulta displayName.

Retorna o código de status de resposta HTTP 200, se a solicitação HTTP tiver sido concluída com sucesso.

Obtenção de detalhes sobre um grupo com groupId

Método e ponto de extremidade:

GET /scim/v2/Groups/{{group_id}}

Descrição:

Retorna detalhes sobre um grupo associado ao parâmetro de caminho group_id.

Retorna o código de status de resposta HTTP 200, se a solicitação HTTP tiver sido concluída com sucesso.

Criação de um grupo

Método e ponto de extremidade:

POST /scim/v2/Groups

Descrição:

Crie um novo grupo no Snowflake.

Retorna o código de status de resposta HTTP 201, se a solicitação HTTP tiver sido concluída com sucesso.

Exemplos:

Crie um grupo com o displayName scim_test_group2:

{
  "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
  "displayName":"scim_test_group2"
}
Copy

Atualização de grupo

Método e ponto de extremidade:

PATCH /scim/v2/Groups/{{group_id}}

Descrição:

Atualiza o atributo de nome de exibição ou a associação de grupo do grupo associado ao parâmetro de caminho group_id.

Você deve definir op para add ou replace para executar essa solicitação HTTP.

Retorna o código de status de resposta HTTP 200 se a solicitação HTTP tiver sido concluída com sucesso.

Se não for bem-sucedido, o código de resposta HTTP 204 será retornado.

Exemplos:

Atualize um grupo displayName, remova um membro e adicione um membro:

{
  "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
  "Operations": [{
    "op": "replace",
    "value": { "displayName": "updated_name" }
  },
  {
    "op" : "remove",
    "path": "members[value eq \"user_id_1\"]"
  },
  {
    "op": "add",
    "value": [{ "value": "user_id_2" }]
  }]
}
Copy

Exclusão de grupo

Método e ponto de extremidade:

DELETE /scim/v2/Groups/{{group_id}}

Descrição:

Exclui o grupo associado ao parâmetro de caminho group_id.