Crie um usuário com uma função
Você pode usar esse fluxo de trabalho para criar um usuário com uma FUNÇÃO REST associada.
Este fluxo de trabalho inclui as etapas típicas necessárias para criar uma FUNÇÃO REST personalizada e associá-la a uma nova conta de usuário. O usuário e a função têm um escopo do SVM e estão associados a um SVM de dados específico. Algumas das etapas podem ser opcionais ou precisam mudar dependendo do seu ambiente.
Etapa 1: Listar os SVMs de dados no cluster
Execute a seguinte chamada de API REST para listar os SVMs no cluster. O UUID e o nome de cada SVM são fornecidos na saída.
Essa chamada de API REST usa o método e o endpoint a seguir.
Método HTTP | Caminho |
---|---|
OBTER |
/api/svm/svms |
curl --request GET \
--location "https://$FQDN_IP/api/svm/svms?order_by=name" \
--include \
--header "Accept: */*" \
--header "Authorization: Basic $BASIC_AUTH"
Selecione o SVM desejado na lista onde você criará o novo usuário e a função.
Etapa 2: Listar os usuários definidos para o SVM
Execute a seguinte chamada à API REST para listar os usuários definidos no SVM selecionado. Você pode identificar o SVM por meio do parâmetro proprietário.
Essa chamada de API REST usa o método e o endpoint a seguir.
Método HTTP | Caminho |
---|---|
OBTER |
/api/security/accounts |
curl --request GET \
--location "https://$FQDN_IP/api/security/accounts?owner.name=dmp" \
--include \
--header "Accept: */*" \
--header "Authorization: Basic $BASIC_AUTH"
Com base nos usuários já definidos no SVM, escolha um nome exclusivo para o novo usuário.
Etapa 3: Listar as funções REST definidas no SVM
Execute a seguinte chamada à API REST para listar as funções definidas no SVM selecionado. Você pode identificar o SVM por meio do parâmetro proprietário.
Essa chamada de API REST usa o método e o endpoint a seguir.
Método HTTP | Caminho |
---|---|
OBTER |
/api/security/roles |
curl --request GET \
--location "https://$FQDN_IP/api/security/roles?owner.name=dmp" \
--include \
--header "Accept: */*" \
--header "Authorization: Basic $BASIC_AUTH" \
--data @JSONinput
Com base nas funções já definidas no SVM, escolha um nome exclusivo para a nova função.
Passo 4: Crie uma FUNÇÃO REST personalizada
Execute a seguinte chamada de API REST para criar uma FUNÇÃO REST personalizada no SVM. A função inicialmente tem apenas um privilégio que estabelece um acesso padrão de none para que todo o acesso seja negado.
Essa chamada de API REST usa o método e o endpoint a seguir.
Método HTTP | Caminho |
---|---|
POST |
/api/security/roles |
curl --request POST \
--location "https://$FQDN_IP/api/security/roles" \
--include \
--header "Accept: */*" \
--header "Authorization: Basic $BASIC_AUTH" \
--data @JSONinput
{
"name": "dprole1",
"owner": {
"name": "dmp",
"uuid": "752d96be-f17c-11ec-9d19-005056bbad91"
},
"privileges": [
{"path": "/api", "access": "none"},
]
}
Opcionalmente, execute a etapa 3 novamente para exibir a nova função. Você também pode exibir as funções na CLI do ONTAP.
Passo 5: Atualize a função adicionando mais Privileges
Execute a seguinte chamada de API REST para modificar a função adicionando Privileges conforme necessário.
Essa chamada de API REST usa o método e o endpoint a seguir.
Método HTTP | Caminho |
---|---|
POST |
/api/security/roles/"owner.uuuid"//Privileges |
Além dos parâmetros comuns com todas as chamadas de API REST, os seguintes parâmetros também são usados no exemplo curl nesta etapa.
Parâmetro | Tipo | Obrigatório | Descrição |
---|---|---|---|
SVM_ID |
Caminho |
Sim |
UUID do SVM que contém a definição de função. |
NOME_FUNÇÃO |
Caminho |
Sim |
O nome da função no SVM a ser atualizado. |
curl --request POST \
--location "https://$FQDN_IP/api/security/roles/$SVM_ID/$ROLE_NAME/privileges" \
--include \
--header "Accept: */*" \
--header "Authorization: Basic $BASIC_AUTH" \
--data @JSONinput
{
"path": "/api/storage/volumes",
"access": "readonly"
}
Opcionalmente, execute a etapa 3 novamente para exibir a nova função. Você também pode exibir as funções na CLI do ONTAP.
Passo 6: Crie um usuário
Execute a seguinte chamada de API REST para criar uma conta de usuário. A função dprole1 criada acima está associada ao novo usuário.
Você pode criar o usuário sem uma função. Nesse caso, é atribuída ao usuário uma função padrão ( admin`ou `vsadmin ), dependendo se o usuário está definido com escopo de cluster ou SVM. Você precisará modificar o usuário para atribuir uma função diferente.
|
Essa chamada de API REST usa o método e o endpoint a seguir.
Método HTTP | Caminho |
---|---|
POST |
/api/security/accounts |
curl --request POST \
--location "https://$FQDN_IP/api/security/accounts" \
--include \
--header "Accept: */*" \
--header "Authorization: Basic $BASIC_AUTH" \
--data @JSONinput
{
"owner": {"uuid":"daf84055-248f-11ed-a23d-005056ac4fe6"},
"name": "david",
"applications": [
{"application":"ssh",
"authentication_methods":["password"],
"second_authentication_method":"none"}
],
"role":"dprole1",
"password":"netapp123"
}
Você pode fazer login na interface de gerenciamento do SVM usando as credenciais do novo usuário.