Configure as permissões para permitir a listagem e o lançamento de aplicativos do Amazon EMR a partir do Studio SageMaker - SageMaker IA da Amazon

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

Configure as permissões para permitir a listagem e o lançamento de aplicativos do Amazon EMR a partir do Studio SageMaker

Nesta seção, detalhamos as funções e permissões necessárias para listar e conectar-se aos aplicativos EMR Serverless do SageMaker Studio, considerando cenários em que o Studio e os aplicativos EMR Serverless são implantados na mesma conta ou em contas diferentes. AWS

As funções às quais você deve adicionar as permissões necessárias dependem de o Studio e seus aplicativos EMR Serverless residirem na mesma AWS conta (conta única) ou em contas separadas (conta cruzada). Há dois tipos de funções envolvidas:

  • Perfis de execução:

    • Funções de execução em tempo de execução (funções de controle de acesso baseado em função) usadas pelo EMR Serverless: essas são as funções do IAM usadas pelos ambientes de execução de tarefas do EMR Serverless para acessar outros AWS serviços e recursos necessários durante o tempo de execução, como o Amazon S3 para acesso a dados, registro em log, CloudWatch acesso ao catálogo de dados ou outros serviços com base em seus requisitos de carga de trabalho. AWS Glue Recomendamos criar essas funções na conta em que as aplicações do EMR Sem Servidor estão sendo executadas.

      Para saber mais sobre as funções de runtime, consulte Funções de runtime de trabalho no Guia do usuário do EMR Sem Servidor.

      nota

      Você pode definir várias funções do RBAC para sua aplicação do EMR Sem Servidor. Essas funções podem ser baseadas nas responsabilidades e nos níveis de acesso necessários para diferentes usuários ou grupos em sua organização. Para obter mais informações sobre as permissões do RBAC, consulte Melhores práticas de segurança para o Amazon EMR Sem Servidor da Amazon.

    • SageMaker Função de execução de IA: a função de execução que permite à SageMaker IA realizar determinadas tarefas, como ler dados de buckets do Amazon S3, gravar registros e acessar outros AWS serviços que seu fluxo de trabalho possa precisar. CloudWatch A função de execução de SageMaker IA também tem a permissão especial chamada, iam:PassRole que permite que a SageMaker IA passe funções temporárias de execução de tempo de execução para os aplicativos EMR Serverless. Essas funções dão aos aplicativos EMR Serverless as permissões necessárias para interagir com outros AWS recursos enquanto estão em execução.

  • Perfis assumíveis (também conhecidos como Service Access Roles):

    • Essas são as funções do IAM que a função de execução da SageMaker IA pode assumir para realizar operações relacionadas ao gerenciamento de aplicativos EMR Serverless. Esses perfis definem as permissões e as políticas de acesso necessárias ao listar, realizar conexão ou gerenciar aplicações do EMR Sem Servidor. Eles geralmente são usados em cenários entre contas, em que os aplicativos EMR Serverless estão localizados em uma conta AWS diferente do domínio de IA. SageMaker Ter uma função de IAM dedicada para seus aplicativos EMR Serverless ajuda a seguir o princípio do menor privilégio e garante que o Amazon EMR tenha somente as permissões necessárias para executar seus trabalhos e, ao mesmo tempo, proteger outros recursos em sua conta. AWS

Ao entender e configurar essas funções corretamente, você pode garantir que o SageMaker Studio tenha as permissões necessárias para interagir com os aplicativos EMR Serverless, independentemente de estarem implantados na mesma conta ou em contas diferentes.

Conta única

Os diagramas a seguir ilustram as funções e permissões necessárias para listar e conectar-se aos aplicativos EMR Serverless do Studio quando o Studio e os aplicativos são implantados na mesma conta. AWS

O diagrama mostra as funções e permissões necessárias para listar e conectar aplicativos EMR Serverless do Studio quando o Studio e os aplicativos estão na mesma conta. AWS

