Skip to main content

Pré-requisitos

Antes de configurar Claude Code com Amazon Bedrock, certifique-se de que você tem:
  • Uma conta AWS com acesso ao Amazon Bedrock habilitado
  • Acesso aos modelos Claude desejados (por exemplo, Claude Sonnet 4.6) no Amazon Bedrock
  • AWS CLI instalado e configurado (opcional - necessário apenas se você não tiver outro mecanismo para obter credenciais)
  • Permissões IAM apropriadas
Para entrar com suas próprias credenciais do Amazon Bedrock, siga Entrar com Amazon Bedrock abaixo. Para implantar Claude Code em toda uma equipe, use as etapas de configuração manual e fixe suas versões de modelo antes de fazer o lançamento.

Entrar com Bedrock

Se você tem credenciais AWS e quer começar a usar Claude Code através do Amazon Bedrock, o assistente de login o guia através disso. Você completa os pré-requisitos do lado AWS uma vez por conta; o assistente cuida do lado do Claude Code.
1

Habilitar modelos Anthropic em sua conta AWS

No console do Amazon Bedrock, abra o catálogo de modelos, selecione um modelo Anthropic e envie o formulário de caso de uso. O acesso é concedido imediatamente após o envio. Veja Enviar detalhes do caso de uso para AWS Organizations e configuração de IAM para as permissões que sua função precisa.
2

Iniciar Claude Code e escolher Amazon Bedrock

Execute claude. No prompt de login, selecione plataforma de terceiros, depois Amazon Bedrock.
3

Seguir os prompts do assistente

Escolha como você se autentica na AWS: um perfil AWS detectado do seu diretório ~/.aws, uma chave de API do Amazon Bedrock, uma chave de acesso e segredo, ou credenciais já em seu ambiente. O assistente pega sua região, verifica quais modelos Claude sua conta pode invocar e permite que você os fixe. Ele salva o resultado no bloco env do seu arquivo de configurações do usuário, para que você não precise exportar variáveis de ambiente você mesmo.
Depois de entrar, execute /setup-bedrock a qualquer momento para reabrir o assistente e alterar suas credenciais, região ou fixações de modelo. A etapa de fixação de modelo começa a partir de seus modelos atualmente fixados. O assistente escreve em ~/.claude/settings.json, ou em $CLAUDE_CONFIG_DIR/settings.json quando CLAUDE_CONFIG_DIR está definido.

Configurar manualmente

Para configurar Amazon Bedrock através de variáveis de ambiente em vez do assistente, por exemplo em CI ou um lançamento empresarial com script, siga as etapas abaixo.

  1. Enviar detalhes do caso de uso

Os usuários pela primeira vez dos modelos Anthropic são obrigados a enviar detalhes do caso de uso antes de invocar um modelo. Isso é feito uma vez por conta AWS.
  1. Certifique-se de que você tem as permissões IAM corretas descritas abaixo
  2. Navegue até o console do Amazon Bedrock
  3. Selecione um modelo Anthropic do catálogo de modelos
  4. Complete o formulário de caso de uso. O acesso é concedido imediatamente após o envio.
Se você usar AWS Organizations, você pode enviar o formulário uma vez da conta de gerenciamento usando a API PutUseCaseForModelAccess. Esta chamada requer a permissão IAM bedrock:PutUseCaseForModelAccess. A aprovação se estende às contas filhas automaticamente.

  1. Configurar credenciais AWS

Claude Code usa a cadeia de credenciais padrão do AWS SDK. Configure suas credenciais usando um destes métodos: Opção A: Configuração da AWS CLI
Opção B: Variáveis de ambiente (chave de acesso)
Opção C: Variáveis de ambiente (perfil SSO) Substitua your-profile-name pelo nome do seu perfil AWS antes de executar estes comandos.
Claude Code solicita credenciais de função do IAM Identity Center na região nomeada pelo sso_region do perfil, que não precisa corresponder à região em que você executa Amazon Bedrock. Na v2.1.207, a região do Amazon Bedrock substituiu sso_region, então um perfil cuja instância do IAM Identity Center está em uma região diferente falhou ao autenticar com um erro Session token not found or invalid. Opção D: Credenciais do AWS Management Console
Saiba mais sobre aws login. Opção E: Chaves de API do Amazon Bedrock
As chaves de API do Amazon Bedrock fornecem um método de autenticação mais simples sem precisar de credenciais AWS completas. Saiba mais sobre chaves de API do Amazon Bedrock.

