ARN【Amazon Resource Name】
概要

ARNの基本的な形式は「arn:パーティション:サービス:リージョン:アカウントID:リソース」である。各フィールドはコロンで区切られており、「arn:」は固定の接頭辞、パーティションはAWSの区分(商用環境ではaws、中国リージョンではaws-cnなど)、サービスはEC2やS3、IAMといったAWSサービスの識別子、リージョンは「ap-northeast-1」(東京)のようなリージョンコード、アカウントIDは12桁のAWSアカウントID、リソースはサービス固有のリソース識別子である。
例えば、東京リージョンのEC2インスタンスのARNは「arn:aws:ec2:ap-northeast-1:123456789012:instance/i-0abcd1234efgh5678」のような形式になる。S3バケットはグローバルなサービスのためリージョンとアカウントIDが省略され、「arn:aws:s3:::my-bucket-name」と表記される。IAMユーザーはリージョンを持たないため「arn:aws:iam::123456789012:user/username」のようにリージョン部分が空になる。
AWSでは、リソースへのアクセス権を設定する際にARNを用いる。IAM(Identity and Access Management)ポリシーでは、利用者やロールが操作可能なリソースをARNで指定し、アクセス権の付与や制限を正確に管理できる。複数のリージョンやアカウントにまたがるリソースであっても、ARNにより一意に識別されるため、誤った権限設定や操作ミスを避けられる。
また、ARNはプログラムやスクリプトからAWSリソースを操作する際にも使用される。API呼び出しやSDKを通じて、対象リソースを指定するためにARNを引数として渡すことで、リソース操作を確実に行える。開発者は複雑なAWS環境下でもリソースの管理や自動化を正確に行うことが可能である。