Autenticação SAML na Pesquisa com OpenSearch

Saiba mais sobre o uso do OCI Search de autenticação SAML com OpenSearch.

O OCI Search com OpenSearch suporta o uso de um provedor de identidades para acesso e controle a clusters OpenSearch e Painéis de Controle OpenSearch. Isso está disponível por meio do suporte de logon único SAML no plug-in de Segurança OpenSearch.

Com a integração SAML, você pode configurar um cluster para que o OCI OpenSearch, como um provedor de serviços SAML, se conecte ao seu provedor de identidades para autenticar usuários e retornar um token de autenticação ao OCI OpenSearch para acesso a clusters OpenSearch e Painéis de Controle OpenSearch. Você também pode configurar o Painel de Controle OpenSearch para que os usuários sejam redirecionados para a página de acesso do provedor de identidades para autenticação ao acessar o Painel de Controle OpenSearch.

A tabela a seguir descreve as definições de configuração SAML aplicáveis à Pesquisa com OpenSearch.

Configuração SAML Descrição Nome do Campo ou Atributo
Metadados SAML Arquivo de metadados que descreve os recursos e a configuração do provedor de identidades. Obrigatório.
  • Console: Conteúdo de metadados
  • CLI: conteúdo de metadados idp
  • API: idpMetadataContent
ID de identidade O nome do provedor de identidades. Obrigatório.
  • Console: ID de Identidade
  • CLI: ipd-identity-id
  • API: ipdIdentityId
OpenSearch URL do Painel de Controle O URL do Painel de Controle OpenSearch do cluster. Opcional.
  • Console: URL do Painel de Controle
  • CLI: opendashboard-url
  • API: opendashboardUrl
Atribuição de administrador de backend A atribuição de backend no provedor de identidades para os usuários que têm permissões completas de administrador para o cluster. Opcional.
  • Console: Atribuição de backend de administrador
  • CLI: admin-backend-role
  • API: adminBackendRole
Chave de assunto Se o provedor de identidades usar o nome de elemento padrão para usuários, NameID, você não precisará especificar nada aqui. Caso contrário, use esse elemento para especificar o elemento na resposta SAML que contém os usuários. Opcional.
  • Console: Chave do assunto
  • CLI: chave de assunto
  • API: subjectKey
Chave de atribuições Se você estiver usando atribuições de backend, isso especificará o nome do elemento na resposta SAML que contém as atribuições de usuário. Opcional
  • Console: Chave de atribuições
  • CLI: chave de funções
  • API: rolesKey

Limitações e Considerações

  • A pesquisa com OpenSearch só suporta a ativação da autenticação SAML na Console para clusters existentes. Não é possível ativar a autenticação SAML ao criar um novo cluster na Console. Você pode ativar a autenticação SAML ao criar um novo cluster OpenSearch usando a CLI ou a API.
  • Ao criar um novo cluster e ativar a autenticação SAML usando a CLI ou a API, você também deve ativar o controle de acesso baseado em atribuição para o cluster, com o modo de segurança definido para impor.

