AWS SDK 또는 CLI로 ListServerCertificates 사용하기
AWS SDK 또는 CLI로 ListServerCertificates 사용하기
다음 코드 예시는 ListServerCertificates을(를) 사용하는 방법을 보여줘요.
출처: 문서
본문
SDK for C++
참고: GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행·설정 방법을 배울 수 있어요.
bool AwsDoc::IAM::listServerCertificates(
const Aws::Client::ClientConfiguration &clientConfig)
{
const Aws::String DATE_FORMAT = "%Y-%m-%d";
Aws::IAM::IAMClient iam(clientConfig);
Aws::IAM::Model::ListServerCertificatesRequest request;
bool done = false;
bool header = false;
while (!done)
{
auto outcome = iam.ListServerCertificates(request);
if (!outcome.IsSuccess())
{
std::cerr << "Failed to list server certificates: " <<
outcome.GetError().GetMessage() << std::endl;
return false;
}
if (!header)
{
std::cout << std::left << std::setw(55) << "Name" <<
std::setw(30) << "ID" << std::setw(80) << "Arn" <<
std::setw(14) << "UploadDate" << std::setw(14) <<
"ExpirationDate" << std::endl;
header = true;
}
const auto &certificates =
outcome.GetResult().GetServerCertificateMetadataList();
for (const auto &certificate: certificates)
{
std::cout << std::left << std::setw(55) <<
certificate.GetServerCertificateName() << std::setw(30) <<
certificate.GetServerCertificateId() << std::setw(80) <<
certificate.GetArn() << std::setw(14) <<
certificate.GetUploadDate().ToGmtString(DATE_FORMAT.c_str()) <<
std::setw(14) <<
certificate.GetExpiration().ToGmtString(DATE_FORMAT.c_str()) <<
std::endl;
}
if (outcome.GetResult().GetIsTruncated())
{
request.SetMarker(outcome.GetResult().GetMarker());
}
else
{
done = true;
}
}
return true;
}
API 상세 내용은 AWS SDK for C++ API Reference의 ListServerCertificates 문서를 참고하세요.
AWS CLI
AWS 계정의 서버 인증서를 나열하려면
다음 list-server-certificates 명령은 AWS 계정에 저장되어 사용할 수 있는 모든 서버 인증서를 나열해요.
aws iam list-server-certificates
출력:
{
"ServerCertificateMetadataList": [
{
"Path": "/",
"ServerCertificateName": "myUpdatedServerCertificate",
"ServerCertificateId": "ASCAEXAMPLE123EXAMPLE",
"Arn": "arn:aws:iam::123456789012:server-certificate/myUpdatedServerCertificate",
"UploadDate": "2019-04-22T21:13:44+00:00",
"Expiration": "2019-10-15T22:23:16+00:00"
},
{
"Path": "/cloudfront/",
"ServerCertificateName": "MyTestCert",
"ServerCertificateId": "ASCAEXAMPLE456EXAMPLE",
"Arn": "arn:aws:iam::123456789012:server-certificate/Org1/Org2/MyTestCert",
"UploadDate": "2015-04-21T18:14:16+00:00",
"Expiration": "2018-01-14T17:52:36+00:00"
}
]
}
더 자세한 내용은 AWS IAM 사용자 가이드의 'IAM 서버 인증서 관리' 문서를 참고하세요.
API 상세 내용은 AWS CLI Command Reference의 ListServerCertificates 문서를 참고하세요.
SDK for JavaScript (v3)
참고: GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행·설정 방법을 배울 수 있어요.
인증서를 나열해요.
import
{
ListServerCertificatesCommand, IAMClient } from "@aws-sdk/client-iam";
const client = new IAMClient(
{
});
/**
* A generator function that handles paginated results.
* The AWS SDK for JavaScript (v3) provides
{
@link https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/index.html#paginators | paginator} functions to simplify this.
*
*/
export async function* listServerCertificates()
{
const command = new ListServerCertificatesCommand(
{
});
let response = await client.send(command);
while (response.ServerCertificateMetadataList?.length)
{
for await (const cert of response.ServerCertificateMetadataList)
{
yield cert;
}
if (response.IsTruncated)
{
response = await client.send(new ListServerCertificatesCommand(
{
}));
} else
{
break;
}
}
}
더 자세한 내용은 AWS SDK for JavaScript 개발자 가이드를 참고하세요.
API 상세 내용은 AWS SDK for JavaScript API Reference의 ListServerCertificates 문서를 참고하세요.
SDK for JavaScript (v2)
참고: GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행·설정 방법을 배울 수 있어요.
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update(
{
region: "REGION" });
// Create the IAM service object
var iam = new AWS.IAM(
{
apiVersion: "2010-05-08" });
iam.listServerCertificates(
{
}, function (err, data)
{
if (err)
{
console.log("Error", err);
} else
{
console.log("Success", data);
}
});
더 자세한 내용은 AWS SDK for JavaScript 개발자 가이드를 참고하세요.
API 상세 내용은 AWS SDK for JavaScript API Reference의 ListServerCertificates 문서를 참고하세요.
Tools for PowerShell V4
예시 1: 이 예시는 현재 AWS 계정에 업로드된 서버 인증서 목록을 조회해요.
Get-IAMServerCertificateList
출력:
Arn : arn:aws:iam::123456789012:server-certificate/Org1/Org2/MyServerCertificate
Expiration : 1/14/2018 9:52:36 AM
Path : /Org1/Org2/
ServerCertificateId : ASCAJIFEXAMPLE17HQZYW
ServerCertificateName : MyServerCertificate
UploadDate : 4/21/2015 11:14:16 AM
API 상세 내용은 AWS Tools for PowerShell Cmdlet Reference (V4)의 ListServerCertificates 문서를 참고하세요.
Tools for PowerShell V5
예시 1: 이 예시는 현재 AWS 계정에 업로드된 서버 인증서 목록을 조회해요.
Get-IAMServerCertificateList
출력:
Arn : arn:aws:iam::123456789012:server-certificate/Org1/Org2/MyServerCertificate
Expiration : 1/14/2018 9:52:36 AM
Path : /Org1/Org2/
ServerCertificateId : ASCAJIFEXAMPLE17HQZYW
ServerCertificateName : MyServerCertificate
UploadDate : 4/21/2015 11:14:16 AM
API 상세 내용은 AWS Tools for PowerShell Cmdlet Reference (V5)의 ListServerCertificates 문서를 참고하세요.
SDK for Ruby
참고: GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행·설정 방법을 배울 수 있어요.
서버 인증서를 나열·업데이트·삭제해요.
class ServerCertificateManager
def initialize(iam_client, logger: Logger.new($stdout))
@iam_client = iam_client
@logger = logger
@logger.progname = 'ServerCertificateManager'
end
# Creates a new server certificate.
# @param name [String] the name of the server certificate
# @param certificate_body [String] the contents of the certificate
# @param private_key [String] the private key contents
# @return [Boolean] returns true if the certificate was successfully created
def create_server_certificate(name, certificate_body, private_key)
@iam_client.upload_server_certificate(
{
server_certificate_name: name,
certificate_body: certificate_body,
private_key: private_key
})
true
rescue Aws::IAM::Errors::ServiceError => e
puts "Failed to create server certificate: #
{
e.message}"
false
end
# Lists available server certificate names.
def list_server_certificate_names
response = @iam_client.list_server_certificates
if response.server_certificate_metadata_list.empty?
@logger.info('No server certificates found.')
return
end
response.server_certificate_metadata_list.each do |certificate_metadata|
@logger.info("Certificate Name: #
{
certificate_metadata.server_certificate_name}")
end
rescue Aws::IAM::Errors::ServiceError => e
@logger.error("Error listing server certificates: #
{
e.message}")
end
# Updates the name of a server certificate.
def update_server_certificate_name(current_name, new_name)
@iam_client.update_server_certificate(
server_certificate_name: current_name,
new_server_certificate_name: new_name
)
@logger.info("Server certificate name updated from '#
{
current_name}' to '#
{
new_name}'.")
true
rescue Aws::IAM::Errors::ServiceError => e
@logger.error("Error updating server certificate name: #
{
e.message}")
false
end
# Deletes a server certificate.
def delete_server_certificate(name)
@iam_client.delete_server_certificate(server_certificate_name: name)
@logger.info("Server certificate '#
{
name}' deleted.")
true
rescue Aws::IAM::Errors::ServiceError => e
@logger.error("Error deleting server certificate: #
{
e.message}")
false
end
end
API 상세 내용은 AWS SDK for Ruby API Reference의 ListServerCertificates 문서를 참고하세요.