Se seus aplicativos Amazon EMR e o Studio estiverem implantados na mesma AWS conta, siga estas etapas:

  1. Etapa 1: recupere o ARN do bucket do Amazon S3 que você usa para fontes de dados e armazenamento de dados de saída no console do Amazon S3.

    Para saber como encontrar um bucket pelo nome, consulte Como acessar e listar um bucket do Amazon S3. Para obter informações sobre como criar um bucket do Amazon S3, consulte Criar um bucket.

  2. Etapa 2: crie pelo menos uma função de runtime de trabalho para sua aplicação do EMR Sem Servidor em sua conta (o EMRServerlessRuntimeExecutionRoleA no diagrama de caso de uso de conta única acima). Escolha Política de confiança personalizada como entidade confiável. Adicione as permissões necessárias por trabalho. No mínimo, você precisa de acesso total a um bucket do Amazon S3 e acesso de criação e leitura ao catálogo de AWS Glue dados.

    Para obter instruções detalhadas sobre como criar uma nova função de runtime para suas aplicações do EMR Sem Servidor, siga estas etapas:

    1. Navegue até o console do IAM.

    2. No painel de navegação à esquerda, selecione Política e, depois, Criar política.

    3. Adicione as permissões exigidas pela sua função de runtime, nomeie a política e escolha Criar política.

      Você pode consultar Funções de runtime de trabalho do EMR Sem Servidor para encontrar exemplos de políticas de runtime para uma função de runtime do EMR Sem Servidor.

    4. No painel de navegação à esquerda, selecione Funções e, em seguida, Criar função.

    5. Na página Criar função, escolha a opção Política de confiança personalizada como entidade confiável.

    6. Cole o seguinte documento JSON na seção Política de confiança personalizada e escolha Avançar:

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "emr-serverless.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    7. Na página Adicionar permissões, selecione a política criada e, depois, Avançar.

    8. Na página Revisar, insira um nome para a função, como EMRServerlessAppRuntimeRoleA, e uma descrição opcional.

    9. Revisar os detalhes do perfil e selecionar Criar perfil.

    Com esse recurso, você e seus colegas de equipe podem se conectar ao mesma aplicação, cada um usando uma função de runtime com permissões correspondentes ao seu nível individual de acesso aos dados.

    nota

    As sessões do Spark funcionam de forma diferente. As sessões do Spark são isoladas com base no perfil de execução usado no Studio, portanto, usuários com perfis de execução diferentes terão sessões do Spark separadas e isoladas. Além disso, se você habilitou a identidade de origem para seu domínio, haverá um isolamento adicional das sessões do Spark em diferentes identidades de origem.

  3. Etapa 3: Recupere o ARN da função de execução SageMaker de IA usada pelo seu espaço privado.

    Para obter informações sobre espaços e funções de execução na SageMaker IA, consulteCompreendendo as permissões de espaço e os perfis de execução do domínio.

    Para obter mais informações sobre como recuperar o ARN da função de execução SageMaker da IA, consulte. Obtenha um perfil de execução

    nota

    Como alternativa, usuários iniciantes na SageMaker IA podem simplificar o processo de configuração criando automaticamente uma nova função de execução de SageMaker IA com as permissões apropriadas. Nesse caso, pule as etapas 3 e 4. Em vez disso, os usuários podem:

    • Escolha a opção Configurar para organizações ao criar um novo domínio no menu Domínio na navegação à esquerda do console de SageMaker IA.

    • Criar um novo perfil de execução no menu Gerenciador de perfis do console e, em seguida, vincular o perfil a um domínio ou perfil de usuário existente.

    Ao criar a função, escolha a opção Executar aplicações EMR Sem Servidor do Studio em Quais atividades de ML os usuários realizarão? Em seguida, forneça o nome do seu bucket do Amazon S3 e a função de runtime de trabalho que você deseja que sua aplicação do EMR Sem Servidor use (etapa 2).

    O SageMaker Role Manager adiciona automaticamente as permissões necessárias para execução e conexão com aplicativos EMR Serverless à nova função de execução. Usando o Role Manager, você só pode atribuir uma SageMaker função de tempo de execução ao seu aplicativo EMR Serverless, e o aplicativo deve ser executado na mesma conta em que o Studio está implantado, usando uma função de tempo de execução criada nessa mesma conta.

  4. Etapa 4: anexe as seguintes permissões à função de execução de SageMaker IA acessando seu aplicativo EMR Serverless.

    1. Abra o console do IAM em https://console.aws.amazon.com/sagemaker/.

    2. Escolha Perfis e, em seguida, pesquise seu perfil de execução pelo nome no campo Pesquisar. O nome do perfil é a última parte do ARN, após a última barra (/).

    3. Acesse o link do seu perfil.

    4. Selecione Adicionar permissões e, em seguida, Criar política em linha.

    5. Na guia JSON, adicione as permissões do Amazon EMR Sem Servidor, permitindo o acesso e as operações do EMR com tecnologia sem servidor. Para obter detalhes sobre o documento de política, consulte Políticas do EMR Sem Servidor em Políticas de referência. Substitua a region, o accountID e o EMRServerlessAppRuntimeRole passados por seus valores reais antes de copiar a lista de instruções para a política em linha de seu perfil.

      nota

      Você pode incluir quantas sequências de ARN de funções de runtime forem necessárias na permissão, separando-as por vírgulas.

    6. Escolha Próximo e, em seguida, forneça um nome de política.

    7. Escolha Criar política.

    8. Repita a etapa Criar política em linha para adicionar outra política em linha que conceda ao perfil permissões para atualizar os domínios, perfis de usuário e espaços. Para obter detalhes sobre o documento de política SageMakerUpdateResourcesPolicy, consulte Política de ações de atualização de domínio, perfil de usuário e espaço em Políticas de referência. Substitua a region e o accountID por seus valores reais antes de copiar a lista de instruções para a política em linha de seu perfil.

  5. Etapa 5:

    Associe a lista de funções de tempo de execução ao seu perfil de usuário ou domínio para que você possa navegar visualmente pela lista de funções e selecionar aquela a ser usada ao se conectar a um aplicativo EMR Serverless a partir de. JupyterLab Você pode usar o console de SageMaker IA ou o script a seguir. Posteriormente, todos os seus trabalhos do Apache Spark ou Apache Hive criados no seu caderno acessarão somente os dados e recursos permitidos pelas políticas vinculadas à função de runtime selecionada.

    Importante

    A não conclusão dessa etapa impedirá que você conecte um JupyterLab notebook a um aplicativo EMR Serverless.

    SageMaker AI console

    Para associar suas funções de tempo de execução ao seu perfil de usuário ou domínio usando o console de SageMaker IA:

    1. Navegue até o console de SageMaker IA em https://console.aws.amazon.com/sagemaker/.

    2. No painel de navegação esquerdo, escolha domínio e, em seguida, selecione o domínio usando a função de execução de SageMaker IA cujas permissões você atualizou.

      • Para adicionar suas funções de tempo de execução ao seu domínio: na guia Configurações do aplicativo da página de detalhes do domínio, navegue até a JupyterLabseção.

      • Para adicionar suas funções de tempo de execução ao seu perfil de usuário: na página de detalhes do domínio, escolha a guia Perfis de usuário e selecione o perfil de usuário usando a função de execução de SageMaker IA cujas permissões você atualizou. Na guia Configurações do aplicativo, navegue até a JupyterLabseção.

    3. Escolha Editar e adicione suas funções de ARNs execução de tempo de execução do EMR Serverless.

    4. Selecione Enviar.

    Na próxima vez em que você se conectar a um aplicativo EMR Serverless via JupyterLab, as funções de tempo de execução devem aparecer em um menu suspenso para seleção.

    Python script

    Em um JupyterLab aplicativo iniciado em um espaço privado usando a função de execução de SageMaker IA cujas permissões você atualizou, execute o comando a seguir em um terminal. Substitua domainID, user-profile-name, studio-accountID e EMRServerlessRuntimeExecutionRole(s) por seus valores apropriados. Esse trecho de código atualiza as configurações do perfil do usuário para um perfil de usuário específico (client.update_userprofile) ou configurações de domínio (client.update_domain), associando especificamente as funções de runtime do EMR Sem Servidor que você criou anteriormente.

    import botocore.session import json sess = botocore.session.get_session() client = sess.create_client('sagemaker') client.update_userprofile( DomainId="domainID", UserProfileName="user-profile-name", DefaultUserSettings={ 'JupyterLabAppSettings': { 'EmrSettings': { 'ExecutionRoleArns': ["arn:aws:iam::studio-accountID:role/EMRServerlessRuntimeExecutionRoleA", "arn:aws:iam::studio-accountID:role/EMRServerlessRuntimeExecutionRoleAA"] } } }) resp = client.describe_domain(DomainId="domainID") resp['CreationTime'] = str(resp['CreationTime']) resp['LastModifiedTime'] = str(resp['LastModifiedTime']) print(json.dumps(resp, indent=2))

