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 e uma função AWS Identity and Access Management (IAM) na Conta A e uma política embutida do IAM 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)
Conceitos básicos do 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 Inteligência Artificial 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
Ferramentas da AWS
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 |
---|---|---|
Criar uma política do IAM para acesso ao repositório na conta A. |
dicaÉ uma prática recomendada restringir o escopo de suas políticas do IAM às permissões mínimas necessárias para seu caso de uso. | AWS DevOps |
Criar um perfil do IAM 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 de política do IAM
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.Substitua
<Account_A_Role_Name>
pelo nome do perfil do IAM 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>