Cache de credenciais e tempo limite de resolução

Claude Code resolve a cadeia de provedor de credenciais padrão AWS uma vez e mantém as credenciais resolvidas na memória. Ele as reutiliza até cinco minutos antes de expirarem, ou por uma hora quando não têm expiração, então um perfil apoiado por SSO solicita credenciais do IAM Identity Center aproximadamente uma vez por tempo de vida de credencial. Um erro de credencial da API limpa o cache, e a tentativa novamente resolve credenciais novas. Antes da v2.1.207, Claude Code resolvia a cadeia em cada solicitação de API, então um perfil apoiado por SSO solicitava credenciais novas do IAM Identity Center cada vez e poderia ser limitado em implantações grandes. O cache cobre todas as opções de credencial acima, exceto uma chave de API do Amazon Bedrock, que não usa a cadeia de provedor. Para resolver a cadeia em cada solicitação em vez disso, defina CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1. Cada resolução da cadeia expira após 60 segundos. Se uma etapa na cadeia travar, por exemplo um auxiliar credential_process que aguarda entrada que não pode receber, a solicitação falha com AWS default-chain credential resolve timed out. Se sua cadeia executa um login interativo que legitimamente precisa de mais tempo, como SSO baseado em navegador com MFA através de um wrapper como aws-vault, aumente o limite em milissegundos com CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS. Antes da v2.1.207, uma resolução de credencial travada deixava a solicitação aguardando indefinidamente.

Configuração avançada de credenciais

Claude Code suporta atualização automática de credenciais para AWS SSO e provedores de identidade corporativa. Adicione estas configurações ao seu arquivo de configurações do Claude Code (veja Settings para localizações de arquivo). Estas duas configurações têm diferentes condições de acionamento:
  • awsAuthRefresh: executa apenas quando Claude Code detecta que suas credenciais AWS expiraram, localmente com base em seu timestamp ou quando a API retorna um erro de credencial, depois tenta novamente a solicitação com credenciais atualizadas.
  • awsCredentialExport: executa no início da sessão e em cada recarga de credencial, mesmo quando as credenciais em sua cadeia de provedor de credenciais padrão AWS ainda são válidas. Use isso quando sua conta Amazon Bedrock requer credenciais entre contas que diferem das que a cadeia de provedor padrão resolveria.
awsAuthRefresh: Use isso para comandos que modificam o diretório .aws, como atualizar credenciais, cache SSO ou arquivos de configuração. A saída do comando é exibida ao usuário, mas entrada interativa não é suportada. Isso funciona bem para fluxos SSO baseados em navegador onde a CLI exibe uma URL ou código e você completa a autenticação no navegador. awsCredentialExport: Use apenas se você não puder modificar .aws e deve retornar credenciais diretamente. Este comando é executado sempre que as credenciais precisam ser atualizadas, não apenas quando as credenciais expiram. A saída é capturada silenciosamente e não é mostrada ao usuário. O comando deve gerar JSON neste formato:
A partir do Claude Code v2.1.181, a saída plana de aws configure export-credentials --format process também é aceita, com as mesmas chaves no nível superior em vez de aninhadas sob Credentials. Expiration é opcional. A partir do Claude Code v2.1.176, quando o comando retorna um Expiration ISO 8601 válido, Claude Code armazena em cache as credenciais até cinco minutos antes dessa hora. Sem ele, ou em versões anteriores, as credenciais são armazenadas em cache por uma hora. Quando você configura awsCredentialExport sem awsAuthRefresh, Claude Code usa as credenciais exportadas diretamente e não re-resolve a cadeia de provedor de credenciais padrão AWS na inicialização. Antes da v2.1.206, a inicialização também re-resolvia a cadeia de provedor padrão, o que fazia uma chamada SSO ou STS ao vivo fora de sua configuração de proxy e poderia bloquear o primeiro prompt por vários minutos em redes com saída restrita.

  1. Configurar Claude Code

