Usar o JSON
Os exemplos a seguir mostram como usar o JSON para controle de acesso do usuário ao criar um índice.
Atenção
O token JSON é uma carga não validada. Ele só deve ser usado quando as solicitações de Amazon Kendra vêm de um servidor confiável e nunca de um navegador.
- Console
-
-
Escolha Criar índice para começar a criar um novo índice.
-
Na página Especificar detalhes do índice, dê um nome e uma descrição ao índice.
-
Para a função do IAM, selecione uma função ou selecione Criar uma nova função para e especifique um nome de função para criar uma nova função. A função IAM terá o prefixo "AmazonKendra-".
-
Deixe os outros campos nos padrões determinados. Escolha Próximo.
-
Na página Configurar controle de acesso do usuário, em Configurações de controle de acesso, escolha Sim para usar tokens o para controle de acesso.
-
Em Configuração de token, selecione JSON como o Tipo de token.
-
Especifique um Nome de usuário a ser usado na verificação da ACL.
-
Especifique um ou mais Grupos a serem usados na verificação da ACL.
-
Escolha Próximo.
-
Na página de Detalhes do provisionamento, escolha Developer Edition.
-
Escolha Criar para criar seu índice.
-
Aguarde até que o índice seja criado. O Amazon Kendra provisiona o hardware para seu índice. Essa operação pode levar algum tempo.
-
- CLI
-
Para criar um índice da AWS CLI usando um arquivo de entrada JSON, crie primeiro um arquivo JSON com os parâmetros desejados:
{ "Name": "user-context", "Edition": "ENTERPRISE_EDITION", "RoleArn": "arn:aws:iam::account-id:role:/my-role", "UserTokenConfigurations": [ { "JsonTokenTypeConfiguration": { "UserNameAttributeField": "user", "GroupAttributeField": "group" } } ], "UserContextPolicy": "USER_TOKEN" }Em seguida, chame
create-indexusando o arquivo de entrada. Por exemplo, se o nome do arquivo JSON forcreate-index-openid.json, faça o seguinte:aws kendra create-index --cli-input-json file://create-index-openid.jsonSe você não estiver usando o Open ID para AWS IAM Identity Center, poderá nos enviar o token no formato JSON. Se você fizer isso, deverá especificar qual campo no token JSON contém o nome do usuário e os grupos. Os valores do campo de grupos devem ser uma matriz de sequências de caracteres JSON. Por exemplo, se estiver usando SAML, o token será semelhante ao seguinte:
{ "username" : "user1", "groups": [ "group1", "group2" ] }O
TokenConfigurationespecificaria o nome do usuário e os nomes dos campos do grupo:{ "UserNameAttributeField":"username", "GroupAttributeField":"groups" } - Python
-
response = kendra.create_index( Name='user-context', Edition='ENTERPRISE_EDITION', RoleArn='arn:aws:iam::account-id:role:/my-role', UserTokenConfigurations=[ { "JwtTokenTypeConfiguration": { "UserNameAttributeField": "user", "GroupAttributeField": "group", } } ], UserContextPolicy='USER_TOKEN' )