Domínios de Identidades do OCI com CLI

Neste tutorial, você usa a interface de linha de comando do OCI (Oracle Cloud Infrastructure CLI) para criar e gerenciar usuários em um domínio de identidades.

A CLI do OCI é criada no Oracle Cloud Infrastructure SDK para Python e executada no Mac, Windows e Linux. O código Python faz solicitações às APIs do OCI para fornecer a funcionalidade.

A CLI suporta vários métodos de autenticação. Neste tutorial, você usa o método de autenticação baseado em chave de API.

Este tutorial aborda as seguintes tarefas:

  • Gerar um par de chaves de assinatura de API
  • Configurar o arquivo de configuração da CLI
  • Instalar a CLI
  • Obter o URL do domínio de identidades
  • Criar um usuário
  • Obter detalhes de um usuário
  • Excluir um usuário

Este tutorial demora aproximadamente 30 minutos para ser concluído.

Observação

Este tutorial é específico do OCI Identity and Access Management com domínios de identidades.

Antes de Começar

Para executar este tutorial, você deve ter o seguinte:

  • Uma conta do Oracle Cloud.

  • Uma conta de usuário com acesso a um domínio de identidades e com a atribuição de administrador de usuários designada. Pergunte ao administrador do domínio de identidades ou ao administrador da conta da nuvem se você não tem certeza se tem as permissões para criar e gerenciar usuários em um domínio de identidades.

  • O diretório .oci no diretório home do usuário na máquina local: ~/.oci

    Por exemplo, no Windows, você pode usar o PowerShell para criar o diretório com o seguinte comando: mkdir %HOMEDRIVE%%HOMEPATH%\.oci

  • Uma versão suportada do Python em um sistema operacional suportado.

    Se você ainda não tiver o Python instalado no Windows ou Linux, mais adiante neste tutorial, quando você executar o script de instalação da CLI para instalar a CLI, poderá permitir que o script instale o Python para você.

1. Gerar um par de chaves de assinatura de API

Um par da chave RSA no formato PEM (mínimo de 2048 bits) é necessário para assinar solicitações de API.

Esta tarefa descreve como usar a Console para criar um par de chaves.

O procedimento a seguir pressupõe que você já tenha criado o diretório .oci no diretório home do usuário na máquina local. O diretório ~/.oci é necessário para armazenar informações de configuração do OCI, como credenciais de assinatura e valores de OCID.

  1. Acesse a conta do Oracle Cloud usando a tenancy apropriada (nome da conta na nuvem) e o domínio de identidades, bem como seu nome de usuário e senha.

    Se você estiver se conectando pela primeira vez, abra o e-mail de ativação e use o link Ativar Sua Conta fornecido. É solicitado que você informe e confirme uma senha. Consulte Acessando pela Primeira Vez, se precisar de mais informações.

    A tenancy, o domínio de identidades e o nome de usuário são fornecidos no e-mail de redefinição de senha do perfil quando você ativou o perfil de usuário na conta do Cloud.

    Entre em contato com o administrador da conta do Cloud ou do domínio de identidades se você não tiver nenhuma das informações necessárias para acessar. Consulte Entrando em Contato com o Suporte.

  2. Na home page da Console, selecione o ícone de perfil do usuário e, em seguida, selecione seu nome de usuário.
  3. Na página de perfil do usuário, selecione Chaves de API em Recursos.
  4. Selecione Adicionar chave de API.
  5. No painel Adicionar chave de API, selecione Gerar par de chaves de API e, em seguida, selecione Fazer download da chave privada.

    Salve a chave privada no diretório ~/.oci. Opcionalmente, você pode mover a chave para um subdiretório dentro do diretório .oci.

    Anote o caminho e o nome do arquivo da chave privada. O exemplo a seguir é para Windows:

    C:\Users\EXAMPLEUSER\.oci\examplecliuser_2025-01-02T21_18_14.873Z.pem

  6. (Opcional) Selecione Fazer download da chave pública.

    Você pode baixar a chave pública, mas não é necessário. As chaves pública e privada são arquivos PEM. A chave pública tem a string _public no nome do arquivo da chave.

  7. No painel Adicionar chave de API, selecione Adicionar.

    A Console exibe a caixa de diálogo Visualização do arquivo de configuração, que mostra as informações de configuração do usuário para usar o OCI.

  8. Por enquanto, selecione Fechar.
  9. Na página de perfil do usuário, verifique se a impressão digital do par de chaves gerado foi adicionada em Impressão Digital. Por exemplo:

    11:22:00:aa:33:4b:5c:66:7d:88:99:ee:00:90:80:70

