

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS MCP サーバー
<a name="aws-mcp-server"></a>

## 概要
<a name="aws-mcp-server-overview"></a>

AWS MCP サーバーは AWS 、サインインによる OAuth 認可をサポートしています。OAuth 認可を使用すると、エージェントは AWS マネジメントコンソール および で既に使用しているのと同じ ID、アクセス許可、ガバナンスモデル AWS を使用して にアクセスできます AWS CLI。エージェントを承認すると、ユーザーに代わって AWS MCP サーバーにアクセスできます。認可では、エージェントに追加の AWS アクセス許可は付与されません。

このガイドを使用して、 AWS MCP サーバーへの OAuth アクセスを設定します。サポートされている認可モデル、必要な IAM アクセス許可、OAuth アクセスを管理およびモニタリングする方法について説明します。

 AWS サインインでの OAuth サポートの詳細については、「」を参照してください[OAuth 2.0 でサインインする](oauth-sign-in-overview.md)。

## 前提条件
<a name="aws-mcp-server-prereqs"></a>

エージェントを AWS MCP サーバーに接続する前に、以下を確認してください。
+ IAM ID には、OAuth 認可に必要なアクセス許可があります。
+ エージェントは Model Context Protocol (MCP) をサポートしています。
+ エージェントは OAuth 2.1 認可をサポートしています。

[AWS 管理ポリシー](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSMCPSignInOAuthAccessPolicy.html)をアタッチして、必要なアクセス許可を付与します。

```
aws iam attach-role-policy \
  --role-name {{MyRole}} \
  --policy-arn arn:aws:iam::aws:policy/AWSMCPSignInOAuthAccessPolicy
```

この管理ポリシーは、以下を付与します。
+ `signin:AuthorizeOAuth2Access`
+ `signin:CreateOAuth2Token`

 AWS アカウント ルートユーザーとして認証する場合、追加の IAM アクセス許可は必要ありません。

## DCR でサポートされているリダイレクト URIs
<a name="aws-mcp-server-supported-redirect-uris"></a>

エージェントは AWS サインインに登録し、OAuth 認可プロセス中に 1 つ以上の承認済みリダイレクト URIs を使用できます。


| OAuth クライアント | リダイレクト URI (複数可) | 
| --- | --- | 
| Localhost | localhost, 127.0.0.1 | 
| Claude | https://claude.ai/\* | 
| カーソルデスクトップ | cursor://anysphere.cursor-mcp/oauth/callback | 
| カーソルウェブ | https://www.cursor.com/agents/mcp/oauth/callback | 
| Visual Studio Code | vscode://\* | 
| Visual Studio コード (ウェブ) | https://vscode.dev/\* | 
| ChatGPT | https://chatgpt.com/\* | 
| ChatGPT コネクタ | https://chatgpt.com/connector\_platform\_oauth\_redirect | 
| リプリット | https://replit.com/ | 
| 可愛い | https://lovable.app/\* | 
| Lovable デベロッパー | https://lovable.dev/\* | 
| Vercel v0 | https://api.v0.dev/v1/mcp-servers/oauth/callback | 

## エージェントを AWS MCP サーバーに接続する
<a name="aws-mcp-server-connect"></a>

