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á.
Permissões do Amazon ECR
Antes que o HealthOmics serviço possa executar um fluxo de trabalho em um contêiner do seu repositório privado do Amazon ECR, você cria uma política de recursos para o repositório. A política concede permissão para o HealthOmics serviço usar o contêiner. Você adiciona essa política de recursos a cada repositório privado referenciado pelo fluxo de trabalho.
nota
O repositório privado e o fluxo de trabalho devem estar na mesma região.
Se AWS contas diferentes forem proprietárias do fluxo de trabalho e do repositório, você precisará configurar as permissões entre contas.
Você não precisa conceder acesso adicional ao repositório para fluxos de trabalho compartilhados. No entanto, você pode criar políticas que permitam ou neguem o acesso de fluxos de trabalho específicos à imagem do contêiner.
Para usar o recurso de cache pull through do Amazon ECR, você precisa criar uma política de permissão de registro.
As seções a seguir descrevem como configurar as permissões de recursos do Amazon ECR para esses cenários. Para obter mais informações sobre permissões no Amazon ECR, consulte Permissões de registro privado no Amazon ECR.
Tópicos
Crie uma política de recursos para o repositório Amazon ECR
Crie uma política de recursos para permitir que o HealthOmics serviço execute um fluxo de trabalho usando um contêiner no repositório. A política concede permissão para que o responsável pelo HealthOmics serviço acesse as ações necessárias do Amazon ECR.
Siga estas etapas para criar a política:
-
Abra a página de repositórios privados
no console do Amazon ECR e selecione o repositório ao qual você está concedendo acesso. -
Na barra lateral de navegação, selecione Permissões.
-
Escolha Editar.
-
Escolha Editar política JSON.
-
Adicione a declaração de política a seguir e selecione Salvar.
Executando fluxos de trabalho com contêineres entre contas
Se AWS contas diferentes forem proprietárias do fluxo de trabalho e do contêiner, você precisará configurar as seguintes permissões entre contas:
-
Atualize a política do Amazon ECR para o repositório para conceder permissão explícita à conta proprietária do fluxo de trabalho.
-
Atualize a função de serviço da conta proprietária do fluxo de trabalho para conceder acesso à imagem do contêiner.
O exemplo a seguir demonstra uma política de recursos do Amazon ECR que concede acesso à conta proprietária do fluxo de trabalho.
Neste exemplo:
-
ID da conta de fluxo de trabalho: 111122223333
-
ID da conta do repositório do contêiner: 444455556666
-
Nome do contêiner: samtools
Para concluir a configuração, adicione a seguinte declaração de política à função de serviço da conta proprietária do fluxo de trabalho. A política concede permissão para que a função de serviço acesse a imagem do contêiner “samtools”. Certifique-se de substituir os números da conta, o nome do contêiner e a região pelos seus próprios valores.
{ "Sid": "CrossAccountEcrRepoPolicy", "Effect": "Allow", "Action": ["ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer"], "Resource": "arn:aws:ecr:us-west-2:444455556666:repository/samtools" }
Políticas do Amazon ECR para fluxos de trabalho compartilhados
nota
HealthOmics permite automaticamente que um fluxo de trabalho compartilhado acesse o repositório Amazon ECR na conta do proprietário do fluxo de trabalho, enquanto o fluxo de trabalho está sendo executado na conta do assinante. Você não precisa conceder acesso adicional ao repositório para fluxos de trabalho compartilhados. Para obter mais informações, consulte Compartilhamento de HealthOmics fluxos de trabalho.
Por padrão, o assinante não tem acesso ao repositório Amazon ECR para usar os contêineres subjacentes. Opcionalmente, você pode personalizar o acesso ao repositório Amazon ECR adicionando chaves de condição à política de recursos do repositório. As seções a seguir fornecem exemplos de políticas.
Restrinja o acesso a fluxos de trabalho específicos
Você pode listar fluxos de trabalho individuais em uma declaração de condição, para que somente esses fluxos de trabalho possam usar contêineres no repositório. A chave de SourceArncondição especifica o ARN do fluxo de trabalho compartilhado. O exemplo a seguir concede permissão para o fluxo de trabalho especificado usar esse repositório.
Restrinja o acesso a contas específicas
Você pode listar contas de assinantes em uma declaração condicional, para que somente essas contas tenham permissão para usar contêineres no repositório. A chave de SourceAccountcondição especifica a Conta da AWS do assinante. O exemplo a seguir concede permissão para a conta especificada usar esse repositório.
Você também pode negar permissões do Amazon ECR para assinantes específicos, conforme mostrado no exemplo de política a seguir.
As políticas do Amazon ECR passam pelo cache
Para usar o cache pull through do Amazon ECR, você cria uma política de permissão de registro. Você também cria um modelo de criação de repositório, que define as permissões para os repositórios criados pelo Amazon ECR pull through cache.
As seções a seguir incluem exemplos dessas políticas. Para obter mais informações sobre o cache pull through, consulte Sincronizar um registro upstream com um registro privado do Amazon ECR no Guia do usuário do Amazon Elastic Container Registry.
Política de permissão de registro
Para usar o cache pull through do Amazon ECR, crie uma política de permissão de registro. A política de permissões do registro fornece controle sobre as permissões de replicação e extração de cache.
Para a replicação entre contas, você deve permitir explicitamente Conta da AWS que cada uma delas possa replicar seus repositórios em seu registro.
Por padrão, quando você cria uma regra de cache pull through, qualquer diretor do IAM que tenha permissão para extrair imagens de um registro privado também pode usar a regra de cache pull through. Você pode usar as permissões do registro para ampliar ainda mais essas permissões para repositórios específicos.
Adicione uma política de permissão de registro à conta que possui a imagem do contêiner.
No exemplo a seguir, a política permite que o HealthOmics serviço crie repositórios para cada registro upstream e inicie pull requests upstream dos repositórios criados.
Modelo de criação de repositório
Para usar o cache pull through HealthOmics, o repositório Amazon ECR deve ter um modelo de criação de repositório. O modelo define as configurações dos repositórios privados criados para um registro upstream.
Cada modelo contém um prefixo de namespace de repositório, que o Amazon ECR usa para combinar novos repositórios com um modelo específico. Os modelos podem especificar a configuração para todas as configurações do repositório, incluindo políticas de acesso baseadas em recursos, imutabilidade de tags, criptografia e políticas de ciclo de vida. Para obter mais informações, consulte Modelos de criação de repositórios no Guia do usuário do Amazon Elastic Container Registry.
No exemplo a seguir, a política permite que o HealthOmics serviço inicie solicitações pull upstream dos repositórios upstream.
Políticas para acesso entre contas ao Amazon ECR
Para acesso entre contas, o proprietário do repositório privado atualiza a política de permissão do registro e o modelo de criação do repositório para permitir o acesso à outra conta e à função de execução dessa conta.
Na política de permissão do registro, adicione uma declaração de política para permitir que a função de execução da outra conta acesse as ações do Amazon ECR:
No modelo de criação do repositório, adicione uma declaração de política para permitir que a função de execução da outra conta acesse as novas imagens do contêiner. Opcionalmente, você pode adicionar declarações condicionais para limitar o acesso a fluxos de trabalho específicos:
Adicione permissões para duas ações adicionais (CreateRepository e BatchImportUpstreamImage) na função de execução e especifique o recurso que a função de execução pode acessar.