Criar Políticas para Controlar o Acesso a Recursos Relacionados à Rede e ao Serviço API Gateway

Descubra como criar políticas para uso com o Gateway de API.

Para que os usuários possam começar a usar o serviço de Gateway de API para criar gateways de API e implantar APIs neles, como um administrador da tenancy você tem que criar várias políticas do Oracle Cloud Infrastructure para conceder acesso a recursos relacionados ao Gateway de API e à rede.

Para conceder acesso a recursos relacionados ao Gateway de API e à rede, você deve:

Consulte Detalhes do Serviço API Gateway para obter mais informações sobre políticas.

Criar uma Política para Fornecer aos Usuários do Serviço API Gateway Acesso a Recursos Relacionados ao Serviço API Gateway

Quando os usuários do Gateway de API definem um novo gateway de API e novas implantações de API, eles têm que especificar um compartimento para esses recursos relacionados ao Gateway de API. Os usuários só podem especificar um compartimento ao qual os grupos que pertencem a ele tenham recebido acesso. Para permitir que os usuários especifiquem um compartimento, você deverá criar uma política de identidade para conceder acesso aos grupos.

Para criar uma política para fornecer aos usuários acesso a recursos relacionados ao serviço API Gateway no compartimento que possuirão esses recursos:

  1. Faça log-in na Console como um administrador de tenancy.
  2. Abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Políticas. É exibida uma lista das políticas no compartimento que você está exibindo.
  3. Selecione na lista à esquerda o compartimento que terá recursos relacionados ao Gateway de API.
  4. Selecione Criar Política.
  5. Informe o seguinte:

    • Nome: Um nome significativo para a política (por exemplo, acme-apigw-developers-manage-access). O nome deve ser exclusivo em todas as políticas em sua tenancy. Não é possível alterar essa opção posteriormente. Evite digitar informações confidenciais.
    • Descrição: Uma descrição significativa (por exemplo, Gives api-gateway developers access to all resources in the acme-apigw-compartment). Você poderá alterar essa opção posteriormente, se quiser.
    • Instrução: A seguinte instrução de política para conceder ao grupo acesso a todos os recursos relacionados ao Gateway de API no compartimento:

      Como Instrução 1:, informe a seguinte instrução da política para conceder ao grupo acesso a todos os recursos relacionados ao Gateway de API no compartimento:

      Allow group <group-name> to manage api-gateway-family in compartment <compartment-name>

      Por exemplo:

      Allow group acme-apigw-developers to manage api-gateway-family in compartment acme-apigw-compartment
    • Tags: Se você tiver permissões para criar um recurso, também terá permissões para aplicar tags de formato livre a esse recurso. Para aplicar uma tag definida, você deve ter permissões para usar o namespace da tag. Para obter mais informações sobre tags, consulte Tags de Recursos. Se você não tiver certeza se deseja aplicar tags, ignore essa opção ou pergunte a um administrador. Você pode aplicar tags posteriormente.
  6. Selecione Criar para criar a política que dá aos usuários do Gateway de API acesso aos recursos relacionados ao Gateway de API no compartimento.
Dica

, Normalmente, os gateways de API e as implantações de API são criados no mesmo compartimento. No entanto, em equipes de desenvolvimento grandes com muitos desenvolvedores de API, você pode achar útil criar compartimentos separados para gateways de API e para implantações de API. Fazer isso permitirá que você dê a diferentes grupos de usuários o acesso apropriado a esses recursos.

Criar uma Política para Conceder aos Usuários do Serviço API Gateway Acesso aos Recursos da Rede

Quando os usuários do serviço API Gateway definem um novo gateway de API, eles têm que especificar uma VCN e uma sub-rede para criar o gateway de API. Os usuários só podem especificar VCNs e sub-redes às quais os grupos a que pertencem tenham acesso. Para permitir que os usuários especifiquem uma VCN e uma sub-rede, você deverá criar uma política de identidade para conceder acesso aos grupos. Além disso, se você quiser permitir que os usuários criem gateways de API pública, a política de identidade deverá permitir que os grupos gerenciem endereços IP públicos no compartimento que possui os recursos da rede.