2. Configurar o Arquivo de Configuração da CLI

A configuração da CLI contém as credenciais necessárias para trabalhar com o Oracle Cloud Infrastructure.

Essa tarefa pressupõe que você tenha gerado o par de chaves de API para assinar solicitações de API.

  1. Se ainda não tiver acessado, acesse a conta do Oracle Cloud usando a tenancy apropriada (nome da conta na nuvem) e o domínio de identidades, além do seu nome de usuário e senha.
  2. Na home page da Console, selecione o ícone de perfil do usuário e, em seguida, selecione seu nome de usuário.
  3. Na página de perfil do usuário, selecione Chaves de API em Recursos.
  4. No menu Ações (três pontos) ao lado da impressão digital adicionada na tarefa Gerar um par de chaves de assinatura de API, selecione Exibir arquivo de configuração.

    A Console exibe a caixa de diálogo Visualização do arquivo de configuração, que tem a configuração do usuário especificada no perfil DEFAULT.

    [DEFAULT]
    user=ocid1.user.oc1..areallylongstringoflettersandnumbers123498765
    fingerprint=11:22:00:aa:33:4b:5c:66:7d:88:99:ee:00:90:80:70
    tenancy=ocid1.tenancy.oc1..areallylongstringoflettersandnumbers123498765
    region=us-ashburn-1
    key_file=<path to your private keyfile>#TODO
  5. Na caixa de diálogo Visualização do arquivo de configuração, selecione Copiar para copiar o conteúdo de visualização do arquivo de configuração para a área de transferência. Feche a caixa de diálogo.
  6. Abra um editor de texto e cole o conteúdo de visualização da área de transferência em um novo arquivo.
  7. Usando config como o nome do arquivo, salve o arquivo no diretório ~/.oci.

    Se já existir um arquivo config no diretório ~/.oci, execute uma das seguintes tarefas:

    • Renomeie o arquivo de configuração existente.

    • Abra o arquivo de configuração existente. Se um perfil DEFAULT já estiver configurado no arquivo existente, renomeie o perfil DEFAULT existente. Em seguida, cole o conteúdo de visualização DEFAULT da área de transferência no arquivo.

  8. No arquivo ~/.oci/config no qual você colou o conteúdo do perfil DEFAULT de visualização, atualize o parâmetro key_file para o nome do arquivo e o caminho no sistema de arquivos da máquina no qual você salvou a chave privada.

    O exemplo a seguir é para Windows:

    key_file=C:\Users\EXAMPLEUSER\.oci\examplecliuser_2025-01-02T21_18_14.873Z.pem

  9. Verifique se o perfil DEFAULT em ~/.oci/config tem uma aparência semelhante à seguinte:

    [DEFAULT]
    user=ocid1.user.oc1..areallylongstringoflettersandnumbers123498765
    fingerprint=11:22:00:aa:33:4b:5c:66:7d:88:99:ee:00:90:80:70
    tenancy=ocid1.tenancy.oc1..areallylongstringoflettersandnumbers123498765
    region=us-ashburn-1
    key_file=C:\Users\EXAMPLEUSER\.oci\examplecliuser_2025-01-02T21_18_14.873Z.pem

    A menos que um perfil específico seja especificado, o OCI usará as credenciais de assinatura no perfil DEFAULT quando você executar um comando da CLI.

3. Instalar a CLI

Você pode instalar a CLI do OCI no Windows, Linux ou MacOS.

Antes de instalar a CLI, certifique-se de que uma versão do Python suportada já esteja instalada na máquina. A seção Versões do Python suportadas lista as versões suportadas para cada sistema operacional.