Entre contas

Os diagramas a seguir ilustram as funções e permissões necessárias para listar e conectar-se aos aplicativos EMR Serverless do Studio quando o Studio e os aplicativos são implantados em contas diferentes. AWS

O diagrama mostra as funções e permissões necessárias para listar e conectar aplicativos EMR Serverless do Studio quando o Studio e os aplicativos estão em contas diferentes. AWS

Para obter mais informações sobre como criar uma função em uma AWS conta, consulte https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html Criação de uma função do IAM (console).

Antes de começar:

Se suas aplicações do EMR Sem Servidor e o Studio forem implantados em contas da AWS separadas, você deverá configurar as permissões em ambas as contas.

Na conta do EMR Sem Servidor

Siga estas etapas para criar os perfis e políticas necessários na conta em que sua aplicação do EMR Sem Servidor está sendo executada, também chamada de conta confiável:

  1. Etapa 1: crie pelo menos um perfil de runtime de execução de trabalho para sua aplicação do EMR Sem Servidor em sua conta (o EMRServerlessRuntimeExecutionRoleB no diagrama de contas cruzadas acima). Escolha Política de confiança personalizada como entidade confiável. Adicione as permissões necessárias por trabalho. No mínimo, você precisa de acesso total a um bucket do Amazon S3 e acesso de criação e leitura ao catálogo de AWS Glue dados.

    Para obter instruções detalhadas sobre como criar uma nova função de runtime para suas aplicações do EMR Sem Servidor, siga estas etapas:

    1. Navegue até o console do IAM.

    2. No painel de navegação à esquerda, selecione Política e, depois, Criar política.

    3. Adicione as permissões exigidas pela sua função de runtime, nomeie a política e escolha Criar política.

      Para exemplos de políticas de runtime de uma função de runtime do EMR Sem Servidor, consulte Funções de runtime de trabalho do Amazon EMR Sem Servidor.

    4. No painel de navegação à esquerda, selecione Funções e, em seguida, Criar perfil.

    5. Na página Criar função, escolha a opção Política de confiança personalizada como entidade confiável.

    6. Cole o seguinte documento JSON na seção Política de confiança personalizada e escolha Avançar:

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "emr-serverless.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    7. Na página Adicionar permissões, selecione a política criada e, depois, Avançar.

    8. Na página Revisar, insira um nome para a função, como EMRServerlessAppRuntimeRoleB, e uma descrição opcional.

    9. Revisar os detalhes do perfil e selecionar Criar perfil.

    Com esse recurso, você e seus colegas de equipe podem se conectar ao mesma aplicação, cada um usando uma função de runtime com permissões correspondentes ao seu nível individual de acesso aos dados.

    nota

    As sessões do Spark operam de forma diferente. As sessões do Spark são isoladas com base no perfil de execução usado no Studio, portanto, usuários com perfis de execução diferentes terão sessões do Spark separadas e isoladas. Além disso, se você habilitou a identidade de origem para seu domínio, haverá um isolamento adicional das sessões do Spark em diferentes identidades de origem.

  2. Etapa 2: crie um perfil personalizado do IAM chamado AssumableRole com a seguinte configuração:

    • Permissões: conceda as permissões necessárias (políticas do Amazon EMR Sem Servidor) para AssumableRole, a fim de permitir o acesso aos recursos do EMR com tecnologia sem servidor. A função também é conhecida como Função de acesso.

    • Relação de confiança: configure a política de confiança para AssumableRole, a fim de permitir que assuma o perfil de execução (SageMakerExecutionRole no diagrama de contas cruzadas) da conta do Studio que requer acesso.

    Ao assumir a função, o Studio pode obter acesso temporário às permissões necessárias na conta do EMR Sem Servidor.

    Para obter instruções detalhadas sobre como criar uma nova AssumableRole em sua AWS conta EMR Serverless, siga estas etapas:

    1. Navegue até o console do IAM.

    2. No painel de navegação à esquerda, selecione Política e, depois, Criar política.

    3. Na guia JSON, adicione as permissões do Amazon EMR Sem Servidor, permitindo o acesso e as operações do EMR com tecnologia sem servidor. Para obter detalhes sobre o documento de política, consulte Políticas do EMR Sem Servidor em Políticas de referência. Substitua a region, o accountID e o EMRServerlessAppRuntimeRole passados por seus valores reais antes de copiar a lista de instruções para a política em linha de seu perfil.

      nota

      O EMRServerlessAppRuntimeRole aqui é a função de runtime de trabalho criada na etapa 1 (o EMRServerlessAppRuntimeRoleB no diagrama de contas cruzadas acima). Você pode incluir quantas sequências de ARN de funções de runtime forem necessárias na permissão, separando-as por vírgulas.

    4. Escolha Próximo e, em seguida, forneça um nome de política.

    5. Escolha Criar política.

    6. No painel de navegação à esquerda, selecione Funções e, em seguida, Criar função.

    7. Na página Criar função, escolha a opção Política de confiança personalizada como entidade confiável.

    8. Cole o seguinte documento JSON na seção Política de confiança personalizada e escolha Avançar:

      studio-accountSubstitua pelo ID da conta do Studio e AmazonSageMaker-ExecutionRole pela função de execução usada pelo seu JupyterLab espaço.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::studio-account:role/service-role/AmazonSageMaker-ExecutionRole" }, "Action": "sts:AssumeRole" } ] }
    9. Na página Adicionar permissões, adicione a permissão EMRServerlessAppRuntimeRoleB que você criou na etapa 2 e escolha Avançar.

    10. Na página Revisar, insira um nome para a função, como AssumableRole, e uma descrição opcional.

    11. Revisar os detalhes do perfil e selecionar Criar perfil.

    Para obter mais informações sobre como criar uma função em uma AWS conta, consulte Criação de uma função do IAM (console).

