á IT áá á¨á° áááľ ááŞáŤ á¨áľá á¤áá á áľáŤááá áłáááľáŁ ááĽáĽá áĽá á áľá°áłá°áá á¨ááŤááἠá¨á˘áá°á á˛áľá°ááľ IRIS áłáł ááľá¨á á á˛áľ á áŤá á¨áááá InterSystems API Manager (IAM)á á á áᥠá ááĽá°ááá˘
á áá á˝áá ááľáĽ IAM á áĽáá´áľ áááá áĽáá°áá˝á áĽá ᨠIAM áá ááĽááľá á¨ááááľá á ááŤáł á˝ááłáá˝ á áłááťááᢠInterSystems API á áľá°áłáłáŞ á¨áá¨á°ááľá áĽáá˛áŤá°áá ááá áľáááłááĄ-
- á¤áá áá á°ááŁá áᣠá¤áá áá áá áĽáá°áá ááᣠá¨áľááš á¤áá ááá˝ á áŁá á°ááłá áĽáá°áá áĽá á¨áľááš ááťáťá áĽáá°ááŤáľáááá¸á áá¨áąá˘
- áá á¤áá áá áĽáá°áá áá áááŁá አáĽá á¨á¤áá á á á áááá á¨ááá á¨ááłá¨áť áá°áŚá˝ áĽáľá¨ áĽáŤá áá á¨á°áá°á¨áą áá°áŚá˝á áááľáĄ - áĽá ááĽáĽá á áááľ áĽá á¨á¤áá á áááł á áŚá˝á ááááἠá ááĽááľ ááá˝ ááľá áľ áá˝ááá˘
- áĽáá° OAuth2.0ᣠLDAP ááá Key Token áá¨áá፠áŤá á¨á°áá¨á á¨á°á áááľ áľááśá˝á á áá áá á°á áááą á¨á°á á á á¤áá ááá˝á áŤáľá áĽáá˘
- ááśáľá°á ááá ááá˘áá˝ ááá áŤáľáááľ áĽá á¨á°áᨠá¨ááᢠááá˘áŤ á á á ááááľ á¨áá á¨á¤áá á áááľ áŤá ááĄá˘
- á¤áá ááá áŤáľááá áĽá á ááľá°á á¨ááá˝ áááá¨áľ áŤá¨áááĄá˘
á¨á¤áá á á áľá°áłá°á áá° SOA ááá áááᎠá°ááŞáľ á ááá´áá¸á ááá¸áááᣠá ááá°áĽ (áĽáá á) á áááááśá˝ ááŤá¨á áŤááá áá á°áľ á áááá áááá ááŤá áĽá ááľáŁá á¸áážá˝ á°á°áŤá˝ ááľá¨á á áľááá ááᢠá áá¤áąáᣠá á˛áľ á¤áá ááá˝ áááá áᣠááá áá áĽá ááá áá ááá ááááá˘
InterSystems IRIS áĽá¨á°á áá á¨áá á¨IAM á ááŤáá áá° áááľá áá¨á áá˝ááᢠá¨IAM á ááŤá áInterSystems IRIS á°áá áá˝ áá áááŁááá áá IAMá áá áá ááááá á á˛áľ á¨áááľ ááá á¨InterSystems áá á¨á á ááŚáľá˘
InterSystems IRIS áá áĽá¨á°á áá áŤááá áĽá InterSystems API Managerá áááá¨á áĽáŤá°áĄ á¨áááŁáĽáŁáá InterSystemsá áŤááá˘
áááá áĽá ááŤá
InterSystems á°áá áá˝ á¨IAM áľáááľá á¨áľá áŁá˘áŤá ááá¨áľ áá˝ááá˘
Docker 17.04.0 +.Docker Compose 1.12.0 +.- InterSystems IRIS 2019.1.1+.
ááááŞáŤ áá á¨áśá¨á ááľáá ááá¨áľ á ááĽá (á áľááá áá! á¨WRC áá áŤáá áá á°á Docker ááľá á áá°ááᣠáĽáąá áááłáľ á ááĽá ᣠááľáĽ Docker ááľá á á)
docker load -i iam_image.tar
áá áľáĽáá á¨IAM ááľá á áá á á ááááá áá áĽá á áá áĽáá˛áá áŤá°ááááᢠIAM áĽáá° á¨á°áᨠáŽáá´ááá áá á¨áá°áŤáᣠáľááá á¨InterSystems IRIS á á°ááĽá áááŤáľ áá˝ááᢠIAMá ááľáŹáľ áááľ áááá¨áľ á¨InterSystems IRIS ááłá¨áť áŤáľáááááá˘
InterSystems IRIS áŤáá áŠáĄ
- á¨áľá áá°áá áŞáŤá á áá
/api/IAM
- á°á ááá á áá
IAM
- á¨á°á áá ááá áá ááá
IAM
á áá ᨠIAM ááŤáŁáá áĽáááá. á áá
á°áŠ ááľáĽ áľááŞááśá˝á áŤááá iam-setup
ááááśááľ áĽá áŠáááľ (áĽá áá)ᢠáĽááá
áľááŞááśá˝ á¨á áŤáŁá˘ á°ááááŽá˝á á áľááá áĽáá˛áŤááá áá¨áąááłáᣠáá
á á¨IAM ááŤáŁá á¨InterSystems IRIS áá áááááľ áĽáá˛ááĽá áŤáľá˝áááᢠá áá áá á¨áá°áŤá á¨áľááŞááľ ááłá áá¸áááĄ
source ./iam-setup.sh
Welcome to the InterSystems IRIS and InterSystems API Manager (IAM) setup script.
This script sets the ISC_IRIS_URL environment variable that is used by the IAM container to get the IAM license key from InterSystems IRIS.
Enter the full image repository, name and tag for your IAM docker image: intersystems/iam:0.34-1-1
Enter the IP address for your InterSystems IRIS instance. The IP address has to be accessible from within the IAM container, therefore, do not use "localhost" or "127.0.0.1" if IRIS is running on your local machine. Instead use the public IP address of your local machine. If IRIS is running in a container, use the public IP address of the host environment, not the IP address of the IRIS container. xxx.xxx.xxx.xxx
Enter the web server port for your InterSystems IRIS instance: 52773
Enter the password for the IAM user for your InterSystems IRIS instance:
Re-enter your password:
Your inputs are:
Full image repository, name and tag for your IAM docker image: intersystems/iam:0.34-1-1
IP address for your InterSystems IRIS instance: xxx.xxx.xxx.xxx
Web server port for your InterSystems IRIS instance: 52773
Would you like to continue with these inputs (y/n)? y
Getting IAM license using your inputs...
Successfully got IAM license!
The ISC_IRIS_URL environment variable was set to: http://IAM:****************@xxx.xxx.xxx.xxx:52773/api/iam/license
WARNING: The environment variable is set for this shell only!
To start the services, run the following command in the top level directory: docker-compose up -d
To stop the services, run the following command in the top level directory: docker-compose down
URL for the IAM Manager portal: http://localhost:8002
áĽáá°áááá¨áąáľ ᣠááááá á¨ááŤáľáááá áá á¨ááľá áľá ᣠá¨á áá á áľáŤáť ᣠá¨á˘áá°á á˛áľá°á IRIS áá°áĽ áĽá á¨ááá áá áĽáť áá¸á á˘
áľááŞááľ á¨áááľ ááá á¨á áŤáŁá˘ á°ááááŽá˝á áĽáŤáľá áááááľ áá˝áááĄ-
ISC_IAM_IMAGE=intersystems/iam:0.34-1-1
ISC_IRIS_URL=http://IAM:<PASS>@<IP>:<PORT>/api/iam/license
ĐĐ°ĐżŃŃĐş
á áá áľáááá á ááľáŹáľ IAM á áĽááľááááĄ-
docker-compose up -d
áá áľááá ᨠIAM ááŤáŁáá˝á áŤá°áŤáá áĽá ááá ááá á áľááá áĽá¨á°áŤ áááá áŤá¨áááŁá. á¨ááŤáŁáá˝ áááł áľáááá á áá áá áááľáťá-
docker ps
á á áłá˝á ááľáĽ á¨á áľá°áłáłáŞ á áááá˝á ááááą localhost:8002
.
áá ááá á á˛áľ ááľááá ááááľ áľááá áááá áŁáś ááᢠáŤáá áĽáááá áᢠIAM á¤áá ááá˝á áá° áááá˝ áĽá/ááá áľáááá˝ ááá¨ááá á¨áľáŤ áŚáłáá˝á á˝áá°-ááłáĽ áá°áááᢠááá¨áŤáá˝ áá°ááá ááá áľ "ááŁáŞ" á¨áľáŤ áŚáł áááąá˘
ááá á¨áĽáŤ áŚáł á¨áĽáŤááá˝ áĽááľ á ááá áᎠáá ᣠáá á á፠á áŠá áŁáá ááá ááľáĽ áľá áá°á¨áłá IAM á˝áá°-ááłáŚá˝ ááłáĽ áŤáááᢠá¨ááááŞáŤááš áááľ á áŤááľáĄ á áááááśá˝ áĽá ááááśá˝ á áŁá á áľááá áá¸ááĄ
- á áááááľ á¨á¸áážá˝á á°á°áŤá˝ááľ ááá á¨áĽ á¨áááááá á¤áá á ááᢠáľááá ᣠá á˘áá°á á˛áľá°ááľ IRIS ááľáĽ áŤáá REST á¤áá á á áááááľ ááᣠáĽáá° áááłá ᣠGoogle API ááá áá á¨áááá˘
- ááááą áá°á¨áľááš á¨á áááááľ áᢠáĽáŤááá˝ áá°ááá áĽááłáá áľ áááľááᢠáĽáŤááłááą ááľáá á¨á°áá°á á áľá áááłáá˝ á ááľ, áĽá á¨á°áá, áĽáŤáá ááááá¨á°á á áááááľ áááŤá. áááłáᣠá ááľ ááľáá á¨á ááᣠá¨ááŞá ááŤáŁ HTTP áľááśá˝áŁ á¨áŠá áá á áááá˝áŁ ááá á¨áĽááá ááłááá˝ áĽáá áá ááááľ áá˝ááá˘
á áááááľ
á¨áá¨á°ááľ áĽá´áśá˝ áá á¨InterSystems IRIS á áááááľ áĽááá ááĄ
ááľá
áá
ááááŤ
áľá
Iris
á¨á áááááľ áľá
á áľá°ááá
IP
InterSystems IRIS á áááá á áľá°ááá
ááá á á.á
áá°áĽ
52773
InterSystems IRIS á áááá á¨áľá áá°áĽ
áąáŤ
/api/atelier
á¨áľá ááááľ
ááŽáśáŽá
http
ááŽáśáŽá
á¨á°ááŠáľá áááá˝ áĽáá° ááŁáŞ áá°ááľá˘ á ááŤáŠá á á
áŤáľáá Create
áĽá á¨á°áá á¨áá á áááááľ ááłáá፠ááťá.
ááľáá
á áá ááááľ áĽááá ááĄ-
ááľá
áá
ááááŤ
áąáŤ
/api/atelier
á¨áľá ááááľ
ááŽáśáŽá
http
ááŽáśáŽá
á áááááľ.ááłáááŤ
áááŞáŤ ᨠ3
á áááááľ (á¨ááłáá á°á¨á ááłáááŤ)
á¨á°ááŠáľá áááá˝ áĽáá° ááŁáŞ áá°ááľá˘ á ááŤáŠá á á
áŤáľáá Create
áĽá á¨á°áá á¨áá á¨ááááľ ááłáá፠ááťá. á ááŁáŞáŁ IAM á áááľ 8000 áááᥠáĽáŤááá˝ áŤáłááŁáᢠá áá áĽáŤááá˝ á°áá¨ááᢠhttp://localhost:8000
áĽá á áááá /api/atelier
áá° InterSystems IRIS á°áááá¨ááá˘
áá¨áŤ
á REST á°áá á ááľáĽ áĽáŤá áááá á áĽáááá (áĽá áĽá¨á°á ááአááá˘
á¨GET áĽáŤá áĽááá http://localhost:8000/api/atelier/
(á ááłáľá¨áłá /
áá¨á¨áť áá) áĽá ᨠInterSystems IRIS ááá˝ ááá áᢠáĽáŤááłááą áĽáŤá áááŞáŤáá˝á á áá°á áľá á IAM á áŠá áŤááááĄ-
- HTTP áááł áŽáľ.
- áááá¨áľá˘
- ááľáľá (á¨á°ááá¨)á˘
áĽááľ á°á¨á᪠áĽáŤááá˝á á á áᤠáá á (áĽáá° /api/atelier/est/ áá á¨áá¨á¨áť ááĽáŚá˝ áááľ áĽáŤááá˝á á¨ááŽ) áá¤áśáš áá˛áŤáá á áłá˝áŚááą ááľáĽ ááłáŤááĄ
á¨á°á°áŞáá˝ áá á ááľáŤáľ áá
á áá ááľáá áľáá°ááá á¨áŁ á¨áĽáá á¤áá á ááľá°áłá°á áĽáá˝áááᢠá áááááłá˝áá á¨ááŤáá áŁá áŞáŤáľá áá¨á áĽáá˝áááá˘
á¨á¤áá áá áŁá ᪠ááááἠá áŁá á¨á°ááá°á ááááľ á°á°áŞ áá¨á ááᢠááááá˝ á¨áá á á°ááŁáá ááá°á ᨠIAM áá áááá á¨áá˝ááľ á á ááá áá á°á¨á ááá á¨áá á áŤááľ áá áĽáť ááᣠáĽáá° á°á áá (á¨á°á áá áĄáľá)ᣠá áááááľ ááá ááľááᢠᨠRate Limiting áááá áá° ááááą á áá¨á áĽááááŤááᢠá á°á°áŞá áĽá á ááááą ááŤá¨á áááááľ ááááľá¨áľ á¨ááááąá áአáá፠(ááłáááŤ) áĽááááááá˘
á¨áĽáŤááá˝ áĽááľ ááá°áĽ
á á፠á áŠá áŁáá ááá ááľáĽ á°á°áŞáá˝á á á áŤáľááᢠá áá áľááŞá áá áááá áá á°á°áŞáá˝á áá¨áľ áľá˝ááá áŁááá áá áá IAM á áááá á á˛áľ áľááá áĽáľáŤáá ááá áá á°á°áŞáá˝ á¨ááᢠáľááá "á á˛áľ áááá" á á á á ááľá¨á áá° ááŁáŠ á°á¨á áááĽá.
á¨áááááá áááá á "á¨áľáŤáá ááĽáĽá" ááľáĽ ááľáĽ áá áĽá "á°á¨á áá°áĽ" ááŁáá. áá¨áĽá˘ áĽáá ááŤááááá¸á á¨áá˝áá¸á á áŁá áĽááľ á áá áśá˝ á á ááááá áááľ ááľáŽá˝á áĽáť áĽáá¨áááááĄ
ááľá
áá
ááááŤ
ááááľ_ááłáááŤ
ID
á¨ááááľ ááłáááŤ
config.á°áá
5
á¨áĽáŤááá˝ áĽááľ á á°áá
ááźá áá. á°á°áŞá á°áá áŻá áĽá áá ááᢠáĽáá° á ááľ á°áá ᣠá ááľ á°ááľ ááá á ááľ áá áŤá á¨á°ááŤáŠ á¨áá ááá°áśá˝á ááá¨áĽ áĽáá°ááá˝á áἠáá áᢠá ááĽáŽáš ááŁáአáá˝áá (áááłá, á á°ááľ 1000 áĽáŤááá˝ áĽá á á°ááłáłá áá 100 áĽáŤááá˝ á á°áá). á°áááá˝á áááŤáá ááááŤáąá á¨á°á°áŞáá á°ááŁá ááá°á˝ ááá áŤá°ááááá˘
á°ááłáłáŠá áĽáŤá á ááľáł á¤áľ ááľáĽ áĽáá°áá á¨áᨠáááš á 2 á°á¨á᪠áŤáľááá˝ áĽáá°á°ááá° áŤáŤááĄ
- XRateLimit-áá°áĽ-á°ááᥠ5
- XRateLimit-á¨áá¨á-á°ááᥠ4
áá áá°áá áá á á°áá áĽáľá¨ 5 áĽáŤááá˝á áĽáá°ááŤááἠáĽá á áá áŁáá á¨áá ááá°áľ 4 á°á¨á᪠áĽáŤááá˝á áĽáá°ááŤááἠáááá¨ááá˘
á°ááłáłá áĽáŤáá á°áááá áŤáá¨áĽáᣠá áá¨á¨áť áŤáá áŽáł áŤááá áĽá á ááľáŠ á¨á¤á˝á˛á˛á áááł áŽáľ 429 á¨áá¨á°áá ááá˝ á áŤá áá áľáá ááá áĄ
á ááľ á°áá áá áĽá áĽá áĽáŤááá˝á áĽáá°áá ááľááŁáľ áá˝ááá˘
áá á¨áá¨á°ááľá áááľá¨á á¨ááŤáľá˝á ááš áá´ áá-
- á¨áááŁáá ááá á¨áááľ áá¨ááá áá áĽá.
- áá áŤá á áĽáŤááá˝á áá á¨áĽ áĽáá°áá˝á áá°áá áá˝ ááááŠá˘
- á á¤áá á áᢠááá áŠá˘
áá°ááŤáŠ á¨áá ááá°áśá˝ áĽá´áśá˝á áááááľ áĽá á á°áá°á áá ááľáĽ á¨á¤áá á áľáŤááá áááľááľ áá˝ááᢠá á ááľ á¨á°áá°á ááľáá áá á á°ááľ 600 áĽáŤááá˝á ááá
áłá áĽáá áᢠá á ááŤá á á°áá 10 áĽáŤááá˝ á áᢠááá áá á°áá áá á á°ááą á¨ááááŞáŤ á°áá ááľáĽ áááá 600 áĽáŤááá˝á áĽááłáŤá áá
á
á¨áá¨áááá ááá á¨ááᢠááááŁáľ áá
á¨ááŤáľáááá
áá. á á ááľ á°ááľ ááľáĽ á¨á áá áĽáŠá á¨áá á¸áá ááááľ áááá ááááᢠá¨ááľá ááá á áááááľ config.minute
á¨20 áĽá´áľ á°á áááá˝á á á°áá á¨20 á áá áĽáŤááá˝á áĽá á á°ááľ 600 áĽáŤááá˝á áĽáá°ááŤááᥠáŤá¨áááŁáᢠáá
á á°áá á á ááŤá á¨10 áĽáŤááá˝ áá°áľ áá á˛áááá á á ááľ á°áá ááŠááľ áá áľááá˝ ášááá˝ áĽáá˛áá áŤáľá˝ááᣠááá áá á°á áááá˝ á¨á°ááľ áŽáłáá áá ááľ á°áá áá áá á áá˝ááᢠá áá áááá áĽáŤáááťá¸áá ááá áá á˘áŤááľ 30 á°áááá˝ áŤáľáááá¸ááᢠááĽáŤááłááą á¨á°áá°á á¨áá ááá°áľ á°áá áá˝ á°á¨á᪠áŤáľááá˝á ááá ááᣠáááłááĄ-
HTTP áŤáľá
áá
ᨠX-RateLimit-áá°áĽ-á°ááľ
600
á¨á¤ááľ-á°áá áá°áĽ-á¨áá¨á-á°ááľ
595
X-RateLimit-áá°áĽ-á°áá
20
X-RateLimit-á¨áá¨á-á°áá
16
á áĽááἠáĽááľá ááááľ á áááááľ áá á áááľá¨áľ á¨áĽáŤá áá°áŚá˝á ááááá áĽá á¨á°ááŤáŠ ááááśá˝ á áá˘
áááśá˝
áĽáá áá áĽá¨ááłááᣠáľá InterSystems API Manager áááááŞáŤá ááŁáĽá á á ááłááľ áŤá áááľáááᢠá¨40 á áá á°á°áŞáá˝ á ááąá áĽáť áá á¨á°á ááááᢠᨠIAM áá ááłá°ááá¸á á¨ááľá˝áá¸á áĽá á°á¨á᪠á áľá°áłá˝ áááŽá˝ á ááĄ
- áááá á¨áĽááľá APIs ááá¨áá á¨áá¨áá፠áá´ áŤááá˘
- á á ááŤáł á áááááśá˝ áá á¨ááľ ááá á áá áá áááąá áá áá˘
- á¨áá ááá á ááľ á á˛áľ á°ááŁá áĽá á¨áłá፠áĽáááá˝á ááá¨áŤ áłáłá áŤááá˘
- áááá á¤.á.á á.áá˝á á ááááἠá¨ááľáĽ áĽá á¨áá ááá˘áá˝ á áአá¨áľá áááłá áŤá ááĄá˘
- áá¸á፠á¨ááá˝ ááá áááááľ áĽá á áľáááą ááᣠáá áŤááá áááľ áááááľ áá áááá˘
ááŁááťáá˝
ááá፠á¨ááá˘áŤ áŞá˛áŽ á¨á áá áááá áŞá˛áŽ á°ááľ á¨áááľ ááá áááá á
áááá áá
áĽ.á¤.á . á ááŹáá á 21 á¨áá 10áĄ00 á¨ááľáŽ á°ááľ (GMT+3) áá°ááŤáá°á á¨áá˘áá "API Management with InterSystems API Management" áĽáááĽáááá˘
InterSystems API Manager (IAM) á IT áá á¨á° áááľ ááľáĽ áá°/á¨áľá á¤áá ááá˝ á¨áá°á¨ááá áľáŤáá áá¨áłá°áᣠáááŁá á áĽá ááľá°áłá°áá á¨ááŤááἠá¨InterSystems IRIS áłáł ááľá¨á á á˛áľ á áŤá ááᢠá áá˘áá áá á¨InterSystems API Management ááá á˝ááłáá˝á áĽááłáŤáááĄ-
- á¨á¤áá á á¨áľáŤáá áá¨áłá°áŤ ááłáŞáŤáá˝á˘
- á¨á¤áá á áľáŤáá áááŁá áŞáŤáá˝áŁ á¨áá°ááá፠áááľ ááĽáĽáá á¨ááŽáŁ á¨á¤áá á áĽáŞáá˝á ááĽá ááá°áĽáŁ á¨á°áááą áĽá á¨á°á¨áá¨á á¨á áá á áľáŤáť ááááŽá˝á ááá¨áľáŁ ááá°á˘
- á¨á¤áá á á°á áááľ áá á ááłáŞáŤáá˝á˘
- á ááá°ááá á¤áá á á°ááśá˝á ááá°á á¨ááᢠááá˘áŤá˘
- áá° á¤áá á á¨ááłá¨áť áá á ááĽáĽá˘
áá˘áá á¨áłá°á á áá ááá´ááśá˝áŁ ááá˘áá˝ áĽá á¨áľáááľ á áľá°áłáłáŞáá˝ ááá˘
ááá: hab.com