Defina as seguintes variáveis de ambiente para habilitar Amazon Bedrock:
Ao habilitar Amazon Bedrock para Claude Code, tenha em mente o seguinte:
  • A partir da v2.1.172, você só precisa definir AWS_REGION para substituir a região do seu perfil AWS ou quando seu perfil não tem região. Claude Code resolve a região nesta ordem:
    • AWS_REGION
    • AWS_DEFAULT_REGION
    • a region definida em seu perfil AWS ativo, lida do arquivo de credenciais compartilhadas AWS primeiro e depois do arquivo de configuração compartilhada, correspondendo à precedência do AWS SDK
    • us-east-1
    O perfil ativo é AWS_PROFILE se definido, caso contrário default. Defina AWS_SHARED_CREDENTIALS_FILE ou AWS_CONFIG_FILE para apontar para caminhos de arquivo não padrão. Execute /status para ver a região resolvida. Quando a região veio de seus arquivos de configuração AWS ou do fallback padrão, /status também anota a fonte. Na v2.1.171 e anterior, Claude Code não lê os arquivos de configuração AWS, então defina AWS_REGION explicitamente.
  • Ao usar Amazon Bedrock, o comando /logout não está disponível, pois a autenticação é tratada através de credenciais AWS.
  • A ferramenta WebSearch não está disponível no Amazon Bedrock. Veja comportamento da ferramenta WebSearch.
  • Você pode usar arquivos de configurações para variáveis de ambiente como AWS_PROFILE que você não quer vazar para outros processos. Veja Settings para mais informações.

  1. Fixar versões de modelo

Fixe versões de modelo específicas ao implantar para vários usuários. Sem fixação, aliases de modelo como sonnet e opus resolvem para o padrão integrado do Claude Code para Amazon Bedrock, que pode ficar atrás da versão mais recente e pode ainda não estar disponível em sua conta. Claude Code volta para uma versão anterior ou modelo de nível inferior na inicialização quando o padrão não está disponível, mas fixação permite que você controle quando seus usuários se movem para um novo modelo.
Defina estas variáveis de ambiente para IDs de modelo Amazon Bedrock específicos. Sem ANTHROPIC_DEFAULT_OPUS_MODEL, o alias opus no Amazon Bedrock resolve para Opus 4.8, e sem ANTHROPIC_DEFAULT_SONNET_MODEL, o alias sonnet resolve para Sonnet 4.5. Este exemplo fixa cada alias a uma versão específica:
Estas variáveis usam IDs de perfil de inferência entre regiões (com o prefixo us.). Se você usar um prefixo de região diferente ou perfis de inferência de aplicação, ajuste de acordo. Em regiões AWS GovCloud, use o prefixo us-gov.. Para IDs de modelo atuais e legados, veja Visão geral de modelos. Veja Configuração de modelo para a lista completa de variáveis de ambiente. Claude Code usa estes modelos padrão quando nenhuma variável de fixação está definida: Tarefas em segundo plano, como geração de título de sessão, usam o modelo pequeno/rápido, normalmente um modelo da classe Haiku. No Amazon Bedrock, Claude Code usa o modelo Sonnet padrão para tarefas em segundo plano porque Haiku pode não estar habilitado em todas as contas ou regiões. Duas seleções mudam qual modelo as carrega:
  • Quando você seleciona um modelo primário com --model, ANTHROPIC_MODEL, ou a configuração model, tarefas em segundo plano usam esse modelo. Definir ANTHROPIC_DEFAULT_OPUS_MODEL sem ANTHROPIC_DEFAULT_SONNET_MODEL também conta como uma seleção, porque o modelo Sonnet integrado pode não estar habilitado em uma conta que direciona seu próprio Opus.
  • Para usar Haiku para tarefas em segundo plano, defina ANTHROPIC_DEFAULT_HAIKU_MODEL para um ID de modelo que está disponível em sua conta.