Pré-requisitos

  • Um provedor de identidades existente.
  • Somente para a Console, você deve ter um cluster OpenSearch existente criado.
  • Você só pode ativar o SAML para um cluster existente na Console.

    1. Na página de lista Clusters, localize o cluster OpenSearch com o qual você deseja trabalhar. Se precisar de ajuda para localizar a página de lista ou o cluster, consulte Listando Clusters OpenSearch.
    2. Na lista Clusters, clique no nome do cluster cujo SAML você deseja ativar.
    3. Na página de detalhes do cluster, clique em Mais ações e selecione Adicionar autenticação SAML.
    4. No campo Conteúdo de metadados, cole o conteúdo do arquivo de metadados SAML para o provedor de identidades.
      O arquivo de metadados SAML descreve os recursos e a configuração do provedor de identidades. Isso inclui o certificado do provedor de identidades.
    5. Especifique o nome do provedor de identidades no ID da Identidade.
    6. Opcionalmente, você pode especificar os seguintes detalhes de configuração:
      • URL do Painel: O URL OpenSearch.Dashboard do cluster.
      • Atribuição de backend de administrador: A atribuição de backend no provedor de identidades para usuários que têm privilégios de administrador para o cluster do OpenSearch.
      • Chave de atribuições: Especifica o atributo na resposta SAML que contém as atribuições de usuário.
      • Chave de assunto: Especifica o atributo na resposta SAML que contém os usuários.
    7. Selecione Salvar alterações.
  • Para obter informações sobre como usar a CLI, consulte Interface de Linha de Comando (CLI). Para obter uma lista completa de flags e opções disponíveis para comandos de CLI, consulte Referência de Comando de CLI

    Ativando o SAML ao Criar um Cluster

    Você pode ativar a autenticação SAML quando usar o comando create do objeto cluster na CLI para criar um cluster. Além dos parâmetros necessários para o comando create, você também precisa incluir os seguintes parâmetros:

    • Os parâmetros de controle de acesso baseado em função, incluindo security-mode, security-master-user-name e security-master-user-password-hash. O parâmetro security-mode deve ser definido como ENFORCING.
    • O parâmetro securitySamlConfig que contém a configuração SAML. Veja a seguir um exemplo de JSON com configuração SAML para este parâmetro:
      {
          "isEnabled": true,
          "idpEntityId": "<identity_provider_name>",
          "idpMetadataContent": "xml content"
          "opendashboardUrl": "https://localhost:5601",
          "adminBackendRole": "<admin_role_name>",
          "subjectKey": "<NameID>",
          "rolesKey": "<group_name>"
          }

      Embora a amostra anterior inclua todos os campos de configuração SAML disponíveis, somente os campos isEnabled, idpEntityId e idpMetadataContent são obrigatórios.

    Exemplo de comando create:

    oci opensearch cluster create --compartment-id <compartment_ocid> --securitySamlConfig <SAML_Config_JSON> --security-mode ENFORCING --security-master-user-name <username> --security-master-user-password-hash <password> ...remaining required fields
                            

    Ativando o SAML ao Atualizar um Cluster

    Você pode ativar a autenticação SAML para um cluster existente quando usar o comando update do objeto cluster na CLI para atualizar um cluster. Inclua o parâmetro securitySamlConfig no comando update. Consulte o JSON de configuração SAML na seção anterior para obter um exemplo do que especificar para este parâmetro.

    Exemplo de comando update:

    oci opensearch cluster update --display-name<cluster_name> --opensearch-cluster-id <cluster_ocid --securitySamlConfig <SAML_Config_JSON>
                            

    Se o controle de acesso baseado em atribuição não estiver ativado para o cluster, você precisará ativá-lo também incluindo os parâmetros security-mode, security-master-user-name e security-master-user-password-hash. O parâmetro security-mode deve ser definido como ENFORCING.

  • Para obter informações sobre como usar a API e assinar solicitações, consulte APIs REST e Credenciais de Segurança. Para obter informações sobre SDKs, consulte Kits de Desenvolvimento de Software e Interface de Linha de Comando.

    Ativando o SAML ao Criar um Cluster

    Você pode ativar a autenticação SAML quando usar a operação CreateOpensearchCluster para criar um cluster. Informe os detalhes de configuração do SAML em CreateOpensearchClusterDetails, usando o novo atributo securitySamlConfig, conforme mostrado no seguinte exemplo:

    POST https://opensearch.us-ashburn-1.oci.oraclecloud.com/20180828/opensearchClusters/
    {
      ...
      "securitySamlConfig": {
        "isEnabled": true,
        "idpEntityId": "<identity_provider_name>",
        "idpMetadataContent": "xml content"
        "opendashboardUrl": "https://localhost:5601",
        "adminBackendRole": "<admin_role_name>",
        "subjectKey": "<NameID>",
        "rolesKey": "<group_name>"
      },
      ...
    }

    Ativando o SAML ao Atualizar um Cluster

    Você pode ativar a autenticação SAML para um cluster existente quando usar a operação UpdateOpensearchCluster para atualizar um cluster. Informe os detalhes de configuração do SAML em UpdateOpensearchClusterDetails, usando o novo atributo securitySamlConfig, conforme mostrado no seguinte exemplo:

    PUT https://opensearch.us-ashburn-1.oci.oraclecloud.com/20180828/opensearchClusters/ocid1.opensearchcluster.oc1.<unique_ID>
    {
      ...
      "securitySamlConfig": {
        "isEnabled": true,
        "idpEntityId": "<identity_provider_name>",
        "idpMetadataContent": "xml content"
        "opendashboardUrl": "https://localhost:5601",
        "adminBackendRole": "<admin_role_name>",
        "subjectKey": "<NameID>",
        "rolesKey": "<group_name>"
      },
      ...
    }