ã³ã¼ãã¼ã好ããªæ¨è°·æ è¦ã§ãã
æ¬æ¥ã¯ãAWS Systems Manager ã®ã»ãã·ã§ã³ããã¼ã¸ã£ã¼ã使ç¨ãããªã¢ã¼ããã¹ãã¸ã®ãã¼ããã©ã¯ã¼ããå¶éãã¦ã¿ã¾ãã
- ã»ãã·ã§ã³ããã¼ã¸ã£ã¼ã§ãªã¢ã¼ããã¹ãã¸ã®ãã¼ããã©ã¯ã¼ããå¶éããçµç·¯
- æºåï¼ãªã¢ã¼ããã¹ãã¸ã®ãã¼ããã©ã¯ã¼ããã§ããç°å¢ãä½ã
- æ¤è¨¼ï¼ãªã¢ã¼ããã¹ãã¸ã®ãã¼ããã©ã¯ã¼ãã¯ç¦æ¢ãã
- æ¤è¨¼ï¼ãªã¢ã¼ããã¹ãã¸ã®ãã¼ããã©ã¯ã¼ãããã¼ããã©ã¯ã¼ããç¦æ¢ãã
- èæ ®äºé
- åè
ã»ãã·ã§ã³ããã¼ã¸ã£ã¼ã§ãªã¢ã¼ããã¹ãã¸ã®ãã¼ããã©ã¯ã¼ããå¶éããçµç·¯
2022å¹´5æ27æ¥ãAWS Systems Managerï¼ä»¥éãSSM ã¨è¡¨è¨ï¼ã®ã»ãã·ã§ã³ããã¼ã¸ã£ã¼ã§ãªã¢ã¼ããã¹ãã¸ã®ãã¼ããã©ã¯ã¼ãæ©è½ããµãã¼ãããã¢ãããã¼ããããã¾ããã
aws.amazon.com
ããã§ã¡ãªããã¨ãã¦ãæå ã®ãã¼ã«ã«ç«¯æ«ãããã©ã¤ãã¼ããµããããã® RDS ã«ãã°ã¤ã³ãã¦æä½ã§ããããã¨ãèãããã¾ããã
éã«èããã¨ã"ssm:StartSession"
Action ã許å¯ãããã¦ã¼ã¶ã§ããã°ãRDS ã«ãã°ã¤ã³ãã¦æä½ã§ãã¦ãã¾ããã¨ããå´é¢ãèãããã¾ãã
ããã§ãã»ãã·ã§ã³ããã¼ã¸ã£ã¼ã¯ä½¿ããããã«ãã¤ã¤ããªã¢ã¼ããã¹ãã¸ã®ãã¼ããã©ã¯ã¼ãã¯ç¦æ¢ãã IAM ããªã·ã¼ãæ¸ãã¦ã¿ã¾ãã
æºåï¼ãªã¢ã¼ããã¹ãã¸ã®ãã¼ããã©ã¯ã¼ããã§ããç°å¢ãä½ã
ãªã¢ã¼ããã¹ãã¸ã®ãã¼ããã©ã¯ã¼ããã§ããç°å¢ãæ´ãã¾ãã
詳細ã¯ä»¥ä¸ããã°ããåç
§ãã ããã
blog.serverworks.co.jp
ä»åãAWS CLI ãå®è¡ããã¦ã¼ã¶ã«ã¯ "ssm:StartSession"
Action ã許å¯ããããªã·ã¼ãç´æ¥ã¢ã¿ãããã¾ãã
æå ã®ãã¼ã«ã«ç«¯æ«ã§ããªã¢ã¼ããã¹ãã¸ã®ãã¼ããã©ã¯ã¼ãç¨ã®ã³ãã³ããå®è¡ãã¾ãã
aws ssm start-session \ --target i-bastionxxxxxxxxxx \ --document-name AWS-StartPortForwardingSessionToRemoteHost \ --parameters '{"host":["remote-rds.xxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com"],"portNumber":["3306"], "localPortNumber":["13306"]}'
å®è¡çµæ
$ aws ssm start-session \ > --target i-bastionxxxxxxxxxx \ > --document-name AWS-StartPortForwardingSessionToRemoteHost \ > --parameters '{"host":["remote-rds.xxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com"],"portNumber":["3306"], "localPortNumber":["13306"]}' Starting session with SessionId: user-port-forwarding-to-remote-hosts-xxxxxxxxxxxxxxxxx Port 13306 opened for sessionId user-port-forwarding-to-remote-hosts-xxxxxxxxxxxxxxxxx. Waiting for connections...
ã¿ã¼ããã«ã¯ãã®ã¾ã¾ãå¥éã³ãã³ãããã³ãããéãããã¼ããã©ã¯ã¼ãç¨ãã¼ã«ã«ãã¼ãçªå· 13306 ãã¼ãã«æ¥ç¶ãã¾ãã
>mysql -u admin -p -h localhost -P 13306
ãªã¢ã¼ããã¹ãã® Amazon RDS ï¼MySQLï¼ ã«ãã°ã¤ã³ã§ãã¾ããã
æ¤è¨¼ï¼ãªã¢ã¼ããã¹ãã¸ã®ãã¼ããã©ã¯ã¼ãã¯ç¦æ¢ãã
AWS CLI ãå®è¡ããã¦ã¼ã¶ã® IAM 権éãå¶éãã¦ããªã¢ã¼ããã¹ãã¸ã®ãã¼ããã©ã¯ã¼ããç¦æ¢ãã¾ãã
SSM ããã¥ã¡ã³ã AWS-StartPortForwardingSessionToRemoteHost
ã¸ã®ã¢ã¯ã·ã§ã³ãæå¦ãã IAM ããªã·ã¼ã使ããã¦ã¼ã¶ã¼ã°ã«ã¼ãã«ä»ä¸ãã¾ãã
IAM ã³ã³ã½ã¼ã«ç»é¢ã§ [ããªã·ã¼] - [ããªã·ã¼ã®ä½æ]ãã¯ãªãã¯ãã¾ãã
JSON ã§ããªã·ã¼ãè¨è¼ãã¦ãããã®ã§ãããä»åã¯ãã¸ã¥ã¢ã«ã¨ãã£ã¿ã§ä½æãã¦ã¿ã¾ããã
- ãã¸ã¥ã¢ã«ã¨ãã£ã¿
- ãµã¼ãã¹ï¼Systems Manager
- ã¢ã¯ã·ã§ã³ï¼StartSession
- documentï¼ãARN ã®è¿½å ããã¯ãªãã¯
document ã® ARN ã¯ä»¥ä¸ã®ããã«æå®ãã¾ãã
- Regionï¼
*
- Accountï¼
*
- Document nameï¼
AWS-StartPortForwardingSessionToRemoteHost
ãªã¢ã¼ããã¹ãã¸ã®ãã¼ããã©ã¯ã¼ãã¢ã¯ã·ã§ã³ãå®ç¾©ããã SSM ããã¥ã¡ã³ãåã¯ãSSM ã³ã³ã½ã¼ã«ã® [å
±æãªã½ã¼ã¹] - [ããã¥ã¡ã³ã] ãéãããAmazon ãææãã¿ãã§ã
Session Documentsãã«ãã§ãã¯ãã¦æ¢ãã¨ç¢ºèªã§ãã¾ãã
ãä»å使ããããªã·ã¼ã
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Deny", "Action": "ssm:StartSession", "Resource": "arn:aws:ssm:*:*:document/AWS-StartPortForwardingSessionToRemoteHost" } ] }
ãã®ã¦ã¼ã¶ã¼ã°ã«ã¼ãã«ãã¦ã¼ã¶ã¼ã追å ãã¾ãã
追å ããã¦ã¼ã¶ã¼ã§ããªã¢ã¼ããã¹ãã¸ã®ãã¼ããã©ã¯ã¼ãç¨ã®ã³ãã³ããå®è¡ããã¨ã以ä¸ã®ããã«ã¨ã©ã¼ã«ãªãã¾ããã
$ aws ssm start-session \ > --target i-bastionxxxxxxxxxx \ > --document-name AWS-StartPortForwardingSessionToRemoteHost \ > --parameters '{"host":["remote-rds.xxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com"],"portNumber":["3306"], "localPortNumber":["13306"]}' An error occurred (AccessDeniedException) when calling the StartSession operation: User: arn:aws:iam::716243146259:user/user-port-forwarding-to-remote-hosts is not authorized to perform: ssm:StartSession on resource: arn:aws:ssm:ap-northeast-1::document/AWS-StartPortForwardingSessionToRemoteHost with an explicit deny in an identity-based policy
ã¡ãªã¿ã«ãé常ã®ãã¼ããã©ã¯ã¼ãã¯ã§ãã¾ãã
$ aws ssm start-session \ > --target i-bastionxxxxxxxxxx \ > --document-name AWS-StartPortForwardingSession \ > --parameters "portNumber=22,localPortNumber=10022" Starting session with SessionId: user-port-forwarding-to-remote-hosts-xxxxxxxxxxxxxxxxx Port 10022 opened for sessionId user-port-forwarding-to-remote-hosts-xxxxxxxxxxxxxxxxx. Waiting for connections...
æ¤è¨¼ï¼ãªã¢ã¼ããã¹ãã¸ã®ãã¼ããã©ã¯ã¼ãããã¼ããã©ã¯ã¼ããç¦æ¢ãã
ã¤ãã§ã«ãAWS CLI ãå®è¡ããã¦ã¼ã¶ã® IAM 権éãå¶éãã¦ãã»ãã·ã§ã³ããã¼ã¸ã£ã¼ãå©ç¨ãããã¼ããã©ã¯ã¼ãèªä½ã®ç¦æ¢ã試ãã¦ã¿ã¾ãããã
SSM ããã¥ã¡ã³ã AWS-StartPortForwardingSessionToRemoteHost
ã AWS-StartPortForwardingSession
ã¸ã®ã¢ã¯ã·ã§ã³ãæå¦ããããªã·ã¼ã使ããã¦ã¼ã¶ã¼ã°ã«ã¼ãã«ä»ä¸ãã¾ãã
ãä»å使ããããªã·ã¼ã
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Deny", "Action": "ssm:StartSession", "Resource": [ "arn:aws:ssm:*:*:document/AWS-StartPortForwardingSessionToRemoteHost", "arn:aws:ssm:*:*:document/AWS-StartPortForwardingSession" ] } ] }
ãã®ã¦ã¼ã¶ã¼ã°ã«ã¼ãã«ãã¦ã¼ã¶ã¼ã追å ãã¾ãã
追å ããã¦ã¼ã¶ã¼ã§ããªã¢ã¼ããã¹ãã¸ã®ãã¼ããã©ã¯ã¼ãç¨ã®ã³ãã³ããå®è¡ããã¨ã以ä¸ã®ããã«ã¨ã©ã¼ã«ãªãã¾ããã
$ aws ssm start-session \ > --target i-bastionxxxxxxxxxx \ > --document-name AWS-StartPortForwardingSessionToRemoteHost \ > --parameters '{"host":["remote-rds.xxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com"],"portNumber":["3306"], "localPortNumber":["13306"]}' An error occurred (AccessDeniedException) when calling the StartSession operation: User: arn:aws:iam::716243146259:user/user-port-forwarding-to-remote-hosts is not authorized to perform: ssm:StartSession on resource: arn:aws:ssm:ap-northeast-1::document/AWS-StartPortForwardingSessionToRemoteHost with an explicit deny in an identity-based policy
é常ã®ãã¼ããã©ã¯ã¼ãç¨ã®ã³ãã³ããå®è¡ããã¨ã以ä¸ã®ããã«ã¨ã©ã¼ã«ãªãã¾ããã
$ aws ssm start-session \ > --target i-bastionxxxxxxxxxx \ > --document-name AWS-StartPortForwardingSession \ > --parameters "portNumber=22,localPortNumber=10022" An error occurred (AccessDeniedException) when calling the StartSession operation: User: arn:aws:iam::xxxxxxxxxxxx:user/user-port-forwarding-to-remote-hosts is not authorized to perform: ssm:StartSession on resource: arn:aws:ssm:ap-northeast-1::document/AWS-StartPortForwardingSession with an explicit deny in an identity-based policy
èæ ®äºé
以ä¸ã®ããã«ãæ¥ç¶ãã AWS ã¢ã«ã¦ã³ã ID ãæå®ããã¨ããã¼ããã©ã¯ã¼ãã®å¶å¾¡ãã§ããªãï¼ãã¼ããã©ã¯ã¼ãã§ãã¦ãã¾ãï¼ã®ã§ããæ³¨æãã ããã
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Deny", "Action": "ssm:StartSession", "Resource": "arn:aws:ssm:*:123456789012:document/AWS-StartPortForwardingSessionToRemoteHost" } ] }
åè
å ±æ SSM ããã¥ã¡ã³ãã使ç¨ãã - AWS Systems Manager
Session Manager ã®è¿½å ãµã³ãã« IAM ããªã·ã¼ - AWS Systems Manager
emi kitani(å·çè¨äºã®ä¸è¦§)
ASé¨LX課ã2022/2å ¥ç¤¾ãã³ã¼ãã¼ã¨ãµã¦ãã好ãã§ããå·çæ´»åã«èå³ãããã¾ããAWSèªå®12å ã