Domínios de Identidade do OCI com CLI

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

A OCI CLI é criada no Oracle Cloud Infrastructure SDK for 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 abrange 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
  • Crie 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 identidade.

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 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 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 executar o script de instalação da CLI para instalar a CLI, você poderá deixar o script instalar o Python para você.

1. Gerar um par de chaves de assinatura de API

Um par de chaves RSA no formato PEM (no mínimo 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 acessando pela primeira vez, abra o e-mail de ativação e use o link Ativar Sua Conta fornecido. Você será solicitado a informar e confirmar 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 do usuário na conta da nuvem.

    Entre em contato com o administrador da conta da nuvem ou o administrador 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 nome do arquivo e o caminho 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 isso 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.

Esta 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, bem como 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 () 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 da visualização do arquivo de configuração para a área de transferência. Em seguida, 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 um arquivo config já existir 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 em que você colou o conteúdo do perfil de visualização DEFAULT, atualize o parâmetro key_file para o nome do arquivo e o caminho no sistema de arquivos da máquina em que 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 é semelhante ao 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 SO.

Considere o seguinte:

  • Se você já tiver 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 compatível do Python, as opções são:

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

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

    • Em MacOS: O script de instalação da CLI não instala o Python para você. Você deverá fazer upgrade para que possa prosseguir com 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

Esta 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, bem como 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 do usuário na conta da nuvem.

    Entre em contato com o administrador da conta da nuvem ou o administrador 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.

    Uma URL de domínio é semelhante à seguinte:

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

    Deixe a URL copiada de lado. Você precisará dele posteriormente 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 para a CLI. A entrada pode ser fornecida como um arquivo JSON ou como strings de parâmetros em linha na linha de comando.

  1. Execute uma das seguintes tarefas para preparar a entrada para a criação de 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 do arquivo e o caminho, 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âmetro em linha: Abra um editor de texto. Copie as strings a seguir e reserve-as para uso posterior.

      No Windows, coloque cada bloco de valor de parâmetro entre aspas duplas (".."). Em um bloco, cada aspa dupla (") para as strings de chave e valor deve ter escape com um caractere de barra invertida (\).

      --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 valor 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 que você criou 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âmetros 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
      

      Exemplo de MacOS, Linux ou Unix:

      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 corretos do usuário são mostrados.

7. Excluir um Usuário

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

  1. Em um prompt de comando, digite 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. Digite 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.