Modelos Opus têm um preço por token mais alto do que modelos Sonnet, então uma implantação que não fixa um modelo primário é cobrada à taxa Opus uma vez que atualiza para v2.1.207 ou posterior. Para manter Sonnet 4.5 como o modelo primário, defina ANTHROPIC_MODEL para seu ID de modelo completo. Uma implantação que direciona o padrão com ANTHROPIC_DEFAULT_SONNET_MODEL e não define ANTHROPIC_DEFAULT_OPUS_MODEL mantém seu modelo Sonnet direcionado como o padrão.
Antes da v2.1.207, o modelo primário no Amazon Bedrock padronizava para Sonnet 4.5, o alias opus resolvia para Opus 4.6, e tarefas em segundo plano sempre usavam o modelo primário. Para personalizar modelos ainda mais, use um destes métodos:
O TTL de cache de 1 hora é cobrado a uma taxa mais alta do que o padrão de 5 minutos. Veja tempo de vida do cache.
O cache de prompt pode não estar disponível em todas as regiões do Amazon Bedrock. Se as contagens de tokens de cache permanecerem em zero, verifique modelos, regiões e limites suportados na documentação do Amazon Bedrock.

Mapear cada versão de modelo para um perfil de inferência

As variáveis de ambiente ANTHROPIC_DEFAULT_*_MODEL configuram um perfil de inferência por família de modelo. Se sua organização precisa expor várias versões da mesma família no seletor /model, cada uma roteada para seu próprio ARN de perfil de inferência de aplicação, use a configuração modelOverrides em seu arquivo de configurações em vez disso. Este exemplo mapeia quatro versões de Opus para ARNs distintos para que os usuários possam alternar entre elas sem contornar os perfis de inferência de sua organização:
Quando um usuário seleciona uma dessas versões em /model, Claude Code chama Amazon Bedrock com o ARN mapeado. O mesmo mapeamento se aplica quando você passa o ID de modelo Anthropic diretamente através de --model ou ANTHROPIC_MODEL. Versões sem uma substituição voltam para o ID de modelo Amazon Bedrock integrado ou qualquer perfil de inferência correspondente descoberto na inicialização. Antes da v2.1.200, os valores --model e ANTHROPIC_MODEL chegavam ao Amazon Bedrock como estavam sem passar pelo mapa de substituição. Veja Substituir IDs de modelo por versão para detalhes sobre como as substituições interagem com availableModels e outras configurações de modelo.

Verificações de modelo na inicialização

Quando Claude Code inicia com Amazon Bedrock configurado, ele verifica que os modelos que pretende usar estão acessíveis em sua conta. Se você fixou uma versão de modelo que é mais antiga do que o padrão atual do Claude Code, e sua conta pode invocar a versão mais recente, Claude Code o solicita a atualizar a fixação. Aceitar escreve o novo ID de modelo em seu arquivo de configurações do usuário e reinicia Claude Code. Recusar é lembrado até a próxima mudança de versão padrão. Fixações que apontam para um ARN de perfil de inferência de aplicação são ignoradas, pois são gerenciadas pelo seu administrador. Se você não fixou um modelo e o padrão atual não está disponível em sua conta, Claude Code volta para a sessão atual e mostra um aviso. Ele tenta versões anteriores do modelo padrão primeiro e, quando o padrão é um modelo Opus e nenhuma versão Opus está disponível, volta para o modelo Sonnet padrão. O fallback não é persistido. Habilite o modelo mais recente em sua conta Amazon Bedrock ou fixe uma versão para tornar a escolha permanente.

Configuração de IAM

Crie uma política de IAM com as permissões necessárias para Claude Code:
Para permissões mais restritivas, você pode limitar o Resource para ARNs de perfil de inferência específicos. bedrock:GetInferenceProfile permite que Claude Code resolva um ARN de perfil de inferência de aplicação para seu modelo de fundação de suporte, que é usado para selecionar a forma de solicitação correta para esse modelo. Se o token não tiver essa permissão, Claude Code se recupera automaticamente tentando novamente uma vez com a forma alternativa, portanto as solicitações ainda têm sucesso, mas cada novo modelo adiciona uma viagem extra. Conceder a permissão evita a tentativa novamente. Isso se aplica com mais frequência a implantações AWS_BEARER_TOKEN_BEDROCK, onde a política do token é normalmente mais restrita do que uma função IAM completa. Para detalhes, veja documentação de IAM do Bedrock.
Crie uma conta AWS dedicada para Claude Code para simplificar o rastreamento de custos e controle de acesso.

Janela de contexto de 1M de tokens

