

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Verknüpfen Sie ein AWS CodeCommit Repository in einem AWS-Konto mit Amazon SageMaker AI Studio Classic in einem anderen Konto
<a name="associate-an-aws-codecommit-repository-in-one-aws-account-with-sagemaker-studio-in-another-account"></a>

*Laurens van der Maas und Aubrey Oosthuizen, Amazon Web Services*

## Zusammenfassung
<a name="associate-an-aws-codecommit-repository-in-one-aws-account-with-sagemaker-studio-in-another-account-summary"></a>

Dieses Muster enthält Anweisungen und Code zur Verknüpfung eines AWS CodeCommit Repositorys in einem AWS-Konto (Konto A) mit Amazon SageMaker AI Studio Classic in einem anderen AWS-Konto (Konto B). Um die Zuordnung einzurichten, müssen Sie eine AWS Identity and Access Management (IAM-) Richtlinie und Rolle in Konto A und eine IAM-Inline-Richtlinie in Konto B erstellen. Anschließend verwenden Sie ein Shell-Skript, um das CodeCommit Repository von Konto A nach Amazon SageMaker AI Classic in Konto B zu klonen.

## Voraussetzungen und Einschränkungen
<a name="associate-an-aws-codecommit-repository-in-one-aws-account-with-sagemaker-studio-in-another-account-prereqs"></a>