Para criar uma política para conceder aos usuários do serviço API Gateway acesso aos recursos da rede:

  1. Faça log-in na Console como um administrador de tenancy.
  2. Abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Políticas. É exibida uma lista das políticas no compartimento que você está exibindo.
  3. Selecione na lista à esquerda o compartimento que possui os recursos de rede.
  4. Selecione Criar Política.
  5. Informe o seguinte:

    • Nome: Um nome significativo para a política (por exemplo, acme-apigw-developers-network-access). O nome deve ser exclusivo em todas as políticas em sua tenancy. Não é possível alterar essa opção posteriormente. Evite digitar informações confidenciais.
    • Descrição: Uma descrição significativa (por exemplo, Gives api-gateway developers access to all network resources in the acme-network compartment). Você poderá alterar essa opção posteriormente, se quiser.
    • Instrução: A seguinte instrução de política para conceder ao grupo acesso a recursos de rede no compartimento (incluindo a capacidade de gerenciar endereços IP públicos):

      Allow group <group-name> to manage virtual-network-family in compartment <compartment-name>

      Por exemplo:

      Allow group acme-apigw-developers to manage virtual-network-family in compartment acme-network
    • Tags: Se você tiver permissões para criar um recurso, também terá permissões para aplicar tags de formato livre a esse recurso. Para aplicar uma tag definida, você deve ter permissões para usar o namespace da tag. Para obter mais informações sobre tags, consulte Tags de Recursos. Se você não tiver certeza se deseja aplicar tags, ignore essa opção ou pergunte a um administrador. Você pode aplicar tags posteriormente.
  6. Selecione Criar para criar a política que concede aos usuários do serviço API Gateway acesso aos recursos de rede e endereços IP públicos no compartimento.

Criar uma Política para Conceder aos Usuários do Serviço API Gateway Acesso ao Serviço Functions

Quando os usuários do Gateway de API definem um novo gateway de API, uma opção é especificar uma função sem servidor definida no OCI Functions como o back-end da API. Os usuários só podem especificar funções para as quais os grupos a que pertencem tenham recebido acesso. Se quiser permitir que os usuários especifiquem funções como back-end de API, você deverá criar uma política de identidade para conceder acesso aos grupos. Observe que, além desta política para o grupo de usuários, para permitir que os usuários especifiquem funções como backends de API, você também precisa criar uma política para conceder acesso de gateways de API ao OCI Functions (consulte Criar uma Política para Fornecer Acesso de Gateways de API ao serviço Functions).

Outro motivo para criar uma política de identidade que conceda aos grupos acesso ao OCI Functions é se você quiser permitir que os usuários usem a Console (em vez de um arquivo JSON) para definir uma política de solicitação de autenticação e especificar uma função de autorizador definida no OCI Functions (consulte Passando Tokens para Funções de Autorizador para Adicionar Autenticação e Autorização a Implantações de API).

Para criar uma política para conceder aos usuários do API Gateway acesso às funções definidas no OCI Functions:

  1. Faça log-in na Console como um administrador de tenancy.
  2. Abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Políticas. É exibida uma lista das políticas no compartimento que você está exibindo.
  3. Selecione na lista à esquerda o compartimento que possui as funções.
  4. Selecione Criar Política.
  5. Informe o seguinte:

    • Nome: Um nome significativo para a política (por exemplo, acme-apigw-developers-functions-access). O nome deve ser exclusivo em todas as políticas em sua tenancy. Não é possível alterar essa opção posteriormente. Evite digitar informações confidenciais.
    • Descrição: Uma descrição significativa (por exemplo, Gives api-gateway developers access to all functions in the acme-functions-compartment). Você poderá alterar essa opção posteriormente, se quiser.
    • Instrução: A seguinte instrução de política para conceder ao grupo acesso às funções do compartimento:

      Allow group <group-name> to use functions-family in compartment <compartment-name>

      Por exemplo:

      Allow group acme-apigw-developers to use functions-family in compartment acme-functions-compartment
    • Tags: Se você tiver permissões para criar um recurso, também terá permissões para aplicar tags de formato livre a esse recurso. Para aplicar uma tag definida, você deve ter permissões para usar o namespace da tag. Para obter mais informações sobre tags, consulte Tags de Recursos. Se você não tiver certeza se deseja aplicar tags, ignore essa opção ou pergunte a um administrador. Você pode aplicar tags posteriormente.
  6. Selecione Criar para criar a política que concede aos usuários do Gateway de API acesso às funções do compartimento.

Criar uma Política para Permitir que Usuários do Serviço API Gateway Criem Associações de Certificado

Os usuários do Gateway de API podem usar um recurso de certificado do serviço Certificates para configurar um nome de domínio personalizado para um gateway de API. Para permitir que os usuários associem um recurso de certificado do serviço Certificates a um gateway de API, crie uma política de identidade para permitir que os grupos aos quais os usuários pertencem criem associações de certificados.