Claude Sonnet 5, Opus 4.6 e posteriores, e Sonnet 4.6 suportam a janela de contexto de 1M de tokens no Amazon Bedrock. Sonnet 5 é servido através do endpoint Mantle e sempre é executado com a janela de 1M, sem nenhuma variante [1m] para selecionar. Para os outros modelos, Claude Code habilita automaticamente a janela de contexto estendida quando você seleciona uma variante de modelo de 1M. O assistente de configuração oferece uma opção de contexto de 1M quando fixa modelos. Para habilitá-lo para um modelo fixado manualmente em vez disso, acrescente [1m] ao ID do modelo. Veja Fixar modelos para implantações de terceiros para detalhes.

Camadas de serviço

Camadas de serviço do Amazon Bedrock permitem que você negocie custo contra latência. Defina ANTHROPIC_BEDROCK_SERVICE_TIER como default, flex ou priority:
Claude Code envia isso como o cabeçalho X-Amzn-Bedrock-Service-Tier em cada solicitação. A disponibilidade de camada varia por modelo e região. A capacidade reservada usa um ARN de throughput provisionado como o ID do modelo em vez desta configuração.

AWS Guardrails

Amazon Bedrock Guardrails permitem que você implemente filtragem de conteúdo para Claude Code. Crie um Guardrail no console do Amazon Bedrock, publique uma versão, então adicione os cabeçalhos do Guardrail ao seu arquivo de configurações. Habilite inferência entre regiões em seu Guardrail se você estiver usando perfis de inferência entre regiões. Exemplo de configuração:

Usar o endpoint Mantle

Mantle é um endpoint do Amazon Bedrock que serve modelos Claude através da forma de API Anthropic nativa em vez da API Invoke do Amazon Bedrock. Ele usa as mesmas credenciais AWS, permissões IAM e configuração awsAuthRefresh descritas anteriormente nesta página.

Habilitar Mantle

Com credenciais AWS já configuradas, defina CLAUDE_CODE_USE_MANTLE para rotear solicitações para o endpoint Mantle:
Claude Code constrói a URL do endpoint a partir da região AWS. A partir da v2.1.172, a região é resolvida com a mesma precedência que Amazon Bedrock acima; versões anteriores usam apenas AWS_REGION. Para substituir a URL por um endpoint personalizado ou gateway, defina ANTHROPIC_BEDROCK_MANTLE_BASE_URL. Execute /status dentro do Claude Code para confirmar. A linha do provedor mostra Amazon Bedrock (Mantle) quando Mantle está ativo.

Selecionar um modelo Mantle

Mantle usa IDs de modelo com prefixo anthropic. e sem sufixo de versão, por exemplo anthropic.claude-sonnet-5 ou anthropic.claude-haiku-4-5. Os modelos disponíveis para sua conta dependem do que sua organização foi concedida; IDs de modelo adicionais estão listados em seus materiais de integração da AWS. Entre em contato com sua equipe de conta AWS para solicitar acesso aos modelos permitidos. Defina o modelo com a flag --model ou com /model dentro do Claude Code:

Executar Mantle junto com a API Invoke

Os modelos disponíveis para você no Mantle podem não incluir todos os modelos que você usa hoje. Definir tanto CLAUDE_CODE_USE_BEDROCK quanto CLAUDE_CODE_USE_MANTLE permite que Claude Code chame ambos os endpoints da mesma sessão. IDs de modelo que correspondem ao formato Mantle são roteados para Mantle, e todos os outros IDs de modelo vão para a API Invoke do Amazon Bedrock.
Para exibir um modelo Mantle no seletor /model, liste seu ID em availableModels em seu arquivo de configurações. Esta configuração também restringe o seletor às entradas listadas. Listar anthropic.claude-haiku-4-5 remove o alias simples haiku do seletor, então também liste prefixos de versão ou IDs completos para as versões que você quer manter selecionáveis. O ID Mantle e o alias haiku resolvem para a mesma família de modelo, então a mesclagem mantém apenas a entrada mais específica. Veja Comportamento de mesclagem:
Entradas com o prefixo anthropic. são adicionadas como opções de seletor personalizadas e roteadas para Mantle. Substitua anthropic.claude-haiku-4-5 pelo ID de modelo que sua conta foi concedida. Veja Restringir seleção de modelo para como availableModels interage com outras configurações de modelo. Quando ambos os provedores estão ativos, /status mostra Amazon Bedrock + Amazon Bedrock (Mantle).

