#author("2023-10-24T13:12:52+09:00","default:irrp","irrp")
#author("2024-03-08T13:44:50+09:00","default:irrp","irrp")
→AWSの開発支援系サービス

→Git関連

#contents


*一般 [#b52b2547]
-[[AWS CodeCommit の運用方法を考えてみた | AWS運用最適化サービス cloud link (クラウドリンク)>https://aws.taf-jp.com/blog/83064]] 2024.3

-[[CodeCommitへオンプレのような内部ネットワークからだけGitさせたい | DevelopersIO>https://dev.classmethod.jp/articles/202307-codecommit-internal-access-01/]] 2023.7

-[[【初心者向け】AWS CodeCommitのパラメータをまとめてみた - サーバーワークスエンジニアブログ>https://blog.serverworks.co.jp/2023/06/12/094439]] 2023.6

-[[AWS CodeCommitを試してみたメモ(2023.1時点) - Qiita>https://qiita.com/smats-rd/items/816cd5bc2fa05e4d1fa4]] 2023.1

-[[AWS CodeCommitの特徴7つ|デメリットもあわせて紹介 | FEnet コラム for AWS>https://www.fenet.jp/aws/column/aws-beginner/332/]] 2021
--1.他のAWSサービスと統合できる。AWS Amplify、AWS Cloud9、AWS CloudFormation、AWS CloudTrailなど
--2.安全性が高い。IAMによるアクセス制御
--3.様々なものを保存することができる。バイナリデータも可
--4.既存のツールが使用できる。既存のGitやAWS内の様々なツールと連携
--5.コード作業を協力して行える。プルリクエストをサポート。ブランチへマージする前にお互いのコードの変更前と後の差分を比較してコメントできます。
--6.マネージド型のサービス。フルマネージドでサーバ管理の必要なし。
--7.導入が簡単。コンソールを利用することでリポジトリの作成から一覧表示まで簡単


*EC2からの利用 [#d825ffe5]
-[[gitでのCodeCommitへの操作が403エラーになった原因を調査した記録 | DevelopersIO>https://dev.classmethod.jp/articles/codecommit-trouble-with-osx/]] 

-[[【AWS】CodeCommitからgit cloneする手順 #AWS - Qiita>https://qiita.com/AKI3/items/d52695c6ffdcb32ef9af]] 2023.10

-[[EC2からCodeCommitを使ったら便利だった | DevelopersIO>https://dev.classmethod.jp/articles/ec2-with-code-commit/]] 2021.12


**公式ドキュメント [#s7628e82]
-[[AWS CodeCommit(プライベート Git リポジトリでのコードの保存)| AWS>https://aws.amazon.com/jp/codecommit/]]
-[[AWS CodeCommit とは - AWS CodeCommit>https://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/welcome.html]] 
-[[よくある質問 - Amazon CodeCommit | AWS>https://aws.amazon.com/jp/codecommit/faqs/]] 2022.12




*CodeCommitのユーザ認証 [#rc821a7d]
-[[AWS CodeCommitへの接続方法一覧(2022年度版) #AWS - Qiita>https://qiita.com/kaburagi_/items/e3ff3a048ec548bf86b4]] 2023.10

-[[gitのcredential.helperを理解してCodeCommitの403エラーを回避してみた | DevelopersIO>https://dev.classmethod.jp/articles/credential-helper-resolves-codecommit-error/]] 2019

-以下、2023.1時点の調査

-接続プロトコルはHTTPS接続を利用する方法とSSHプロトコルを利用する方法の2種類がある
--HTTPS接続の場合、HTTPS接続用のGit認証情報を設定します。
--SSHプロトコルは、パブリックキーとプライベートキーを設定

-さらに、HTTPS接続には2種類ある
--通常のHTTPS接続、GitをHTTPS経由で使うやり方
--GRCを使って接続する方式。
---AWS CodeCommit で使用する HTTPS (GRC) は、CodeCommit リポジトリに対して、HTTPS プロトコルを使用した認証方式
---GRC (Git Credential Manager) は、CodeCommit リポジトリへのアクセスに必要な認証情報(アクセスキーやシークレットアクセスキー)を自動的に管理し保存するためのAWS独自のプログラム
---HTTPS (GRC) 認証を使用する場合、開発者は CodeCommit リポジトリにアクセスするために、IAM ユーザーのアクセスキーやシークレットアクセスキーを入力する必要はありません。

-CodeCommitを使うにはローカル開発環境から使う場合でもIAMユーザを作る必要がある。そのIAMユーザにIAMポリシーを割り当てる
--[[AWSCodeCommit の 管理ポリシー - AWS CodeCommit>https://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/security-iam-awsmanpol.html]] 
---AWSCodeCommitFullAccess…フル権限
---AWSCodeCommitPowerUser…リポジトリ削除以外のほとんどの権限
---AWSCodeCommitReadOnly…閲覧権限

-認証方式の種類
--IAM ユーザーおよびロールによる認証: 一般的な AWS リソースへのアクセスに使用。HTTPSで接続する場合
--SSH キーによる認証: 開発者が自分のワークステーションから CodeCommit リポジトリにアクセスする場合に適しています。
--一時的なセッショントークンによる認証: スクリプトなどの自動化タスクから CodeCommit リポジトリにアクセスする場合に適しています。
--AWS Single Sign-On (SSO) による認証: 組織の SSO システムを使用して CodeCommit リポジトリにアクセスする場合に適しています。
--AWS Identity Federation for SAML 2.0 による認証: 組織が SAML 2.0 プロバイダーを使用している場合に適しています。
--AWS Directory Service for Microsoft Active Directory、AWS Managed Microsoft AD、または Simple AD による認証: 組織が Microsoft Active Directory を使用している場合に適しています。

-[[Git 認証情報を使用した HTTPS ユーザーのセットアップ - AWS CodeCommit>https://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/setting-up-gc.html]] 2023.1
-[[CodeCommitのGitリポジトリへの接続方法 | DevelopersIO>https://dev.classmethod.jp/articles/using-codecommit-git-repository/]] 2015


**GRC [#h9856d7a]
-AWS CodeCommit で使用する HTTPS (GRC) は、CodeCommit リポジトリに対して、HTTPS プロトコルを使用した認証方式
-GRC (git-remote-codecommit) は、CodeCommit リポジトリへのアクセスに必要な認証情報(アクセスキーやシークレットアクセスキー)を自動的に管理し保存するためのAWS独自のプログラム
-HTTPS (GRC) 認証を使用する場合、開発者は CodeCommit リポジトリにアクセスするために、IAM ユーザーのアクセスキーやシークレットアクセスキーを入力する必要はありません。
-GRCは、アクセスキーやシークレットアクセスキーを自動的に管理し、必要なときに自動的に提供する。
-これにより、開発者は、CodeCommit リポジトリにアクセスするために、毎回認証情報を入力する必要がなくなる
-また、HTTPS (GRC) 認証を使用することで、CodeCommit リポジトリへのアクセスに対して、セキュリティーが強化される。
-GRCは、アクセスキーやシークレットアクセスキーを暗号化し、ローカルマシンに保存する

-GRCを使うには、以下の手順を実行します。
--Git クライアントをインストールします。
--AWS CLI をインストールします。
--AWS CLI の設定を行い、CodeCommit にアクセスするための認証情報(IAM ユーザーのアクセスキーやシークレットアクセスキー)を設定します。
--Git Bash を開き、CodeCommit リポジトリにアクセスするための URL を入力します。
--CodeCommit リポジトリにアクセスし、操作を実行します。
--GRCを使用するためには、CodeCommit リポジトリにアクセスするために必要な認証情報を予め設定しておく必要があります。


** git-remote-codecommit [#ga68dc66]
-Git クライアントを使用して AWS CodeCommit リポジトリにアクセスするためのプラグイン。このプラグインを使用することで、Git クライアントを使用して CodeCommit リポジトリにアクセスし、操作を実行することができます。
-git-remote-codecommit プラグインを使用するには、まず AWS CLI をインストールし、CodeCommit リポジトリにアクセスするための認証情報(IAMユーザーのアクセスキーやシークレットアクセスキー)を設定する必要があります。
-git-remote-codecommit を使用することで、Git クライアントを使用して CodeCommit リポジトリにアクセスし、リモートリポジトリと同期することができます。また、CodeCommit リポジトリに対する操作(commit、push、pullなど)を Git のコマンドで実行することができるようになります。


* ユーザ/リポジトリごとの閲覧制御 [#d14782ba]
-[[複数のCodeCommitリポジトリに、プロファイル毎の認証情報ヘルパーを使用してアクセスする設定 | DevelopersIO>https://dev.classmethod.jp/articles/access-multiple-codecommit-repositories-with-credential-helper/]] 2021
-[[リポジトリタグでCodeCommitのリポジトリへのアクセスを制御してみた - カピバラ好きなエンジニアブログ>https://www.capybara-engineer.com/entry/2020/07/02/234038]] 2020.7
-[[AWS CodeCommitの特定リポジトリだけ接続許可する環境を作る – ひろかずのブログ>https://www.fnifni.net/codecommit-restriction/]] 2019


*セットアップ [#wfcbb557]
-[[AWS CodeCommitのセットアップ - AWS CodeCommit>https://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/setting-up.html]]


*課金 [#z24134e3]
-[[CodeCommit を使用したユーザーの人数分よりも多く課金された場合の対処方法 | DevelopersIO>https://dev.classmethod.jp/articles/tsnote-codecommit-count-active-users-01/]] 2022

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS