As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
SAMLautenticação para Amazon OpenSearch Serverless
Com a SAML autenticação do Amazon OpenSearch Serverless, você pode usar seu provedor de identidade existente para oferecer login único (SSO) para os endpoints do OpenSearch Dashboards de coleções sem servidor.
SAMLa autenticação permite que você use provedores de identidade terceirizados para entrar nos OpenSearch painéis para indexar e pesquisar dados. OpenSearch O Serverless oferece suporte a provedores que usam o padrão SAML 2.0, como IAM Identity Center, Okta, Keycloak, Active Directory Federation Services (AD FS) e Auth0. Você pode configurar o IAM Identity Center para sincronizar usuários e grupos de outras fontes de identidade OneLogin, como Okta e Microsoft Entra ID. Para obter uma lista das fontes de identidade suportadas pelo IAM Identity Center e as etapas para configurá-las, consulte os tutoriais de introdução no Guia do usuário do IAM Identity Center.
nota
SAMLa autenticação serve apenas para acessar OpenSearch painéis por meio de um navegador da web. Os usuários autenticados só podem fazer solicitações às OpenSearch API operações por meio das Ferramentas de Desenvolvimento nos OpenSearch Painéis. Suas SAML credenciais não permitem que você faça HTTP solicitações diretas às OpenSearch API operações.
Para configurar a SAML autenticação, primeiro você configura um provedor de SAML identidade (IdP). Em seguida, você inclui um ou mais usuários desse IdP em uma política de acesso a dados. Essa política concede certas permissões para coleções e/ou índices. Em seguida, um usuário pode entrar nos OpenSearch painéis e realizar as ações permitidas na política de acesso a dados.
Tópicos
Considerações
Considere o seguinte ao configurar a SAML autenticação:
-
Não há suporte para solicitações assinadas e criptografadas.
-
Não há suporte para declarações criptografadas.
-
Não há suporte para autenticação e desconexão iniciadas pelo IdP.
-
As políticas de controle de serviços (SCP) não serão aplicáveis ou avaliadas no caso de não IAM identidades (como SAML no Amazon OpenSearch Serverless SAML e na autorização básica de usuário interno para o Amazon OpenSearch Service).
Permissões obrigatórias
SAMLa autenticação para OpenSearch Serverless usa o seguinte AWS Identity and Access Management (IAM) permissões:
-
aoss:CreateSecurityConfig
— Crie um SAML provedor. -
aoss:ListSecurityConfig
— Listar todos os SAML provedores na conta corrente. -
aoss:GetSecurityConfig
— Visualize as informações do SAML provedor. -
aoss:UpdateSecurityConfig
— Modifique a configuração SAML de um determinado provedor, incluindo os XML metadados. -
aoss:DeleteSecurityConfig
— Excluir um SAML provedor.
A seguinte política de acesso baseada em identidade permite que um usuário gerencie todas as configurações do IdP:
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "aoss:CreateSecurityConfig", "aoss:DeleteSecurityConfig", "aoss:GetSecurityConfig", "aoss:UpdateSecurityConfig", "aoss:ListSecurityConfigs" ], "Effect": "Allow", "Resource": "*" } ] }
Observe que o elemento Resource
deve ser um caractere curinga.
Criação SAML de provedores (console)
Essas etapas explicam como criar SAML provedores. Isso permite a SAML autenticação com a autenticação iniciada pelo provedor de serviços (SP) para OpenSearch painéis. Não há suporte para autenticação iniciada pelo IdP.
Para habilitar a SAML autenticação para OpenSearch painéis
-
Faça login no console do Amazon OpenSearch Service em https://console.aws.amazon.com/aos/casa
. -
No painel de navegação esquerdo, expanda Sem servidor e escolha SAML autenticação.
-
Escolha Adicionar SAML provedor.
-
Forneça um nome e uma descrição para o provedor.
nota
O nome que você especificar pode ser acessado publicamente e aparecerá em um menu suspenso quando os usuários entrarem OpenSearch nos Painéis. Certifique-se de que o nome seja facilmente reconhecível e não revele informações confidenciais sobre seu provedor de identidade.
-
Em Configurar seu IdP, copie a declaração de serviço ao consumidor (). ACS URL
-
Use o ACS URL que você acabou de copiar para configurar seu provedor de identidade. A terminologia e as etapas variam de acordo com o provedor. Consulte a documentação do seu provedor.
No Okta, por exemplo, você cria uma “aplicação web SAML 2.0” e a especifica ACS URL como Login Único URLURL, Destinatário e Destino URL. Para Auth0, você o especifica em Allowed Callback URLs.
-
Forneça a restrição de público se seu IdP possuir um campo para isso. A restrição de público é um valor dentro da SAML afirmação que especifica para quem a afirmação se destina. Para OpenSearch Serverless, especifique.
aws:opensearch:<aws account id>
Por exemplo,aws:opensearch:
.123456789012
O nome do campo de restrição de público varia de acordo com o provedor. Para Okta, é Audience URI (SP Entity ID). Para o IAM Identity Center, é o SAMLpúblico de aplicativos.
-
Se você estiver usando o IAM Identity Center, também precisará especificar o seguinte mapeamento de atributos:
Subject=${user:name}
, com um formato deunspecified
. -
Aopis você configurar o provedor de identidade, ele gera um arquivo de metadados IdP. Esse XML arquivo contém informações sobre o provedor, como um TLS certificado, endpoints de login único e o ID da entidade do provedor de identidade.
Copie o texto no arquivo de metadados do IdP e cole-o no campo Fornecer metadados do seu IdP. Como alternativa, escolha Importar do XML arquivo e faça o upload do arquivo. O arquivo de metadados deve ser semelhante ao seguinte:
<?xml version="1.0" encoding="UTF-8"?> <md:EntityDescriptor entityID="
entity-id
" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"> <md:IDPSSODescriptor WantAuthnRequestsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"> <md:KeyDescriptor use="signing"> <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:X509Data> <ds:X509Certificate>tls-certificate
</ds:X509Certificate> </ds:X509Data> </ds:KeyInfo>s </md:KeyDescriptor> <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat> <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat> <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="idp-sso-url
"/> <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="idp-sso-url
"/> </md:IDPSSODescriptor> </md:EntityDescriptor> -
Mantenha o campo Atributo de ID de usuário personalizado vazio para usar o
NameID
elemento da SAML afirmação para o nome de usuário. Se sua asserção não usar este elemento padrão e, em vez disso, incluir o nome de usuário como um atributo personalizado, especifique esse atributo aqui. Os atributos diferenciam maiúsculas de minúsculas. Só há suporte para um único atributo de usuário.O exemplo a seguir mostra um atributo de substituição para
NameID
na SAML afirmação:<saml2:Attribute Name="
UserId
" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"> <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">annie
</saml2:AttributeValue> </saml2:Attribute> -
(Opcional) Especifique um atributo personalizado no campo Atributo do grupo, como
role
ougroup
. Só há suporte para um único atributo de grupo. Não há atributo de grupo padrão. Se você não especificar uma, suas políticas de acesso a dados só poderão conter entidades principais de usuários.O exemplo a seguir mostra um atributo de grupo na SAML afirmação:
<saml2:Attribute Name="
department
" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"> <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">finance
</saml2:AttributeValue> </saml2:Attribute> -
Por padrão, os OpenSearch painéis desconectam os usuários após 24 horas. Você pode configurar esse valor para qualquer número entre 1 e 12 horas (15 e 720 minutos) especificando o tempo limite dos OpenSearch painéis. Se você tentar definir um tempo limite igual ou inferior a 15 minutos, sua sessão será redefinida para uma hora.
-
Escolha Criar SAML provedor.
Acessando OpenSearch painéis
Depois de configurar um SAML provedor, todos os usuários e grupos associados a esse provedor podem navegar até o endpoint do OpenSearch Dashboards. Os painéis URL têm o formato
para todas as coleções. collection-endpoint
/_dashboards/
Se você tiver SAML ativado, selecionando o link no AWS Management Console direciona você para a página de seleção do IdP, na qual você pode entrar usando SAML suas credenciais. Primeiro, use o menu suspenso para selecionar um provedor de identidade:
Em seguida, faça login usando suas credenciais do IdP.
Se você não tiver SAML ativado, selecione o link no AWS Management Console orienta você a fazer login como IAM usuário ou função, sem opção paraSAML.
Concedendo acesso às SAML identidades aos dados da coleta
Depois de criar um SAML provedor, você ainda precisa conceder aos usuários e grupos subjacentes acesso aos dados em suas coleções. Você concede acesso por meio de políticas de acesso a dados. Até que você forneça acesso aos usuários, eles não poderão ler, gravar ou excluir nenhum dado de suas coleções.
Para conceder acesso, crie uma política de acesso a dados e especifique seu SAML usuário e/ou grupo IDs na Principal
declaração:
[ { "Rules":[ ... ], "Principal":[ "saml/
987654321098
/myprovider
/user/Shaheen
", "saml/987654321098
/myprovider
/group/finance
" ] } ]
É possível conceder acesso a coleções, índices ou ambos. Se você quiser que usuários diferentes tenham permissões diferentes, crie várias regras. Para obter uma lista das permissões disponíveis, consulte Permissões de políticas com suporte. Para obter informações sobre como formatar uma política de acesso, consulte Sintaxe das políticas.
Criação SAML de provedores (AWS CLI)
Para criar um SAML provedor usando o OpenSearch ServerlessAPI, envie uma CreateSecurityConfigsolicitação:
aws opensearchserverless create-security-config \ --name
myprovider
\ --type saml \ --saml-options file://saml-auth0
.json
Especifiquesaml-options
, incluindo os metadadosXML, como um mapa de valores-chave em um arquivo.json. Os metadados XML devem ser codificados como uma string de JSONescape
{ "sessionTimeout":
70
, "groupAttribute": "department
", "userAttribute": "userid
", "metadata": "<EntityDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" ... ... ... IDPSSODescriptor>\r\n<\/EntityDescriptor>
" }
Visualizando SAML provedores
A ListSecurityConfigssolicitação a seguir lista todos os SAML provedores em sua conta:
aws opensearchserverless list-security-configs --type saml
A solicitação retorna informações sobre todos os SAML provedores existentes, incluindo os metadados completos do IdP que seu provedor de identidade gera:
{ "securityConfigDetails": [ { "configVersion": "MTY2NDA1MjY4NDQ5M18x", "createdDate": 1664054180858, "description": "Example SAML provider", "id": "saml/123456789012/myprovider", "lastModifiedDate": 1664054180858, "samlOptions": { "groupAttribute": "department", "metadata": "<EntityDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" ... ... ... IDPSSODescriptor>\r\n<\/EntityDescriptor>", "sessionTimeout": 120, "userAttribute": "userid" } } ] }
Para exibir detalhes sobre um provedor específico, inclusive a configVersion
para futuras atualizações, envie uma solicitação GetSecurityConfig
.
Atualizando SAML provedores
Para atualizar um SAML provedor usando o console OpenSearch Serverless, escolha SAMLautenticação, selecione seu provedor de identidade e escolha Editar. É possível modificar todos os campos, incluindo os metadados e os atributos personalizados.
Para atualizar um provedor por meio do OpenSearch ServerlessAPI, envie uma UpdateSecurityConfigsolicitação e inclua o identificador da política a ser atualizada. Também é necessário incluir uma versão da configuração, que pode ser recuperada usando os comandos ListSecurityConfigs
ou GetSecurityConfig
. A inclusão da versão mais recente garante que você não anule inadvertidamente uma alteração feita por outra pessoa.
A solicitação a seguir atualiza SAML as opções de um provedor:
aws opensearchserverless update-security-config \ --id saml/
123456789012
/myprovider
\ --type saml \ --saml-options file://saml-auth0
.json \ --config-versionMTY2NDA1MjY4NDQ5M18x
Especifique suas opções SAML de configuração como um mapa de valores-chave em um arquivo.json.
Importante
As atualizações nas SAML opções não são incrementais. Se você não especificar um valor para um parâmetro no objeto SAMLOptions
ao fazer uma atualização, os valores existentes serão substituídos por valores vazios. Por exemplo, se a configuração atual contiver um valor para userAttribute
, e você fizer uma atualização em seguida e não incluir esse valor, o valor será removido da configuração. Certifique-se de saber quais são os valores existentes antes de fazer uma atualização chamando a operação GetSecurityConfig
.
Excluindo provedores SAML
Quando você exclui um SAML provedor, todas as referências a usuários e grupos associados em suas políticas de acesso a dados não funcionam mais. Para evitar confusão, sugerimos que você remova todas as referências ao endpoint em suas políticas de acesso antes de excluir o endpoint.
Para excluir um SAML provedor usando o console OpenSearch sem servidor, escolha Autenticação, selecione o provedor e escolha Excluir.
Para excluir um provedor por meio do OpenSearch ServerlessAPI, envie uma DeleteSecurityConfigsolicitação:
aws opensearchserverless delete-security-config --id saml/
123456789012
/myprovider