Gerenciar Credenciais

Você pode criar credenciais, listar credenciais ou excluir credenciais no seu Autonomous Database.

Criar Credenciais para Acessar Serviços de Nuvem

Para acessar serviços na Nuvem, como o Cloud Object Store, primeiro você precisa criar credenciais no seu Autonomous Database.

  1. Crie e armazene credenciais usando o procedimento DBMS_CLOUD.CREATE_CREDENTIAL. Por exemplo:
    SET DEFINE OFF
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'adb_user@example.com',
        password => 'password',
        comments => 'credential to access object store'
      );
    END;
    /

    Esta operação armazena as credenciais no banco de dados em um formato criptografado. Você pode usar qualquer nome para o nome da credencial. Observe que essa etapa só é necessária uma vez, a menos que suas credenciais do armazenamento de objetos sejam alteradas. Depois de armazenar as credenciais, você poderá usar o mesmo nome de credencial para todos os carregamentos de dados.

    Para obter informações detalhadas sobre os parâmetros, consulte CREATE_CREDENTIAL Procedure.

    A criação de uma credencial para acessar o Oracle Cloud Infrastructure Object Store não será necessária se você ativar as credenciais do controlador de recursos. Para obter mais informações, consulte Usar o Controlador de Recursos para Acessar Recursos do Oracle Cloud Infrastructure.

    Observação

    Algumas ferramentas como SQL*Plus e SQL Developer usam o E comercial (&) como caractere especial. Se você tiver o caractere E comercial em sua senha, use o comando SET DEFINE OFF nessas ferramentas, conforme mostrado no exemplo, para desativar o caractere especial e fazer com que a credencial seja criada corretamente.
  2. Com a credencial criada na Etapa 1, você poderá acessar o Object Store ou outros recursos da nuvem do Autonomous Database usando um procedimento como DBMS_CLOUD.COPY_DATA, DBMS_CLOUD.EXPORT_DATA, DBMS_CLOUD_PIPELINE se estiver usando um Pipeline de Dados ou outros procedimentos que exijam credenciais DBMS_CLOUD.

Criar Credenciais para Acessar o Cloud Services no Cloud Shell

Use o Cloud Shell para executar um script que crie Credenciais Nativas do OCI e Token de Autenticação no seu Autonomous Database.

Para criar credenciais usando o pacote DBMS_CLOUD, consulte Criar Credenciais para Acessar Serviços em Nuvem e Procedimento CREATE_CREDENTIAL.

Sobre o Script Criar Cloud Shell de Credencial

Execute o script Criar Cloud Shell de Credencial na ferramenta de desenvolvedor do Cloud Shell para gerar scripts de credencial a serem executados no Autonomous Database.

Use o script Criar Credencial, adb-create-cred.sh, para criar novas Credenciais Nativas do OCI existentes ou reutilizá-las, incluindo um par de chaves RSA com uma impressão digital. As credenciais são fornecidas ao usuário no formato de scripts oci_native_credential.sql e oci_native_credential.json, que podem ser executados no seu Autonomous Database. Será feito backup das credenciais existentes se novas credenciais forem criadas.

Use o script adb-create-cred.sh para executar os scripts de credencial gerados no seu Autonomous Database ou saia do programa e execute os scripts no seu banco de dados com uma ferramenta ou utilitário compatível com SQL ou JSON de sua escolha. Consulte Exemplo: Criar Credenciais Nativas do OCI e Exemplo: Criar Credenciais Nativas do OCI e Executar no Autonomous Database para obter mais informações e exemplos.

Opcionalmente, adb-create-cred.sh é usado para criar credenciais de Token de Autenticação/Swift. A Oracle recomenda o uso das Credenciais Nativas do OCI. No entanto, se você quiser criar uma credencial Token de Autenticação/Swift, ela será suportada por este script shell. Consulte Criar Token de Autenticação Usado para Credencial Swift para obter detalhes.

Observação

Se você não tiver acesso à ferramenta de desenvolvedor do Cloud Shell, crie Credenciais Nativas do OCI sem usar o script adb-create-cred.sh. Consulte Criar Credenciais Nativas do Oracle Cloud Infrastructure para obter detalhes.

Exemplo: Criar Credenciais Nativas do OCI

Este exemplo usa o Cloud Shell para executar o script Criar Credencial para criar scripts de Credencial Nativa do OCI.