Na conta do Studio

Na conta em que o Studio está implantado, também chamada de conta confiável, atualize a função de execução de SageMaker IA acessando seus aplicativos EMR Serverless com as permissões necessárias para acessar recursos na conta confiável.

  1. Etapa 1: Recupere o ARN da função de execução SageMaker de IA usada pelo seu espaço.

    Para obter informações sobre espaços e funções de execução na SageMaker IA, consulteCompreendendo as permissões de espaço e os perfis de execução do domínio.

    Para obter mais informações sobre como recuperar o ARN da função de execução SageMaker da IA, consulte. Obtenha um perfil de execução

  2. Etapa 2: anexe as seguintes permissões à função de execução de SageMaker IA acessando seu aplicativo EMR Serverless.

    1. Abra o console do IAM em https://console.aws.amazon.com/iam/.

    2. Escolha Perfis e, em seguida, pesquise seu perfil de execução pelo nome no campo Pesquisar. O nome do perfil é a última parte do ARN, após a última barra (/).

    3. Acesse o link do seu perfil.

    4. Selecione Adicionar permissões e, em seguida, Criar política em linha.

    5. Na guia JSON, adicione a política em linha que concede permissões à função para atualizar os domínios, perfis de usuário e espaços. Para obter detalhes sobre o documento de política SageMakerUpdateResourcesPolicy, consulte Política de ações de atualização de domínio, perfil de usuário e espaço em Políticas de referência. Substitua a region e o accountID por seus valores reais antes de copiar a lista de instruções para a política em linha de seu perfil.

    6. Escolha Próximo e, em seguida, forneça um nome de política.

    7. Escolha Criar política.

    8. Repita a etapa Criar política em linha para adicionar outra política que conceda ao perfil de execução as permissões para assumir AssumableRole e, em seguida, executar as ações permitidas pela política de acesso do perfil.

      Substitua emr-account pelo ID da conta do Amazon EMR Sem Servidor, e AssumableRole pelo nome da função assumível criada na conta do Amazon EMR Sem Servidor.

      { "Version": "2012-10-17", "Statement": { "Sid": "AllowSTSToAssumeAssumableRole", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::emr-account:role/AssumableRole" } }
  3. Etapa 3:

    Associe a lista de funções de tempo de execução ao seu domínio ou perfil de usuário para que você possa navegar visualmente pela lista de funções e selecionar aquela a ser usada ao se conectar a um aplicativo EMR Serverless a partir de. JupyterLab Você pode usar o console de SageMaker IA ou o script a seguir. Posteriormente, todos os seus trabalhos do Apache Spark ou Apache Hive criados no seu caderno acessarão somente os dados e recursos permitidos pelas políticas vinculadas à função de runtime selecionada.

    Importante

    A não conclusão dessa etapa impedirá que você conecte um JupyterLab notebook a um aplicativo EMR Serverless.

    SageMaker AI console

    Para associar suas funções de tempo de execução ao seu perfil de usuário ou domínio usando o console de SageMaker IA:

    1. Navegue até o console de SageMaker IA em https://console.aws.amazon.com/sagemaker/.

    2. No painel de navegação esquerdo, escolha domínio e, em seguida, selecione o domínio usando a função de execução de SageMaker IA cujas permissões você atualizou.

      • Para adicionar suas funções de tempo de execução ao seu domínio: na guia Configurações do aplicativo da página de detalhes do domínio, navegue até a JupyterLabseção.

      • Para adicionar suas funções de tempo de execução ao seu perfil de usuário: na página de detalhes do domínio, escolha a guia Perfis de usuário e selecione o perfil de usuário usando a função de execução de SageMaker IA cujas permissões você atualizou. Na guia Configurações do aplicativo, navegue até a JupyterLabseção.

    3. Escolha Editar e adicione sua função assumível e as funções ARNs de execução de tempo de execução do EMR Serverless.

    4. Selecione Enviar.

    Na próxima vez em que você se conectar a um aplicativo EMR Serverless via JupyterLab, as funções de tempo de execução devem aparecer em um menu suspenso para seleção.

    Python script

    Em um JupyterLab aplicativo iniciado em um espaço privado usando a função de execução de SageMaker IA cujas permissões você atualizou, execute o comando a seguir em um terminal. Substitua domainID, user-profile-name, studio-accountID e EMRServerlessRuntimeExecutionRole por seus valores apropriados. Esse trecho de código atualiza as configurações do perfil do usuário para um perfil de usuário específico (client.update_userprofile) ou configurações de domínio (client.update_domain) em um domínio de SageMaker IA. Especificamente, ele define as funções de runtime para o Amazon EMR Sem Servidor, que você criou anteriormente. Também permite que o JupyterLab aplicativo assuma uma função específica do IAM (AssumableRole) para executar aplicativos EMR Serverless na conta do Amazon EMR.

    import botocore.session import json sess = botocore.session.get_session() client = sess.create_client('sagemaker') client.update_userprofile( DomainId="domainID", UserProfileName="user-profile-name", DefaultUserSettings={ 'JupyterLabAppSettings': { 'EmrSettings': { 'AssumableRoleArns': ["arn:aws:iam::emr-accountID:role/AssumableRole"], 'ExecutionRoleArns': ["arn:aws:iam::emr-accountID:role/EMRServerlessRuntimeExecutionRoleA", "arn:aws:iam::emr-accountID:role/AnotherRuntimeExecutionRole"] } } }) resp = client.describe_user_profile(DomainId="domainID", UserProfileName=user-profile-name") resp['CreationTime'] = str(resp['CreationTime']) resp['LastModifiedTime'] = str(resp['LastModifiedTime']) print(json.dumps(resp, indent=2))

Políticas de referência

  • Políticas do EMR Serverless: essa política permite gerenciar aplicativos EMR Serverless, incluindo listar, criar (com as tags de SageMaker IA necessárias), iniciar, interromper, obter detalhes, excluir, acessar endpoints Livy e obter painéis de execução de tarefas. Também permite passar a função de runtime da aplicação EMR Sem Servidor necessária para o serviço.

    • EMRServerlessListApplications: permite a ListApplications ação em todos os recursos do EMR Serverless na região e na conta especificadas. AWS

    • EMRServerlessPassRole: permite transmitir as funções de tempo de execução especificadas na AWS conta fornecida, mas somente quando a função está sendo passada para emr-serverless.amazonaws.com service o.

    • EMRServerlessCreateApplicationAction: Permite que eles CreateApplication TagResource realizem ações nos recursos do EMR Serverless na região e na conta especificadas. AWS No entanto, isso exige que os recursos que estão sendo criados ou marcados tenham chaves de tag específicas (sagemaker:domain-arn, sagemaker:user-profile-arn e sagemaker:space-arn) presentes com valores não nulos.

    • EMRServerlessDenyTaggingAction: As UntagResource ações TagResource e nos recursos do EMR Serverless na região e AWS conta especificadas se os recursos não tiverem nenhuma das chaves de tag especificadas (sagemaker:domain-arn,sagemaker:user-profile-arn, e) definidas. sagemaker:space-arn

    • EMRServerlessActions: permite várias ações (StartApplication, StopApplication, GetApplication, DeleteApplication, AccessLivyEndpoints e GetDashboardForJobRun) nos recursos do EMR Sem Servidor, mas somente se os recursos tiverem as chaves de tag especificadas (sagemaker:domain-arn, sagemaker:user-profile-arn e sagemaker:space-arn) definidas com valores não nulos.

    A política do IAM definida no documento JSON fornecido concede essas permissões, mas limita esse acesso à presença de tags de SageMaker IA específicas nos aplicativos do EMR Serverless para garantir que somente os recursos do Amazon EMR Serverless associados a um SageMaker determinado domínio de IA, perfil de usuário e espaço possam ser gerenciados.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "EMRServerlessListApplications", "Effect": "Allow", "Action": [ "emr-serverless:ListApplications" ], "Resource": "arn:aws:emr-serverless:region:accountID:/*" }, { "Sid": "EMRServerlessPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::accountID:EMRServerlessAppRuntimeRole", "Condition": { "StringLike": { "iam:PassedToService": "emr-serverless.amazonaws.com" } } }, { "Sid": "EMRServerlessCreateApplicationAction", "Effect": "Allow", "Action": [ "emr-serverless:CreateApplication", "emr-serverless:TagResource" ], "Resource": "arn:aws:emr-serverless:region:accountID:/*", "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": [ "sagemaker:domain-arn", "sagemaker:user-profile-arn", "sagemaker:space-arn" ] }, "Null": { "aws:RequestTag/sagemaker:domain-arn": "false", "aws:RequestTag/sagemaker:user-profile-arn": "false", "aws:RequestTag/sagemaker:space-arn": "false" } } }, { "Sid": "EMRServerlessDenyTaggingAction", "Effect": "Deny", "Action": [ "emr-serverless:TagResource", "emr-serverless:UntagResource" ], "Resource": "arn:aws:emr-serverless:region:accountID:/*", "Condition": { "Null": { "aws:ResourceTag/sagemaker:domain-arn": "true", "aws:ResourceTag/sagemaker:user-profile-arn": "true", "aws:ResourceTag/sagemaker:space-arn": "true" } } }, { "Sid": "EMRServerlessActions", "Effect": "Allow", "Action": [ "emr-serverless:StartApplication", "emr-serverless:StopApplication", "emr-serverless:GetApplication", "emr-serverless:DeleteApplication", "emr-serverless:AccessLivyEndpoints", "emr-serverless:GetDashboardForJobRun" ], "Resource": "arn:aws:emr-serverless:region:accountID:/applications/*", "Condition": { "Null": { "aws:ResourceTag/sagemaker:domain-arn": "false", "aws:ResourceTag/sagemaker:user-profile-arn": "false", "aws:ResourceTag/sagemaker:space-arn": "false" } } } ] }
  • Política de ações de atualização de domínio, perfil de usuário e espaço: a política a seguir concede permissões para atualizar domínios, perfis de usuário e espaços de SageMaker IA na região e na AWS conta especificadas.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "SageMakerUpdateResourcesPolicy", "Effect": "Allow", "Action": [ "sagemaker:UpdateDomain", "sagemaker:UpdateUserprofile", "sagemaker:UpdateSpace" ], "Resource": [ "arn:aws:sagemaker:region>:accountID:domain/*", "arn:aws:sagemaker:region:accountID:user-profile/*" ] } ] }