Permissões de recursos - AWS HealthOmics

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 de recursos

AWS HealthOmics cria e acessa recursos em outros serviços em seu nome quando você executa um trabalho ou cria uma loja. Em alguns casos, você precisa configurar permissões em outros serviços para acessar recursos ou permitir o acesso HealthOmics a eles.

Permissões do Amazon ECR

Antes que o HealthOmics serviço possa executar um fluxo de trabalho em um contêiner a partir do seu repositório privado do Amazon ECR, você cria uma política de recursos para o contêiner. 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.

As seções a seguir descrevem as configurações de política necessárias.

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:

  1. Abra a página de repositórios privados no console do Amazon ECR e selecione o repositório ao qual você está concedendo acesso.

  2. Na barra lateral de navegação, selecione Permissões.

  3. Escolha Editar JSON.

  4. Escolha Adicionar instrução.

  5. Adicione a declaração de política a seguir e selecione Salvar política.

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Sid": "omics workflow access", "Effect": "Allow", "Principal": { "Service": "omics.amazonaws.com" }, "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability" ], "Resource": "*" } ] }

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:

  1. Atualize a política do Amazon ECR para o repositório para conceder permissão explícita à conta proprietária do fluxo de trabalho.

  2. 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

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "omics.amazonaws.com" }, "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ] }, { "Sid": "allow access to the service role of the account that owns the workflow", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/DemoCustomer" }, "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ] } ] }

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 de repositório 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.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "OmicsAccessPrincipal", "Effect": "Allow", "Principal": { "Service": "omics.amazonaws.com" }, "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:omics:us-east-1:111122223333:workflow/1234567" } } } ] }

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.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "OmicsAccessPrincipal", "Effect": "Allow", "Principal": { "Service": "omics.amazonaws.com" }, "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" } } } ] }

Você também pode negar permissões do Amazon ECR para assinantes específicos, conforme mostrado no exemplo de política a seguir.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "OmicsAccessPrincipal", "Effect": "Allow", "Principal": { "Service": "omics.amazonaws.com" }, "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:SourceAccount": "111122223333" } } } ] }

Permissões do Lake Formation

Antes de usar os recursos de análise HealthOmics, defina as configurações padrão do banco de dados no Lake Formation.

Para configurar as permissões de recursos no Lake Formation
  1. Abra a página de configurações do catálogo de dados no console do Lake Formation.

  2. Desmarque os requisitos de controle de acesso do IAM para bancos de dados e tabelas em Permissões padrão para bancos de dados e tabelas recém-criados.

  3. Escolha Salvar.

HealthOmics O Analytics aceita dados automaticamente se sua política de serviço tiver as permissões corretas de RAM, como no exemplo a seguir.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "omics:*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ram:AcceptResourceShareInvitation", "ram:GetResourceShareInvitations" ], "Resource": "*" } ] }