Criar uma nova vinculação de função
POST /accounts/{account_id}/core/v1/roleBindings
Indica os valores desejados para o recurso da API de vinculação de função a ser criado.
Parâmetros
| Nome | Tipo | Em | Obrigatório | Descrição |
|---|---|---|---|---|
id_da_conta |
string |
caminho |
Verdadeiro |
ID do recurso de conta que o contém
|
Corpo da solicitação
Indica os valores desejados para o recurso da API de vinculação de função a ser criado.
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
tipo |
string |
Verdadeiro |
Tipo de mídia do recurso. Os valores definidos são:
|
versão |
string |
Verdadeiro |
Versão do recurso. Os valores definidos são:
|
ID do usuário |
string |
Falso |
String JSON contendo um ID de recurso do usuário. Os valores definidos são:
|
ID do grupo |
string |
Falso |
String JSON contendo um ID de recurso de grupo. Os valores definidos são:
|
ID da conta |
string |
Verdadeiro |
String JSON contendo o ID de um recurso de conta. Para criação, este ID deve corresponder ao ID da conta no URI da solicitação. Os valores definidos são:
|
papel |
string |
Verdadeiro |
String JSON contendo uma das quatro funções definidas. Os valores definidos são:
|
roleConstraints |
array[string] |
Falso |
Array JSON de strings JSON que especificam o escopo da atribuição de função. Os valores definidos são:
* + = negar acesso a todos os recursos: "roleConstraints": [] * + = Permitir acesso somente a um recurso de namespace específico: "roleConstraints": [ "namespaces:id='6fa2f917-f730-41b8-9c15-17f531843b31'" ] * + = Permitir acesso a um namespace específico e a tudo que estiver dentro dele: ""roleConstraints": [ "namespaces:id='6fa2f917-f730-41b8-9c15-17f531843b31'.*"" ] * + = Permitir acesso a todos os namespaces rotulados como "dev" em qualquer cluster em qualquer nuvem, e a tudo que estiver abaixo deles: "roleConstraints": [ "namespaces:kubernetesLabels='dev.example.com/appname=dev'.*" ] * + = Permitir acesso somente a todos os recursos do namespace: "roleConstraints": [ "namespaces:*" ] * + = Permitir acesso a todos os recursos do namespace e tudo o que estiver abaixo deles: "roleConstraints": [ "namespaces:." ] |
metadados |
Falso |
Metadados especificados pelo cliente e pelo serviço associados ao recurso. Os valores definidos são:
|
Exemplo de solicitação
{
"type": "application/astra-roleBinding",
"version": "1.1",
"userID": "4c27d25a-9edb-4e85-9438-48dc8e917231",
"accountID": "9fd87309-067f-48c9-a331-527796c14cf3",
"role": "viewer",
"roleConstraints": [
"*"
]
}
Resposta
Status: 201, Returns the newly created roleBinding resource in the JSON response body.
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
tipo |
string |
Verdadeiro |
Tipo de mídia do recurso. Os valores definidos são:
|
versão |
string |
Verdadeiro |
Versão do recurso. Os valores definidos são:
|
id |
string |
Verdadeiro |
Identificador globalmente único do recurso. Os valores definidos são:
|
principalType |
string |
Verdadeiro |
String JSON que representa o tipo da entidade principal à qual esta vinculação está associada. Os valores definidos são:
|
ID do usuário |
string |
Verdadeiro |
String JSON contendo um ID de recurso do usuário. Os valores definidos são:
|
ID do grupo |
string |
Verdadeiro |
String JSON contendo um ID de recurso de grupo. Os valores definidos são:
|
ID da conta |
string |
Verdadeiro |
String JSON contendo o ID de um recurso de conta. Para criação, este ID deve corresponder ao ID da conta no URI da solicitação. Os valores definidos são:
|
papel |
string |
Verdadeiro |
String JSON contendo uma das quatro funções definidas. Os valores definidos são:
|
roleConstraints |
array[string] |
Falso |
Array JSON de strings JSON que especificam o escopo da atribuição de função. Os valores definidos são:
* + = negar acesso a todos os recursos: "roleConstraints": [] * + = Permitir acesso somente a um recurso de namespace específico: "roleConstraints": [ "namespaces:id='6fa2f917-f730-41b8-9c15-17f531843b31'" ] * + = Permitir acesso a um namespace específico e a tudo que estiver dentro dele: ""roleConstraints": [ "namespaces:id='6fa2f917-f730-41b8-9c15-17f531843b31'.*"" ] * + = Permitir acesso a todos os namespaces rotulados como "dev" em qualquer cluster em qualquer nuvem, e a tudo que estiver abaixo deles: "roleConstraints": [ "namespaces:kubernetesLabels='dev.example.com/appname=dev'.*" ] * + = Permitir acesso somente a todos os recursos do namespace: "roleConstraints": [ "namespaces:*" ] * + = Permitir acesso a todos os recursos do namespace e tudo o que estiver abaixo deles: "roleConstraints": [ "namespaces:." ] |
metadados |
Verdadeiro |
Metadados especificados pelo cliente e pelo serviço associados ao recurso. Os valores definidos são:
|
Exemplo de resposta
{
"type": "application/astra-roleBinding",
"version": "1.1",
"id": "a198f052-5cd7-59d3-9f27-9ea32a21fbca",
"principalType": "user",
"userID": "4c27d25a-9edb-4e85-9438-48dc8e917231",
"groupID": "00000000-0000-0000-0000-000000000000",
"accountID": "9fd87309-067f-48c9-a331-527796c14cf3",
"role": "viewer",
"roleConstraints": [
"*"
],
"metadata": {
"labels": [],
"creationTimestamp": "2022-10-06T20:58:16.305662Z",
"modificationTimestamp": "2022-10-06T20:58:16.305662Z",
"createdBy": "8f84cf09-8036-51e4-b579-bd30cb07b269"
}
}
Resposta
Status: 401, Unauthorized
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
tipo |
string |
Verdadeiro |
|
título |
string |
Verdadeiro |
|
detalhe |
string |
Verdadeiro |
|
status |
string |
Verdadeiro |
|
ID de correlação |
string |
Falso |
Exemplo de resposta
{
"type": "https://astra.netapp.io/problems/3",
"title": "Missing bearer token",
"detail": "The request is missing the required bearer token.",
"status": "401"
}
Resposta
Status: 400, Bad request
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
tipo |
string |
Verdadeiro |
|
título |
string |
Verdadeiro |
|
detalhe |
string |
Verdadeiro |
|
status |
string |
Verdadeiro |
|
ID de correlação |
string |
Falso |
|
invalidFields |
array["invalidFields"] |
Falso |
Lista de campos inválidos no corpo da requisição |
Exemplo de resposta
{
"type": "https://astra.netapp.io/problems/5",
"title": "Invalid query parameters",
"detail": "The supplied query parameters are invalid.",
"status": "400"
}
Resposta
Status: 409, Conflict
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
tipo |
string |
Verdadeiro |
|
título |
string |
Verdadeiro |
|
detalhe |
string |
Verdadeiro |
|
status |
string |
Verdadeiro |
|
ID de correlação |
string |
Falso |
|
invalidFields |
array["invalidFields"] |
Falso |
Lista de campos inválidos no corpo da requisição |
Exemplo de resposta
{
"type": "https://astra.netapp.io/problems/10",
"title": "JSON resource conflict",
"detail": "The request body JSON contains a field that conflicts with an idempotent value.",
"status": "409"
}
Resposta
Status: 403, Forbidden
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
tipo |
string |
Verdadeiro |
|
título |
string |
Verdadeiro |
|
detalhe |
string |
Verdadeiro |
|
status |
string |
Verdadeiro |
|
ID de correlação |
string |
Falso |
Exemplo de resposta
{
"type": "https://astra.netapp.io/problems/11",
"title": "Operation not permitted",
"detail": "The requested operation isn't permitted.",
"status": "403"
}
Erro
Status: 404, Not found
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
tipo |
string |
Verdadeiro |
|
título |
string |
Verdadeiro |
|
detalhe |
string |
Verdadeiro |
|
status |
string |
Verdadeiro |
|
ID de correlação |
string |
Falso |
Exemplo de resposta de erro
{
"type": "https://astra.netapp.io/problems/2",
"title": "Collection not found",
"detail": "The collection specified in the request URI wasn't found.",
"status": "404"
}
Definições
Ver definições
tipo_astra_label
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
nome |
string |
Verdadeiro |
|
valor |
string |
Verdadeiro |
type_astra_metadados_update
Metadados especificados pelo cliente e pelo serviço associados ao recurso. Os valores definidos são:
-
Está em conformidade com o esquema de metadados Astra. Se não for especificado na criação, um objeto de metadados será criado sem rótulos. Se não for especificado na atualização, os rótulos do objeto de metadados, creationTimestamp e createdBy, serão preservados sem modificação.
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
etiquetas |
array["tipo_astra_label"] |
Falso |
|
CriaçãoTimestamp |
string |
Falso |
|
Alteração do Timestamp |
string |
Falso |
|
CreatedBy |
string |
Falso |
|
modifiedBy |
string |
Falso |
invalidParams
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
nome |
string |
Verdadeiro |
Nome do parâmetro de consulta inválido |
razão |
string |
Verdadeiro |
Motivo pelo qual o parâmetro de consulta é inválido |
invalidFields
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
nome |
string |
Verdadeiro |
Nome do campo inválido no corpo da requisição |
razão |
string |
Verdadeiro |
Motivo pelo qual o campo do corpo da solicitação é inválido |