

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

# デベロッパーツールコンソールの機能のセキュリティ
<a name="security"></a>

のクラウドセキュリティが最優先事項 AWS です。お客様は AWS 、セキュリティを最も重視する組織の要件を満たすように構築されたデータセンターとネットワークアーキテクチャを活用できます。

セキュリティは、 AWS お客様とお客様の間の責任共有です。[責任共有モデル](https://aws.amazon.com/compliance/shared-responsibility-model/)では、これをクラウドのセキュリティおよびクラウド内のセキュリティとして説明しています。
+ **クラウドのセキュリティ** – AWS クラウドで AWS サービスを実行するインフラストラクチャを保護する AWS 責任があります。 AWS また、 では、安全に使用できるサービスも提供しています。[「AWS 」 コンプライアンスプログラム](https://aws.amazon.com/compliance/programs/)の一環として、サードパーティーの監査が定期的にセキュリティの有効性をテストおよび検証しています。 AWS CodeStar Notifications と AWS CodeConnections に適用されるコンプライアンスプログラムについては、[AWS 「コンプライアンスプログラムによる対象範囲内のサービス](https://aws.amazon.com/compliance/services-in-scope/)」を参照してください。
+ **クラウドのセキュリティ** – お客様の責任は、使用する AWS サービスによって決まります。また、ユーザーは、データの機密性、会社の要件、適用される法律や規制など、その他の要因についても責任を負います。

このドキュメントは、 AWS CodeStar Notifications と AWS CodeConnections を使用する際に責任共有モデルを適用する方法を理解するのに役立ちます。以下のトピックでは、セキュリティおよびコンプライアンスの目的を達成するために AWS CodeStar Notifications と AWS CodeConnections を設定する方法について説明します。また、 AWS CodeStar Notifications および AWS CodeConnections リソースのモニタリングと保護に役立つ他の AWS サービスの使用方法についても説明します。

デベロッパーツールコンソールにおけるサービスのセキュリティについては、以下を参照してください。
+ [CodeBuild セキュリティ](https://docs.aws.amazon.com/codebuild/latest/userguide/security.html)
+ [CodeCommit セキュリティ](https://docs.aws.amazon.com/codecommit/latest/userguide/security.html)
+ [CodeDeploy セキュリティ](https://docs.aws.amazon.com/codedeploy/latest/userguide/security.html)
+ [CodePipeline セキュリティ](https://docs.aws.amazon.com/codepipeline/latest/userguide/security.html)

## 通知の内容とセキュリティについて
<a name="security-notifications"></a>

通知は、設定した通知ルールのターゲットにサブスクライブしているユーザーにリソースに関する情報を提供します。これには、リポジトリのコンテンツ、ビルドのステータス、デプロイのステータス、パイプラインの実行など、デベロッパーツールのリソースに関する情報が含まれます。

例えば、CodeCommit のリポジトリに対して通知ルールを設定し、コミットやプルリクエストに関するコメントを含めることができます。その場合、このルールに応答して送信される通知には、そのコメントで参照されているコード行が含まれる場合があります。同様に、CodeBuild のビルドプロジェクトに対して通知ルールを設定し、ビルドの状態やフェーズの成功または失敗を含めることができます。このルールに応答して送信される通知には、該当する情報が含まれます。

CodePipeline のパイプラインに対する通知ルールを設定し、手動承認に関する情報を含めることができます。このルールに応答して送信される通知には、その承認を提供するユーザーの名前が含まれる場合があります。CodeDeploy でのアプリケーションの通知ルールは、デプロイの成功を示すように設定でき、また、その規則に応答して送信される通知には、デプロイターゲットに関する情報が含まれる場合があります。

通知には、ビルドのステータス、コメントのあるコード行、デプロイのステータス、パイプラインの承認など、プロジェクト固有の情報が含まれます。プロジェクトのセキュリティを確保するために、通知ルールのターゲットと、ターゲットとして指定された Amazon SNS トピックの受信者のリストの両方を定期的に確認してください。さらに、イベントに応答して送信される通知の内容は、基盤となるサービスに機能が追加されると、変わる場合があります。この変更は、既存の通知ルールへの予告なしに発生する可能性があります。通知メッセージの内容を定期的に確認して、送信内容と送信先のユーザーを確認してください。

通知ルールで使用できるイベントタイプの詳細については、「[通知の概念](concepts.md)」を参照してください。

通知に含まれる詳細を、イベントに含まれるもののみに制限するように選択できます。これは、**ベーシック**詳細タイプと呼ばれます。これらのイベントには、Amazon EventBridge および Amazon CloudWatch Events に送信される情報とまったく同じ情報が含まれます。

CodeCommit などのデベロッパーツールコンソールのサービスは、イベントで使用できる以外のイベントタイプの一部またはすべての情報を通知メッセージに追加することを選択する場合があります。この補足情報は、現在のイベントタイプを強化、または将来のイベントタイプを補足するためにいつでも追加できます。[**Full (完全)**] 詳細タイプを選択して、イベントに関する補足情報（使用可能な場合）を通知に含めることができます。詳細については、「[詳細タイプ](concepts.md#detail-type)」を参照してください。

# AWS CodeStar Notifications および AWS CodeConnections でのデータ保護
<a name="data-protection"></a>

責任 AWS [共有モデル](https://aws.amazon.com/compliance/shared-responsibility-model/)、 AWS CodeStar Notifications および AWS CodeConnections のデータ保護に適用されます。このモデルで説明されているように、 AWS はすべての を実行するグローバルインフラストラクチャを保護する責任があります AWS クラウド。ユーザーは、このインフラストラクチャでホストされるコンテンツに対する管理を維持する責任があります。また、使用する「 AWS のサービス 」のセキュリティ設定と管理タスクもユーザーの責任となります。データプライバシーの詳細については、[データプライバシーに関するよくある質問](https://aws.amazon.com/compliance/data-privacy-faq/)を参照してください。欧州でのデータ保護の詳細については、*AWS セキュリティブログ*に投稿された [AWS 責任共有モデルおよび GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) のブログ記事を参照してください。

データ保護の目的で、認証情報を保護し AWS アカウント 、 AWS IAM アイデンティティセンター または AWS Identity and Access Management (IAM) を使用して個々のユーザーを設定することをお勧めします。この方法により、それぞれのジョブを遂行するために必要な権限のみが各ユーザーに付与されます。また、次の方法でデータを保護することもお勧めします:
+ 各アカウントで多要素認証 (MFA) を使用します。
+ SSL/TLS を使用して AWS リソースと通信します。TLS 1.2 が必須で、TLS 1.3 をお勧めします。
+ で API とユーザーアクティビティのログ記録を設定します AWS CloudTrail。CloudTrail 証跡を使用して AWS アクティビティをキャプチャする方法については、「 *AWS CloudTrail ユーザーガイド*」の[CloudTrail 証跡の使用](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html)」を参照してください。
+  AWS 暗号化ソリューションと、 内のすべてのデフォルトのセキュリティコントロールを使用します AWS のサービス。
+ Amazon Macie などの高度な管理されたセキュリティサービスを使用します。これらは、Amazon S3 に保存されている機密データの検出と保護を支援します。
+ コマンドラインインターフェイスまたは API AWS を介して にアクセスするときに FIPS 140-3 検証済み暗号化モジュールが必要な場合は、FIPS エンドポイントを使用します。利用可能な FIPS エンドポイントの詳細については、「[連邦情報処理規格 (FIPS) 140-3](https://aws.amazon.com/compliance/fips/)」を参照してください。

お客様の E メールアドレスなどの極秘または機密情報を、タグ、または **[名前]** フィールドなどの自由形式のテキストフィールドに含めないことを強くお勧めします。これは、コンソール、API、または SDK を使用して AWS CodeStar Notifications および AWS CodeConnections AWS CLIまたは他の AWS のサービス を使用する場合も同様です。 AWS SDKs タグ、または名前に使用される自由記述のテキストフィールドに入力したデータは、請求または診断ログに使用される場合があります。外部サーバーに URL を提供する場合、そのサーバーへのリクエストを検証できるように、認証情報を URL に含めないことを強くお勧めします。

# AWS CodeStar Notifications と AWS CodeConnections の Identity and Access Management
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) は、管理者が AWS リソースへのアクセスを安全に制御 AWS のサービス するのに役立つ です。IAM 管理者は、誰を*認証* (サインイン) し、誰に AWS CodeStar Notifications および AWS CodeConnections リソースの使用*を許可する* (アクセス許可を付与する) かを制御します。IAM は、追加料金なしで使用できる AWS のサービス です。

**注記**  
新しいサービスプレフィックスで作成されたリソースのアクション`codeconnections`を使用できます。新しいサービスプレフィックスでリソースを作成すると、リソース ARN `codeconnections`で が使用されます。`codestar-connections` サービスプレフィックスのアクションとリソースは引き続き使用できます。IAM ポリシーでリソースを指定する場合、サービスプレフィックスはリソースのプレフィックスと一致する必要があります。

**Topics**
+ [オーディエンス](#security_iam_audience)
+ [アイデンティティを使用した認証](#security_iam_authentication)
+ [ポリシーを使用したアクセスの管理](#security_iam_access-manage)
+ [デベロッパーツールコンソールの機能と IAM との連携方法](security_iam_service-with-iam.md)
+ [AWS CodeConnections アクセス許可リファレンス](#permissions-reference-connections)
+ [アイデンティティベースのポリシーの例](security_iam_id-based-policy-examples.md)
+ [タグを使用して AWS CodeConnections リソースへのアクセスを制御する](connections-tag-based-access-control.md)
+ [コンソールでの通知と接続の使用](#security_iam_id-based-policy-examples-console)
+ [ユーザーが自分の許可を表示できるようにする](#security_iam_id-based-policy-examples-view-own-permissions)
+ [AWS CodeStar Notifications と AWS CodeConnections のアイデンティティとアクセスのトラブルシューティング](security_iam_troubleshoot.md)
+ [AWS CodeStar Notifications のサービスにリンクされたロールの使用](using-service-linked-roles.md)
+ [のサービスにリンクされたロールの使用 AWS CodeConnections](service-linked-role-connections.md)
+ [AWS の 管理ポリシー AWS CodeConnections](security-iam-awsmanpol.md)

## オーディエンス
<a name="security_iam_audience"></a>

 AWS Identity and Access Management (IAM) の使用方法は、ロールによって異なります。
+ **サービスユーザー** - 機能にアクセスできない場合は、管理者にアクセス許可をリクエストします (「[AWS CodeStar Notifications と AWS CodeConnections のアイデンティティとアクセスのトラブルシューティング](security_iam_troubleshoot.md)」を参照)。
+ **サービス管理者** - ユーザーアクセスを決定し、アクセス許可リクエストを送信します (「[デベロッパーツールコンソールの機能と IAM との連携方法](security_iam_service-with-iam.md)」を参照)
+ **IAM 管理者** - アクセスを管理するためのポリシーを作成します (「[アイデンティティベースのポリシーの例](security_iam_id-based-policy-examples.md)」を参照)

## アイデンティティを使用した認証
<a name="security_iam_authentication"></a>

認証は、ID 認証情報 AWS を使用して にサインインする方法です。、IAM ユーザー AWS アカウントのルートユーザー、または IAM ロールを引き受けることで認証される必要があります。

 AWS IAM アイデンティティセンター (IAM Identity Center)、シングルサインオン認証、Google/Facebook 認証情報などの ID ソースからの認証情報を使用して、フェデレーティッド ID としてサインインできます。サインインの詳細については、「*AWS サインイン ユーザーガイド*」の「[AWS アカウントにサインインする方法](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html)」を参照してください。

プログラムによるアクセスの場合、 は SDK と CLI AWS を提供してリクエストを暗号化して署名します。詳細については、「*IAM ユーザーガイド*」の「[API リクエストに対するAWS 署名バージョン 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html)」を参照してください。

### AWS アカウントのルートユーザー
<a name="security_iam_authentication-rootuser"></a>

 を作成するときは AWS アカウント、すべての AWS のサービス および リソースへの完全なアクセス権を持つ AWS アカウント *ルートユーザー*と呼ばれる 1 つのサインインアイデンティティから始めます。日常的なタスクには、ルートユーザーを使用しないことを強くお勧めします。ルートユーザー認証情報を必要とするタスクについては、「*IAM ユーザーガイド*」の「[ルートユーザー認証情報が必要なタスク](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)」を参照してください。

### IAM ユーザーとグループ
<a name="security_iam_authentication-iamuser"></a>

*[IAM ユーザー](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)*は、特定の個人やアプリケーションに対する特定のアクセス許可を持つアイデンティティです。長期認証情報を持つ IAM ユーザーの代わりに一時的な認証情報を使用することをお勧めします。詳細については、*IAM ユーザーガイド*の[「ID プロバイダーとのフェデレーションを使用して にアクセスする必要がある AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp)」を参照してください。

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html)は、IAM ユーザーの集合を指定し、大量のユーザーに対するアクセス許可の管理を容易にします。詳細については、「*IAM ユーザーガイド*」の「[IAM ユーザーに関するユースケース](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html)」を参照してください。

### IAM ロール
<a name="security_iam_authentication-iamrole"></a>

*[IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)*は、特定のアクセス許可を持つアイデンティであり、一時的な認証情報を提供します。ユーザー[から IAM ロール (コンソール) に切り替えるか、 または API オペレーションを呼び出すことで、ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html)を引き受けることができます。 AWS CLI AWS 詳細については、「*IAM ユーザーガイド*」の「[ロールを引き受けるための各種方法](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html)」を参照してください。

IAM ロールは、フェデレーションユーザーアクセス、一時的な IAM ユーザーのアクセス許可、クロスアカウントアクセス、クロスサービスアクセス、および Amazon EC2 で実行するアプリケーションに役立ちます。詳細については、*IAM ユーザーガイド* の [IAM でのクロスアカウントリソースアクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) を参照してください。

## ポリシーを使用したアクセスの管理
<a name="security_iam_access-manage"></a>

でアクセスを制御する AWS には、ポリシーを作成し、ID AWS またはリソースにアタッチします。ポリシーは、アイデンティティまたはリソースに関連付けられている場合のアクセス許可を定義します。 は、プリンシパルがリクエストを行うときにこれらのポリシー AWS を評価します。ほとんどのポリシーは JSON ドキュメント AWS として に保存されます。JSON ポリシードキュメントの詳細については、「*IAM ユーザーガイド*」の「[JSON ポリシー概要](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json)」を参照してください。

管理者は、ポリシーを使用して、どの**プリンシパル**がどの**リソース**に対して、どのような**条件**で**アクション**を実行できるかを定義することで、誰が何にアクセスできるかを指定します。

デフォルトでは、ユーザーやロールにアクセス許可はありません。IAM 管理者は IAM ポリシーを作成してロールに追加し、このロールをユーザーが引き受けられるようにします。IAM ポリシーは、オペレーションの実行方法を問わず、アクセス許可を定義します。

### アイデンティティベースのポリシー
<a name="security_iam_access-manage-id-based-policies"></a>

アイデンティティベースのポリシーは、アイデンティティ (ユーザー、グループ、またはロール) にアタッチできる JSON アクセス許可ポリシードキュメントです。これらのポリシーは、アイデンティティがどのリソースに対してどのような条件下でどのようなアクションを実行できるかを制御します。アイデンティティベースポリシーの作成方法については、*IAM ユーザーガイド* の [カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) を参照してください。

アイデンティティベースのポリシーは、*インラインポリシー* (単一の ID に直接埋め込む) または*管理ポリシー* (複数の ID にアタッチされたスタンドアロンポリシー) にすることができます。管理ポリシーとインラインポリシーのいずれかを選択する方法については、「*IAM ユーザーガイド*」の「[管理ポリシーとインラインポリシーのいずれかを選択する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html)」を参照してください。

# デベロッパーツールコンソールの機能と IAM との連携方法
<a name="security_iam_service-with-iam"></a>

IAM を使用してデベロッパーツールコンソールの機能へのアクセスを管理する前に、どの IAM 機能を使用できるかを理解する必要があります。通知やその他の AWS サービスが IAM と連携する方法の概要を把握するには、「IAM *ユーザーガイド*」の[AWS 「IAM と連携する のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。

**Topics**
+ [デベロッパーツールコンソールにおける通知のアイデンティティベースのポリシー](#security_iam_service-with-iam-id-based-policies)
+ [AWS CodeStar Notifications および AWS CodeConnections リソースベースのポリシー](#security_iam_service-with-iam-resource-based-policies)
+ [タグに基づく認可](#security_iam_service-with-iam-tags)
+ [IAM ロール](#security_iam_service-with-iam-roles)

## デベロッパーツールコンソールにおける通知のアイデンティティベースのポリシー
<a name="security_iam_service-with-iam-id-based-policies"></a>

IAM アイデンティティベースのポリシーでは許可または拒否するアクションとリソース、またアクションを許可または拒否する条件を指定できます。 AWS CodeStar Notifications と AWS CodeConnections は、特定のアクション、リソース、および条件キーをサポートします。JSON ポリシーで使用するすべての要素については「*IAM ユーザーガイド*」の「[IAM JSON ポリシーエレメントのリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)」を参照してください。

### アクション
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件下で****アクション**を実行できるかということです。

JSON ポリシーの `Action` 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。

デベロッパーツールコンソールでの通知のポリシーアクションは、アクション の前にプレフィックス `codestar-notifications and codeconnections` を使用します。例えば、アカウント内のすべての通知ルールを表示するアクセス許可をユーザーに付与するには、そのユーザーのポリシーに `codestar-notifications:ListNotificationRules` アクションを含めます。ポリシーステートメントには、 `Action`または `NotAction`要素を含める必要があります。 AWS CodeStar Notifications と AWS CodeConnections は、このサービスで実行できるタスクを記述する独自のアクションのセットを定義します。

1 つのステートメントで複数の AWS CodeStar Notifications アクションを指定するには、次のようにカンマで区切ります。

```
"Action": [
      "codestar-notifications:action1",
      "codestar-notifications:action2"
```

1 つのステートメントで複数の AWS CodeConnections アクションを指定するには、次のようにカンマで区切ります。

```
"Action": [
      "codeconnections:action1",
      "codeconnections:action2"
```

ワイルドカード \$1を使用して複数のアクションを指定することができます。例えば、`List` という単語で始まるすべてのアクションを指定するには、次のアクションを含めます。

```
"Action": "codestar-notifications:List*"
```



AWS CodeStar Notifications API アクションには以下が含まれます。
+ `CreateNotificationRule`
+ `DeleteNotificationRule`
+ `DeleteTarget`
+ `DescribeNotificationRule`
+ `ListEventTypes`
+ `ListNotificationRules`
+ `ListTagsForResource`
+ `ListTargets`
+ `Subscribe`
+ `TagResource`
+ `Unsubscribe`
+ `UntagResource`
+ `UpdateNotificationRule`

AWS CodeConnections API アクションには以下が含まれます。
+ `CreateConnection`
+ `DeleteConnection`
+ `GetConnection`
+ `ListConnections`
+ `ListTagsForResource`
+ `TagResource`
+ `UntagResource`

認証ハンドシェイクを完了する AWS CodeConnections には、 で次のアクセス許可のみのアクションが必要です。
+ `GetIndividualAccessToken`
+ `GetInstallationUrl`
+ `ListInstallationTargets`
+ `StartOAuthHandshake`
+ `UpdateConnectionInstallation`

接続を使用するには AWS CodeConnections 、 で次のアクセス許可のみのアクションが必要です。
+ `UseConnection`

サービスへの接続を渡す AWS CodeConnections には、 で次のアクセス許可のみのアクションが必要です。
+ `PassConnection`

 AWS CodeStar Notifications および AWS CodeConnections アクションのリストを確認するには、*IAM ユーザーガイド*の[AWS CodeStar Notifications で定義されるアクション](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_codestarnotifications.html#codestarnotifications-actions-as-permissions)」および[AWS CodeConnections で定義されるアクション](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_codestarconnections.html#codestarconnections-actions-as-permissions)」を参照してください。

### リソース
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

AWS CodeStar Notifications と AWS CodeConnections は、ポリシーでのリソース ARNs の指定をサポートしていません。

### 条件キー
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

AWS CodeStar Notifications と AWS CodeConnections は、独自の条件キーのセットを定義し、一部のグローバル条件キーの使用もサポートします。すべての AWS グローバル条件キーを確認するには、*「IAM ユーザーガイド*」の[AWS 「グローバル条件コンテキストキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)」を参照してください。

 

All AWS CodeStar Notifications アクションは、 `codestar-notifications:NotificationsForResource` 条件キーをサポートします。詳細については、「[アイデンティティベースのポリシーの例](security_iam_id-based-policy-examples.md)」を参照してください。

AWS CodeConnections は、IAM ポリシーの `Condition`要素で使用できる以下の条件キーを定義します。これらのキーを使用して、ポリシーステートメントが適用される条件をさらに絞り込むことができます。詳細については、「[AWS CodeConnections アクセス許可リファレンス](security-iam.md#permissions-reference-connections)」を参照してください。


| 条件キー | 説明 | 
| --- | --- | 
|  `codeconnections:BranchName`  | サードパーティーリポジトリのブランチ名でアクセスをフィルタリングします | 
|  `codeconnections:FullRepositoryId`  | リクエストで渡されたリポジトリによるアクセスをフィルタリングします。特定のリポジトリにアクセスするための UseConnection リクエストにのみ適用します | 
| codeconnections:InstallationId | 接続の更新に使用されるサードパーティー ID (Bitbucket アプリのインストール ID など) でアクセスをフィルタリングします。接続を作成するために使用できるサードパーティー製アプリのインストールを制限できます。 | 
| codeconnections:OwnerId | サードパーティープロバイダーの所有者またはアカウント ID でアクセスをフィルタリングします | 
|  `codeconnections:PassedToService`  | プリンシパルが接続を渡すことができるサービスでアクセスをフィルタリングします | 
|  `codeconnections:ProviderAction`  | ListRepositories など、UseConnection リクエストのプロバイダーアクションでアクセスをフィルタリングします。 | 
| codeconnections:ProviderPermissionsRequired | サードパーティープロバイダーのアクセス許可のタイプでアクセスをフィルタリングします | 
|  `codeconnections:ProviderType`  | リクエストで渡されたサードパーティープロバイダーのタイプによってアクセスをフィルタリングします。 | 
| codeconnections:ProviderTypeFilter | 結果をフィルタリングするために使用されるサードパーティープロバイダーのタイプによってアクセスをフィルタリングします。 | 
| codeconnections:RepositoryName | サードパーティーのリポジトリ名でアクセスをフィルタリングします | 

### 例
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



 AWS CodeStar Notifications と AWS CodeConnections のアイデンティティベースのポリシーの例を表示するには、「」を参照してください[アイデンティティベースのポリシーの例](security_iam_id-based-policy-examples.md)。

## AWS CodeStar Notifications および AWS CodeConnections リソースベースのポリシー
<a name="security_iam_service-with-iam-resource-based-policies"></a>

AWS CodeStar Notifications と AWS CodeConnections は、リソースベースのポリシーをサポートしていません。

## タグに基づく認可
<a name="security_iam_service-with-iam-tags"></a>

 AWS CodeStar Notifications および AWS CodeConnections リソースにタグをアタッチすることも、リクエストでタグを渡すこともできます。タグに基づいてアクセスを管理するには、`codestar-notifications and codeconnections:ResourceTag/key-name`、`aws:RequestTag/key-name`、または `aws:TagKeys` の条件キーを使用して、ポリシーの[条件要素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)でタグ情報を提供します。タグ付け戦略の詳細については、「 [AWS リソースのタグ付け](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)」を参照してください。 AWS CodeStar Notifications および AWS CodeConnections リソースのタグ付けの詳細については、「」を参照してください[タグ接続リソース](connections-tag.md)。

リソースのタグに基づいてリソースへのアクセスを制限するためのアイデンティティベースのポリシーの例を表示するには、「[タグを使用して AWS CodeConnections リソースへのアクセスを制御する](connections-tag-based-access-control.md)」を参照してください。

## IAM ロール
<a name="security_iam_service-with-iam-roles"></a>

[IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)は、特定のアクセス許可を持つ AWS アカウント内のエンティティです。

### 一時的な認証情報を使用する
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

一時的な認証情報を使用して、フェデレーションでのサインイン、 IAM ロールの引き受け、またはクロスアカウントロールの引き受けを行うことができます。一時的なセキュリティ認証情報を取得するには、[AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) や [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html) などの AWS STS API オペレーションを呼び出します。

AWS CodeStar Notifications と AWS CodeConnections は、一時的な認証情報の使用をサポートしています。

### サービスリンクロール
<a name="security_iam_service-with-iam-roles-service-linked"></a>

[サービスにリンクされたロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)を使用すると、 AWS サービスは他の サービスのリソースにアクセスして、ユーザーに代わってアクションを実行できます。サービスリンクロールは IAM アカウント内に表示され、サービスによって所有されます。IAM 管理者は、サービスリンクロールの許可を表示できますが、編集することはできません。

AWS CodeStar Notifications は、サービスにリンクされたロールをサポートしています。 AWS CodeStar Notifications および AWS CodeConnections サービスにリンクされたロールの作成または管理の詳細については、「」を参照してください[AWS CodeStar Notifications のサービスにリンクされたロールの使用](using-service-linked-roles.md)。

CodeConnections は、サービスにリンクされたロールをサポートしていません。

## AWS CodeConnections アクセス許可リファレンス
<a name="permissions-reference-connections"></a>

次の表に、各 AWS CodeConnections API オペレーション、アクセス許可を付与できる対応するアクション、およびアクセス許可を付与するために使用するリソース ARN の形式を示します。 AWS CodeConnections APIsは、その API で許可されるアクションの範囲に基づいてテーブルにグループ化されます。IAM アイデンティティ (アイデンティティベースのポリシー) にアタッチできるアクセス許可ポリシーを作成する際、参照してください。

アクセス許可ポリシーを作成するときに、ポリシーの `Action` フィールドでアクションを指定します。ポリシーの `Resource` フィールドで、ワイルドカード文字 (\$1) を使用して、または使用せずに、ARN としてリソース値を指定します。

接続ポリシーで条件を示すには、ここで説明され、[条件キー](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-conditionkeys) に一覧表示されている条件キーを使用します。 AWS全体の条件キーを使用することもできます。 AWS全体のキーの完全なリストについては、*IAM ユーザーガイド*の[「使用可能なキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys)」を参照してください。

アクションを指定するには、API オペレーション名 (例えば、`codeconnections` や `codeconnections:ListConnections`) の前に `codeconnections:CreateConnection` プレフィックスを使用します。

**ワイルドカードの使用**

複数のアクションまたはリソースを指定するには、ARN でワイルドカード文字 (\$1) を使用します。たとえば、 `codeconnections:*`は all AWS CodeConnections アクションを指定し、 という単語で始まる all AWS CodeConnections アクション`codeconnections:Get*`を指定します`Get`。次の例では、`MyConnection` で始まる名前のすべてのリソースへのアクセスを許可します。

```
arn:aws:codeconnections:us-west-2:account-ID:connection/*
```

次のテーブルに示されている *接続*リソースでのみワイルドカードを使用できます。ワイルドカードを *region* または *account-id* リソースで使用することはできません。ワイルドカードの詳細については、*IAM ユーザーガイド*の [IAM ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) を参照してください。

**Topics**
+ [接続を管理するアクセス許可](#permissions-reference-connections-managing)
+ [ホストを管理するためのアクセス許可](#permissions-reference-connections-hosts)
+ [接続を完了するためのアクセス許可](#permissions-reference-connections-handshake)
+ [ホスト設定のアクセス許可](#connections-permissions-actions-host-registration)
+ [サービスに接続を渡す](#permissions-reference-connections-passconnection)
+ [接続の使用](#permissions-reference-connections-use)
+ [`ProviderAction` でサポートされるアクセスタイプ](#permissions-reference-connections-access)
+ [接続リソースにタグ付けするためにサポートされているアクセス許可](#permissions-reference-connections-tagging)
+ [リポジトリリンクに接続を渡す](#permissions-reference-connections-passrepository)
+ [リポジトリリンクでサポートされる条件キー](#permissions-reference-connections-branch)
+ [接続共有でサポートされているアクセス許可](#permissions-reference-connections-sharing)

### 接続を管理するアクセス許可
<a name="permissions-reference-connections-managing"></a>

 AWS CLI または SDK を使用して接続を表示、作成、または削除するように指定されたロールまたはユーザーには、以下に制限されたアクセス許可が必要です。

**注記**  
次のアクセス許可のみでは、コンソールでの接続を完了または使用することはできません。[接続を完了するためのアクセス許可](#permissions-reference-connections-handshake) でアクセス許可を追加する必要があります。

```
codeconnections:CreateConnection
codeconnections:DeleteConnection
codeconnections:GetConnection
codeconnections:ListConnections
```

スクロールバーを使用して、テーブルの残りの部分を確認します。


**AWS CodeConnections が接続を管理するために必要なアクセス許可**  

| AWS CodeConnections アクション | 必要な許可  | リソース | 
| --- | --- | --- | 
|  CreateConnection  |  `codeconnections:CreateConnection` CLI またはコンソールを使用して接続を作成するために必要です。  |  arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*  | 
|  DeleteConnection  |  `codeconnections:DeleteConnection` CLI またはコンソールを使用して接続を削除するために必要です。  |  arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*  | 
|  GetConnection  |  `codeconnections:GetConnection` CLI またはコンソールを使用して接続の詳細を表示するために必要です。  |  arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*  | 
|  ListConnections  |  `codeconnections:ListConnections` CLI またはコンソールを使用してアカウント内のすべての接続を一覧表示するために必要です。  |  arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*  | 

これらのオペレーションでは、次の条件キーがサポートされます。


| Action | 条件キー | 
| --- | --- | 
|  `codeconnections:CreateConnection`  |  `codeconnections:ProviderType`  | 
|  codeconnections:DeleteConnection | 該当なし | 
| codeconnections:GetConnection | 該当なし | 
| codeconnections:ListConnections | codeconnections:ProviderTypeFilter | 

### ホストを管理するためのアクセス許可
<a name="permissions-reference-connections-hosts"></a>

 AWS CLI または SDK を使用してホストを表示、作成、または削除するように指定されたロールまたはユーザーには、以下に制限されたアクセス許可が必要です。

**注記**  
次のアクセス許可のみでは、ホストでの接続を完了または使用することはできません。[ホスト設定のアクセス許可](#connections-permissions-actions-host-registration) でアクセス許可を追加する必要があります。

```
codeconnections:CreateHost
codeconnections:DeleteHost
codeconnections:GetHost
codeconnections:ListHosts
```

スクロールバーを使用して、テーブルの残りの部分を確認します。


**AWS CodeConnections がホストを管理するために必要なアクセス許可**  

| AWS CodeConnections アクション | 必要な許可  | リソース | 
| --- | --- | --- | 
|  CreateHost  |  `codeconnections:CreateHost` CLI またはコンソールを使用してホストを作成するために必要です。  |  arn:aws:codeconnections:*region*:*account-id*:host/*host-id*  | 
|  DeleteHost  |  `codeconnections:DeleteHost` CLI またはコンソールを使用してホストを削除するために必要です。  |  codeconnections:*region*:*account-id*:host/*host-id*  | 
|  GetHost  |  `codeconnections:GetHost` CLI またはコンソールを使用してホストの詳細を表示するために必要です。  |  arn:aws:codeconnections:*region*:*account-id*:host/*host-id*  | 
|  ListHosts  |  `codeconnections:ListHosts` CLI またはコンソールを使用してアカウント内のすべてのホストを一覧表示するために必要です。  |  arn:aws:codeconnections:*region*:*account-id*:host/*host-id*  | 

これらのオペレーションでは、次の条件キーがサポートされます。


| Action | 条件キー | 
| --- | --- | 
|  `codeconnections:CreateHost`  |  `codeconnections:ProviderType` `codeconnections:VpcId`  | 
|  codeconnections:DeleteHost | 該当なし | 
| codeconnections:GetHost | 該当なし | 
| codeconnections:ListHosts | codeconnections:ProviderTypeFilter | 

**VpcId** 条件キーを使用するポリシーの例については、「」を参照してください[例: **VpcId** コンテキストキーを使用してホスト VPC アクセス許可を制限する](security_iam_id-based-policy-examples-connections.md#security_iam_id-based-policy-examples-connections-vpc)。

### 接続を完了するためのアクセス許可
<a name="permissions-reference-connections-handshake"></a>

コンソールで接続を管理するように指定されたロールまたはユーザーは、コンソールで接続を完了し、インストールを作成するために必要なアクセス許可を持っている必要があります。これには、プロバイダーへのハンドシェイクの許可と、使用する接続用のインストールの作成が含まれます。上記のアクセス許可に加えて、次のアクセス許可を使用します。

ブラウザベースのハンドシェイクを実行する際に、コンソールは、次の IAM オペレーションを使用します。`ListInstallationTargets`、`GetInstallationUrl`、`StartOAuthHandshake`、`UpdateConnectionInstallation`、`GetIndividualAccessToken` は IAM ポリシーアクセス許可です。API アクションではありません。

```
codeconnections:GetIndividualAccessToken
codeconnections:GetInstallationUrl
codeconnections:ListInstallationTargets
codeconnections:StartOAuthHandshake
codeconnections:UpdateConnectionInstallation
```

これに基づいて、コンソールで接続を使用、作成、更新、または削除するには、次のアクセス許可が必要です。

```
codeconnections:CreateConnection
codeconnections:DeleteConnection
codeconnections:GetConnection
codeconnections:ListConnections
codeconnections:UseConnection
codeconnections:ListInstallationTargets
codeconnections:GetInstallationUrl
codeconnections:StartOAuthHandshake
codeconnections:UpdateConnectionInstallation
codeconnections:GetIndividualAccessToken
```

スクロールバーを使用して、テーブルの残りの部分を確認します。


**AWS CodeConnections が接続を完了するために必要なアクセス許可**  

| AWS CodeConnections アクション | 必要な許可  | リソース | 
| --- | --- | --- | 
|  `GetIndividualAccessToken`  |  `codeconnections:GetIndividualAccessToken` コンソールを使用接続を完了するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。  |  arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*  | 
|  `GetInstallationUrl`  |  `codeconnections:GetInstallationUrl` コンソールを使用して接続を完了するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。  |  arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*  | 
|  `ListInstallationTargets`  |  `codeconnections:ListInstallationTargets` コンソールを使用して接続を完了するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。  |  arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*  | 
|  `StartOAuthHandshake`  |  `codeconnections:StartOAuthHandshake` コンソールを使用して接続を完了するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。  |  arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*  | 
|  `UpdateConnectionInstallation`  |  `codeconnections:UpdateConnectionInstallation` コンソールを使用して接続を完了するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。  |  arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*  | 

これらのオペレーションでは、次の条件キーがサポートされます。


| Action | 条件キー | 
| --- | --- | 
| codeconnections:GetIndividualAccessToken | codeconnections:ProviderType | 
|  codeconnections:GetInstallationUrl | codeconnections:ProviderType | 
|  `codeconnections:ListInstallationTargets`  |  該当なし  | 
| codeconnections:StartOAuthHandshake | codeconnections:ProviderType | 
| codeconnections:UpdateConnectionInstallation | codeconnections:InstallationId | 

### ホスト設定のアクセス許可
<a name="connections-permissions-actions-host-registration"></a>

コンソールで接続を管理するように指定されたロールまたはユーザーは、コンソールでホストをセットアップするために必要なアクセス許可が必要です。これには、プロバイダーへのハンドシェイクの許可とホストアプリのインストールが含まれます。上記のホストのアクセス許可に加えて、次のアクセス許可を使用します。

ブラウザベースのホスト登録を実行するときに、次の IAM オペレーションがコンソールで使用されます。`RegisterAppCode` および `StartAppRegistrationHandshake` は IAM ポリシーのアクセス許可です。API アクションではありません。

```
codeconnections:RegisterAppCode
codeconnections:StartAppRegistrationHandshake
```

これに基づき、以下のアクセス許可を使用して、コンソールでホストを必要とする接続 (インストール済プロバイダータイプなど) を使用、作成、更新、または削除します。

```
codeconnections:CreateConnection
codeconnections:DeleteConnection
codeconnections:GetConnection
codeconnections:ListConnections
codeconnections:UseConnection
codeconnections:ListInstallationTargets
codeconnections:GetInstallationUrl
codeconnections:StartOAuthHandshake
codeconnections:UpdateConnectionInstallation
codeconnections:GetIndividualAccessToken
codeconnections:RegisterAppCode
codeconnections:StartAppRegistrationHandshake
```

スクロールバーを使用して、テーブルの残りの部分を確認します。


**AWS CodeConnections がホスト設定を完了するために必要なアクセス許可**  

| 接続アクション | 必要な許可  | リソース | 
| --- | --- | --- | 
|  `RegisterAppCode`  |  `codeconnections:RegisterAppCode` コンソールを使用してホストのセットアップを完了するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。  |  arn:aws:codeconnections:*region*:*account-id*:host/*host-id*  | 
|  `StartAppRegistrationHandshake`  |  `codeconnections:StartAppRegistrationHandshake` コンソールを使用してホストのセットアップを完了するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。  |  arn:aws:codeconnections:*region*:*account-id*:host/*host-id*  | 

これらのオペレーションでは、次の条件キーがサポートされます。

### サービスに接続を渡す
<a name="permissions-reference-connections-passconnection"></a>

サービスに接続を渡す際 (例えば、パイプラインを作成または更新するためにパイプライン定義で接続 ARN が提供されるなど)、ユーザーには `codeconnections:PassConnection` のアクセス許可が必要です。

スクロールバーを使用して、テーブルの残りの部分を確認します。


**AWS CodeConnections が接続を渡すために必要なアクセス許可**  

| AWS CodeConnections アクション | 必要な許可  | リソース | 
| --- | --- | --- | 
|  `PassConnection`  |  `codeconnections:PassConnection` サービスに接続を渡すために必要です。  |  arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*  | 

このオペレーションでは、次の条件キーもサポートされます。
+ `codeconnections:PassedToService`


**条件キーでサポートされる値**  

| Key | 有効なアクションプロバイダー | 
| --- | --- | 
|  `codeconnections:PassedToService`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/dtconsole/latest/userguide/security-iam.html)  | 

### 接続の使用
<a name="permissions-reference-connections-use"></a>

CodePipeline のようなサービスが接続を使用する場合、サービスロールは特定の接続に対する `codeconnections:UseConnection` のアクセス許可を持っている必要があります。

コンソールで接続を管理するには、ユーザーポリシーに `codeconnections:UseConnection` アクセス許可が必要です。

スクロールバーを使用して、テーブルの残りの部分を確認します。


**接続を使用するために必要なAWS CodeConnections アクション**  

| AWS CodeConnections アクション | 必要な許可  | リソース | 
| --- | --- | --- | 
|  `UseConnection`  |  `codeconnections:UseConnection` 接続を使用するために必要です。  |  arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*  | 

このオペレーションでは、次の条件キーもサポートされます。
+ `codeconnections:BranchName`
+ `codeconnections:FullRepositoryId`
+ `codeconnections:OwnerId`
+ `codeconnections:ProviderAction`
+ `codeconnections:ProviderPermissionsRequired`
+ `codeconnections:RepositoryName`


**条件キーでサポートされる値**  

| Key | 有効なアクションプロバイダー | 
| --- | --- | 
|  `codeconnections:FullRepositoryId`  |  ユーザー名とリポジトリ名 (`my-owner/my-repository` など)。接続を使用して特定のリポジトリにアクセスする場合のみサポートされます。  | 
|  `codeconnections:ProviderPermissionsRequired`  |  read\$1only または read\$1write  | 
|  `codeconnections:ProviderAction`  |  `GetBranch`, `ListRepositories`, `ListOwners`, `ListBranches`, `StartUploadArchiveToS3`, `GitPush`, `GitPull`, `GetUploadArchiveToS3Status`, `CreatePullRequestDiffComment`, `GetPullRequest`, `ListBranchCommits`, `ListCommitFiles`, `ListPullRequestComments`, `ListPullRequestCommits`. 詳細については、次のセクションをご覧ください。  | 

一部の機能に必要な条件キーは、時間の経過とともに変化する可能性があります。アクセスコントロールの要件で、異なるアクセス許可が必要でない限り、`codeconnections:UseConnection` を使用して接続へのアクセスを制御することをお勧めします。

### `ProviderAction` でサポートされるアクセスタイプ
<a name="permissions-reference-connections-access"></a>

 AWS サービスで接続を使用すると、ソースコードプロバイダーに対して API コールが行われます。例えば、`https://api.bitbucket.org/2.0/repositories/username` API をコールすることによって、サービスは、Bitbucket 接続のリポジトリを一覧表示できます。

`ProviderAction` 条件キーを使用すると、プロバイダのどの API をコールすることができるかを制限できます。API パスは動的に生成される場合があり、パスはプロバイダーによって異なるため、`ProviderAction` 値は API の URL ではなく抽象アクション名にマッピングされます。これにより、接続のプロバイダーの種類に関係なく、同じ効果を持つポリシーを書くことができます。

サポートされている各 `ProviderAction` 値に対して許可されるアクセスタイプは次のとおりです。以下は IAM ポリシーアクセス許可です。API アクションではありません。

スクロールバーを使用して、テーブルの残りの部分を確認します。


**でAWS CodeConnections がサポートするアクセスタイプ `ProviderAction`**  

| AWS CodeConnections アクセス許可 | 必要な許可  | リソース | 
| --- | --- | --- | 
|  `GetBranch`  |  ` codeconnections:GetBranch` ブランチの最新のコミットなど、ブランチに関する情報にアクセスするために必要です。  |  arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*  | 
|  `ListRepositories`  |  ` codeconnections:ListRepositories` 所有者に属する公開および非公開リポジトリーのリストにアクセスするために必要です。  |  arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*  | 
|  `ListOwners`  |  `codeconnections:ListOwners` 接続がアクセスできる所有者のリストにアクセスするために必要です。　　　  |  arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*  | 
|  `ListBranches`  |  ` codeconnections:ListBranches` 指定したリポジトリに存在するブランチのリストにアクセスするために必要です。  |  arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*  | 
|  `StartUploadArchiveToS3`  |  ` codeconnections:StartUploadArchiveToS3` ソースコードを読み取り、Amazon S3 にアップロードするために必要です。  |  arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*  | 
|  `GitPush`  |  ` codeconnections:GitPush` Git を使用してリポジトリに書き込むために必要です。  |  arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*  | 
|  `GitPull`  |  ` codeconnections:GitPull` Git を使用してリポジトリから読み込むために必要です。  |  arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*  | 
| GetUploadArchiveToS3Status |  ` codeconnections:GetUploadArchiveToS3Status` `StartUploadArchiveToS3` で始まるエラーメッセージを含む、アップロードのステータスにアクセスするために必要です。  |  arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*  | 
| CreatePullRequestDiffComment |  ` codeconnections:CreatePullRequestDiffComment` プルリクエストのコメントにアクセスするために必要です。  |  arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*  | 
| GetPullRequest |  ` codeconnections:GetPullRequest` リポジトリのプルリクエストを表示するために必要です。  |  arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*  | 
|  `ListBranchCommits`  |  ` codeconnections:ListBranchCommits` リポジトリブランチのコミットのリストを表示するために必要です。  |  arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*  | 
|  `ListCommitFiles`  |  ` codeconnections:ListCommitFiles` コミットのファイルのリストを表示するために必要です。  |  arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*  | 
|  `ListPullRequestComments`  |  ` codeconnections:ListPullRequestComments` プルリクエストのコメントのリストを表示するために必要です。  |  arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*  | 
|  `ListPullRequestCommits`  |  ` codeconnections:ListPullRequestCommits` プルリクエストのコミットのリストを表示するために必要です。  |  arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*  | 

### 接続リソースにタグ付けするためにサポートされているアクセス許可
<a name="permissions-reference-connections-tagging"></a>

次の IAM オペレーションは、接続リソースをタグ付けするときに使用されます。

```
codeconnections:ListTagsForResource
codeconnections:TagResource
codeconnections:UntagResource
```

スクロールバーを使用して、テーブルの残りの部分を確認します。


**AWS CodeConnections で接続リソースのタグ付けに必要なアクション**  

| AWS CodeConnections アクション | 必要な許可  | リソース | 
| --- | --- | --- | 
|  `ListTagsForResource`  |  `codeconnections:ListTagsForResource` 接続リソースに関連付けられているタグのリストを表示するために必要です。  | arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*,arn:aws:codeconnections:*region*:*account-id*:host/*host-id* | 
|  `TagResource`  |  `codeconnections:TagResource` 接続リソースにタグを付けるために必要です。  | arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*,arn:aws:codeconnections:*region*:*account-id*:host/*host-id* | 
|  `UntagResource`  |  `codeconnections:UntagResource` 接続リソースからタグを解除するために必要です。  | arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id*,arn:aws:codeconnections:*region*:*account-id*:host/*host-id* | 

### リポジトリリンクに接続を渡す
<a name="permissions-reference-connections-passrepository"></a>

同期設定でリポジトリリンクを提供する場合、ユーザーにはリポジトリリンク ARN/リソースに対する `codeconnections:PassRepository` アクセス許可が必要です。

スクロールバーを使用して、テーブルの残りの部分を確認します。


**AWS CodeConnections が接続を渡すために必要なアクセス許可**  

| AWS CodeConnections アクション | 必要な許可  | リソース | 
| --- | --- | --- | 
|  `PassRepository`  |  `codeconnections:PassRepository` リポジトリリンクを同期設定に渡すために必要です。  |  arn:aws:codeconnections:*region*:*account-id*:repository-link/*repository-link-id*  | 

このオペレーションでは、次の条件キーもサポートされます。
+ `codeconnections:PassedToService`


**条件キーでサポートされる値**  

| Key | 有効なアクションプロバイダー | 
| --- | --- | 
|  `codeconnections:PassedToService`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/dtconsole/latest/userguide/security-iam.html)  | 

### リポジトリリンクでサポートされる条件キー
<a name="permissions-reference-connections-branch"></a>

リポジトリリンクと同期設定リソースの操作は、以下の条件キーでサポートされています。
+ `codeconnections:Branch`

  リクエストで渡されたブランチ名でアクセスをフィルタリングします


**条件キーでサポートされるアクション**  

| Key | 有効値 | 
| --- | --- | 
|  `codeconnections:Branch`  | 以下のアクションが、この条件キーに対してサポートされています。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/dtconsole/latest/userguide/security-iam.html) | 

### 接続共有でサポートされているアクセス許可
<a name="permissions-reference-connections-sharing"></a>

接続を共有するときは、次の IAM オペレーションが使用されます。

```
codeconnections:GetResourcePolicy
```

スクロールバーを使用して、テーブルの残りの部分を確認します。


**AWS CodeConnections で接続を共有するために必要なアクション**  

| AWS CodeConnections アクション | 必要な許可  | リソース | 
| --- | --- | --- | 
|  `GetResourcePolicy`  |  `codeconnections:GetResourcePolicy` リソースポリシーに関する情報にアクセスするために必要です。  | arn:aws:codeconnections:*region*:*account-id*:connection/*connection-id* | 

接続共有の詳細については、「」を参照してください[と接続を共有する AWS アカウント](connections-share.md)。

# アイデンティティベースのポリシーの例
<a name="security_iam_id-based-policy-examples"></a>

デフォルトでは、 AWS CodeCommit、、または のマネージドポリシーのいずれか AWS CodePipeline が適用されている IAM ユーザーとロールには AWS CodeBuild AWS CodeDeploy、それらのポリシーの意図に沿った接続、通知、および通知ルールに対するアクセス許可があります。例えば、フルアクセスポリシー (**AWSCodeCommitFullAccess**、**AWSCodeBuildAdminAccess**、**AWSCodeDeployFullAccess**、 または **AWSCodePipeline\$1FullAccess**) のいずれかを持つ IAM ユーザーまたはロールは、それらのサービスのリソースに対して作成された通知および通知ルールへのフルアクセスを付与されます。

他の IAM ユーザーおよびロールには、 AWS CodeStar Notifications および AWS CodeConnections リソースを作成または変更するアクセス許可がありません。また、 AWS マネジメントコンソール、 AWS CLI、または AWS API を使用してタスクを実行することはできません。IAM 管理者は、必要な指定されたリソースに対して API オペレーションを実行するためのアクセス許可をユーザーとロールに付与する IAM ポリシーを作成する必要があります。続いて、管理者はそれらの権限が必要な IAM ユーザーまたはグループにそのポリシーをアタッチする必要があります。

# AWS CodeStar Notifications のアクセス許可と例
<a name="security_iam_id-based-policy-examples-notifications"></a>

次のポリシーステートメントと例は、 AWS CodeStar Notifications の管理に役立ちます。

## フルアクセスマネージドポリシーの通知に関連するアクセス許可
<a name="notifications-fullaccess"></a>

**AWSCodeCommitFullAccess**、**AWSCodeBuildAdminAccess**、**AWSCodeDeployFullAccess**、および **AWSCodePipeline\$1FullAccess** マネージドポリシーには、デベロッパーツールコンソールの通知へのフルアクセスを許可するために以下のステートメントが含まれています。これらの管理ポリシーのいずれかが適用されたユーザーは、通知の Amazon SNS トピックの作成と管理、トピックに対するユーザーのサブスクライブとサブスクライブ解除、通知ルールのターゲットとして選択するトピックの一覧表示を行うこともできます。

**注記**  
管理ポリシーでは、条件キー `codestar-notifications:NotificationsForResource` はサービスのリソースタイプに固有の値を持ちます。例えば、CodeCommit のフルアクセスポリシーでは、値は `arn:aws:codecommit:*` です。

```
    {
        "Sid": "CodeStarNotificationsReadWriteAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:CreateNotificationRule",
            "codestar-notifications:DescribeNotificationRule",
            "codestar-notifications:UpdateNotificationRule",
            "codestar-notifications:DeleteNotificationRule",
            "codestar-notifications:Subscribe",
            "codestar-notifications:Unsubscribe"
        ],
        "Resource": "*",
        "Condition" : {
            "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:<vendor-code>:*"} 
        }
    },    
    {
        "Sid": "CodeStarNotificationsListAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:ListTargets",
            "codestar-notifications:ListTagsforResource",
            "codestar-notifications:ListEventTypes"
        ],
        "Resource": "*"
    },
    {
        "Sid": "CodeStarNotificationsSNSTopicCreateAccess",
        "Effect": "Allow",
        "Action": [
            "sns:CreateTopic",
            "sns:SetTopicAttributes"
        ],
        "Resource": "arn:aws:sns:*:*:codestar-notifications*"
    },
    {
        "Sid": "SNSTopicListAccess",
        "Effect": "Allow",
        "Action": [
            "sns:ListTopics"
        ],
        "Resource": "*"
    },
    {
        "Sid": "CodeStarNotificationsChatbotAccess",
        "Effect": "Allow",
        "Action": [
            "chatbot:DescribeSlackChannelConfigurations",
            "chatbot:ListMicrosoftTeamsChannelConfigurations"
          ],
       "Resource": "*"
    }
```

## 読み取り専用マネージドポリシーの通知に関連するアクセス許可
<a name="notifications-readonly"></a>

**AWSCodeCommitReadOnlyAccess**、**AWSCodeBuildReadOnlyAccess**、**AWSCodeDeployReadOnlyAccess**、および **AWSCodePipeline\$1ReadOnlyAccess** マネージドポリシーには、通知への読み取り専用アクセスを許可するために以下のステートメントが含まれています。例えば、デベロッパーツールコンソールでリソースの通知を表示することはできますが、リソースを作成、管理、サブスクライブすることはできません。

**注記**  
管理ポリシーでは、条件キー `codestar-notifications:NotificationsForResource` はサービスのリソースタイプに固有の値を持ちます。例えば、CodeCommit のフルアクセスポリシーでは、値は `arn:aws:codecommit:*` です。

```
   {
        "Sid": "CodeStarNotificationsPowerUserAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:DescribeNotificationRule"
        ],
        "Resource": "*",
        "Condition" : {
            "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:<vendor-code>:*"} 
        }
    },    
    {
        "Sid": "CodeStarNotificationsListAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:ListEventTypes",
            "codestar-notifications:ListTargets"
        ],
        "Resource": "*"
    }
```

## その他の管理ポリシーの通知に関連するアクセス許可
<a name="notifications-otheraccess"></a>

**AWSCodeCommitPowerUser**、**AWSCodeBuildDeveloperAccess**、および **AWSCodeBuildDeveloperAccess** 管理ポリシーには、これらの管理ポリシーのいずれかが適用された開発者が、通知を作成、編集、およびサブスクライブできるように、以下のステートメントが含まれています。通知ルールを削除したり、リソースのタグを管理したりすることはできません。

**注記**  
管理ポリシーでは、条件キー `codestar-notifications:NotificationsForResource` はサービスのリソースタイプに固有の値を持ちます。例えば、CodeCommit のフルアクセスポリシーでは、値は `arn:aws:codecommit:*` です。

```
    {
        "Sid": "CodeStarNotificationsReadWriteAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:CreateNotificationRule",
            "codestar-notifications:DescribeNotificationRule",
            "codestar-notifications:UpdateNotificationRule",
            "codestar-notifications:Subscribe",
            "codestar-notifications:Unsubscribe"
        ],
        "Resource": "*",
        "Condition" : {
            "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:<vendor-code>:*"} 
        }
    },    
    {
        "Sid": "CodeStarNotificationsListAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:ListTargets",
            "codestar-notifications:ListTagsforResource",
            "codestar-notifications:ListEventTypes"
        ],
        "Resource": "*"
    },
    {
        "Sid": "SNSTopicListAccess",
        "Effect": "Allow",
        "Action": [
            "sns:ListTopics"
        ],
        "Resource": "*"
    },
    {
        "Sid": "CodeStarNotificationsChatbotAccess",
        "Effect": "Allow",
        "Action": [
            "chatbot:DescribeSlackChannelConfigurations",
            "chatbot:ListMicrosoftTeamsChannelConfigurations"
          ],
       "Resource": "*"
    }
```

## 例: AWS CodeStar Notifications を管理するための管理者レベルのポリシー
<a name="security_iam_id-based-policy-examples-notifications-full-access"></a>

この例では、 AWS アカウントの IAM ユーザーに AWS CodeStar Notifications へのフルアクセスを付与して、ユーザーが通知ルールの詳細を確認し、通知ルール、ターゲット、イベントタイプを一覧表示できるようにします。また、通知ルールの追加、更新、および削除をユーザーに許可します。これは、**AWSCodeBuildAdminAccess**、**AWSCodeCommitFullAccess**, **AWSCodeDeployFullAccess**、および **AWSCodePipeline\$1FullAccess** マネージドポリシーの一部として含まれる通知アクセス許可に相当する、フルアクセスポリシーです。これらの管理ポリシーと同様に、この種のポリシーステートメントは、 AWS アカウント全体の通知および通知ルールへの完全な管理アクセスを必要とする IAM ユーザー、グループ、またはロールにのみアタッチする必要があります。

**注記**  
このポリシーには、許可として `CreateNotificationRule` が含まれています。このポリシーが IAM ユーザーまたはロールに適用されているユーザーは、そのユーザーがそれらのリソース自体にアクセスできない場合でも、 AWS アカウントで AWS CodeStar Notifications でサポートされているすべてのリソースタイプの通知ルールを作成できます。例えば、このポリシーを持つユーザーは、CodeCommit 自体にアクセスする権限を持たなくても CodeCommit リポジトリの通知ルールを作成できます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Sid": "AWSCodeStarNotificationsFullAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:CreateNotificationRule",
            "codestar-notifications:DeleteNotificationRule",
            "codestar-notifications:DescribeNotificationRule",
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:UpdateNotificationRule",
            "codestar-notifications:Subscribe",
            "codestar-notifications:Unsubscribe",
            "codestar-notifications:DeleteTarget",
            "codestar-notifications:ListTargets",
            "codestar-notifications:ListTagsforResource",
            "codestar-notifications:TagResource",
            "codestar-notifications:UntagResource"
        ],
        "Resource": "*"
     }
   ]
}
```

------

## 例: AWS CodeStar Notifications を使用するためのコントリビューターレベルのポリシー
<a name="security_iam_id-based-policy-examples-notifications-contributor"></a>

この例では、通知の作成やサブスクライブなど、 AWS CodeStar Notifications day-to-day使用状況へのアクセスを許可しますが、通知ルールやターゲットの削除など、より破壊的なアクションへのアクセスは許可しません。これは、**AWSCodeBuildDeveloperAccess**、**AWSCodeDeployDeveloperAccess**、および **AWSCodeCommitPowerUser** 管理ポリシーで提供されるアクセスに相当します。

**注記**  
このポリシーには、許可として `CreateNotificationRule` が含まれています。このポリシーが IAM ユーザーまたはロールに適用されているユーザーは、そのユーザーがそれらのリソース自体にアクセスできない場合でも、 AWS アカウントで AWS CodeStar Notifications でサポートされているすべてのリソースタイプの通知ルールを作成できます。例えば、このポリシーを持つユーザーは、CodeCommit 自体にアクセスする権限を持たなくても CodeCommit リポジトリの通知ルールを作成できます。

```
{
    "Version": "2012-10-17",		 	 	 
    "Sid": "AWSCodeStarNotificationsPowerUserAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:CreateNotificationRule",
            "codestar-notifications:DescribeNotificationRule",
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:UpdateNotificationRule",
            "codestar-notifications:Subscribe",
            "codestar-notifications:Unsubscribe",
            "codestar-notifications:ListTargets",
            "codestar-notifications:ListTagsforResource"
        ],
        "Resource": "*"
        }
    ]
}
```

## 例: AWS CodeStar Notifications を使用するためのread-only-levelポリシー
<a name="security_iam_id-based-policy-examples-notifications-read-only"></a>

次の例では、アカウントの IAM ユーザーに対して、 AWS アカウントで通知ルール、ターゲット、およびイベントタイプへの読み取り専用アクセスを付与します。この例は、これらの項目の表示を許可するポリシーの作成方法を示しています。これは、**AWSCodeBuildReadOnlyAccess**、**AWSCodeCommitReadOnly**、および **AWSCodePipeline\$1ReadOnlyAccess** 管理ポリシーの一部として含まれるアクセス許可に相当します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "CodeNotificationforReadOnly",
    "Statement": [
        {
            "Sid": "ReadsAccess",
            "Effect": "Allow",
            "Action": [
                "codestar-notifications:DescribeNotificationRule",
                "codestar-notifications:ListNotificationRules",
                "codestar-notifications:ListTargets",
                "codestar-notifications:ListEventTypes"
            ],
            "Resource": "*"
        }
    ]
}
```

------

# のアクセス許可と例 AWS CodeConnections
<a name="security_iam_id-based-policy-examples-connections"></a>

以下のポリシーステートメントと例は、 AWS CodeConnectionsの管理に役立ちます。

これらの JSON ポリシードキュメント例を使用して IAM の ID ベースのポリシーを作成する方法については、[IAM ユーザーガイド](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor)の「*JSON タブでのポリシーの作成*」を参照してください。

## 例: CLI AWS CodeConnections で を作成し、コンソールで表示するためのポリシー
<a name="security_iam_id-based-policy-examples-connections-clisdk"></a>

 AWS CLI または SDK を使用して接続を表示、作成、タグ付け、または削除するように指定されたロールまたはユーザーには、以下に制限されたアクセス許可が必要です。

**注記**  
次のアクセス許可のみでは、コンソールでの接続を完了することはできません。次のセクションでアクセス許可を追加する必要があります。

コンソールを使用して、使用可能な接続の一覧を表示し、タグを表示し、接続を使用するには、次のポリシーを使用します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Sid": "ConnectionsFullAccess",
        "Effect": "Allow",
        "Action": [
            "codeconnections:CreateConnection",
            "codeconnections:DeleteConnection",
            "codeconnections:UseConnection",
            "codeconnections:GetConnection",
            "codeconnections:ListConnections",
            "codeconnections:TagResource",
            "codeconnections:ListTagsForResource",
            "codeconnections:UntagResource"
        ],
        "Resource": "*"
     }
   ]
}
```

------

## 例: コンソール AWS CodeConnections で を作成するためのポリシー
<a name="security_iam_id-based-policy-examples-connections-console"></a>

コンソールで接続を管理するように指定されたロールまたはユーザーは、コンソールで接続を完了し、インストールを作成するために必要なアクセス許可を持っている必要があります。これには、プロバイダーへのハンドシェイクの許可と、使用する接続用のインストールの作成が含まれます。`UseConnection` もまたコンソールで接続を使用するために追加する必要があります。コンソールで接続を表示、使用、作成、タグ付け、または削除するには、次のポリシーを使用します。

**注記**  
2024 年 7 月 1 日以降、コンソールはリソース ARN `codeconnections`に との接続を作成します。両方のサービスプレフィックスを持つリソースは、コンソールに引き続き表示されます。

**注記**  
コンソールを使用して作成されたリソースの場合、次の例に示すように、ポリシーステートメントアクションにはサービスプレフィックス`codestar-connections`として を含める必要があります。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codestar-connections:CreateConnection",
                "codestar-connections:DeleteConnection",
                "codestar-connections:GetConnection",
                "codestar-connections:ListConnections",
                "codestar-connections:GetInstallationUrl",
                "codestar-connections:GetIndividualAccessToken",
                "codestar-connections:ListInstallationTargets",
                "codestar-connections:StartOAuthHandshake",
                "codestar-connections:UpdateConnectionInstallation",
                "codestar-connections:UseConnection",
                "codestar-connections:TagResource",
                "codestar-connections:ListTagsForResource",
                "codestar-connections:UntagResource"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

## 例: を管理するための管理者レベルのポリシー AWS CodeConnections
<a name="security_iam_id-based-policy-examples-connections-fullaccess"></a>

この例では、 AWS アカウントの IAM ユーザーに CodeConnections へのフルアクセスを付与して、ユーザーが接続を追加、更新、削除できるようにします。これはフルアクセスポリシーであり、**AWSCodePipeline\$1FullAccess** 管理ポリシーと同等です。その管理ポリシーと同様に、この種のポリシーステートメントは、 AWS アカウント全体の接続への完全な管理アクセスを必要とする IAM ユーザー、グループ、またはロールにのみアタッチする必要があります。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Sid": "ConnectionsFullAccess",
        "Effect": "Allow",
        "Action": [
            "codeconnections:CreateConnection",
            "codeconnections:DeleteConnection",
            "codeconnections:UseConnection",
            "codeconnections:GetConnection",
            "codeconnections:ListConnections",
            "codeconnections:ListInstallationTargets",
            "codeconnections:GetInstallationUrl",
            "codeconnections:StartOAuthHandshake",
            "codeconnections:UpdateConnectionInstallation",
            "codeconnections:GetIndividualAccessToken",
            "codeconnections:TagResource",
            "codeconnections:ListTagsForResource",
            "codeconnections:UntagResource"
        ],
        "Resource": "*"
     }
   ]
}
```

------

## 例: を使用するための寄稿者レベルのポリシー AWS CodeConnections
<a name="security_iam_id-based-policy-examples-connections-contributor"></a>

この例では、接続の詳細の作成や表示など、CodeConnections のday-to-day使用状況へのアクセスを許可しますが、接続の削除など、より破壊的なアクションへのアクセスは許可しません。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AWSCodeConnectionsPowerUserAccess",
            "Effect": "Allow",
            "Action": [
                "codeconnections:CreateConnection",
                "codeconnections:UseConnection",
                "codeconnections:GetConnection",
                "codeconnections:ListConnections",
                "codeconnections:ListInstallationTargets",
                "codeconnections:GetInstallationUrl",
                "codeconnections:GetIndividualAccessToken",
                "codeconnections:StartOAuthHandshake",
                "codeconnections:UpdateConnectionInstallation",
                "codeconnections:ListTagsForResource"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## 例: を使用するためのread-only-levelポリシー AWS CodeConnections
<a name="security_iam_id-based-policy-examples-connections-readonly"></a>

この例では、アカウントの IAM ユーザーに、アカウントの接続への読み取り専用アクセスを付与します AWS 。この例は、これらの項目の表示を許可するポリシーの作成方法を示しています。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "ConnectionsforReadOnly",
    "Statement": [
        {
            "Sid": "ReadsAPIAccess",
            "Effect": "Allow",
            "Action": [
            "codeconnections:GetConnection",
            "codeconnections:ListConnections",
            "codeconnections:ListInstallationTargets",
            "codeconnections:GetInstallationUrl",
            "codeconnections:ListTagsForResource"
            ],
            "Resource": "*"
        }
    ]
}
```

------<a name="security_iam_id-based-policy-examples-connections-use"></a>

## 例: **VpcId** コンテキストキーを使用してホスト VPC アクセス許可を制限する
<a name="security_iam_id-based-policy-examples-connections-vpc"></a>

次の例では、お客様は **VpcId** コンテキストキーを使用して、ホストの作成または管理を、指定された VPC を持つホストに制限できます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "codeconnections:CreateHost",
                "codeconnections:UpdateHost"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "codeconnections:VpcId": "vpc-EXAMPLE"
                }
            }
        }
    ]
}
```

------

# タグを使用して AWS CodeConnections リソースへのアクセスを制御する
<a name="connections-tag-based-access-control"></a>

タグは、リソースにアタッチしたり、タグ付けをサポートするサービスへのリクエストに渡したりすることができます。In AWS CodeConnections では、リソースにタグを付けることができ、一部のアクションにはタグを含めることができます。IAM ポリシーを作成するときに、タグ条件キーを使用して以下をコントロールできます。
+ どのユーザーがパイプラインリソースに対してアクションを実行できるか (リソースに既に付けられているタグに基づいて)。
+ どのタグをアクションのリクエストで渡すことができるか。
+ リクエストで特定のタグキーを使用できるかどうか。

次の例は、CodeConnections ユーザーのポリシー AWS でタグ条件を指定する方法を示しています。

**Example 1: リクエストのタグに基づいてアクションを許可する**  
次のポリシーは、CodeConnections で AWS 接続を作成するアクセス許可をユーザーに付与します。  
これを行うには、リクエストに指定されているタグ `Project` の値が `ProjectA` である場合に、`CreateConnection` アクションと `TagResource` アクションを許可します。(この `aws:RequestTag` 条件キーを使用して、IAM リクエストで渡すことができるタグをコントロールします)。`aws:TagKeys` 条件は、タグキーの大文字と小文字を区別します。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "codeconnections:CreateConnection",
        "codeconnections:TagResource"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/Project": "ProjectA"
        },
        "ForAllValues:StringEquals": {
          "aws:TagKeys": ["Project"]
        }
      }
    }
  ]
}
```

**Example 2: リソースタグに基づいてアクションを制限する**  
次のポリシーは、 AWS CodeConnections のリソースに対してアクションを実行し、その情報を取得するアクセス許可をユーザーに付与します。  
これを行うには、パイプラインに含まれているタグ `Project` の値が `ProjectA` である場合に、特定のアクションを許可します。(この `aws:RequestTag` 条件キーを使用して、IAM リクエストで渡すことができるタグをコントロールします)。`aws:TagKeys` 条件は、タグキーの大文字と小文字を区別します。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "codeconnections:CreateConnection",
        "codeconnections:DeleteConnection",
        "codeconnections:ListConnections"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Project": "ProjectA"
        },
        "ForAllValues:StringEquals": {
          "aws:TagKeys": ["Project"]
        }
      }
    }
  ]
}
```

## コンソールでの通知と接続の使用
<a name="security_iam_id-based-policy-examples-console"></a>

この通知エクスペリエンスは、CodeBuild、CodeCommit、CodeDeploy、CodePipeline の各コンソールの他、[**設定**] ナビゲーションバー自体のデベロッパーツールコンソールにも組み込まれています。コンソールで通知にアクセスするには、それらのサービスにいずれかの管理ポリシーを適用するか、最小限のアクセス許可のセットが必要です。これらのアクセス許可により、 AWS アカウントの AWS CodeStar Notifications および AWS CodeConnections リソースの詳細を一覧表示および表示できます。最小限必要な許可よりも厳しく制限されたアイデンティティベースポリシーを作成すると、そのポリシーを添付したエンティティ (IAM ユーザーまたはロール) に対してコンソールが意図したとおりに機能しません。これらのコンソールへのアクセスの許可 AWS CodeBuild AWS CodeCommit AWS CodeDeploy、およびそれらのコンソールへのアクセスの許可の詳細については AWS CodePipeline、以下のトピックを参照してください。
+ CodeBuild: [CodeBuild のアイデンティティベースのポリシーの使用](https://docs.aws.amazon.com/codebuild/latest/userguide/security_iam_id-based-policy-examples.html#managed-policies)
+ CodeCommit: [CodeCommit のアイデンティティベースのポリシーの使用](https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html)
+ AWS CodeDeploy: [の ID とアクセスの管理 AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/security-iam.html)
+ CodePipeline: [IAM ポリシーを使用したアクセスコントロール](https://docs.aws.amazon.com/codepipeline/latest/userguide/access-control.html)

AWS CodeStar Notifications には AWS 管理ポリシーはありません。通知機能へのアクセスを提供するには、上記のいずれかのサービスに対する管理ポリシーの 1 つを適用するか、ユーザーまたはエンティティに付与するアクセス許可のレベルでポリシーを作成してから、これらのアクセス許可が必要なユーザー、グループ、またはロールにそれらのポリシーをアタッチする必要があります。詳細については、次の例を参照してください。
+ [例: AWS CodeStar Notifications を管理するための管理者レベルのポリシー](security_iam_id-based-policy-examples-notifications.md#security_iam_id-based-policy-examples-notifications-full-access)
+ [例: AWS CodeStar Notifications を使用するためのコントリビューターレベルのポリシー](security_iam_id-based-policy-examples-notifications.md#security_iam_id-based-policy-examples-notifications-contributor)
+ [例: AWS CodeStar Notifications を使用するためのread-only-levelポリシー](security_iam_id-based-policy-examples-notifications.md#security_iam_id-based-policy-examples-notifications-read-only).



AWS CodeConnections には AWS 管理ポリシーはありません。[接続を完了するためのアクセス許可](#permissions-reference-connections-handshake) で詳しく説明している許可など、アクセスの許可や許可の組み合わせを使用します。

詳細については次を参照してください:
+ [例: を管理するための管理者レベルのポリシー AWS CodeConnections](security_iam_id-based-policy-examples-connections.md#security_iam_id-based-policy-examples-connections-fullaccess)
+ [例: を使用するための寄稿者レベルのポリシー AWS CodeConnections](security_iam_id-based-policy-examples-connections.md#security_iam_id-based-policy-examples-connections-contributor)
+ [例: を使用するためのread-only-levelポリシー AWS CodeConnections](security_iam_id-based-policy-examples-connections.md#security_iam_id-based-policy-examples-connections-readonly)

 AWS CLI または AWS API のみを呼び出すユーザーには、コンソールのアクセス許可を付与する必要はありません。代わりに、実行しようとしている API オペレーションに一致するアクションのみへのアクセスが許可されます。

## ユーザーが自分の許可を表示できるようにする
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

この例では、ユーザーアイデンティティにアタッチされたインラインおよびマネージドポリシーの表示を IAM ユーザーに許可するポリシーの作成方法を示します。このポリシーには、コンソールで、または AWS CLI または AWS API を使用してプログラムでこのアクションを実行するアクセス許可が含まれています。

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

# AWS CodeStar Notifications と AWS CodeConnections のアイデンティティとアクセスのトラブルシューティング
<a name="security_iam_troubleshoot"></a>

次の情報は、通知と IAM の使用に伴って発生する可能性がある一般的な問題の診断や修復に役立ちます。

**Topics**
+ [管理者として通知へのアクセスを他のユーザーに許可したい](#security_iam_troubleshoot-admin-delegate)
+ [Amazon SNS トピックを作成して通知ルールのターゲットとして追加したが、イベントに関する E メールが届かない](#security_iam_troubleshoot-sns)
+ [AWS アカウント以外のユーザーに my AWS CodeStar Notifications および AWS CodeConnections リソースへのアクセスを許可したい](#security_iam_troubleshoot-cross-account-access)

## 管理者として通知へのアクセスを他のユーザーに許可したい
<a name="security_iam_troubleshoot-admin-delegate"></a>

他のユーザーが AWS CodeStar Notifications と AWS CodeConnections にアクセスできるようにするには、アクセスが必要なユーザーまたはアプリケーションにアクセス許可を付与する必要があります。 AWS IAM アイデンティティセンター を使用してユーザーとアプリケーションを管理する場合は、アクセスレベルを定義するアクセス許可セットをユーザーまたはグループに割り当てます。アクセス許可セットは、ユーザーまたはアプリケーションに関連付けられている IAM ロールに自動的に IAM ポリシーを作成して割り当てます。詳細については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[アクセス許可セット](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html)」を参照してください。

IAM アイデンティティセンターを使用していない場合は、アクセスを必要としているユーザーまたはアプリケーションの IAM エンティティ (ユーザーまたはロール) を作成する必要があります。次に、 AWS CodeStar Notifications と AWS CodeConnections の適切なアクセス許可を付与するポリシーをエンティティにアタッチする必要があります。アクセス許可が付与されたら、ユーザーまたはアプリケーション開発者に認証情報を提供します。これらの認証情報を使用して AWSにアクセスします。IAM ユーザー、グループ、ポリシー、アクセス許可の作成の詳細については、「*IAM ユーザーガイド*」の「[IAM アイデンティティ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html)」と「[IAM のポリシーとアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)」を参照してください。

 AWS CodeStar Notifications 固有の情報については、「」を参照してください[AWS CodeStar Notifications のアクセス許可と例](security_iam_id-based-policy-examples-notifications.md)。

## Amazon SNS トピックを作成して通知ルールのターゲットとして追加したが、イベントに関する E メールが届かない
<a name="security_iam_troubleshoot-sns"></a>

イベントに関する通知を受信するには、通知ルールのターゲットとして有効な Amazon SNS トピックがサブスクライブされていること、および E メールアドレスが Amazon SNS トピックにサブスクライブされていることが必要です。Amazon SNS トピックの問題のトラブルシューティングを行うには、以下を確認します。
+ Amazon SNS トピックが通知ルールと同じ AWS リージョンにあることを確認します。
+ E メールエイリアスが正しいトピックにサブスクライブされていること、およびサブスクリプションを確認済みであることを確認します。詳細については、「[Amazon SNS トピックにエンドポイントをサブスクライブする](https://docs.aws.amazon.com/sns/latest/dg/sns-tutorial-create-subscribe-endpoint-to-topic.html)」を参照してください。
+ トピックポリシーが変更され、 AWS CodeStar Notifications がそのトピックに通知をプッシュできることを確認します。トピックポリシーには、次のようなステートメントを含める必要があります。

  ```
  {
      "Sid": "AWSCodeStarNotifications_publish",
      "Effect": "Allow",
      "Principal": {
          "Service": [
              "codestar-notifications.amazonaws.com"
          ]
      },
      "Action": "SNS:Publish",
      "Resource": "arn:aws:sns:us-east-1:123456789012:MyNotificationTopicName",
      "Condition": {
          "StringEquals": {
              "aws:SourceAccount": "123456789012"
          }
      }
  }
  ```

  詳細については、「[セットアップ](setting-up.md)」を参照してください。

## AWS アカウント以外のユーザーに my AWS CodeStar Notifications および AWS CodeConnections リソースへのアクセスを許可したい
<a name="security_iam_troubleshoot-cross-account-access"></a>

他のアカウントのユーザーや組織外の人が、リソースにアクセスするために使用できるロールを作成できます。ロールの引き受けを委託するユーザーを指定できます。リソースベースのポリシーまたはアクセスコントロールリスト (ACL) をサポートするサービスの場合、それらのポリシーを使用して、リソースへのアクセスを付与できます。

詳細については、以下を参照してください:
+  AWS CodeStar Notifications と AWS CodeConnections がこれらの機能をサポートしているかどうかを確認するには、「」を参照してください[デベロッパーツールコンソールの機能と IAM との連携方法](security_iam_service-with-iam.md)。
+ 所有 AWS アカウント している のリソースへのアクセスを提供する方法については、[「IAM ユーザーガイド」の「所有 AWS アカウント している別の の IAM ユーザーへのアクセスを提供する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html)」を参照してください。 **
+ リソースへのアクセスをサードパーティーに提供する方法については AWS アカウント、*IAM ユーザーガイド*の[「サードパーティーが所有する へのアクセスを提供する AWS アカウント](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html)」を参照してください。
+ ID フェデレーションを介してアクセスを提供する方法については、*IAM ユーザーガイド* の [外部で認証されたユーザー (ID フェデレーション) へのアクセスの許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) を参照してください。
+ クロスアカウントアクセスにおけるロールとリソースベースのポリシーの使用方法の違いについては、「*IAM ユーザーガイド*」の「[IAM でのクロスアカウントのリソースへのアクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)」を参照してください。

# AWS CodeStar Notifications のサービスにリンクされたロールの使用
<a name="using-service-linked-roles"></a>

AWS CodeStar Notifications は AWS Identity and Access Management 、(IAM)[ サービスにリンクされたロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)を使用します。サービスにリンクされたロールは、 AWS CodeStar Notifications に直接リンクされた一意のタイプの IAM ロールです。サービスリンクロールは AWS CodeStar Notifications によって事前に定義されており、サービスがユーザーに代わって AWS の他のサービスを呼び出すために必要なすべての許可が含まれています。このロールは、通知ルールを初めて作成したときに自動的に作成されます。ユーザーがロールを作成する必要はありません。

サービスにリンクされたロールを使用すると、手動でアクセス許可を追加する必要がないため、 AWS CodeStar Notifications の設定が簡単になります。 AWS CodeStar Notifications は、サービスにリンクされたロールのアクセス許可を定義し、特に定義されている場合を除き、 AWS CodeStar Notifications のみがそのロールを引き受けることができます。定義される許可は信頼ポリシーと許可ポリシーに含まれており、その許可ポリシーを他の IAM エンティティにアタッチすることはできません。

サービスにリンクされたロールを削除するには、まず関連するリソースを削除する必要があります。これにより、リソースへのアクセス許可が誤って削除されないため、 AWS CodeStar Notifications リソースが保護されます。

サービスにリンクされたロールをサポートしているその他のサービスの詳細については、「[IAM と連携するAWS のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。

## AWS CodeStar Notifications のサービスにリンクされたロールのアクセス許可
<a name="slr-permissions"></a>

AWS CodeStar Notifications は、AWSServiceRoleForCodeStarNotifications サービスにリンクされたロールを使用して、ツールチェーンで発生するイベントに関する情報を取得し、指定したターゲットに通知を送信します。

AWSServiceRoleForCodeStarNotifications サービスリンクロールは、以下のサービスを信頼してロールを引き受けます。
+ `codestar-notifications.amazonaws.com`

ロールのアクセス許可ポリシーにより、 AWS CodeStar Notifications は指定されたリソースに対して次のアクションを実行できます。
+ アクション: `PutRule`。対象リソース: `CloudWatch Event rules that are named awscodestar-notifications-*`
+ アクション: `CloudWatch Event rules that are named awscodestar-notifications-*` 上で `DescribeRule`
+ アクション: `PutTargets`。対象リソース: `CloudWatch Event rules that are named awscodestar-notifications-*`
+ アクション: `CreateTopic` (`create Amazon SNS topics for use with AWS CodeStar Notifications with the prefix CodeStarNotifications-` が対象)
+ アクション: `GetCommentsForPullRequests`。対象リソース: `all comments on all pull requests in all CodeCommit repositories in the AWS account`
+ アクション: `all comments on all commits in all CodeCommit repositories in the AWS account` 上で `GetCommentsForComparedCommit`
+ アクション: `all commits in all CodeCommit repositories in the AWS account` 上で `GetDifferences`
+ アクション: `all comments on all commits in all CodeCommit repositories in the AWS account` 上で `GetCommentsForComparedCommit`
+ アクション: `all commits in all CodeCommit repositories in the AWS account` 上で `GetDifferences`
+ アクション: `all AWS Chatbot clients in the AWS account` 上で `DescribeSlackChannelConfigurations`
+ アクション: `all AWS Chatbot clients in the AWS account` 上で `UpdateSlackChannelConfiguration`
+ アクション: `all actions in all pipelines in the AWS account` 上で `ListActionExecutions`
+ アクション: `GetFile`。対象リソース: `all files in all CodeCommit repositories in the AWS account unless otherwise tagged`

これらのアクションは、AWSServiceRoleForCodeStarNotifications サービスにリンクされたロールのポリシーステートメントで確認できます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "events:PutTargets",
                "events:PutRule",
                "events:DescribeRule"
            ],
            "Resource": "arn:aws:events:*:*:rule/awscodestarnotifications-*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "sns:CreateTopic"
            ],
            "Resource": "arn:aws:sns:*:*:CodeStarNotifications-*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "codecommit:GetCommentsForPullRequest",
                "codecommit:GetCommentsForComparedCommit",
                "codecommit:GetDifferences",
                "chatbot:DescribeSlackChannelConfigurations",
                "chatbot:UpdateSlackChannelConfiguration",
                "codepipeline:ListActionExecutions"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "codecommit:GetFile"
            ],
            "Resource": "*",
            "Condition": {
                "StringNotEquals": {
                    "aws:ResourceTag/ExcludeFileContentFromNotifications": "true"
                }
            },
            "Effect": "Allow"
        }
    ]
}
```

------

サービスリンクロールの作成、編集、削除を IAM エンティティ (ユーザー、グループ、ロールなど) に許可するにはアクセス許可を設定する必要があります。詳細については、「*IAM ユーザーガイド*」の「[サービスリンクロールの許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)」を参照してください。

## AWS CodeStar Notifications のサービスにリンクされたロールの作成
<a name="create-slr"></a>

サービスリンクロールを手動で作成する必要はありません。開発者ツールコンソールまたは AWS CLI または SDKs の CreateNotificationRule API を使用して、通知ルールを作成できます。API を直接呼び出すこともできます。使用する方法にかかわらず、サービスにリンクされたロールが作成されます。

このサービスリンクロールを削除した後で再度作成する必要が生じた場合は同じ方法でアカウントにロールを再作成できます。開発者ツールコンソールまたは AWS CLI または SDKs の CreateNotificationRule API を使用して、通知ルールを作成できます。API を直接呼び出すこともできます。使用する方法にかかわらず、サービスにリンクされたロールが作成されます。

## AWS CodeStar Notifications のサービスにリンクされたロールの編集
<a name="edit-slr"></a>

サービスにリンクされたロールを作成すると、多くのエンティティによってロールが参照される可能性があるため、名前を変更することはできません。ただし、IAM を使用してロールの説明を編集することはできます。詳細については、「*IAM ユーザーガイド*」の「[サービスリンクロールの編集](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)」を参照してください。

## AWS CodeStar Notifications のサービスにリンクされたロールの削除
<a name="delete-slr"></a>

サービスにリンクされたロールが必要な機能またはサービスが不要になった場合には、そのロールを削除することをお勧めします。そうすることで、使用していないエンティティがアクティブにモニタリングされたり、メンテナンスされたりすることがなくなります。削除する前に、サービスにリンクされたロールのリソースをクリーンアップする必要があります。 AWS CodeStar Notifications の場合、これは AWS アカウントでサービスロールを使用するすべての通知ルールを削除することを意味します。

**注記**  
リソースを削除しようとしたときに AWS CodeStar Notifications サービスがロールを使用している場合は、削除が失敗する可能性があります。失敗した場合は数分待ってから操作を再試行してください。

**AWSServiceRoleFor AWS CodeStar Notificationsで使用される CodeStar Notifications リソースを削除するには AWSServiceRoleForCodeStarNotifications**

1. [https://console.aws.amazon.com/codesuite/settings/notifications](https://console.aws.amazon.com/codesuite/settings/notifications/) で AWS デベロッパーツールコンソールを開きます。
**注記**  
通知ルールは、作成された AWS リージョンに適用されます。複数の AWS リージョンに通知ルールがある場合は、リージョンセレクタを使用して を変更します AWS リージョン。

1. リストに表示されるすべての通知ルールを選択し、 [**Delete (削除)**] を選択します。

1. 通知ルールを作成したすべての AWS リージョンで、これらのステップを繰り返します。

****IAM を使用**して、サービスにリンクされたロールを削除するには**

IAM コンソール AWS CLI、または AWS Identity and Access Management API を使用して、AWSServiceRoleForCodeStarNotifications サービスにリンクされたロールを削除します。詳細については、「[IAM ユーザーガイド](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)」の「*サービスリンクロールの削除*」を参照してください。

## AWS CodeStar Notifications サービスにリンクされたロールでサポートされているリージョン
<a name="slr-regions"></a>

AWS CodeStar Notifications は、サービスが利用可能なすべての AWS リージョンでサービスにリンクされたロールの使用をサポートしています。詳細については、「[AWS のリージョンとエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html)」および「[AWS CodeStar Notifications](https://docs.aws.amazon.com/general/latest/gr/codestar_notifications.html)」を参照してください。

# のサービスにリンクされたロールの使用 AWS CodeConnections
<a name="service-linked-role-connections"></a>

AWS CodeConnections は AWS Identity and Access Management (IAM)[ サービスにリンクされたロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)を使用します。サービスにリンクされたロールは、直接リンクされた一意のタイプの IAM ロールです AWS CodeConnections。サービスにリンクされたロールは によって事前定義 AWS CodeConnections されており、サービスがユーザーに代わって他の AWS サービスを呼び出すために必要なすべてのアクセス許可が含まれています。このロールは、接続を初めて作成するときにお客様用に作成されます。ユーザーがロールを作成する必要はありません。

サービスにリンクされたロールを使用すると、アクセス許可を手動で追加する必要がなくなるため、 の設定 AWS CodeConnections が簡単になります。 は、サービスにリンクされたロールのアクセス許可 AWS CodeConnections を定義し、特に定義されている場合を除き、 のみがそのロールを引き受け AWS CodeConnections ることができます。定義される許可は信頼ポリシーと許可ポリシーに含まれており、その許可ポリシーを他の IAM エンティティにアタッチすることはできません。

サービスにリンクされたロールを削除するには、まず関連するリソースを削除する必要があります。これにより、 AWS CodeConnections リソースへのアクセス許可が誤って削除されないため、リソースが保護されます。

サービスにリンクされたロールをサポートしているその他のサービスの詳細については、「[IAM と連携するAWS のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。

**注記**  
新しいサービスプレフィックスで作成されたリソースのアクション`codeconnections`を使用できます。新しいサービスプレフィックスでリソースを作成すると、リソース ARN `codeconnections`で が使用されます。`codestar-connections` サービスプレフィックスのアクションとリソースは引き続き使用できます。IAM ポリシーでリソースを指定する場合、サービスプレフィックスはリソースのプレフィックスと一致する必要があります。

## のサービスにリンクされたロールのアクセス許可 AWS CodeConnections
<a name="slr-permissions"></a>

AWS CodeConnections は、AWSServiceRoleForGitSync サービスにリンクされたロールを使用して、接続された Git ベースのリポジトリとの Git 同期を使用します。

サービスにリンクされたロール AWSServiceRoleForGitSync は、次のサービスを信頼してそのロールを引き受けます。
+ `repository.sync.codeconnections.amazonaws.com`

AWSGitSyncServiceRolePolicy という名前のロールアクセス許可ポリシーにより AWS CodeConnections 、 は指定されたリソースに対して次のアクションを実行できます。
+ アクション: 外部の Git ベースのリポジトリへの接続を作成し、それらのレポジトリで Git 同期を使用できるようにするアクセス許可を、ユーザーに付与します。

サービスリンクロールの作成、編集、削除を IAM エンティティ (ユーザー、グループ、ロールなど) に許可するにはアクセス許可を設定する必要があります。詳細については、「*IAM ユーザーガイド*」の「[サービスリンクロールの許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)」を参照してください。

## のサービスにリンクされたロールの作成 AWS CodeConnections
<a name="create-slr-connections"></a>

サービスリンクロールを手動で作成する必要はありません。ロールは、CreateRepositoryLink API を使用して Git 同期プロジェクトのリソースを作成するときに作成します。

このサービスリンクロールを削除した後で再度作成する必要が生じた場合は同じ方法でアカウントにロールを再作成できます。

## のサービスにリンクされたロールの編集 AWS CodeConnections
<a name="edit-slr-connections"></a>

サービスにリンクされたロールを作成すると、多くのエンティティによってロールが参照される可能性があるため、名前を変更することはできません。ただし、IAM を使用してロールの説明を編集することはできます。詳細については、「*IAM ユーザーガイド*」の「[サービスリンクロールの編集](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)」を参照してください。

## のサービスにリンクされたロールの削除 AWS CodeConnections
<a name="delete-slr-connections"></a>

サービスにリンクされたロールが必要な機能またはサービスが不要になった場合には、そのロールを削除することをお勧めします。そうすることで、使用していないエンティティがアクティブにモニタリングされたり、メンテナンスされたりすることがなくなります。削除する前に、サービスにリンクされたロールのリソースをクリーンアップする必要があります。つまり、 AWS アカウントで サービスロールを使用するすべての接続を削除します。

**注記**  
リソースを削除しようとしたときに AWS CodeConnections サービスがロールを使用している場合、削除が失敗する可能性があります。失敗した場合は数分待ってから操作を再試行してください。

**AWSServiceRoleForGitSync で使用される AWS CodeConnections リソースを削除するには**

1. 開発者ツールコンソールを開き、**[設定]** を選択します。

1. リストに表示されるすべての接続を選択し、**[削除]** を選択します。

1. 接続を作成したすべての AWS リージョンで、これらのステップを繰り返します。

****IAM を使用**して、サービスにリンクされたロールを削除するには**

IAM コンソール AWS CLI、または AWS Identity and Access Management API を使用して、AWSServiceRoleForGitSync サービスにリンクされたロールを削除します。詳細については、「[IAM ユーザーガイド](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)」の「*サービスリンクロールの削除*」を参照してください。

## AWS CodeConnections サービスにリンクされたロールでサポートされているリージョン
<a name="slr-regions-connections"></a>

AWS CodeConnections は、サービスが利用可能なすべての AWS リージョンでサービスにリンクされたロールの使用をサポートします。詳細については、「[AWS リージョンとエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html)」を参照してください。

# AWS の 管理ポリシー AWS CodeConnections
<a name="security-iam-awsmanpol"></a>





 AWS 管理ポリシーは、 によって作成および管理されるスタンドアロンポリシーです AWS。 AWS 管理ポリシーは、ユーザー、グループ、ロールにアクセス許可の割り当てを開始できるように、多くの一般的なユースケースにアクセス許可を付与するように設計されています。

 AWS 管理ポリシーは、すべての AWS お客様が使用できるため、特定のユースケースに対して最小特権のアクセス許可を付与しない場合があることに注意してください。ユースケースに固有の[カスタマー管理ポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies)を定義して、アクセス許可を絞り込むことをお勧めします。

 AWS 管理ポリシーで定義されているアクセス許可は変更できません。が AWS マネージドポリシーで定義されたアクセス許可 AWS を更新すると、ポリシーがアタッチされているすべてのプリンシパル ID (ユーザー、グループ、ロール) に影響します。 AWS は、新しい が起動されるか、新しい API オペレーション AWS のサービス が既存のサービスで使用できるようになったときに、 AWS マネージドポリシーを更新する可能性が最も高くなります。

詳細については、「**IAM ユーザーガイド」の「[AWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)」を参照してください。

**注記**  
新しいサービスプレフィックスで作成されたリソースのアクション`codeconnections`を使用できます。新しいサービスプレフィックスでリソースを作成すると、リソース ARN `codeconnections`で が使用されます。`codestar-connections` サービスプレフィックスのアクションとリソースは引き続き使用できます。IAM ポリシーでリソースを指定する場合、サービスプレフィックスはリソースのプレフィックスと一致する必要があります。













## AWS マネージドポリシー: AWSGitSyncServiceRolePolicy
<a name="security-iam-awsmanpol-AWSGitSyncServiceRolePolicy"></a>



お客様の IAM エンティティに、AWSGitSyncServiceRolePolicy をアタッチすることはできません。このポリシーは、 がユーザーに代わってアクションを実行できるようにするサービスにリンクされたロール AWS CodeConnections にアタッチされます。詳細については、「[のサービスにリンクされたロールの使用 AWS CodeConnections](service-linked-role-connections.md)」を参照してください。



このポリシーにより、お客様は Git ベースのリポジトリにアクセスして接続に使用することができます。お客様は CreateRepositoryLink API を使用した後に、これらのリソースにアクセスします。



**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。




+ `codeconnections` – ユーザーが外部 Git ベースのリポジトリへの接続を作成できるようにするアクセス許可を付与します。



------
#### [ JSON ]

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Sid": "AccessGitRepos",
			"Effect": "Allow",
			"Action": [
				"codestar-connections:UseConnection",
				"codeconnections:UseConnection"
			],
			"Resource": [
				"arn:aws:codestar-connections:*:*:connection/*",
				"arn:aws:codeconnections:*:*:connection/*"
			],
			"Condition": {
				"StringEquals": {
					"aws:ResourceAccount": "${aws:PrincipalAccount}"
				}
			}
		}
	]
}
```

------

## AWS CodeConnections AWS 管理ポリシーの更新
<a name="security-iam-awsmanpol-updates"></a>



このサービスがこれらの変更の追跡を開始 AWS CodeConnections してからの の AWS 管理ポリシーの更新に関する詳細を表示します。このページの変更に関する自動アラートについては、 AWS CodeConnections [ドキュメント履歴](doc-history.md)ページの RSS フィードにサブスクライブしてください。




| 変更 | 説明 | 日付 | 
| --- | --- | --- | 
|  [AWSGitSyncServiceRolePolicy](#security-iam-awsmanpol-AWSGitSyncServiceRolePolicy) – 更新されたポリシー  | AWS CodeStar Connections サービス名が に変更されました AWS CodeConnections。両方のサービスプレフィックスを含む ARNs を持つリソースのポリシーを更新しました。 | 2024 年 4 月 26 日 | 
|  [AWSGitSyncServiceRolePolicy](#security-iam-awsmanpol-AWSGitSyncServiceRolePolicy) – 新しいポリシー  |  AWS CodeStar Connections にポリシーが追加されました。 接続ユーザーが接続された Git ベースのリポジトリと Git 同期を使用できるようにするアクセス許可を付与します。  | 2023 年 11 月 26 日 | 
|  AWS CodeConnections が変更の追跡を開始しました  |  AWS CodeConnections は、 AWS 管理ポリシーの変更の追跡を開始しました。  | 2023 年 11 月 26 日 | 



# AWS CodeStar Notifications と AWS CodeConnections のコンプライアンス検証
<a name="compliance"></a>

特定のコンプライアンスプログラムの対象となる AWS サービスのリストについては、[AWS コンプライアンスプログラムの対象となるサービス](https://aws.amazon.com/compliance/services-in-scope/)を参照してください。一般的な情報については、「[AWS コンプライアンスプログラム](https://aws.amazon.com/compliance/programs/)」を参照してください。

を使用して、サードパーティーの監査レポートをダウンロードできます AWS Artifact。詳細については、[AWS 「Artifact でのレポートのダウンロード](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html)」を参照してください。

 AWS CodeStar Notifications と AWS CodeConnections を使用する際のお客様のコンプライアンス責任は、お客様のデータの機密性、貴社のコンプライアンス目的、適用される法律および規制によって決まります。 AWS では、コンプライアンスに役立つ以下のリソースを提供しています。
+ [セキュリティとコンプライアンスのクイックスタートガイド](https://aws.amazon.com/quickstart/?awsf.quickstart-homepage-filter=categories%23security-identity-compliance) – これらのデプロイガイドでは、アーキテクチャ上の考慮事項について説明し、セキュリティとコンプライアンスに重点を置いたベースライン環境をデプロイする手順について説明します AWS。
+ [AWS コンプライアンスリソース](https://aws.amazon.com/compliance/resources/) – このワークブックとガイドのコレクションは、お客様の業界や地域に適用される場合があります。
+ [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) – この AWS サービスは、リソース設定が内部プラクティス、業界ガイドライン、および規制にどの程度準拠しているかを評価します。
+ [AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html) – この AWS サービスは、 内のセキュリティ状態を包括的に把握 AWS し、セキュリティ業界標準とベストプラクティスへの準拠を確認するのに役立ちます。

# AWS CodeStar Notifications と AWS CodeConnections の耐障害性
<a name="disaster-recovery-resiliency"></a>

 AWS グローバルインフラストラクチャは、 AWS リージョンとアベイラビリティーゾーンを中心に構築されています。 AWS リージョンは、低レイテンシー、高スループット、高冗長ネットワークで接続された、物理的に分離および分離された複数のアベイラビリティーゾーンを提供します。アベイラビリティーゾーンでは、アベイラビリティーゾーン間で中断せずに、自動的にフェイルオーバーするアプリケーションとデータベースを設計および運用することができます。アベイラビリティーゾーンは、従来の単一または複数のデータセンターインフラストラクチャよりも可用性、耐障害性、およびスケーラビリティが優れています。

 AWS リージョンとアベイラビリティーゾーンの詳細については、[AWS 「 グローバルインフラストラクチャ](https://aws.amazon.com/about-aws/global-infrastructure/)」を参照してください。
+ 通知ルールは、作成された AWS リージョン に固有です。複数の に通知ルールがある場合は AWS リージョン、リージョンセレクタを使用して、それぞれの通知ルールを確認します AWS リージョン。
+ AWS CodeStar Notifications は、通知ルールのターゲットとして Amazon Simple Notification Service (Amazon SNS) トピックに依存しています。Amazon SNS トピックと通知ルールのターゲットに関する情報は、通知ルールを設定した リージョンと異なる AWS リージョンに保存される場合があります。

# AWS CodeStar Notifications と AWS CodeConnections のインフラストラクチャセキュリティ
<a name="infrastructure-security"></a>

マネージドサービスの機能として、 AWS CodeStar Notifications と AWS CodeConnections は、ホワイトペーパー[「Amazon Web Services: セキュリティプロセスの概要](https://d0.awsstatic.com/whitepapers/Security/AWS_Security_Whitepaper.pdf)」で説明されている AWS グローバルネットワークセキュリティ手順によって保護されています。

 AWS 公開された API コールを使用して、ネットワーク経由で AWS CodeStar Notifications と AWS CodeConnections にアクセスします。クライアントで Transport Layer Security (TLS) 1.0 以降がサポートされている必要があります。また、Ephemeral Diffie-Hellman (DHE) や Elliptic Curve Ephemeral Diffie-Hellman (ECDHE) などの Perfect Forward Secrecy (PFS) を使用した暗号スイートもクライアントでサポートされている必要があります。最新のシステムは、ほとんどの場合これらのモードをサポートしています。

リクエストは、アクセスキー ID と、IAM プリンシパルに関連付けられているシークレットのアクセスキーを使用して署名する必要があります。または、[AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html) (AWS STS) を使用して、一時的なセキュリティ認証情報を生成し、リクエストに署名することもできます。

## リージョン間の AWS CodeConnections リソース間のトラフィック
<a name="infrastructure-security-global-resources"></a>

接続機能を使用してリソースの接続を有効にする場合、基盤となるサービス AWS リージョン を使用している AWS リージョン の外部に、リソースが作成されたリージョン以外のリージョンでそのようなリソースへの接続を提供する目的でのみ、そのような接続リソースに関連する情報を保存および処理することに同意し、指示します。

詳細については、「[グローバルリソース in AWS CodeConnections](welcome-connections-how-it-works-global.md)」を参照してください。

**注記**  
接続機能を使用して、先立って有効にする必要のないリージョンでリソースへの接続を有効にした場合、情報は前述のトピックで詳しく説明したとおりに保存および処理されます。  
欧州 (ミラノ) リージョンなど、先立って有効にする必要があるリージョンで確立した接続については、当リージョンのその接続に関する情報のみが保存および処理されます。