OAuth 互換エージェントを設定する手順は、アプリケーションによって異なります。サポートされているエージェントの手順については、[AWS 「MCP サーバーガイド](https://docs.aws.amazon.com/agent-toolkit/latest/userguide/getting-started-aws-mcp-server.html)」を参照してください。

一般的なワークフローは次のとおりです。

1.  AWS MCP サーバーエンドポイントを設定します。

1.  AWS サインインして認証するか、プログラムで OAuth アクセストークンを取得します。

1. 認可リクエストを承認します (インタラクティブフローのみ）。

1.  AWS MCP Server が提供するツールの呼び出しを開始します。

## 認可モデル
<a name="aws-mcp-server-auth-models"></a>

AWS MCP Server は、 AWS サインインによって提供される認可モデルをサポートしています。

### インタラクティブ認可
<a name="aws-mcp-server-interactive"></a>

インタラクティブ認可は、ローカルワークステーションでエージェントを使用するデベロッパーを対象としています。

エージェントが認可を必要とする場合:

1. エージェントはユーザーを AWS サインインにリダイレクトします。

1. ユーザーは AWS ID を使用して認証します。

1. ユーザーは認可リクエストを確認して承認します。

1. AWS サインインは、OAuth アクセストークンと更新トークンを発行します。

1. エージェントはユーザーに代わって AWS MCP サーバーにアクセスします。

必要な IAM アクセス許可:
+ `signin:AuthorizeOAuth2Access`
+ `signin:CreateOAuth2Token`

### 非インタラクティブ認可
<a name="aws-mcp-server-non-interactive"></a>

非インタラクティブ認可では、OAuth 2.0 クライアント認証情報付与を使用します。これは、 AWS 認証情報をすでに所有しており、ブラウザベースの認証を実行できないエージェントとアプリケーションを対象としています。

アプリケーションは、既存の AWS Signature Version 4 (SigV4) 認証情報を使用して認証し、 `CreateOAuth2TokenWithIAM` API を介して OAuth アクセストークンを取得します。

インタラクティブフローとは異なり、アクセストークンのみが発行されます。現在のトークンの有効期限が切れると、アプリケーションは新しいアクセストークンをリクエストします。

必要な IAM アクセス許可:
+ `signin:CreateOAuth2Token`

次の例は、 を使用してアクセストークンを取得する方法を示しています AWS CLI。

```
aws signin create-oauth2-token-with-iam \
    --grant-type client_credentials \
    --resource aws-mcp.amazonaws.com \
    --region us-east-1
```

## OAuth リソースタイプ
<a name="aws-mcp-server-resource-types"></a>

AWS サインインは、OAuth 認可ターゲットとパブリック OAuth クライアントを IAM リソースとして表します。これらのリソースを IAM ポリシーで参照して、OAuth 認可を付与または制御します。

現在、次のリソースタイプがサポートされています。


| リソースタイプ | ARN 形式 | 説明 | 
| --- | --- | --- | 
| AWS MCP サーバー | arn:aws:signin:{{region}}:{{account-id}}:service-principal/aws-mcp.amazonaws.com |  AWS MCP サーバーを表します。このリソースを使用して、 AWS MCP サーバーにアクセスするアプリケーションの OAuth 認可を付与または制御します。 | 
| OAuth パブリッククライアント (同じデバイス) | arn:aws:signin:{{region}}:{{account-id}}:oauth2/public-client/localhost | 同一デバイス認可の AWS CLI パブリック OAuth クライアントを表します。このリソースはaws login、ブラウザと が同じデバイスで AWS CLI 実行される で使用します。 | 
| OAuth パブリッククライアント (クロスデバイス) | arn:aws:signin:{{region}}:{{account-id}}:oauth2/public-client/remote | クロスデバイス認可用の AWS CLI パブリック OAuth クライアントを表します。このリソースはaws login --remote、別のデバイスで認証が完了する で使用します。 | 

## トークンのライフサイクル
<a name="aws-mcp-server-token-lifecycle"></a>

AWS サインインは、 AWS MCP サーバー用に発行された OAuth トークンのライフサイクルを管理します。


| トークン | 説明 | 
| --- | --- | 
| インタラクティブアクセストークン | 最大 1 時間有効です。更新トークンが有効である間、自動的に更新されます。 | 
| 非インタラクティブアクセストークン | 1 時間または残りの AWS セッション期間のいずれか短い方に有効です。アプリケーションは、有効期限が切れた後に新しいトークンをリクエストします。 | 
| 更新トークン | インタラクティブ認可の場合にのみ発行されます。ユーザーが再度サインインしなくても、アプリケーションが新しいアクセストークンを取得できるようにします。更新トークンはローテーションされ、シングルユースです。 | 

## OAuth トークンの管理
<a name="aws-mcp-server-token-management"></a>

AWS サインインにはAPIs が用意されています。 OAuth 


| API | 目的 | 
| --- | --- | 
| [`IntrospectOAuth2Token`](https://docs.aws.amazon.com/signin/latest/APIReference/API_dataplane-signin_IntrospectOAuth2TokenWithIAM.html) | OAuth トークンを記述するメタデータを返します。 | 
| [`RevokeOAuth2Token`](https://docs.aws.amazon.com/signin/latest/APIReference/API_dataplane-signin_RevokeOAuth2TokenWithIAM.html) | 更新トークンを取り消します。 | 

## OAuth アクティビティのモニタリング
<a name="aws-mcp-server-monitoring"></a>

OAuth 関連のアクティビティは に記録されます AWS CloudTrail。

CloudTrail は、次のようなイベントを記録します。
+ OAuth 認可リクエスト
+ OAuth トークンの発行
+ トークンのイントロスペクション
+ トークンの取り消し

CloudTrail は、OAuth クライアント、リダイレクト URI、認可フロー、 AWS MCP Server リソース、および関連する AWS サインインセッションも記録するため、管理者は AWS API アクティビティを元の OAuth 認可に関連付けることができます。

CloudTrail イベントの例を以下に示します。
+ `AuthorizeOAuth2Access`
+ `CreateOAuth2Token`

**例 – AuthorizeOAuth2Access イベント:**

```
{
    "eventVersion": "1.11",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAEXAMPLE:testuser",
        "arn": "arn:aws:sts::111111111111:assumed-role/Admin/testuser",
        "accountId": "111111111111",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAEXAMPLE",
                "arn": "arn:aws:iam::111111111111:role/Admin",
                "accountId": "111111111111",
                "userName": "Admin"
            },
            "attributes": {
                "creationDate": "2026-06-09T05:06:39Z",
                "mfaAuthenticated": "false"
            }
        }
    },
    "eventTime": "2026-06-09T05:09:00Z",
    "eventSource": "signin.amazonaws.com",
    "eventName": "AuthorizeOAuth2Access",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "192.0.2.1",
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ...",
    "requestParameters": {
        "resource": "https://aws-mcp.us-west-2.api.aws/mcp",
        "redirect_uri": "http://127.0.0.1:60432/oauth/callback",
        "code_challenge_method": "S256",
        "client_id": "arn:aws:signin:us-west-2::external-client/dcr/b3f2c8a1-9d4e-4f7a-8c6b-2e1f5a3d9b7c"
    },
    "responseElements": null,
    "additionalEventData": {
        "success": "true"
    },
    "requestID": "4fb4ff7b-6yu7-9090-78i9-9c0088a65134",
    "eventID": "bb05b222-31ec-4237-b8e7-8eb26d4fd48b",
    "readOnly": true,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111111111111",
    "eventCategory": "Management",
    "tlsDetails": {
        "tlsVersion": "TLSv1.3",
        "cipherSuite": "TLS_AES_128_GCM_SHA256",
        "clientProvidedHostHeader": "us-west-2.oauth.signin.aws"
    }
}
```

**例 – CreateOAuth2Token イベント:**

```
{
    "eventVersion": "1.11",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAEXAMPLE:testuser",
        "arn": "arn:aws:sts::111111111111:assumed-role/Admin/testuser",
        "accountId": "111111111111",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAEXAMPLE",
                "arn": "arn:aws:iam::111111111111:role/Admin",
                "accountId": "111111111111",
                "userName": "Admin"
            },
            "attributes": {
                "creationDate": "2026-06-09T05:06:39Z",
                "mfaAuthenticated": "false"
            },
            "signInSessionArn": "arn:aws:signin:us-west-2:111111111111:session/daff060f-7871-4ab6-92cd-a07bbdabe61a"
        }
    },
    "eventTime": "2026-06-09T05:10:04Z",
    "eventSource": "signin.amazonaws.com",
    "eventName": "CreateOAuth2Token",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "192.0.2.1",
    "userAgent": "curl/8.7.1",
    "requestParameters": {
        "resource": "https://aws-mcp.us-west-2.api.aws/mcp",
        "client_id": "arn:aws:signin:us-west-2::external-client/dcr/b3f2c8a1-9d4e-4f7a-8c6b-2e1f5a3d9b7c"
    },
    "responseElements": null,
    "additionalEventData": {
        "signInSessionArn": "arn:aws:signin:us-west-2:111111111111:session/daff060f-7871-4ab6-92cd-a07bbdabe61a",
        "grant_type": "refresh_token",
        "success": "true"
    },
    "requestID": "44d6d7ce-e4r5-4cbf-0909-bfb8a8295a76",
    "eventID": "f79cc63f-b383-4e3c-a1e5-97c7db1ab833",
    "readOnly": true,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111111111111",
    "eventCategory": "Management",
    "tlsDetails": {
        "tlsVersion": "TLSv1.3",
        "cipherSuite": "TLS_AES_128_GCM_SHA256",
        "clientProvidedHostHeader": "us-west-2.oauth.signin.aws"
    }
}
```

 AWS MCP サーバーへの OAuth アクセストークンを使用して行われた呼び出しに関する追加の監査イベントとログ記録の詳細については、[AWS 「MCP Server CloudTrail ログ記録ガイド](https://docs.aws.amazon.com/agent-toolkit/latest/userguide/logging-using-cloudtrail.html)」を参照してください。

## トラブルシューティング
<a name="aws-mcp-server-troubleshooting"></a>

### AWS MCP サーバーへの接続時にアクセス許可が拒否されました
<a name="aws-mcp-server-ts-permission-denied"></a>

IAM ID に AWS MCP Server 認可付与リソースの `signin:AuthorizeOAuth2Access`および アクセス`signin:CreateOAuth2Token`許可があることを確認します。

### アクセストークンの有効期限が切れました
<a name="aws-mcp-server-ts-token-expired"></a>

インタラクティブ認可は、関連付けられた更新トークンが有効である間、アクセストークンを自動的に更新します。更新トークンの有効期限が切れているか、取り消された場合は、エージェントを通じて再度認証します。

非インタラクティブ認可の場合、トークンエンドポイントから新しいアクセストークンをリクエストできます。

### 無効なターゲットリソース
<a name="aws-mcp-server-ts-invalid-resource"></a>

を呼び出すときは`CreateOAuth2TokenWithIAM`、 `resource`パラメータがサポートされているターゲットサービスを識別していることを確認します。MCP Server AWS の場合は、 AWS MCP Server サービスプリンシパルを使用します。

### エージェントは OAuth クライアントとして登録できません
<a name="aws-mcp-server-ts-dcr"></a>

動的クライアント登録 (DCR) を通じて登録できるのは、承認されたエージェントのみです。MCP 互換エージェントを開発している場合は、 AWS サポートにお問い合わせください。

### OAuth 条件キーポリシーが有効ではない
<a name="aws-mcp-server-ts-condition-key"></a>

評価対象の IAM アクションに条件キーが適用されることを確認します。一部の条件キーは、特定の OAuth アクションでのみサポートされています。詳細については、「[OAuth 2.0 でサインインする](oauth-sign-in-overview.md)」を参照してください。

### セッションは取り消されましたが、エージェントは引き続きアクセスできます
<a name="aws-mcp-server-ts-session-revoked"></a>

更新トークンをすぐに取り消すと、新しいアクセストークンが発行されなくなります。既存のアクセストークンは、有効期限が切れるまで (最大 1 時間) 有効です。

すぐに封じ込めるには、 `aws:SignInSessionArn` グローバル条件キーを使用して IAM ポリシーを適用し、影響を受けるサインインセッションに関連付けられたリクエストを拒否します。

## 関連トピック
<a name="aws-mcp-server-related"></a>
+ [OAuth 2.0 でサインインする](oauth-sign-in-overview.md)
+ [AWS サインイン条件キーリファレンス](reference-signin-condition-keys.md)
+ [エージェントを AWS MCP サーバーに接続する](https://docs.aws.amazon.com/agent-toolkit/latest/userguide/getting-started-aws-mcp-server.html)