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á.
Associe um AWS CodeCommit repositório em um Conta da AWS com o Amazon SageMaker AI Studio Classic em outra conta
Criado por Laurens van der Maas (AWS) e Aubrey Oosthuizen () AWS
Resumo
Aviso: não AWS CodeCommit está mais disponível para novos clientes. Os clientes existentes do AWS CodeCommit podem continuar usando o serviço normalmente. Saiba mais
Esse padrão fornece instruções e código sobre como associar um AWS CodeCommit repositório em um Conta da AWS (Conta A) com o Amazon SageMaker AI Studio Classic em outro Conta da AWS (Conta B). Para configurar a associação, você deve criar uma política AWS Identity and Access Management (IAM) e uma função na Conta A e uma política IAM embutida na Conta B. Em seguida, você usa um script de shell para clonar o CodeCommit repositório da Conta A para o Amazon SageMaker AI Classic na Conta B.
Pré-requisitos e limitações
Pré-requisitos
Dois Contas da AWS
, um contendo o CodeCommit repositório e o outro contendo um domínio de SageMaker IA com um usuário Domínio e usuário de SageMaker IA provisionados, com acesso à Internet ou acesso a CodeCommit e AWS Security Token Service (AWS STS) por meio de endpoints de rede privada virtual (VPC)
Uma compreensão básica de IAM
Uma compreensão básica do SageMaker AI Studio Classic
Uma compreensão básica do Git
e CodeCommit
Limitações
Esse padrão se aplica somente ao SageMaker AI Studio Classic, não ao RStudio Amazon SageMaker AI.
Arquitetura
Pilha de tecnologia
SageMaker IA da Amazon
Amazon SageMaker AI Studio clássico
AWS CodeCommit
AWS Identity and Access Management (IAM)
Git
Arquitetura de destino
O diagrama a seguir mostra uma arquitetura que associa um CodeCommit repositório da Conta A ao SageMaker AI Studio Classic na Conta B.

O diagrama mostra o seguinte fluxo de trabalho:
Um usuário assume a
MyCrossAccountRepositoryContributorRole
função na Conta A por meio dasts:AssumeRole
função, enquanto usa a função de execução de SageMaker IA no SageMaker AI Studio Classic na Conta B. A função assumida inclui as CodeCommit permissões para clonar e interagir com o repositório especificado.O usuário executa comandos Git a partir do terminal do sistema no SageMaker AI Studio Classic.
Automação e escala
Esse padrão consiste em etapas manuais que podem ser automatizadas usando o AWS Cloud Development Kit (AWS CDK), AWS CloudFormation, ou Terraform
Ferramentas
AWSferramentas
O Amazon SageMaker AI é um serviço gerenciado de aprendizado de máquina (ML) que ajuda você a criar e treinar modelos de ML e depois implantá-los em um ambiente hospedado pronto para produção.
O Amazon SageMaker AI Studio Classic é um ambiente de desenvolvimento integrado (IDE) baseado na web para aprendizado de máquina que permite criar, treinar, depurar, implantar e monitorar seus modelos de aprendizado de máquina.
AWS CodeCommité um serviço de controle de versão que ajuda você a armazenar e gerenciar repositórios Git de forma privada, sem precisar gerenciar seu próprio sistema de controle de origem.
Aviso: não AWS CodeCommit está mais disponível para novos clientes. Os clientes existentes do AWS CodeCommit podem continuar usando o serviço normalmente. Saiba mais
AWS Identity and Access Management (IAM) ajuda você a gerenciar com segurança o acesso aos seus AWS recursos controlando quem está autenticado e autorizado a usá-los.
Outras ferramentas
O Git
é um sistema distribuído de controle de versões para rastrear alterações no código-fonte durante o desenvolvimento do software.
Épicos
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie uma IAM política para acesso ao repositório na Conta A. |
dicaÉ uma prática recomendada restringir o escopo de suas IAM políticas às permissões mínimas necessárias para seu caso de uso. | AWS DevOps |
Crie uma IAM função para acesso ao repositório na Conta A. |
| AWS DevOps |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Anexe uma política embutida à função de execução vinculada ao usuário do seu SageMaker domínio na Conta B. |
| AWS DevOps |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie o script de shell no SageMaker AI Studio Classic na Conta B. |
| AWS DevOps |
Invocar o script de shell a partir do terminal do sistema. |
Você clonou seu CodeCommit repositório em uma conta cruzada do SageMaker AI Studio. Agora você pode executar todos os comandos do Git no terminal do sistema. | AWS DevOps |
Mais informações
Exemplo IAM de política
Para usar este exemplo, você precisa fazer o seguinte:
<CodeCommit_Repository_Region>
Substitua pelo Região da AWS para o repositório.Substitua
<Account_A_ID>
pelo ID da conta para a conta A.<CodeCommit_Repository_Name>
Substitua pelo nome do seu CodeCommit repositório na Conta A.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:BatchGet*", "codecommit:Create*", "codecommit:DeleteBranch", "codecommit:Get*", "codecommit:List*", "codecommit:Describe*", "codecommit:Put*", "codecommit:Post*", "codecommit:Merge*", "codecommit:Test*", "codecommit:Update*", "codecommit:GitPull", "codecommit:GitPush" ], "Resource": [ "arn:aws:codecommit:<CodeCommit_Repository_Region>:<Account_A_ID>:<CodeCommit_Repository_Name>" ] } ] }
Exemplo de script de shell de SageMaker IA
Para usar este exemplo, você precisa fazer o seguinte:
Substitua
<Account_A_ID>
pelo ID da conta para conta A.<Account_A_Role_Name>
Substitua pelo nome da IAM função que você criou anteriormente.<CodeCommit_Repository_Region>
Substitua pelo Região da AWS para o repositório.<CodeCommit_Repository_Name>
Substitua pelo nome do seu CodeCommit repositório na Conta A.
#!/usr/bin/env bash #Launch from system terminal pip install --quiet git-remote-codecommit mkdir -p ~/.aws touch ~/.aws/config echo "[profile CrossAccountAccessProfile] region = <CodeCommit_Repository_Region> credential_source=EcsContainer role_arn = arn:aws:iam::<Account_A_ID>:role/<Account_A_Role_Name> output = json" > ~/.aws/config echo '[credential "https://git-codecommit.<CodeCommit_Repository_Region>.amazonaws.com"] helper = !aws codecommit credential-helper $@ --profile CrossAccountAccessProfile UseHttpPath = true' > ~/.gitconfig git clone codecommit::<CodeCommit_Repository_Region>://CrossAccountAccessProfile@<CodeCommit_Repository_Name>