Usar a Conta do Google Service para Acessar Recursos do Google Cloud Platform
Você pode usar uma conta de serviço do Google para acessar recursos do Google Cloud Platform (GCP) de uma instância do Autonomous Database.
- Sobre o Uso de uma Conta do Google Service para Acessar os Recursos do Google Cloud
Quando você usa a autenticação baseada em conta do Google Service com o Autonomous Database, um aplicativo pode acessar com segurança os recursos do Google Cloud Platform (GCP) sem criar e salvar credenciais com base em chaves de acesso do IAM de longo prazo para os recursos do GCP. - Ativar a Conta do Google Service e Localizar o Nome da Conta de Serviço do GCP
Antes de usar um recurso do Google Cloud Platform (GCP) com uma conta de serviço do Google, você precisa ativar o acesso do GCP à sua instância do Autonomous Database. - Designar Atribuições à Conta do Google Service e Fornecer Acesso para Recursos do GCP
Para usar recursos do Google Cloud Platform (GCP) de uma instância do Autonomous Database, você ou um Administrador do Google Cloud deve designar atribuições e privilégios à conta de serviço do Google que seu aplicativo acessa. Além de atribuir funções para a conta de serviço do Google, para quaisquer recursos do GCP que você queira usar um administrador do Google Cloud, adicione os principais do Google IAM. - Use a Conta do Google Service com DBMS_CLOUD
Quando você faz chamadas doDBMS_CLOUD
para acessar os recursos do Google Cloud Platform (GCP) e especifica o nome da credencial comoGCP$PA
, a autenticação no lado do Google Cloud Platform acontece usando uma conta de serviço do Google. - Desativar Conta do Google Service
Para desativar o acesso da conta de serviço do Google aos recursos do Google Cloud Platform (GCP), useDBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH
. - Notas da Conta do Google Service
Observações sobre o uso da conta de serviço do Google.
Tópico principal: Configurar Políticas e Atribuições para Acessar Recursos
Sobre como Usar uma Conta do Google Service para Acessar Recursos do Google Cloud
Quando você usa a autenticação baseada em conta de serviço do Google com o Autonomous Database, um aplicativo pode acessar com segurança os recursos do Google Cloud Platform (GCP) sem criar e salvar credenciais com base em chaves de acesso de longo prazo do IAM para os recursos do GCP.
Uma conta de serviço do Google é um tipo especial de conta GCP usada por um aplicativo. Você pode usar uma conta de serviço do Google para fazer chamadas de API REST GCP autorizadas de um aplicativo (depois que a conta de serviço receber permissões de acesso por meio da configuração da atribuição do IAM). Quando um aplicativo faz chamadas com autenticação baseada em conta de serviço do GCP, a chamada inicial gera um token de acesso temporário por meio do OAuth2.0. O token de acesso do OAuth2.0 é válido por uma hora. As solicitações subsequentes dentro de uma hora usam o token de acesso OAuth2.0 para fazer chamadas de API REST do GCP autorizadas.
Por exemplo, talvez você queira carregar dados do Google Cloud Storage no seu Autonomous Database, executar alguma operação nos dados e, em seguida, gravar os dados modificados de volta no Google Cloud Storage. Você pode fazer isso sem usar uma conta de serviço se tiver credenciais de usuário do GCP para acessar o Google Cloud Storage. No entanto, o uso de uma conta de serviço do Google baseada em atribuição para acessar recursos do GCP no Autonomous Database tem os seguintes benefícios:
- Você pode criar acesso baseado em atribuição, com diferentes políticas para diferentes usuários ou esquemas que precisam de acesso aos recursos do GCP de uma instância do Autonomous Database. Isso permite que você defina uma política para limitar o acesso a recursos por atribuição. Por exemplo, definir uma política limitada ao acesso somente leitura, por função, a um bucket do Google Cloud Storage.
-
As credenciais baseadas na conta de serviço do Google oferecem melhor segurança, pois você não precisa fornecer credenciais de usuário de longo prazo no código quando seu aplicativo acessa os recursos do GCP. O Autonomous Database gerencia as credenciais temporárias da conta de serviço do Google e não precisa armazenar as credenciais do usuário do recurso do GCP no banco de dados.
Consulte Contas de serviço para obter informações sobre contas de serviço do Google.
Ativar Conta do Google Service e Localizar o Nome da Conta do GCP Service
Antes de usar um recurso do Google Cloud Platform (GCP) com uma conta de serviço do Google, você precisa ativar o acesso do GCP à sua instância do Autonomous Database.
Consulte ENABLE_PRINCIPAL_AUTH Procedures para obter mais informações.
Designar Atribuições à Conta do Google Service e Fornecer Acesso para Recursos do GCP
Para usar recursos do Google Cloud Platform (GCP) de uma instância do Autonomous Database, você ou um Administrador do Google Cloud deve atribuir atribuições e privilégios à conta de serviço do Google que seu aplicativo acessa. Além de atribuir funções para a conta de serviço do Google, para quaisquer recursos do GCP que você queira usar um administrador do Google Cloud, adicione os principais do Google IAM.
Como pré-requisito, primeiro ative a conta de serviço do Google na sua instância do Autonomous Database. Consulte Ativar Conta do Serviço Google e Localizar o Nome da Conta do Serviço GCP para obter mais informações.
Depois de concluir essas etapas, as atribuições e os principais serão designados. Isso permite que seu aplicativo em execução na instância do Autonomous Database acesse o recurso do GCP com uma conta de serviço do Google.
Usar a Conta do Google Service com DBMS_CLOUD
Quando você faz chamadas DBMS_CLOUD
para acessar recursos do Google Cloud Platform (GCP) e especifica o nome da credencial como GCP$PA
, a autenticação no lado do Google Cloud Platform acontece usando uma conta de serviço do Google.
Se ainda não tiver feito isso, execute as etapas de pré-requisito:
-
Ative o esquema ADMIN ou outro esquema para usar a autenticação da conta de serviço do Google. Consulte Ativar Conta do Serviço Google e Localizar o Nome da Conta do Serviço GCP para obter mais informações.
-
Execute as atribuições de função do Google Cloud Platform para os recursos que você deseja acessar. Consulte Atribuir Atribuições à Conta do Google Service e Fornecer Acesso para Recursos de GCP para obter mais informações.
Para usar um procedimento ou função DBMS_CLOUD
com autenticação de conta de serviço do Google:
Para obter mais informações, consulte:
-
Consulte Pontos finais de solicitação para obter mais informações sobre solicitações de estilo hospedado virtual do GCP.
-
Consulte Função LIST_OBJECTS.
Desativar Conta do Google Service
Para desativar o acesso da conta de serviço do Google aos recursos do Google Cloud Platform (GCP), use DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH
.
Quando o valor provider
é GCP
e o username
é um usuário diferente do usuário ADMIN
, o procedimento revoga os privilégios do usuário especificado. Nesse caso, o usuário ADMIN
e outros usuários podem continuar usando o GCP$PA
.
Por exemplo, para revogar privilégios para adb_user
:
BEGIN
DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH
(
provider => 'GCP',
username => 'adb_user');
END;
/
Quando o valor provider
é GCP
e o username
é ADMIN
, o procedimento desativa o acesso à conta de serviço do Google na instância do Autonomous Database. O valor padrão para username
é ADMIN
.
Por exemplo:
BEGIN
DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH
(
provider => 'GCP' );
END;
/
Consulte DISABLE_PRINCIPAL_AUTH Procedures para obter mais informações.
Observações da Conta do Google Service
Observações sobre o uso da conta de serviço do Google.
-
Restrição de caractere do Google Cloud Platform (GCP):
DBMS_CLOUD
não suporta um URI que contenha um "_" para acessar um nome de bucket do Google Cloud Storage. Se o nome do bucket do Google Cloud Storage contiver um "_", você poderá ver o seguinte erro:SELECT * FROM DBMS_CLOUD.LIST_OBJECTS('GCP$PA', 'https://app_bucket.storage.googleapis.com/'); ORA-20006: Unsupported object store URI - https://app_bucket.storage.googleapis.com/ ORA-06512: at "C##CLOUD$SERVICE.DBMS_CLOUD", line 1306
-
Clonando uma instância do Autonomous Database com uma conta de serviço do Google: Quando você clona uma instância com uma conta de serviço do Google ativada, a configuração da conta de serviço do Google não é transferida para o clone. Execute as etapas para ativar a conta de serviço do Google no clone se quiser ativar a conta de serviço do Google em uma instância clonada.