Considere o seguinte:

  • Se você já tem o Python instalado na máquina, use o comando python --version em um prompt de comando para descobrir qual versão está instalada.

  • Se você ainda não tiver o Python instalado ou não tiver uma versão do Python compatível, as opções são:

    • Instale uma versão Python compatível na máquina antes de instalar a CLI.

    • No Windows ou Linux: Quando você executa o script de instalação da CLI, pode permitir que o script instale o Python para você ao mesmo tempo.

    • No MacOS: O script de instalação da CLI não instala o Python para você. Você deve fazer upgrade para poder continuar a instalação da CLI.

Para instalar a CLI do OCI em uma máquina:

  1. Siga as instruções apropriadas do sistema operacional para instalar a CLI.
  2. Verifique a instalação da CLI executando o comando a seguir em um prompt de comando.
    oci --version

4. Obter o URL do Domínio de Identidades

Essa tarefa pressupõe que você tenha uma conta de usuário do Oracle Cloud com acesso a um domínio de identidades.

  1. Se ainda não tiver acessado, acesse a conta do Oracle Cloud usando a tenancy apropriada (nome da conta na nuvem) e o domínio de identidades, além do seu nome de usuário e senha.

    A tenancy, o domínio de identidades e o nome de usuário são fornecidos no e-mail de redefinição de senha do perfil quando você ativou o perfil de usuário na conta do Cloud.

    Entre em contato com o administrador da conta do Cloud ou do domínio de identidades se você não tiver nenhuma das informações necessárias para acessar. Consulte Entrando em Contato com o Suporte.

  2. Na home page da Console, selecione o ícone de perfil do usuário e, em seguida, selecione o nome do domínio de identidades.
  3. Na guia Informações do Domínio, selecione Copiar que está no final do URL do Domínio.
  4. Abra um editor de texto e cole o URL copiado.

    Um URL de domínio é semelhante ao seguinte:

    https://idcs-01a234bc56d77e0f89898989bg7h06ij.identity.oraclecloud.com

    Deixe o URL copiado de lado. Posteriormente, você precisará dele para construir o parâmetro endpoint nos comandos da CLI.

5. Criar um Usuário

Esta tarefa pressupõe que você tenha gerado o par de chaves de assinatura de API, configurado o arquivo de configuração do OCI e instalado a CLI.

Você também precisa ter o URL do domínio de identidades para construir comandos da CLI.

