CodeCommit 리포지토리에 특정 IP 주소만 액세스할 수 있는 방법
17757 단어 CodeCommitIP 주소리포지토리IAMAWS
소개
CodeCommit에서 git 관리할 때 어떤 IP 주소에서도 커밋할 수 있으면 사용자 이름과 비밀번호가 유출된 경우 리포지토리에 액세스할 수 있으므로 특정 IP 주소만 사용할 수 있도록 IAM 역할을 설정합니다. 합니다.
CodeCommit 설정
아래의 기사를 참고로 리포지토리를 git clone 할 수 있는 곳까지 진행합니다.
한 곳에 변경 사항이 있으며 IAM 역할은 AWSCodeCommitPowerUser
를 사용합니다.
CodeCommit을 HTTPS 및 암호 인증으로 사용 설정
IAM 정책에 IP 제한 적용
IP 제한을 적용하는 방법은 AWSCodeCommitPowerUser
의 정책 내용을 기반으로 IP 제한을 적용한 정책을 새로 만들고 커밋 사용자에게 연결하는 것입니다.
새 정책을 만듭니다.
만들기 화면에서 管理ポリシーのインポート
를 클릭하고 AWSCodeCommitPowerUser
관리 정책을 インポート
합니다.
CodeCommit의 リクエスト条件
를 클릭하면 送信元IP
열이 있으므로 거기에 나열된 IP 주소 만 git 관리 할 수 있습니다.
json 탭으로 전환하면 "aws:SourceIp": "111.111.111.111/32"
와 IP 제한이 가능하다는 것을 알았습니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"codecommit:ListRepositoriesForApprovalRuleTemplate",
"codecommit:CreateApprovalRuleTemplate",
"codecommit:UpdateApprovalRuleTemplateName",
"codecommit:GetApprovalRuleTemplate",
"codecommit:ListApprovalRuleTemplates",
"codecommit:ListRepositories",
"codecommit:UpdateApprovalRuleTemplateContent",
"codecommit:UpdateApprovalRuleTemplateDescription"
],
"Resource": "*",
"Condition": {
"IpAddress": {
"aws:SourceIp": "111.111.111.111/32"
}
}
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"codecommit:Merge*",
"codecommit:Get*",
"codecommit:TagResource",
"codecommit:BatchAssociateApprovalRuleTemplateWithRepositories",
"codecommit:BatchGet*",
"codecommit:GitPull",
"codecommit:UntagResource",
"codecommit:BatchDisassociateApprovalRuleTemplateFromRepositories",
"codecommit:Update*",
"codecommit:OverridePullRequestApprovalRules",
"codecommit:Post*",
"codecommit:EvaluatePullRequestApprovalRules",
"codecommit:Test*",
"codecommit:Create*",
"codecommit:List*",
"codecommit:DisassociateApprovalRuleTemplateFromRepository",
"codecommit:Describe*",
"codecommit:Put*",
"codecommit:GitPush",
"codecommit:DeleteFile",
"codecommit:BatchDescribe*",
"codecommit:AssociateApprovalRuleTemplateWithRepository",
"codecommit:DeleteBranch"
],
"Resource": "arn:aws:codecommit:ap-northeast-1:161750041531:wordpress",
"Condition": {
"IpAddress": {
"aws:SourceIp": "111.111.111.111/32"
}
}
},
# 以下省略
리소스 제한
참고로 IAM 정책에 使用できるリポジトリを制限
그러면 보다 보안면이 유지됩니다.リソース
를 클릭하고 ARNを追加
를 클릭하고 필요한 정보를 입력하기만 하면 됩니다.
액세스할 수 있는 리포지토리는, wordpress
(으)로 합니다.
json의 내용은 다음과 같습니다. CodeCommit의 액션 내용에는 일부 리소스가 좁혀지지 않는 것도 있는 것 같네요.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"codecommit:ListRepositoriesForApprovalRuleTemplate",
"codecommit:CreateApprovalRuleTemplate",
"codecommit:UpdateApprovalRuleTemplateName",
"codecommit:GetApprovalRuleTemplate",
"codecommit:ListApprovalRuleTemplates",
"codecommit:ListRepositories",
"codecommit:UpdateApprovalRuleTemplateContent",
"codecommit:UpdateApprovalRuleTemplateDescription"
],
"Resource": "*",
"Condition": {
"IpAddress": {
"aws:SourceIp": "111.111.111.111/32"
}
}
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"codecommit:Merge*",
"codecommit:Get*",
"codecommit:TagResource",
"codecommit:BatchAssociateApprovalRuleTemplateWithRepositories",
"codecommit:BatchGet*",
"codecommit:GitPull",
"codecommit:UntagResource",
"codecommit:BatchDisassociateApprovalRuleTemplateFromRepositories",
"codecommit:Update*",
"codecommit:OverridePullRequestApprovalRules",
"codecommit:Post*",
"codecommit:EvaluatePullRequestApprovalRules",
"codecommit:Test*",
"codecommit:Create*",
"codecommit:List*",
"codecommit:DisassociateApprovalRuleTemplateFromRepository",
"codecommit:Describe*",
"codecommit:Put*",
"codecommit:GitPush",
"codecommit:DeleteFile",
"codecommit:BatchDescribe*",
"codecommit:AssociateApprovalRuleTemplateWithRepository",
"codecommit:DeleteBranch"
],
"Resource": "arn:aws:codecommit:ap-northeast-1:xxxxxxxxx:wordpress",
"Condition": {
"IpAddress": {
"aws:SourceIp": "111.111.111.111/32"
}
}
},
# 以下省略
그런 다음 IAM 정책 만들기를 클릭합니다.
그런 다음 방금 만든 정책을 CodeCommit 사용자에게 연결하기만 하면 됩니다.
이렇게 하면 작성한 정책을 첨부한 CodeCommit 사용자는 IP 주소가 111.111.111.111/32
인 경우에만 리포지토리 이름 wordpress
만 액세스할 수 있습니다.
그렇게 됩니다.
참고
CodeCommit에 대한 액세스를 IP 주소로 제한
AWS AWS CodeCommit 문서
Reference
이 문제에 관하여(CodeCommit 리포지토리에 특정 IP 주소만 액세스할 수 있는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/holdout0521/items/2d3dce9b6005542710a0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
아래의 기사를 참고로 리포지토리를 git clone 할 수 있는 곳까지 진행합니다.
한 곳에 변경 사항이 있으며 IAM 역할은
AWSCodeCommitPowerUser
를 사용합니다.CodeCommit을 HTTPS 및 암호 인증으로 사용 설정
IAM 정책에 IP 제한 적용
IP 제한을 적용하는 방법은 AWSCodeCommitPowerUser
의 정책 내용을 기반으로 IP 제한을 적용한 정책을 새로 만들고 커밋 사용자에게 연결하는 것입니다.
새 정책을 만듭니다.
만들기 화면에서 管理ポリシーのインポート
를 클릭하고 AWSCodeCommitPowerUser
관리 정책을 インポート
합니다.
CodeCommit의 リクエスト条件
를 클릭하면 送信元IP
열이 있으므로 거기에 나열된 IP 주소 만 git 관리 할 수 있습니다.
json 탭으로 전환하면 "aws:SourceIp": "111.111.111.111/32"
와 IP 제한이 가능하다는 것을 알았습니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"codecommit:ListRepositoriesForApprovalRuleTemplate",
"codecommit:CreateApprovalRuleTemplate",
"codecommit:UpdateApprovalRuleTemplateName",
"codecommit:GetApprovalRuleTemplate",
"codecommit:ListApprovalRuleTemplates",
"codecommit:ListRepositories",
"codecommit:UpdateApprovalRuleTemplateContent",
"codecommit:UpdateApprovalRuleTemplateDescription"
],
"Resource": "*",
"Condition": {
"IpAddress": {
"aws:SourceIp": "111.111.111.111/32"
}
}
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"codecommit:Merge*",
"codecommit:Get*",
"codecommit:TagResource",
"codecommit:BatchAssociateApprovalRuleTemplateWithRepositories",
"codecommit:BatchGet*",
"codecommit:GitPull",
"codecommit:UntagResource",
"codecommit:BatchDisassociateApprovalRuleTemplateFromRepositories",
"codecommit:Update*",
"codecommit:OverridePullRequestApprovalRules",
"codecommit:Post*",
"codecommit:EvaluatePullRequestApprovalRules",
"codecommit:Test*",
"codecommit:Create*",
"codecommit:List*",
"codecommit:DisassociateApprovalRuleTemplateFromRepository",
"codecommit:Describe*",
"codecommit:Put*",
"codecommit:GitPush",
"codecommit:DeleteFile",
"codecommit:BatchDescribe*",
"codecommit:AssociateApprovalRuleTemplateWithRepository",
"codecommit:DeleteBranch"
],
"Resource": "arn:aws:codecommit:ap-northeast-1:161750041531:wordpress",
"Condition": {
"IpAddress": {
"aws:SourceIp": "111.111.111.111/32"
}
}
},
# 以下省略
리소스 제한
참고로 IAM 정책에 使用できるリポジトリを制限
그러면 보다 보안면이 유지됩니다.リソース
를 클릭하고 ARNを追加
를 클릭하고 필요한 정보를 입력하기만 하면 됩니다.
액세스할 수 있는 리포지토리는, wordpress
(으)로 합니다.
json의 내용은 다음과 같습니다. CodeCommit의 액션 내용에는 일부 리소스가 좁혀지지 않는 것도 있는 것 같네요.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"codecommit:ListRepositoriesForApprovalRuleTemplate",
"codecommit:CreateApprovalRuleTemplate",
"codecommit:UpdateApprovalRuleTemplateName",
"codecommit:GetApprovalRuleTemplate",
"codecommit:ListApprovalRuleTemplates",
"codecommit:ListRepositories",
"codecommit:UpdateApprovalRuleTemplateContent",
"codecommit:UpdateApprovalRuleTemplateDescription"
],
"Resource": "*",
"Condition": {
"IpAddress": {
"aws:SourceIp": "111.111.111.111/32"
}
}
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"codecommit:Merge*",
"codecommit:Get*",
"codecommit:TagResource",
"codecommit:BatchAssociateApprovalRuleTemplateWithRepositories",
"codecommit:BatchGet*",
"codecommit:GitPull",
"codecommit:UntagResource",
"codecommit:BatchDisassociateApprovalRuleTemplateFromRepositories",
"codecommit:Update*",
"codecommit:OverridePullRequestApprovalRules",
"codecommit:Post*",
"codecommit:EvaluatePullRequestApprovalRules",
"codecommit:Test*",
"codecommit:Create*",
"codecommit:List*",
"codecommit:DisassociateApprovalRuleTemplateFromRepository",
"codecommit:Describe*",
"codecommit:Put*",
"codecommit:GitPush",
"codecommit:DeleteFile",
"codecommit:BatchDescribe*",
"codecommit:AssociateApprovalRuleTemplateWithRepository",
"codecommit:DeleteBranch"
],
"Resource": "arn:aws:codecommit:ap-northeast-1:xxxxxxxxx:wordpress",
"Condition": {
"IpAddress": {
"aws:SourceIp": "111.111.111.111/32"
}
}
},
# 以下省略
그런 다음 IAM 정책 만들기를 클릭합니다.
그런 다음 방금 만든 정책을 CodeCommit 사용자에게 연결하기만 하면 됩니다.
이렇게 하면 작성한 정책을 첨부한 CodeCommit 사용자는 IP 주소가 111.111.111.111/32
인 경우에만 리포지토리 이름 wordpress
만 액세스할 수 있습니다.
그렇게 됩니다.
참고
CodeCommit에 대한 액세스를 IP 주소로 제한
AWS AWS CodeCommit 문서
Reference
이 문제에 관하여(CodeCommit 리포지토리에 특정 IP 주소만 액세스할 수 있는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/holdout0521/items/2d3dce9b6005542710a0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"codecommit:ListRepositoriesForApprovalRuleTemplate",
"codecommit:CreateApprovalRuleTemplate",
"codecommit:UpdateApprovalRuleTemplateName",
"codecommit:GetApprovalRuleTemplate",
"codecommit:ListApprovalRuleTemplates",
"codecommit:ListRepositories",
"codecommit:UpdateApprovalRuleTemplateContent",
"codecommit:UpdateApprovalRuleTemplateDescription"
],
"Resource": "*",
"Condition": {
"IpAddress": {
"aws:SourceIp": "111.111.111.111/32"
}
}
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"codecommit:Merge*",
"codecommit:Get*",
"codecommit:TagResource",
"codecommit:BatchAssociateApprovalRuleTemplateWithRepositories",
"codecommit:BatchGet*",
"codecommit:GitPull",
"codecommit:UntagResource",
"codecommit:BatchDisassociateApprovalRuleTemplateFromRepositories",
"codecommit:Update*",
"codecommit:OverridePullRequestApprovalRules",
"codecommit:Post*",
"codecommit:EvaluatePullRequestApprovalRules",
"codecommit:Test*",
"codecommit:Create*",
"codecommit:List*",
"codecommit:DisassociateApprovalRuleTemplateFromRepository",
"codecommit:Describe*",
"codecommit:Put*",
"codecommit:GitPush",
"codecommit:DeleteFile",
"codecommit:BatchDescribe*",
"codecommit:AssociateApprovalRuleTemplateWithRepository",
"codecommit:DeleteBranch"
],
"Resource": "arn:aws:codecommit:ap-northeast-1:161750041531:wordpress",
"Condition": {
"IpAddress": {
"aws:SourceIp": "111.111.111.111/32"
}
}
},
# 以下省略
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"codecommit:ListRepositoriesForApprovalRuleTemplate",
"codecommit:CreateApprovalRuleTemplate",
"codecommit:UpdateApprovalRuleTemplateName",
"codecommit:GetApprovalRuleTemplate",
"codecommit:ListApprovalRuleTemplates",
"codecommit:ListRepositories",
"codecommit:UpdateApprovalRuleTemplateContent",
"codecommit:UpdateApprovalRuleTemplateDescription"
],
"Resource": "*",
"Condition": {
"IpAddress": {
"aws:SourceIp": "111.111.111.111/32"
}
}
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"codecommit:Merge*",
"codecommit:Get*",
"codecommit:TagResource",
"codecommit:BatchAssociateApprovalRuleTemplateWithRepositories",
"codecommit:BatchGet*",
"codecommit:GitPull",
"codecommit:UntagResource",
"codecommit:BatchDisassociateApprovalRuleTemplateFromRepositories",
"codecommit:Update*",
"codecommit:OverridePullRequestApprovalRules",
"codecommit:Post*",
"codecommit:EvaluatePullRequestApprovalRules",
"codecommit:Test*",
"codecommit:Create*",
"codecommit:List*",
"codecommit:DisassociateApprovalRuleTemplateFromRepository",
"codecommit:Describe*",
"codecommit:Put*",
"codecommit:GitPush",
"codecommit:DeleteFile",
"codecommit:BatchDescribe*",
"codecommit:AssociateApprovalRuleTemplateWithRepository",
"codecommit:DeleteBranch"
],
"Resource": "arn:aws:codecommit:ap-northeast-1:xxxxxxxxx:wordpress",
"Condition": {
"IpAddress": {
"aws:SourceIp": "111.111.111.111/32"
}
}
},
# 以下省略
CodeCommit에 대한 액세스를 IP 주소로 제한
AWS AWS CodeCommit 문서
Reference
이 문제에 관하여(CodeCommit 리포지토리에 특정 IP 주소만 액세스할 수 있는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/holdout0521/items/2d3dce9b6005542710a0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)