Para criar uma política para permitir que os usuários do Gateway de API associem um recurso de certificado do serviço Certificates a um gateway de API:

  1. Faça log-in na Console como um administrador de tenancy.
  2. Abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Políticas. É exibida uma lista das políticas no compartimento que você está exibindo.
  3. Selecione na lista à esquerda o compartimento que possui o gateway de API.
  4. Selecione Criar Política.
  5. Informe o seguinte:

    • Nome: Um nome significativo para a política (por exemplo, acme-apigw-developers-certificate-association). " O nome deve ser exclusivo em todas as políticas em sua tenancy. Não é possível alterar essa opção posteriormente. Evite digitar informações confidenciais.
    • Descrição: Uma descrição significativa (por exemplo, Gives api-gateway developers the ability to create certificate associations). Você poderá alterar essa opção posteriormente, se quiser.
    • Instrução: A seguinte instrução de política para permitir que o grupo associe um recurso de certificado do serviço Certificates a um gateway de API no compartimento:

      Allow group <group-name> to manage certificate-associations in compartment <compartment-name>

      Por exemplo:

      Allow group acme-apigw-developers to manage certificate-associations in compartment acme-apigw-compartment
    • Tags: Se você tiver permissões para criar um recurso, também terá permissões para aplicar tags de formato livre a esse recurso. Para aplicar uma tag definida, você deve ter permissões para usar o namespace da tag. Para obter mais informações sobre tags, consulte Tags de Recursos. Se você não tiver certeza se deseja aplicar tags, ignore essa opção ou pergunte a um administrador. Você pode aplicar tags posteriormente.
  6. Selecione Criar para criar a política que permite aos usuários do Gateway de API associar recursos de certificado do serviço Certificates a gateways de API no compartimento.

Criar uma Política para Permitir que Usuários do Serviço API Gateway Gerenciem CAs e Pacotes de CAs

Além da autoridade de certificação (CA) e do pacote de CAs padrão, os usuários do Gateway de API podem optar por adicionar os certificados raiz de outras CAs e outros pacotes de CAs (conhecidos como CAs personalizadas e pacotes de CAs personalizados) ao armazenamento confiável de um gateway de API. Para personalizar o armazenamento confiável de um gateway de API adicionando uma CA ou um pacote de CAs personalizado, os usuários devem primeiro criar um recurso de CA ou um recurso de pacote de CAs no serviço Certificates. Consulte Personalizando Armazenamentos Confiáveis para Verificação de Certificado TLS.

Para permitir que os usuários adicionem CAs e bundles de CA personalizados a armazenamentos confiáveis personalizados, crie uma política de identidade para permitir que os grupos aos quais os usuários pertencem gerenciem autoridades de certificação no serviço Certificates.

Para criar uma política para permitir que os usuários do Gateway de API adicionem CAs e pacotes de CA personalizados a armazenamentos confiáveis personalizados:

  1. Faça log-in na Console como um administrador de tenancy.
  2. Abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Políticas. É exibida uma lista das políticas no compartimento que você está exibindo.
  3. Selecione na lista à esquerda o compartimento que possui o gateway de API.
  4. Selecione Criar Política.
  5. Informe o seguinte:

    • Nome: Um nome significativo para a política (por exemplo, acme-apigw-developers-custom-ca-bundle). O nome deve ser exclusivo em todas as políticas em sua tenancy. Não é possível alterar essa opção posteriormente. Evite digitar informações confidenciais.
    • Descrição: Uma descrição significativa (por exemplo, Gives api-gateway developers the ability to add custom CAs and CA bundles). Você poderá alterar essa opção posteriormente, se quiser.
    • Instrução: A seguinte instrução de política para permitir que o grupo adicione CAs personalizadas e pacotes de CA personalizados ao armazenamento confiável personalizado de gateways de API no compartimento:

      Allow group <group-name> to manage certificate-authority-family in compartment <compartment-name>

      Por exemplo:

      Allow group acme-apigw-developers to manage certificate-authority-family in compartment acme-apigw-compartment
    • Tags: Se você tiver permissões para criar um recurso, também terá permissões para aplicar tags de formato livre a esse recurso. Para aplicar uma tag definida, você deve ter permissões para usar o namespace da tag. Para obter mais informações sobre tags, consulte Tags de Recursos. Se você não tiver certeza se deseja aplicar tags, ignore essa opção ou pergunte a um administrador. Você pode aplicar tags posteriormente.
  6. Selecione Criar para criar a política que permite aos usuários do Gateway de API adicionar CAs e pacotes de CA personalizados a armazenamentos confiáveis personalizados.

Criar uma Política para Conceder aos Gateways de API Acesso ao Serviço Functions

Quando os usuários do Gateway de API definem um novo gateway de API, uma opção é especificar uma função sem servidor definida no OCI Functions como o back-end da API. Antes de criar o gateway de API, o serviço API Gateway verifica se o novo gateway de API terá acesso à função especificada por meio de uma política do serviço IAM.

Observe que, além desta política para gateways de API, para permitir que os usuários especifiquem funções como backends de API, você também precisa criar uma política para conceder aos usuários acesso ao OCI Functions (consulte Criar uma Política para Conceder aos Usuários do Serviço API Gateway Acesso ao Serviço Functions).

Para criar uma política para conceder aos gateways de API acesso às funções definidas no OCI Functions:

  1. Faça log-in na Console como um administrador de tenancy.
  2. Crie uma nova política para conceder aos gateways de API acesso às funções definidas no OCI Functions:

    1. Abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Políticas.
    2. Selecione o compartimento que contém os recursos relacionados à função aos quais você deseja conceder acesso. Se os recursos estiverem em compartimentos distintos, selecione um compartimento pai comum (por exemplo, o compartimento raiz da tenancy).
    3. Siga as instruções em Para criar uma política e dê um nome à política (por exemplo, acme-apigw-gateways-functions-policy).
    4. Informe uma instrução de política para conceder aos gateways de API acesso ao compartimento que contém funções definidas no OCI Functions:

      ALLOW any-user to use functions-family in compartment <functions-compartment-name> where ALL {request.principal.type= 'ApiGateway', request.resource.compartment.id = '<api-gateway-compartment-OCID>'}

      em que:

      • <functions-compartment-name> é o nome do compartimento que contém as funções que você deseja usar como backends para gateways de API.
      • <api-gateway-compartment-OCID> é o OCID do compartimento que contém os gateways de API a cujas funções você deseja ter acesso.

      Por exemplo:

      ALLOW any-user to use functions-family in compartment acme-functions-compartment where ALL {request.principal.type= 'ApiGateway', request.resource.compartment.id = 'ocid1.compartment.oc1..aaaaaaaa7______ysq'}
    5. Selecione Criar para criar a política que fornece aos gateways de API acesso às funções definidas no OCI Functions.

Criar uma Política para Conceder aos Gateways de API Acesso às Credenciais Armazenadas como Segredos no Serviço Vault

Se os usuários do Gateway de API definirem um gateway de API que armazena em cache os dados de resposta em um servidor de cache externo (como um servidor Redis), as credenciais para autenticação com o servidor de cache deverão ser armazenadas no serviço Vault. Da mesma forma, se os usuários do Gateway de API definirem um gateway de API que acesse o ponto final de introspecção de um servidor de autorização para validar tokens, as credenciais a serem autenticadas com o servidor de autorização deverão ser armazenadas no serviço Vault. Para permitir que os gateways de API se autentiquem com o servidor de cache ou com o servidor de autorização, crie uma política que conceda aos gateways de API acesso a segredos no serviço Vault.

Para criar uma política para conceder aos gateways de API acesso a segredos no serviço Vault:

  1. Faça log-in na Console como um administrador de tenancy.
  2. Crie um novo grupo dinâmico que inclua um ou mais gateways de API:

    1. Abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Domínios. Em Domínio de identidades, selecione Grupos dinâmicos.
    2. Siga as instruções em Para criar um grupo dinâmico e dê um nome ao grupo dinâmico (por exemplo, acme-apigw-dyn-grp).
    3. Ao especificar uma regra para o grupo dinâmico, considere os seguintes exemplos:

      • Se você quiser que todos os gateways de API de um compartimento possam acessar segredos, informe uma regra semelhante à seguinte que adicione todos os gateways de API do compartimento com o OCID do compartimento especificado ao grupo dinâmico:

        ALL {resource.type = 'ApiGateway', resource.compartment.id = 'ocid1.compartment.oc1..aaaaaaaa23______smwa'}
      • Se quiser que um gateway de API específico possa acessar segredos, digite uma regra semelhante à seguinte que adicione o gateway de API com o OCID especificado ao grupo dinâmico:

        ALL {resource.type = 'ApiGateway', resource.id = 'ocid1.apigateway.oc1.iad.aaaaaaaab______hga'}
    4. Selecione Criar Grupo Dinâmico.

    Depois de criar um grupo dinâmico que inclua um ou mais gateways de API, agora você pode criar uma política para conceder ao grupo dinâmico acesso a um ou mais segredos.

  3. Crie uma nova política para conceder ao grupo dinâmico acesso a um ou mais segredos no serviço Vault:

    1. Abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Políticas.
    2. Siga as instruções em Para criar uma política e dê um nome à política (por exemplo, acme-apigw-dyn-grp-policy).
    3. Ao especificar uma instrução de política, considere os seguintes exemplos:

      • Se quiser que os gateways de API no acme-apigw-dyn-grp possam acessar todos os segredos em um compartimento, digite uma instrução de política semelhante à seguinte:

        allow dynamic-group acme-apigw-dyn-grp to read secret-bundles in compartment acme-apigw-compartment
      • Se quiser que os gateways de API no acme-apigw-dyn-grp possam acessar um segredo específico, digite uma instrução de política semelhante à seguinte:

        allow dynamic-group acme-apigw-dyn-grp to read secret-bundles in compartment acme-apigw-compartment where target.secret.id='ocid1.vaultsecret.oc1.iad.amaaaaaa______qia'
    4. Selecione Criar para criar a nova política que concede aos gateways de API no grupo dinâmico acesso aos segredos especificados no serviço Vault.