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á.
Alteração na disponibilidade do Role Manager
nota
O Amazon SageMaker Role Manager não está mais aberto a novos clientes. Os clientes existentes podem continuar usando o serviço normalmente. AWS continua investindo em melhorias de segurança e disponibilidade para o Role Manager, mas não planejamos introduzir novos recursos.
Ferramentas nativas do IAM, IAM Identity Center e infraestrutura como código
A combinação de criação de funções nativas do AWS IAM e Infrastructure-as-Code ( Centro de Identidade do AWS IAMCloudFormation, CDK) serve como um substituto para o Amazon SageMaker Role Manager, abrangendo seus principais recursos em criação de funções com base em personalidades e escopo de permissões baseado em atividades.
AWS As ferramentas nativas do IAM gerenciam a criação de funções de execução por meio do console, CLI ou SDK do IAM, fornecendo o fluxo de trabalho padrão para criar funções com a política de confiança principal do sagemaker.amazonaws.com serviço e anexar políticas gerenciadas ou personalizadas.
Centro de Identidade do AWS IAM gerencia a identidade da força de trabalho e o gerenciamento centralizado do acesso fornecendo conjuntos de permissões que definem o acesso refinado aos SageMaker recursos, permitindo a identidade federada de provedores de identidade externos (Okta, Azure AD, Ping Identity) e a propagação confiável de identidade com o Studio. SageMaker
O IAM Access Analyzer fornece validação dinâmica de políticas e geração de políticas com menos privilégios analisando os padrões de CloudTrail acesso reais e recomendando políticas refinadas, substituindo os modelos estáticos baseados em atividades do Role Manager por recomendações de políticas baseadas no uso.
Para uma governança reproduzível, CloudFormation os modelos de CDK fornecem definições de funções do IAM controladas por versão, auditáveis e reproduzíveis que se integram aos pipelines corporativos e aos processos de análise de segurança. CI/CD
Substituindo o Role Manager
Se seu fluxo de trabalho incluir navegar até o console de SageMaker IA (Configurações administrativas > Gerenciador de funções > Criar uma função) ou usar a opção “Criar função usando o assistente de criação de funções” durante a criação de domínio, caderno, trabalho de treinamento ou modelo de inferência, use um caminho alternativo descrito na seção Configurando substituições abaixo.
Nenhuma limpeza é necessária para funções existentes
As funções do IAM criadas anteriormente pelo Role Manager são funções padrão do IAM. Eles continuam funcionando de forma independente, sem dependência do Manager-specific tempo de execução do Role. Essas funções:
-
Aparecem no console do IAM como funções padrão do IAM com o
sagemaker-prefixo -
Pode ser visualizado, modificado ou excluído diretamente do console do IAM
-
Ter suas políticas de confiança e políticas de permissão intactas e operacionais
-
Não exija transformação, migração ou exclusão como parte dessa transição
Substitua as construções do CDK Role Manager (se usadas)
Se você usou as construções CDK do @aws-cdk/aws-sagemaker-alpha Role Manager (as Activity classes Persona e), substitua-as por construções padrãoaws-cdk-lib/aws-iam. Consulte a Infrastructure-as-Code seção abaixo para ver os padrões de substituição.
Substituindo o fluxo de criação do domínio Studio
Ao criar um domínio de SageMaker IA, o Role Manager foi oferecido como uma opção para criar funções de execução durante o assistente de integração (“Criar função usando o assistente de criação de funções”). Siga a alternativa abaixo:
Configuração de domínio personalizada com criação de função do console IAM
Durante a criação do domínio personalizado, você pode criar uma função de execução diretamente do console do IAM em vez de usar o Role Manager.
Etapa 1: criar a função de execução no IAM
-
Abra o console do IAM em https://console.aws.amazon.com/iam/.
-
Escolha Funções e Criar função.
-
Mantenha o AWS serviço como o tipo de entidade confiável.
-
Em “Casos de uso para outros AWS serviços”, localize e selecione SageMaker AI.
-
Escolha SageMaker AI — Execução e, em seguida, escolha Avançar.
-
A política
AmazonSageMakerFullAccessgerenciada é anexada automaticamente. Escolha Próximo. -
Insira um nome de função (por exemplo,
AmazonSageMaker-ExecutionRole-CustomDomain) e uma descrição. -
(Opcional) Adicione tags para governança e rastreamento.
-
Escolha Criar função e anote o ARN da função.
Etapa 2: usar a função durante a criação do domínio
-
No console do SageMaker AI, escolha Configurações administrativas > Domínios > Criar domínio.
-
Escolha Configurar para organizações (Configuração personalizada).
-
Em Função de execução, escolha Inserir um ARN de função IAM personalizado e cole o ARN da Etapa 1.
-
Conclua as etapas restantes de configuração do domínio.
Consulte Como usar as funções de execução de SageMaker IA para obter instruções detalhadas.
Use AWS políticas gerenciadas diretamente
AWS fornece políticas gerenciadas que abrangem SageMaker atividades comuns. Anexe-os diretamente à sua função de execução do IAM:
| Caso de uso | AWS políticas gerenciadas para anexar |
|---|---|
| Desenvolvimento geral de ML (equivalente ao Data Scientist) | AmazonSageMakerFullAccess |
| Read-only acesso para monitoring/auditing | AmazonSageMakerReadOnly |
| Usuários do Canvas | AmazonSageMakerCanvasFullAccess +
AmazonSageMakerCanvasAIServicesAccess |
| Operações de tubulação (equivalente a MLOPs) | AmazonSageMakerFullAccess +
AmazonSageMakerPipelinesIntegrations |
| Acesso à Feature Store | AmazonSageMakerFeatureStoreAccess |
| Governança do modelo | AmazonSageMakerModelGovernanceUseAccess |
| Registro de modelos | AmazonSageMakerModelRegistryFullAccess |
Consulte as políticas AWS gerenciadas da Amazon SageMaker AI para ver a lista completa.
Use a geração de políticas do IAM Access Analyzer (para obter o mínimo de privilégios)
Use o IAM Access Analyzer para gerar políticas de menor privilégio com base na atividade de acesso real. CloudTrail Isso produz políticas mais precisas e baseadas no uso do que os modelos estáticos do Role Manager:
-
Ative o CloudTrail registro SageMaker de suas cargas de trabalho (normalmente já ativado).
-
Execute cargas de trabalho com uma política mais ampla (por exemplo,
AmazonSageMakerFullAccess) por um período representativo (30 a 90 dias recomendados). -
Gere uma política a partir do IAM Access Analyzer:
-
Abra o console do IAM > Analisador de acesso > Geração de políticas.
-
Selecione a função a ser analisada.
-
Especifique a CloudTrail trilha e o período de tempo.
-
Revise a política gerada, que contém somente as ações realmente usadas.
-
-
Aplique a política gerada para substituir a política inicial mais ampla.
Essa abordagem substitui os modelos estáticos do Role Manager por políticas dinâmicas que refletem os padrões reais de uso, obtendo verdadeiros privilégios mínimos sem curadoria manual.
Consulte a geração de políticas do IAM Access Analyzer para obter etapas detalhadas.
Infrastructure-as-Code (CloudFormation)
Defina funções de SageMaker execução CloudFormation para um gerenciamento de funções repetível e controlado por versão. Veja a seguir um exemplo que precisa ser modificado com base no seu caso de uso:
AWSTemplateFormatVersion: '2010-09-09' Description: SageMaker execution roles replacing Role Manager personas Resources: # Replaces Role Manager "SageMaker AI Compute" persona SageMakerComputeRole: Type: AWS::IAM::Role Properties: RoleName: sagemaker-compute-execution-role AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: sagemaker.amazonaws.com Action: sts:AssumeRole ManagedPolicyArns: - arn:aws:iam::aws:policy/AmazonSageMakerFullAccess Policies: - PolicyName: S3DataAccess PolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Action: - s3:GetObject - s3:PutObject - s3:DeleteObject - s3:ListBucket Resource: - arn:aws:s3:::my-sagemaker-bucket - arn:aws:s3:::my-sagemaker-bucket/* Tags: - Key: Purpose Value: sagemaker-compute - Key: ManagedBy Value: cloudformation # Replaces Role Manager "Data Scientist" persona DataScientistRole: Type: AWS::IAM::Role Properties: RoleName: sagemaker-data-scientist-role AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: sagemaker.amazonaws.com Action: sts:AssumeRole ManagedPolicyArns: - arn:aws:iam::aws:policy/AmazonSageMakerFullAccess - arn:aws:iam::aws:policy/AmazonSageMakerCanvasFullAccess - arn:aws:iam::aws:policy/AmazonSageMakerCanvasAIServicesAccess Policies: - PolicyName: GlueAccess PolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Action: - glue:CreateTable - glue:UpdateTable - glue:DeleteTable - glue:GetTable - glue:GetTables - glue:GetDatabase - glue:GetDatabases Resource: '*' Tags: - Key: Purpose Value: sagemaker-data-scientist - Key: ManagedBy Value: cloudformation # Replaces Role Manager "MLOps" persona MLOpsRole: Type: AWS::IAM::Role Properties: RoleName: sagemaker-mlops-role AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: sagemaker.amazonaws.com Action: sts:AssumeRole ManagedPolicyArns: - arn:aws:iam::aws:policy/AmazonSageMakerFullAccess - arn:aws:iam::aws:policy/AmazonSageMakerPipelinesIntegrations - arn:aws:iam::aws:policy/AmazonS3FullAccess Tags: - Key: Purpose Value: sagemaker-mlops - Key: ManagedBy Value: cloudformation Outputs: ComputeRoleArn: Description: ARN of the SageMaker Compute execution role Value: !GetAtt SageMakerComputeRole.Arn DataScientistRoleArn: Description: ARN of the Data Scientist execution role Value: !GetAtt DataScientistRole.Arn MLOpsRoleArn: Description: ARN of the MLOps execution role Value: !GetAtt MLOpsRole.Arn
Infrastructure-as-Code (AWS CDK)
Substitua as construções CDK do Role Manager (Persona,Activity) pelas construções IAM padrão. Veja a seguir um exemplo que precisa ser modificado com base no seu caso de uso:
import * as cdk from 'aws-cdk-lib'; import * as iam from 'aws-cdk-lib/aws-iam'; import { Construct } from 'constructs'; export class SageMakerRolesStack extends cdk.Stack { constructor(scope: Construct, id: string, props?: cdk.StackProps) { super(scope, id, props); // Replaces Role Manager "SageMaker AI Compute" persona const computeRole = new iam.Role(this, 'SageMakerComputeRole', { roleName: 'sagemaker-compute-execution-role', assumedBy: new iam.ServicePrincipal('sagemaker.amazonaws.com'), managedPolicies: [ iam.ManagedPolicy.fromAwsManagedPolicyName('AmazonSageMakerFullAccess'), ], }); // Replaces Role Manager "Data Scientist" persona const dataScientistRole = new iam.Role(this, 'DataScientistRole', { roleName: 'sagemaker-data-scientist-role', assumedBy: new iam.ServicePrincipal('sagemaker.amazonaws.com'), managedPolicies: [ iam.ManagedPolicy.fromAwsManagedPolicyName('AmazonSageMakerFullAccess'), iam.ManagedPolicy.fromAwsManagedPolicyName('AmazonSageMakerCanvasFullAccess'), iam.ManagedPolicy.fromAwsManagedPolicyName('AmazonSageMakerCanvasAIServicesAccess'), ], }); // Add custom inline policy for Glue access // (replaces "Manage Glue Tables" ML activity) dataScientistRole.addToPolicy(new iam.PolicyStatement({ effect: iam.Effect.ALLOW, actions: [ 'glue:CreateTable', 'glue:UpdateTable', 'glue:DeleteTable', 'glue:GetTable', 'glue:GetTables', 'glue:GetDatabase', 'glue:GetDatabases', ], resources: ['*'], })); // Replaces Role Manager "MLOps" persona const mlopsRole = new iam.Role(this, 'MLOpsRole', { roleName: 'sagemaker-mlops-role', assumedBy: new iam.ServicePrincipal('sagemaker.amazonaws.com'), managedPolicies: [ iam.ManagedPolicy.fromAwsManagedPolicyName('AmazonSageMakerFullAccess'), iam.ManagedPolicy.fromAwsManagedPolicyName('AmazonSageMakerPipelinesIntegrations'), iam.ManagedPolicy.fromAwsManagedPolicyName('AmazonS3FullAccess'), ], }); // Example: Scope down with VPC conditions // (replaces Role Manager VPC customization) computeRole.addToPolicy(new iam.PolicyStatement({ effect: iam.Effect.ALLOW, actions: [ 'ec2:CreateNetworkInterface', 'ec2:CreateNetworkInterfacePermission', 'ec2:DeleteNetworkInterface', 'ec2:DeleteNetworkInterfacePermission', 'ec2:DescribeNetworkInterfaces', 'ec2:DescribeVpcs', 'ec2:DescribeDhcpOptions', 'ec2:DescribeSubnets', 'ec2:DescribeSecurityGroups', ], resources: ['*'], conditions: { StringEquals: { 'ec2:Vpc': 'arn:aws:ec2:us-east-1:123456789012:vpc/vpc-xxxxxxxx', }, }, })); } }