**Voraussetzungen**
+ Zwei [AWS-Konten](https://aws.amazon.com/premiumsupport/knowledge-center/create-and-activate-aws-account/), eine enthält das CodeCommit Repository und die andere enthält eine SageMaker AI-Domäne mit einem Benutzer
+ Bereitgestellte [SageMaker KI-Domäne und Benutzer](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-studio-onboard.html) mit Internetzugang oder Zugriff auf CodeCommit und AWS -Security-Token-Service (AWS STS) über virtuelle private Netzwerke (VPC) -Endpunkte
+ [Ein grundlegendes Verständnis von IAM](https://docs.aws.amazon.com/iam/?id=docs_gateway)
+ Ein grundlegendes Verständnis von [SageMaker AI Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/studio.html)
+ Ein grundlegendes Verständnis von [Git](https://git-scm.com/) und [CodeCommit ](https://docs.aws.amazon.com/codecommit/index.html)

**Einschränkungen**

Dieses Muster gilt nur für SageMaker AI Studio Classic, nicht für RStudio Amazon SageMaker AI.

## Architektur
<a name="associate-an-aws-codecommit-repository-in-one-aws-account-with-sagemaker-studio-in-another-account-architecture"></a>

**Technologie-Stack**
+ Amazon SageMaker KI
+ Amazon SageMaker AI Studio Klassisch
+ AWS CodeCommit
+ AWS Identity and Access Management (ICH BIN) 
+ Git

**Zielarchitektur**

Das folgende Diagramm zeigt eine Architektur, die ein CodeCommit Repository von Konto A mit SageMaker AI Studio Classic in Konto B verknüpft.

![\[Architekturdiagramm für die kontenübergreifende Zuordnung\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/d40df9eb-6ee2-4cb8-8257-051fa624e52a/images/abb89a66-fc8f-4e72-8f45-f0f44c2ec6ce.png)


Das Diagramm zeigt den folgenden Workflow:

1. Ein Benutzer übernimmt die `MyCrossAccountRepositoryContributorRole` Rolle in Konto A über die `sts:AssumeRole` Rolle, während er die AI-Ausführungsrolle in SageMaker SageMaker AI Studio Classic in Konto B verwendet. Die übernommene Rolle beinhaltet die CodeCommit Berechtigungen zum Klonen und Interagieren mit dem angegebenen Repository.

1. Der Benutzer führt Git-Befehle vom Systemterminal in SageMaker AI Studio Classic aus.

**Automatisierung und Skalierung**

Dieses Muster besteht aus manuellen Schritten, die mithilfe von [AWS Cloud Development Kit (AWS CDK)[AWS CloudFormation](https://docs.aws.amazon.com/cloudformation/?id=docs_gateway)](https://docs.aws.amazon.com/cdk/?id=docs_gateway), oder [Terraform](https://www.terraform.io/) automatisiert werden können.

## Tools
<a name="associate-an-aws-codecommit-repository-in-one-aws-account-with-sagemaker-studio-in-another-account-tools"></a>

**AWS-Tools**
+ [Amazon SageMaker AI](https://docs.aws.amazon.com/sagemaker/?id=docs_gateway) ist ein verwalteter Service für maschinelles Lernen (ML), mit dem Sie ML-Modelle erstellen und trainieren und sie dann in einer produktionsbereiten, gehosteten Umgebung bereitstellen können.
+ [Amazon SageMaker AI Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/studio.html) ist eine webbasierte, integrierte Entwicklungsumgebung (IDE) für maschinelles Lernen, mit der Sie Ihre Machine-Learning-Modelle erstellen, trainieren, debuggen, bereitstellen und überwachen können.
+ [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html)ist ein Versionskontrolldienst, mit dem Sie Git-Repositorys privat speichern und verwalten können, ohne Ihr eigenes Quellcodeverwaltungssystem verwalten zu müssen.

  **Hinweis**: AWS CodeCommit ist für Neukunden nicht mehr verfügbar. Bestandskunden von AWS CodeCommit können den Service weiterhin wie gewohnt nutzen. [Weitere Informationen](https://aws.amazon.com/blogs/devops/how-to-migrate-your-aws-codecommit-repository-to-another-git-provider/)
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) hilft Ihnen dabei, den Zugriff auf Ihre AWS Ressourcen sicher zu verwalten, indem kontrolliert wird, wer authentifiziert und autorisiert ist, diese zu verwenden.

**Andere Tools**
+ [Git](https://git-scm.com/) ist ein verteiltes Versionskontrollsystem zur Nachverfolgung von Änderungen im Quellcode während der Softwareentwicklung.

## Epen
<a name="associate-an-aws-codecommit-repository-in-one-aws-account-with-sagemaker-studio-in-another-account-epics"></a>

### Erstellen Sie eine IAM-Richtlinie und eine IAM-Rolle in Konto A
<a name="create-an-iam-policy-and-iam-role-in-account-a"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie eine IAM-Richtlinie für den Repository-Zugriff in Konto A. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/associate-an-aws-codecommit-repository-in-one-aws-account-with-sagemaker-studio-in-another-account.html)Es hat sich bewährt, den Geltungsbereich Ihrer IAM-Richtlinien auf die für Ihren Anwendungsfall erforderlichen Mindestberechtigungen zu beschränken. | AWS DevOps | 
| Erstellen Sie eine IAM-Rolle für den Repository-Zugriff in Konto A. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/associate-an-aws-codecommit-repository-in-one-aws-account-with-sagemaker-studio-in-another-account.html) | AWS DevOps | 

### Erstellen Sie eine IAM-Inline-Richtlinie in Konto B
<a name="create-an-iam-inline-policy-in-account-b"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Fügen Sie der Ausführungsrolle, die Ihrem SageMaker Domain-Benutzer in Konto B zugewiesen ist, eine Inline-Richtlinie hinzu. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/associate-an-aws-codecommit-repository-in-one-aws-account-with-sagemaker-studio-in-another-account.html) | AWS DevOps | 

### Klonen Sie das Repository in SageMaker AI Studio Classic für Konto B
<a name="clone-the-repository-in-sm-studio-classic-for-account-b"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie das Shell-Skript in SageMaker AI Studio Classic in Konto B. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/associate-an-aws-codecommit-repository-in-one-aws-account-with-sagemaker-studio-in-another-account.html) | AWS DevOps | 
| Rufen Sie das Shell-Skript vom Systemterminal aus auf. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/associate-an-aws-codecommit-repository-in-one-aws-account-with-sagemaker-studio-in-another-account.html)Sie haben Ihr CodeCommit Repository in ein SageMaker AI Studio-Cross-Konto geklont. Sie können jetzt alle Git-Befehle vom Systemterminal aus ausführen. | AWS DevOps | 

## Zusätzliche Informationen
<a name="associate-an-aws-codecommit-repository-in-one-aws-account-with-sagemaker-studio-in-another-account-additional"></a>

**Beispiel für eine IAM-Richtlinie**

Wenn Sie diese Beispielrichtlinie verwenden, gehen Sie wie folgt vor:
+ `<CodeCommit_Repository_Region>`Ersetzen Sie es durch das AWS-Region für das Repository.
+ `<Account_A_ID>`Ersetzen Sie es durch die Konto-ID für Konto A.
+ `<CodeCommit_Repository_Name>`Ersetzen Sie es durch den Namen Ihres CodeCommit Repositorys in Konto 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>"
        ]
    }
]
}
```

**Beispiel für ein SageMaker AI-Shell-Skript**

Wenn Sie dieses Beispielskript verwenden, gehen Sie wie folgt vor:
+ `<Account_A_ID>`Ersetzen Sie es durch die Konto-ID für Konto A.
+ `<Account_A_Role_Name>`Ersetzen Sie durch den Namen der IAM-Rolle, die Sie zuvor erstellt haben.
+ Ersetzen Sie `<CodeCommit_Repository_Region>` durch den AWS-Region für das Repository.
+ `<CodeCommit_Repository_Name>`Ersetzen Sie es durch den Namen Ihres CodeCommit Repositorys in Konto 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>
```