A entrada complexa, como arrays e objetos com mais de um valor, é transmitida no formato JSON à CLI. A entrada pode ser fornecida como um arquivo JSON ou como strings de parâmetro em linha na linha de comando.

  1. Execute uma das seguintes tarefas para preparar a entrada para criar um usuário:
    • Arquivo JSON: Abra um editor de texto. Copie o JSON a seguir e salve o arquivo com a extensão .json em qualquer diretório.

      Em seguida, anote o nome e o caminho do arquivo, por exemplo, no Windows: C:\examples\clicreateuser.json

      {
        "schemas": [
          "urn:ietf:params:scim:schemas:core:2.0:User"
        ],
        "name": {
      	"givenName": "John",
      	"familyName": "Doe"
        },
        "userName": "jdoe@cliexample.com",
        "emails": [
      	{
      	  "value": "john.doe@examplecli.com",
      	  "type": "work",
      	  "primary": true
      	}
        ]
      }
    • Strings de parâmetros em linha: Abra um editor de texto. Copie as strings a seguir e reserve-as para uso posterior.

      No Windows, coloque cada bloco de valores de parâmetro entre aspas duplas (".."). Dentro de um bloco, cada aspas duplas (") para as strings chave e de valor deve ter escape com um caractere backslash (\).

      --user-name jdoe@cliexample.com
      --name "{\"givenName\":\"John\",\"familyName\":\"Doe\"}"
      --emails "[{\"value\":\"john.doe@examplecli.com\",\"type\":\"work\",\"primary\":true}]"
      --schemas "[\"urn:ietf:params:scim:schemas:core:2.0:User\"]" 
      

      Em MacOS, Linux ou Unix, coloque cada bloco de valores de parâmetro entre aspas simples ('..').

      --user-name jdoe@cliexample.com
      --name '{"givenName":"John","familyName":"Doe"}'
      --emails '[{"value":"john.doe@examplecli.com","type":"work","primary":true}]'
      --schemas '["urn:ietf:params:scim:schemas:core:2.0:User"]' 
      
  2. Abra um prompt de comando e insira o comando da CLI para criar um usuário.

    Na linha de comando, você pode especificar um arquivo JSON ou usar parâmetros em linha como entrada.

    • Use o arquivo JSON criado como entrada.

      Exemplo do Windows:

      oci identity-domains user create
       --from-json file://C:\examples\clicreateuser.json
       --endpoint https://idcs-01a234bc56d77e0f89898989bg7h06ij.identity.oraclecloud.com
      
    • Use as strings de parâmetro em linha que você preparou como entrada.

      Exemplo do Windows:

      oci identity-domains user create 
      --user-name jdoe@cliexample.com 
      --name "{\"givenName\":\"John\",\"familyName\":\"Doe\"}" 
      --emails "[{\"value\":\"john.doe@examplecli.com\",\"type\":\"work\",\"primary\":true}]" 
      --schemas "[\"urn:ietf:params:scim:schemas:core:2.0:User\"]" 
      --endpoint https://idcs-01a234bc56d77e0f89898989bg7h06ij.identity.oraclecloud.com
      

      MacOS, Linux ou Unix, exemplo:

      oci identity-domains user create 
      --user-name jdoe@cliexample.com
      --name '{"givenName":"John","familyName":"Doe"}'
      --emails '[{"value":"john.doe@examplecli.com","type":"work","primary":true}]'
      --schemas '["urn:ietf:params:scim:schemas:core:2.0:User"]' 
      --endpoint https://idcs-01a234bc56d77e0f89898989bg7h06ij.identity.oraclecloud.com
      

    O parâmetro endpoint é o URL do domínio que você copiou na tarefa Obter o URL do Domínio de Identidades.

  3. Na resposta do comando, verifique se o usuário foi criado.

    Por exemplo:

    {
      "data": {
        ...
        "name": {
          "family-name": "Doe",
          "given-name": "John",
          ...
        },
        ...
        "ocid": "ocid1.user.oc1..areallylongstringoflettersandnumbers987654321abcxyz",
        ...
        "user-name": "jdoe@cliexample.com",
        ...
      }
    }
  4. Copie o OCID do usuário recém-criado.

    Por exemplo:

    ocid1.user.oc1..areallylongstringoflettersandnumbers987654321abcxyz

6. Obter um Usuário

Esta tarefa pressupõe que você tenha criado um usuário e obtido o OCID do usuário.

  1. Em um prompt de comando, digite o comando da CLI para recuperar os detalhes de um usuário fornecendo o OCID do usuário.

    Exemplo:

    oci identity-domains user get
     --user-id ocid1.user.oc1..areallylongstringoflettersandnumbers987654321abcxyz
     --endpoint https://idcs-01a234bc56d77e0f89898989bg7h06ij.identity.oraclecloud.com
    
  2. Na resposta do comando, verifique se os detalhes do usuário correto são mostrados.

7. Excluir um Usuário

Exclua um usuário fornecendo o OCID do usuário.

  1. Em um prompt de comando, insira o comando da CLI para excluir um usuário.

    Exemplo:

    oci identity-domains user delete
     --user-id ocid1.user.oc1..areallylongstringoflettersandnumbers987654321abcxyz
     --endpoint https://idcs-01a234bc56d77e0f89898989bg7h06ij.identity.oraclecloud.com
    

    A seguinte resposta é retornada:

    Are you sure you want to delete this resource? [y/N]

  2. Informe y.

    A seguinte resposta é retornada:

    {
      "opc-next-page": "MQ==",
      "opc-total-items": "1"
    }
    
  3. (Opcional) Você pode verificar se o usuário foi excluído executando o comando da CLI para obter um usuário, conforme descrito em Obter um Usuário.

    Se o usuário for excluído, o OCI incluirá a mensagem "The resource does not exist." na resposta.