Execute adb-create-cred.sh para gerar scripts de credencial, oci_native_cred.sql e oci_native_cred.json. O script adb-create-cred.sh procura credenciais existentes, se encontrado, você será perguntado se deseja reutilizá-las ou se deseja que novas credenciais sejam criadas. Dependendo da sua decisão, os scripts de credencial gerados incluem credenciais novas ou existentes. Faça download do script OCI Native Credential ou copie-o para executá-lo diretamente em seu banco de dados usando qualquer ferramenta ou utilitário SQL ou JSON.

Observação

Para obter uma lista de argumentos suportados pelo script Criar Credencial, digite adb-create-cred.sh --help.

Neste exemplo, os scripts de Credencial Nativa do OCI são gerados para sua tenancy sem executá-los em seu banco de dados. Consulte Exemplo: Criar Credenciais Nativas do OCI e Executar no Autonomous Database, para obter um exemplo de execução do script de Credencial Nativa do OCI no seu banco de dados.

  1. Acesse a Tenancy, selecione o ícone de Developer Tools e clique em Cloud Shell na lista drop-down.
  2. Execute o script adb-create-cred.sh.
  3. Digite y para reutilizar as credenciais existentes no script de Credencial Nativa do OCI gerado.


    Veja a seguir a descrição da ilustração cs_existing.png
    Descrição da ilustração cs_existing.png

    Se você optar por criar novas credenciais e decidir, após substituir as credenciais que deseja usar, volte para o diretório em que o backup está e reutilize-as. O nome ou a pasta do arquivo de backup tem um sufixo com esta sintaxe: _bkp_YYYYMMDD_abc. Por exemplo, esse arquivo de backup foi criado em 06 de junho de 2024: _bkp_20240603_woT.

  4. Digite n para sair do script sem executar o script de Credenciais Nativas do OCI no seu banco de dados.
  5. O programa sai e exibe o nome da Credencial Nativa do OCI e o comando para exibi-la.


    Veja a seguir a descrição da ilustração cs_exit_script.png
    Descrição da ilustração cs_exit_script.png

    Faça download do script OCI Native Credential ou copie-o e execute-o diretamente em seu banco de dados usando qualquer ferramenta SQL.

Exemplo: Criar Credenciais Nativas do OCI e Executar no Autonomous Database

Este exemplo usa o script Criar Credencial para criar um script de Credencial Nativa do OCI que é executado no Autonomous Database.

Antes de executar o script, considere o seguinte:
  • (Opcional) Forneça a região do banco de dados, o compartimento e o nome do banco de dados para evitar que o script pesquise o banco de dados. Embora essas opções não sejam necessárias, elas podem economizar tempo de processamento, especialmente em tenancies que abrangem vários compartimentos e Autonomous Databases.
  • O script pressupõe que o banco de dados esteja na sua região home. Se estiver em outra região, informe o argumento de nome da região, --region, ao executar o script.
  • Se você não fornecer o compartimento (--compartment) ou o nome do banco de dados (--database), o script procurará possíveis candidatos e solicitará que você faça uma seleção nas listas de possíveis compartimentos e bancos de dados.
  • Para listar as opções disponíveis, digite -h ou --help.

No exemplo a seguir, o script Criar Credencial Nativa do OCI, adb-create-cred.sh, é usado para gerar um script de credencial com credenciais existentes e executar o script em um banco de dados especificado.

A região, o compartimento e o nome do banco de dados são passados como argumentos para o script. A opção --database requer --region e --compartment. Se você especificar apenas --database sem estes, a opção será ignorada.

O nome do usuário usado para estabelecer conexão com o banco de dados também é fornecido com um nome para a credencial criada.
Observação