Rotear Mantle através de um gateway

Se sua organização roteia tráfego de modelo através de um gateway LLM centralizado que injeta credenciais AWS no lado do servidor, desabilite a autenticação no lado do cliente para que Claude Code envie solicitações sem assinaturas SigV4 ou cabeçalhos x-api-key:

Variáveis de ambiente Mantle

Estas variáveis são específicas para o endpoint Mantle. Veja Variáveis de ambiente para a lista completa.

Resolução de problemas

Loop de autenticação com SSO e proxies corporativos

Se abas do navegador aparecem repetidamente ao usar AWS SSO, remova a configuração awsAuthRefresh do seu arquivo de configurações. Isso pode ocorrer quando VPNs corporativas ou proxies de inspeção TLS interrompem o fluxo do navegador SSO. Claude Code trata a conexão interrompida como uma falha de autenticação, executa novamente awsAuthRefresh e entra em loop indefinidamente. Se seu ambiente de rede interfere com fluxos SSO automáticos baseados em navegador, use aws sso login manualmente antes de iniciar Claude Code em vez de depender de awsAuthRefresh.

Problemas de região

Se você encontrar problemas de região:
  • Verifique disponibilidade de modelo: aws bedrock list-inference-profiles --region your-region
  • Mude para uma região suportada: export AWS_REGION=us-east-1
  • Considere usar perfis de inferência para acesso entre regiões
Se você receber um erro “on-demand throughput isn’t supported”: Claude Code usa a API Invoke do Amazon Bedrock e não suporta a API Converse.

Erros de streaming atrás de um gateway ou proxy

Se as solicitações de streaming falharem com um erro que comece com Bedrock streaming response has content-type, um gateway ou proxy entre Claude Code e Amazon Bedrock está transformando a resposta de streaming. Amazon Bedrock transmite respostas em um formato de evento binário event-stream com o content-type application/vnd.amazon.eventstream, e Claude Code rejeita uma resposta de streaming bem-sucedida que relata um content-type diferente em vez de decodificar um corpo que não consegue ler. O erro nomeia o content-type que recebeu, comumente text/event-stream de uma integração Amazon API Gateway e Lambda que re-emite o stream como server-sent events. Antes da v2.1.208, a mesma configuração incorreta aparecia como API Error: Truncated event message received depois que toda a resposta tinha sido armazenada em buffer. Para corrigir, configure o gateway para passar o corpo da resposta InvokeModelWithResponseStream e seu cabeçalho Content-Type sem modificações. Se o gateway reescrever apenas o cabeçalho e passar o corpo binário intacto, defina CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD=1 para pular a verificação até que o gateway seja corrigido. Com a verificação desativada, um corpo de resposta que foi transformado falha com Truncated event message received novamente.

Contagens de token zero em /context

O comando /context conta tokens para cada grupo de ferramentas enviando os esquemas de ferramentas para a API count-tokens do Amazon Bedrock. Em versões do Claude Code anteriores à v2.1.196, Amazon Bedrock rejeitou essa solicitação porque os esquemas carregavam campos que sua API count-tokens não aceita, então cada grupo de ferramentas mostrava 0 tokens. Outras linhas na análise, como mensagens e arquivos de memória, não são afetadas. Atualize para v2.1.196 ou posterior.

Erros de endpoint Mantle

Se /status não mostra Amazon Bedrock (Mantle) depois que você defina CLAUDE_CODE_USE_MANTLE, a variável não está chegando ao processo. Confirme que ela é exportada no shell onde você lançou claude, ou defina-a no bloco env do seu arquivo de configurações. Um 403 do endpoint Mantle com credenciais válidas significa que sua conta AWS não foi concedida acesso ao modelo que você solicitou. Entre em contato com sua equipe de conta AWS para solicitar acesso. Um 400 que nomeia o ID do modelo significa que esse modelo não é servido no Mantle. Mantle tem seu próprio lineup de modelo separado do catálogo Amazon Bedrock padrão, então IDs de perfil de inferência como us.anthropic.claude-sonnet-4-6 não funcionarão. Use um ID de formato Mantle, ou habilite ambos os endpoints para que Claude Code roteia cada solicitação para o endpoint onde o modelo está disponível.

Recursos adicionais