

# GitHub
<a name="identity-idp-github"></a>

GitHub는 아웃바운드 리소스 액세스를 위한 AgentCore 자격 증명 공급자로 구성할 수 있습니다. 이를 통해 에이전트는 GitHub의 OAuth2 서비스를 통해 사용자를 인증하고 GitHub API 리소스에 대한 액세스 토큰을 얻을 수 있습니다.

## 아웃바운드
<a name="identity-idp-github-outbound"></a>

**참고**  
AgentCore 자격 증명은 생성한 각 자격 증명 공급자에 대해 고유한 OAuth2 콜백 URL을 발급합니다. 고유한 콜백 URL을 사용하면 세션 바인딩이 가능하여 권한 부여 응답을 시작한 특정 자격 증명 공급자에 대해서만 사용할 수 있도록 하여 교차 공급자 재생 및 CSRF 스타일 공격으로부터 OAuth2 권한 부여 코드 교환을 보호합니다. URL은 공급자별로 고유하므로를 호출할 때까지 URL을 알 **** 수 없습니다`CreateOauth2CredentialProvider`. 먼저 GitHub OAuth2 클라이언트를 생성한 다음 AgentCore Identity가 콜백 URL을 발급한 후 GitHub 개발자 콘솔로 돌아가 콜백 URL을 등록합니다.

 **1단계: GitHub OAuth2 클라이언트 생성** 

다음 절차에 따라 GitHub OAuth2 애플리케이션을 설정하고 AgentCore 자격 증명에 필요한 클라이언트 자격 증명을 가져옵니다. AgentCore 자격 증명이 고유한 콜백 URL을 발급한 후 3단계에서 리디렉션 URI를 등록합니다.

 **GitHub OAuth2 애플리케이션을 구성하려면** 

1. github 계정의 프로필 사진을 선택하고 **설정을** 선택합니다.

1. **개발자 설정을** 선택합니다.

1. **OAuth 앱을** 선택합니다.

1. OAuth2 앱 페이지에서 **새 OAuth 앱을** 선택합니다.

1. 애플리케이션과 관련된 필수 세부 정보를 입력합니다. 지금은 **권한 부여 콜백 URL** 필드를 비워 둡니다. 3단계에서 고유한 콜백 URL을 추가합니다.

1. **애플리케이션 등록**을 선택하여 Github OAuth 앱을 생성합니다.

1. Github의 OAuth 앱 페이지에서 새로 생성된 공급자로 이동합니다.

1. 클라이언트 보안 암호 섹션에서 **새 클라이언트 보안 암호 생성을** 선택합니다.

1. 새로 생성된 클라이언트 보안 암호를 기록해 둡니다. AgentCore 자격 증명으로 Github 애플리케이션을 구성하려면이 값이 필요합니다.
**참고**  
Github는 생성 시 전체 보안 암호만 반환합니다. 이를 추적하지 못하면 클라이언트 보안 암호를 다시 생성하여 AgentCore 자격 증명에서 공급자를 구성해야 합니다.

자세한 내용은 Github의 설명서 [ OAuth 앱 생성을](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app) 참조하세요.

 **2단계: AgentCore 자격 증명 공급자 생성** 

아웃바운드 GitHub 리소스 공급자를 구성하려면 다음을 사용합니다.

```
{
        "name": "NAME",
        "credentialProviderVendor": "GithubOauth2",
        "oauth2ProviderConfigInput": {
            "GithubOauth2ProviderConfigInput": {
                "clientId": "your-client-id",
                "clientSecret": "your-client-secret",
            }
        },
    }
```

[CreateOauth2CredentialProvider](https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_CreateOauth2CredentialProvider.html) 응답에는 `callbackUrl` 필드가 포함됩니다. 이 URL은이 자격 증명 공급자에 고유하며 다음과 같습니다`https://bedrock-agentcore.us-east-1.amazonaws.com/identities/oauth2/callback/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX`. 다음 단계를 위해이 값을 저장합니다.

 **3단계: GitHub에 고유한 콜백 URL 등록** 

GitHub 개발자 콘솔로 돌아가 OAuth2 애플리케이션의 리디렉션 URI 목록에 고유한 콜백 URL을 추가합니다.

1. GitHub 개발자 콘솔에 로그인하고 1단계에서 생성한 OAuth2 애플리케이션을 엽니다.

1. 에서 반환한 `callbackUrl` 값을 애플리케이션의 `CreateOauth2CredentialProvider` 리디렉션 URI 구성에 추가합니다.

1. 변경 내용을 저장합니다.