Para obter uma lista de argumentos suportados pelo script Criar Credencial, digite adb-create-cred.sh --help.
  1. Acesse a Tenancy, selecione o ícone de Developer Tools e clique em Cloud Shell na lista drop-down.
  2. Execute o script adb-create-cred.sh, incluindo argumentos usados para localizar o banco de dados, estabelecer conexão com o banco de dados e um nome de credencial especificado pelo usuário.
  3. Foram encontradas chaves de API e impressões digitais existentes. Informe y para reutilizá-los nos scripts de credencial gerados.


    Veja a seguir a descrição da ilustração cs_existing_keys.png
    Descrição da ilustração cs_existing_keys.png

    Se você optar por criar novas credenciais e decidir, após substituir as credenciais que deseja usar, poderá voltar para o diretório em que o backup está e reutilizá-las, substituindo-as. O nome ou a pasta do arquivo de backup tem um sufixo com esta sintaxe: _bkp_YYYYMMDD_abc. Por exemplo, esse arquivo de backup foi criado em 06 de junho de 2024: _bkp_20240603_woT.

  4. Digite y para executar o script de credencial criado, oci_native_credential.sql, no banco de dados especificado com a região, o compartimento e os argumentos do banco de dados.
  5. Um Arquivo de Wallet não foi encontrado, portanto, ele foi configurado. Se um Arquivo de Wallet for encontrado, você será perguntado se deseja reutilizá-lo ou configurar um novo. Informe a senha do nome de usuário ADMIN fornecido. O nome de usuário e a senha são usados para estabelecer conexão com o banco de dados.


    Veja a seguir a descrição da ilustração cs_pass.png
    Descrição da ilustração cs_pass.png

    Observação

    Se você tiver um ponto final privado do Autonomous Database em uma Rede Virtual na Nuvem, o script adb-create-cred.sh gerará os scripts SQL e JSON. No entanto, ele não executa as etapas necessárias para acessar o ponto final privado do Autonomous Database. Em vez disso, ele solicita que você execute cat ~/oci_native_credential.sql para copiar o SQL para qualquer ferramenta SQL à qual você tenha acesso por meio de um Bastion ou Jump Host.

  6. O log-in foi bem-sucedido e a credencial MYOCICRED foi criada no banco de dados especificado. As credenciais existentes são eliminadas e as novas credenciais são criadas. Informe n para não executar credenciais em outro banco de dados. O script existe e fornece o caminho para o script oci_native_credential.sql criado.


    Observação

    Se a conexão com o Autonomous Database não for bem-sucedida, você poderá executar cat ~/oci_native_credential.sql e copiar o SQL para executá-lo diretamente no seu banco de dados usando qualquer ferramenta SQL.

Criar Token de Autenticação Usado para Credencial Swift

Se você quiser criar uma credencial Token de Autenticação/Swift, embora a Oracle recomende o uso das Credenciais Nativas do OCI, inclua o argumento --all ao executar o script para gerar Credenciais Nativas do OCI e a credencial Token de Autenticação/Swift.

Por exemplo:
adb-create-cred.sh --all

Quando esse flag é usado, o script pergunta se você deseja incluir um Token de Autenticação. Ao responder y, sua chave de Token de Autenticação é gerada e submetida a upload para seu perfil do OCI e os scripts oci_auth_token_credential.sql e auth_token.tok são criados.

Há 2 opções que você pode usar para exibir a chave do Token de Autenticação:
  • Execute o script oci_auth_token_credential.sql no Cloud Shell para criar a chave de Token de Autenticação no seu banco de dados. A chave do Token de Autenticação é o valor do parâmetro password para DBMS_CLOUD_CREATE_CREDENTIAL.
  • Exiba auth_token.tok no Cloud Shell. Seu Token de Autenticação é o valor de token.

Listar Credenciais

DBMS_CLOUD fornece a capacidade de armazenar credenciais usando o procedimento DBMS_CLOUD.CREATE_CREDENTIAL. Você pode listar credenciais na view ALL_CREDENTIALS.

Por exemplo, para listar credenciais, execute o seguinte comando:

SELECT credential_name, username, comments FROM all_credentials;

CREDENTIAL_NAME                                            USERNAME    
---------------------------–-----------------------------  --------------------
COMMENTS
---------------------------–-----------------------------  --------------------
ADB_TOKEN                                                  user_name@example.com
{"comments":"Created via DBMS_CLOUD.create_credential"}
DEF_CRED_NAME                                              user_name@example.com
{"comments":"Created via DBMS_CLOUD.create_credential"}
 

Consulte ALL_CREDENTIALS para obter mais informações.

Excluir Credenciais

DBMS_CLOUD fornece a capacidade de armazenar credenciais usando o procedimento DBMS_CLOUD.CREATE_CREDENTIAL. Você pode remover credenciais com DBMS_CLOUD.DROP_CREDENTIAL.

Por exemplo, para remover a credencial DEF_CRED_NAME, execute o seguinte comando:

BEGIN
   DBMS_CLOUD.DROP_CREDENTIAL('DEF_CRED_NAME');
END;

Para obter mais informações sobre os procedimentos e parâmetros DBMS_CLOUD, consulte DBMS_CLOUD Subprogramas e APIs REST.