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) em uma instância do Autonomous Database.
- Sobre o Uso de uma Conta do Google Service para Acessar Recursos do Google Cloud
Quando você usa a autenticação baseada na 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 nas chaves de acesso do IAM de longo prazo para os recursos do GCP. - 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 para 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 designar atribuições para a conta de serviço do Google, para quaisquer recursos do GCP que você deseja usar um administrador do Google Cloud, adicione controladores do Google IAM. - Usar a Conta do Google Service com DBMS_CLOUD
Quando você faz chamadasDBMS_CLOUD
para acessar 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 do Google Service aos recursos do Google Cloud Platform (GCP), useDBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH
. - Observações da Conta do Google Service
Observações sobre o uso da conta do Google Service.
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 contas 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 nas chaves de acesso do IAM de longo prazo 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 do GCP autorizadas de um aplicativo (depois que a conta de serviço receber permissões de acesso por meio da configuração de atribuição do IAM). Quando um aplicativo faz chamadas com autenticação baseada na 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 OAuth2.0 é válido durante uma hora. As solicitações subsequentes dentro de uma hora usam o token de acesso OAuth2.0 para fazer chamadas autorizadas da API REST do GCP.
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 por meio de uma instância do Autonomous Database. Assim, você permite definir uma política para limitar o acesso aos recursos por função. Por exemplo, definir uma política limitada ao acesso somente para leitura, por atribuiçã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 para sua instância do Autonomous Database.
Consulte Procedimento ENABLE_PRINCIPAL_AUTH 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 designar atribuições e privilégios à conta de serviço do Google que seu aplicativo acessa. Além de designar atribuições para a conta de serviço do Google, para quaisquer recursos do GCP que você deseja usar um administrador do Google Cloud, adicione controladores do Google IAM.
Como pré-requisito, primeiro ative a conta de serviço do Google em sua instância do Autonomous Database. Consulte Ativar Conta do Google Service e Localizar o Nome da Conta do GCP Service 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 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 os 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.
Caso ainda não tenha 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 Google Service e Localizar o Nome da Conta do GCP Service para obter mais informações.
-
Execute as atribuições de função do Google Cloud Platform para os recursos que você deseja acessar. Consulte Designar Atribuições à Conta do Google Service e Fornecer Acesso para Recursos do 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 LIST_OBJECTS Função.
Desativar Conta do Google Service
Para desativar o acesso da conta do serviço Google aos recursos do Google Cloud Platform (GCP), use DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH
.
Quando o valor provider
é GCP
e username
é um usuário diferente de ADMIN
, o procedimento revoga os privilégios do usuário especificado. Nesse caso, o usuário ADMIN
e outros usuários podem continuar a usar GCP$PA
.
Por exemplo, para revogar privilégios de adb_user
:
BEGIN
DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH
(
provider => 'GCP',
username => 'adb_user');
END;
/
Quando o valor provider
é GCP
e username
é ADMIN
, o procedimento desativa o acesso da 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 Procedimento DISABLE_PRINCIPAL_AUTH para obter mais informações.
Observações da Conta do Google Service
Observações para usar a conta de serviço do Google.
-
Restrição de caracteres do Google Cloud Platform (GCP):
DBMS_CLOUD
não suporta um URI contendo 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.